@dwelle/excalidraw 0.5.0-ef89e88 → 0.5.0-efddbb7

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 (103) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +111 -14
  3. package/dist/dev/{chunk-UPL5GSGP.js → chunk-AVAC6BVM.js} +11 -2
  4. package/dist/dev/chunk-AVAC6BVM.js.map +7 -0
  5. package/dist/dev/{chunk-VLJRILK3.js → chunk-OKDHCI5V.js} +1844 -1440
  6. package/dist/dev/chunk-OKDHCI5V.js.map +7 -0
  7. package/dist/dev/{chunk-H5SL5I5R.js → chunk-UEBEBUE2.js} +2 -2
  8. package/dist/dev/components/TTDDialog/{CodeMirrorEditor-65RQRK4A.js → CodeMirrorEditor-2YIEAZU7.js} +2 -2
  9. package/dist/dev/data/{image-JR54FB4B.js → image-O7OJXMIJ.js} +3 -3
  10. package/dist/dev/index.css +85 -43
  11. package/dist/dev/index.css.map +3 -3
  12. package/dist/dev/index.js +2939 -2010
  13. package/dist/dev/index.js.map +4 -4
  14. package/dist/dev/locales/{en-IZ5JJCQN.js → en-XVKSJYG2.js} +4 -2
  15. package/dist/dev/subset-shared.chunk.js +1 -1
  16. package/dist/dev/subset-worker.chunk.js +1 -1
  17. package/dist/prod/chunk-5EYFVTC7.js +34 -0
  18. package/dist/prod/{chunk-MYTKOPOQ.js → chunk-T6UH5ZKV.js} +5 -5
  19. package/dist/prod/{chunk-B47HEJUH.js → chunk-Y6NXDCR7.js} +1 -1
  20. package/dist/prod/components/TTDDialog/{CodeMirrorEditor-B64TEOC3.js → CodeMirrorEditor-JV2LT6ZS.js} +1 -1
  21. package/dist/prod/data/image-XRO5552B.js +1 -0
  22. package/dist/prod/index.css +1 -1
  23. package/dist/prod/index.js +28 -28
  24. package/dist/prod/locales/en-BNQNBQ43.js +1 -0
  25. package/dist/prod/subset-shared.chunk.js +1 -1
  26. package/dist/prod/subset-worker.chunk.js +1 -1
  27. package/dist/types/common/src/appEventBus.d.ts +27 -0
  28. package/dist/types/common/src/index.d.ts +2 -0
  29. package/dist/types/common/src/utils.d.ts +1 -3
  30. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  31. package/dist/types/element/src/Scene.d.ts +5 -3
  32. package/dist/types/element/src/bounds.d.ts +4 -2
  33. package/dist/types/element/src/duplicate.d.ts +1 -0
  34. package/dist/types/element/src/frame.d.ts +7 -6
  35. package/dist/types/element/src/linearElementEditor.d.ts +2 -2
  36. package/dist/types/element/src/selection.d.ts +2 -2
  37. package/dist/types/element/src/shape.d.ts +1 -1
  38. package/dist/types/element/src/typeChecks.d.ts +1 -0
  39. package/dist/types/element/src/utils.d.ts +1 -1
  40. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +8 -8
  41. package/dist/types/excalidraw/actions/actionBoundText.d.ts +6 -6
  42. package/dist/types/excalidraw/actions/actionCanvas.d.ts +30 -30
  43. package/dist/types/excalidraw/actions/actionClipboard.d.ts +6 -6
  44. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +3 -3
  45. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +9 -9
  46. package/dist/types/excalidraw/actions/actionDeselect.d.ts +160 -0
  47. package/dist/types/excalidraw/actions/actionElementLink.d.ts +3 -3
  48. package/dist/types/excalidraw/actions/actionElementLock.d.ts +6 -6
  49. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +3 -3
  50. package/dist/types/excalidraw/actions/actionExport.d.ts +48 -323
  51. package/dist/types/excalidraw/actions/actionFrame.d.ts +12 -12
  52. package/dist/types/excalidraw/actions/actionGroup.d.ts +6 -6
  53. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +3 -3
  54. package/dist/types/excalidraw/actions/actionLink.d.ts +3 -3
  55. package/dist/types/excalidraw/actions/actionMenu.d.ts +3 -3
  56. package/dist/types/excalidraw/actions/actionProperties.d.ts +6 -6
  57. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +3 -3
  58. package/dist/types/excalidraw/actions/actionStyles.d.ts +2 -2
  59. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +3 -3
  60. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +3 -3
  61. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +3 -3
  62. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +3 -3
  63. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +3 -3
  64. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +3 -3
  65. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +3 -3
  66. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +3 -3
  67. package/dist/types/excalidraw/actions/index.d.ts +1 -0
  68. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  69. package/dist/types/excalidraw/appState.d.ts +1 -0
  70. package/dist/types/excalidraw/clipboard.d.ts +2 -3
  71. package/dist/types/excalidraw/components/App.d.ts +41 -10
  72. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  73. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +1 -1
  74. package/dist/types/excalidraw/components/Toast.d.ts +8 -4
  75. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +1 -1
  76. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  77. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  78. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  79. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -0
  80. package/dist/types/excalidraw/components/shapes.d.ts +7 -0
  81. package/dist/types/excalidraw/data/blob.d.ts +13 -14
  82. package/dist/types/excalidraw/data/filesystem.d.ts +3 -5
  83. package/dist/types/excalidraw/data/index.d.ts +2 -3
  84. package/dist/types/excalidraw/data/json.d.ts +21 -13
  85. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  86. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  87. package/dist/types/excalidraw/index.d.ts +23 -3
  88. package/dist/types/excalidraw/scene/Renderer.d.ts +425 -19
  89. package/dist/types/excalidraw/types.d.ts +76 -5
  90. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  91. package/dist/types/math/src/constants.d.ts +0 -1
  92. package/dist/types/math/src/curve.d.ts +4 -1
  93. package/package.json +4 -5
  94. package/dist/dev/chunk-UPL5GSGP.js.map +0 -7
  95. package/dist/dev/chunk-VLJRILK3.js.map +0 -7
  96. package/dist/prod/chunk-ZTGTHG3M.js +0 -34
  97. package/dist/prod/data/image-I4FBW6ZT.js +0 -1
  98. package/dist/prod/locales/en-4R6EP6SP.js +0 -1
  99. package/dist/types/utils/src/index.d.ts +0 -4
  100. /package/dist/dev/{chunk-H5SL5I5R.js.map → chunk-UEBEBUE2.js.map} +0 -0
  101. /package/dist/dev/components/TTDDialog/{CodeMirrorEditor-65RQRK4A.js.map → CodeMirrorEditor-2YIEAZU7.js.map} +0 -0
  102. /package/dist/dev/data/{image-JR54FB4B.js.map → image-O7OJXMIJ.js.map} +0 -0
  103. /package/dist/dev/locales/{en-IZ5JJCQN.js.map → en-XVKSJYG2.js.map} +0 -0
@@ -27,9 +27,9 @@ export declare const actionSelectAllElementsInFrame: {
27
27
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
29
  isBindingEnabled: boolean;
30
+ boxSelectionMode: import("../types").BoxSelectionMode;
30
31
  bindingPreference: "enabled" | "disabled";
31
32
  isMidpointSnappingEnabled: boolean;
32
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
33
  suggestedBinding: {
34
34
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
35
35
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -117,7 +117,7 @@ export declare const actionSelectAllElementsInFrame: {
117
117
  selectedElementsAreBeingDragged: boolean;
118
118
  shouldCacheIgnoreZoom: boolean;
119
119
  toast: {
120
- message: string;
120
+ message: React.ReactNode;
121
121
  closable?: boolean;
122
122
  duration?: number;
123
123
  } | null;
@@ -135,7 +135,7 @@ export declare const actionSelectAllElementsInFrame: {
135
135
  height: number;
136
136
  offsetTop: number;
137
137
  offsetLeft: number;
138
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
138
+ fileHandle: FileSystemFileHandle | null;
139
139
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
140
140
  stats: {
141
141
  open: boolean;
@@ -203,9 +203,9 @@ export declare const actionRemoveAllElementsFromFrame: {
203
203
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
204
204
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
205
205
  isBindingEnabled: boolean;
206
+ boxSelectionMode: import("../types").BoxSelectionMode;
206
207
  bindingPreference: "enabled" | "disabled";
207
208
  isMidpointSnappingEnabled: boolean;
208
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
209
209
  suggestedBinding: {
210
210
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
211
211
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -293,7 +293,7 @@ export declare const actionRemoveAllElementsFromFrame: {
293
293
  selectedElementsAreBeingDragged: boolean;
294
294
  shouldCacheIgnoreZoom: boolean;
295
295
  toast: {
296
- message: string;
296
+ message: React.ReactNode;
297
297
  closable?: boolean;
298
298
  duration?: number;
299
299
  } | null;
@@ -311,7 +311,7 @@ export declare const actionRemoveAllElementsFromFrame: {
311
311
  height: number;
312
312
  offsetTop: number;
313
313
  offsetLeft: number;
314
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
314
+ fileHandle: FileSystemFileHandle | null;
315
315
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
316
316
  stats: {
317
317
  open: boolean;
@@ -383,9 +383,9 @@ export declare const actionupdateFrameRendering: {
383
383
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
384
384
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
385
385
  isBindingEnabled: boolean;
386
+ boxSelectionMode: import("../types").BoxSelectionMode;
386
387
  bindingPreference: "enabled" | "disabled";
387
388
  isMidpointSnappingEnabled: boolean;
388
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
389
389
  suggestedBinding: {
390
390
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
391
391
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -470,7 +470,7 @@ export declare const actionupdateFrameRendering: {
470
470
  selectedElementsAreBeingDragged: boolean;
471
471
  shouldCacheIgnoreZoom: boolean;
472
472
  toast: {
473
- message: string;
473
+ message: React.ReactNode;
474
474
  closable?: boolean;
475
475
  duration?: number;
476
476
  } | null;
@@ -488,7 +488,7 @@ export declare const actionupdateFrameRendering: {
488
488
  height: number;
489
489
  offsetTop: number;
490
490
  offsetLeft: number;
491
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
491
+ fileHandle: FileSystemFileHandle | null;
492
492
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
493
493
  stats: {
494
494
  open: boolean;
@@ -556,9 +556,9 @@ export declare const actionSetFrameAsActiveTool: {
556
556
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
557
557
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
558
558
  isBindingEnabled: boolean;
559
+ boxSelectionMode: import("../types").BoxSelectionMode;
559
560
  bindingPreference: "enabled" | "disabled";
560
561
  isMidpointSnappingEnabled: boolean;
561
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
562
562
  suggestedBinding: {
563
563
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
564
564
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -644,7 +644,7 @@ export declare const actionSetFrameAsActiveTool: {
644
644
  selectedElementsAreBeingDragged: boolean;
645
645
  shouldCacheIgnoreZoom: boolean;
646
646
  toast: {
647
- message: string;
647
+ message: React.ReactNode;
648
648
  closable?: boolean;
649
649
  duration?: number;
650
650
  } | null;
@@ -662,7 +662,7 @@ export declare const actionSetFrameAsActiveTool: {
662
662
  height: number;
663
663
  offsetTop: number;
664
664
  offsetLeft: number;
665
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
665
+ fileHandle: FileSystemFileHandle | null;
666
666
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
667
667
  stats: {
668
668
  open: boolean;
@@ -33,9 +33,9 @@ export declare const actionGroup: {
33
33
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
34
34
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
35
35
  isBindingEnabled: boolean;
36
+ boxSelectionMode: import("../types").BoxSelectionMode;
36
37
  bindingPreference: "enabled" | "disabled";
37
38
  isMidpointSnappingEnabled: boolean;
38
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
39
39
  suggestedBinding: {
40
40
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
41
41
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -123,7 +123,7 @@ export declare const actionGroup: {
123
123
  selectedElementsAreBeingDragged: boolean;
124
124
  shouldCacheIgnoreZoom: boolean;
125
125
  toast: {
126
- message: string;
126
+ message: React.ReactNode;
127
127
  closable?: boolean;
128
128
  duration?: number;
129
129
  } | null;
@@ -137,7 +137,7 @@ export declare const actionGroup: {
137
137
  height: number;
138
138
  offsetTop: number;
139
139
  offsetLeft: number;
140
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
140
+ fileHandle: FileSystemFileHandle | null;
141
141
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
142
142
  stats: {
143
143
  open: boolean;
@@ -208,9 +208,9 @@ export declare const actionUngroup: {
208
208
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
209
209
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
210
210
  isBindingEnabled: boolean;
211
+ boxSelectionMode: import("../types").BoxSelectionMode;
211
212
  bindingPreference: "enabled" | "disabled";
212
213
  isMidpointSnappingEnabled: boolean;
213
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
214
214
  suggestedBinding: {
215
215
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
216
216
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -298,7 +298,7 @@ export declare const actionUngroup: {
298
298
  selectedElementsAreBeingDragged: boolean;
299
299
  shouldCacheIgnoreZoom: boolean;
300
300
  toast: {
301
- message: string;
301
+ message: React.ReactNode;
302
302
  closable?: boolean;
303
303
  duration?: number;
304
304
  } | null;
@@ -312,7 +312,7 @@ export declare const actionUngroup: {
312
312
  height: number;
313
313
  offsetTop: number;
314
314
  offsetLeft: number;
315
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
315
+ fileHandle: FileSystemFileHandle | null;
316
316
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
317
317
  stats: {
318
318
  open: boolean;
@@ -60,9 +60,9 @@ export declare const actionToggleLinearEditor: {
60
60
  multiElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawLinearElement> | null;
61
61
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
62
62
  isBindingEnabled: boolean;
63
+ boxSelectionMode: import("../types").BoxSelectionMode;
63
64
  bindingPreference: "enabled" | "disabled";
64
65
  isMidpointSnappingEnabled: boolean;
65
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
66
66
  suggestedBinding: {
67
67
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
68
68
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -153,7 +153,7 @@ export declare const actionToggleLinearEditor: {
153
153
  selectedElementsAreBeingDragged: boolean;
154
154
  shouldCacheIgnoreZoom: boolean;
155
155
  toast: {
156
- message: string;
156
+ message: React.ReactNode;
157
157
  closable?: boolean;
158
158
  duration?: number;
159
159
  } | null;
@@ -171,7 +171,7 @@ export declare const actionToggleLinearEditor: {
171
171
  height: number;
172
172
  offsetTop: number;
173
173
  offsetLeft: number;
174
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
174
+ fileHandle: FileSystemFileHandle | null;
175
175
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
176
176
  stats: {
177
177
  open: boolean;
@@ -24,9 +24,9 @@ export declare const actionLink: {
24
24
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
25
25
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
26
26
  isBindingEnabled: boolean;
27
+ boxSelectionMode: import("../types").BoxSelectionMode;
27
28
  bindingPreference: "enabled" | "disabled";
28
29
  isMidpointSnappingEnabled: boolean;
29
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
30
30
  suggestedBinding: {
31
31
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
32
32
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -116,7 +116,7 @@ export declare const actionLink: {
116
116
  selectedElementsAreBeingDragged: boolean;
117
117
  shouldCacheIgnoreZoom: boolean;
118
118
  toast: {
119
- message: string;
119
+ message: React.ReactNode;
120
120
  closable?: boolean;
121
121
  duration?: number;
122
122
  } | null;
@@ -134,7 +134,7 @@ export declare const actionLink: {
134
134
  height: number;
135
135
  offsetTop: number;
136
136
  offsetLeft: number;
137
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
137
+ fileHandle: FileSystemFileHandle | null;
138
138
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
139
139
  stats: {
140
140
  open: boolean;
@@ -31,9 +31,9 @@ export declare const actionShortcuts: {
31
31
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
32
32
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
33
  isBindingEnabled: boolean;
34
+ boxSelectionMode: import("../types").BoxSelectionMode;
34
35
  bindingPreference: "enabled" | "disabled";
35
36
  isMidpointSnappingEnabled: boolean;
36
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
37
37
  suggestedBinding: {
38
38
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
39
39
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -105,7 +105,7 @@ export declare const actionShortcuts: {
105
105
  selectedElementsAreBeingDragged: boolean;
106
106
  shouldCacheIgnoreZoom: boolean;
107
107
  toast: {
108
- message: string;
108
+ message: React.ReactNode;
109
109
  closable?: boolean;
110
110
  duration?: number;
111
111
  } | null;
@@ -123,7 +123,7 @@ export declare const actionShortcuts: {
123
123
  height: number;
124
124
  offsetTop: number;
125
125
  offsetLeft: number;
126
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
126
+ fileHandle: FileSystemFileHandle | null;
127
127
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
128
128
  stats: {
129
129
  open: boolean;
@@ -53,9 +53,9 @@ export declare const actionDecreaseFontSize: {
53
53
  multiElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawLinearElement> | null;
54
54
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
55
55
  isBindingEnabled: boolean;
56
+ boxSelectionMode: import("../types").BoxSelectionMode;
56
57
  bindingPreference: "enabled" | "disabled";
57
58
  isMidpointSnappingEnabled: boolean;
58
- startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
59
59
  suggestedBinding: {
60
60
  element: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement>;
61
61
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -145,7 +145,7 @@ export declare const actionDecreaseFontSize: {
145
145
  selectedElementsAreBeingDragged: boolean;
146
146
  shouldCacheIgnoreZoom: boolean;
147
147
  toast: {
148
- message: string;
148
+ message: React.ReactNode;
149
149
  closable?: boolean;
150
150
  duration?: number;
151
151
  } | null;
@@ -163,7 +163,7 @@ export declare const actionDecreaseFontSize: {
163
163
  height: number;
164
164
  offsetTop: number;
165
165
  offsetLeft: number;
166
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
166
+ fileHandle: FileSystemFileHandle | null;
167
167
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
168
168
  stats: {
169
169
  open: boolean;
@@ -224,9 +224,9 @@ export declare const actionIncreaseFontSize: {
224
224
  multiElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawLinearElement> | null;
225
225
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
226
226
  isBindingEnabled: boolean;
227
+ boxSelectionMode: import("../types").BoxSelectionMode;
227
228
  bindingPreference: "enabled" | "disabled";
228
229
  isMidpointSnappingEnabled: boolean;
229
- startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
230
230
  suggestedBinding: {
231
231
  element: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement>;
232
232
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -316,7 +316,7 @@ export declare const actionIncreaseFontSize: {
316
316
  selectedElementsAreBeingDragged: boolean;
317
317
  shouldCacheIgnoreZoom: boolean;
318
318
  toast: {
319
- message: string;
319
+ message: React.ReactNode;
320
320
  closable?: boolean;
321
321
  duration?: number;
322
322
  } | null;
@@ -334,7 +334,7 @@ export declare const actionIncreaseFontSize: {
334
334
  height: number;
335
335
  offsetTop: number;
336
336
  offsetLeft: number;
337
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
337
+ fileHandle: FileSystemFileHandle | null;
338
338
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
339
339
  stats: {
340
340
  open: boolean;
@@ -31,9 +31,9 @@ export declare const actionSelectAll: {
31
31
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
32
32
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
33
  isBindingEnabled: boolean;
34
+ boxSelectionMode: import("../types").BoxSelectionMode;
34
35
  bindingPreference: "enabled" | "disabled";
35
36
  isMidpointSnappingEnabled: boolean;
36
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
37
37
  suggestedBinding: {
38
38
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
39
39
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -121,7 +121,7 @@ export declare const actionSelectAll: {
121
121
  selectedElementsAreBeingDragged: boolean;
122
122
  shouldCacheIgnoreZoom: boolean;
123
123
  toast: {
124
- message: string;
124
+ message: React.ReactNode;
125
125
  closable?: boolean;
126
126
  duration?: number;
127
127
  } | null;
@@ -135,7 +135,7 @@ export declare const actionSelectAll: {
135
135
  height: number;
136
136
  offsetTop: number;
137
137
  offsetLeft: number;
138
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
138
+ fileHandle: FileSystemFileHandle | null;
139
139
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
140
140
  stats: {
141
141
  open: boolean;
@@ -29,9 +29,9 @@ export declare const actionCopyStyles: {
29
29
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
30
30
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
31
31
  isBindingEnabled: boolean;
32
+ boxSelectionMode: import("../types").BoxSelectionMode;
32
33
  bindingPreference: "enabled" | "disabled";
33
34
  isMidpointSnappingEnabled: boolean;
34
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
35
35
  suggestedBinding: {
36
36
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
37
37
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -135,7 +135,7 @@ export declare const actionCopyStyles: {
135
135
  height: number;
136
136
  offsetTop: number;
137
137
  offsetLeft: number;
138
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
138
+ fileHandle: FileSystemFileHandle | null;
139
139
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
140
140
  stats: {
141
141
  open: boolean;
@@ -26,8 +26,8 @@ export declare const actionToggleArrowBinding: {
26
26
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
27
27
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
+ boxSelectionMode: import("../types").BoxSelectionMode;
29
30
  isMidpointSnappingEnabled: boolean;
30
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
31
  suggestedBinding: {
32
32
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
33
33
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -118,7 +118,7 @@ export declare const actionToggleArrowBinding: {
118
118
  selectedElementsAreBeingDragged: boolean;
119
119
  shouldCacheIgnoreZoom: boolean;
120
120
  toast: {
121
- message: string;
121
+ message: React.ReactNode;
122
122
  closable?: boolean;
123
123
  duration?: number;
124
124
  } | null;
@@ -136,7 +136,7 @@ export declare const actionToggleArrowBinding: {
136
136
  height: number;
137
137
  offsetTop: number;
138
138
  offsetLeft: number;
139
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
139
+ fileHandle: FileSystemFileHandle | null;
140
140
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
141
141
  stats: {
142
142
  open: boolean;
@@ -30,9 +30,9 @@ export declare const actionToggleGridMode: {
30
30
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
31
31
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
32
32
  isBindingEnabled: boolean;
33
+ boxSelectionMode: import("../types").BoxSelectionMode;
33
34
  bindingPreference: "enabled" | "disabled";
34
35
  isMidpointSnappingEnabled: boolean;
35
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
36
36
  suggestedBinding: {
37
37
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
38
38
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -123,7 +123,7 @@ export declare const actionToggleGridMode: {
123
123
  selectedElementsAreBeingDragged: boolean;
124
124
  shouldCacheIgnoreZoom: boolean;
125
125
  toast: {
126
- message: string;
126
+ message: React.ReactNode;
127
127
  closable?: boolean;
128
128
  duration?: number;
129
129
  } | null;
@@ -140,7 +140,7 @@ export declare const actionToggleGridMode: {
140
140
  height: number;
141
141
  offsetTop: number;
142
142
  offsetLeft: number;
143
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
143
+ fileHandle: FileSystemFileHandle | null;
144
144
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
145
145
  stats: {
146
146
  open: boolean;
@@ -26,8 +26,8 @@ export declare const actionToggleMidpointSnapping: {
26
26
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
27
27
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
28
28
  isBindingEnabled: boolean;
29
+ boxSelectionMode: import("../types").BoxSelectionMode;
29
30
  bindingPreference: "enabled" | "disabled";
30
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
31
  suggestedBinding: {
32
32
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
33
33
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -118,7 +118,7 @@ export declare const actionToggleMidpointSnapping: {
118
118
  selectedElementsAreBeingDragged: boolean;
119
119
  shouldCacheIgnoreZoom: boolean;
120
120
  toast: {
121
- message: string;
121
+ message: React.ReactNode;
122
122
  closable?: boolean;
123
123
  duration?: number;
124
124
  } | null;
@@ -136,7 +136,7 @@ export declare const actionToggleMidpointSnapping: {
136
136
  height: number;
137
137
  offsetTop: number;
138
138
  offsetLeft: number;
139
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
139
+ fileHandle: FileSystemFileHandle | null;
140
140
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
141
141
  stats: {
142
142
  open: boolean;
@@ -28,9 +28,9 @@ export declare const actionToggleObjectsSnapMode: {
28
28
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
29
29
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
30
  isBindingEnabled: boolean;
31
+ boxSelectionMode: import("../types").BoxSelectionMode;
31
32
  bindingPreference: "enabled" | "disabled";
32
33
  isMidpointSnappingEnabled: boolean;
33
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
34
34
  suggestedBinding: {
35
35
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
36
36
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -121,7 +121,7 @@ export declare const actionToggleObjectsSnapMode: {
121
121
  selectedElementsAreBeingDragged: boolean;
122
122
  shouldCacheIgnoreZoom: boolean;
123
123
  toast: {
124
- message: string;
124
+ message: React.ReactNode;
125
125
  closable?: boolean;
126
126
  duration?: number;
127
127
  } | null;
@@ -138,7 +138,7 @@ export declare const actionToggleObjectsSnapMode: {
138
138
  height: number;
139
139
  offsetTop: number;
140
140
  offsetLeft: number;
141
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
141
+ fileHandle: FileSystemFileHandle | null;
142
142
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
143
143
  stats: {
144
144
  open: boolean;
@@ -34,9 +34,9 @@ export declare const actionToggleSearchMenu: {
34
34
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
35
35
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
36
36
  isBindingEnabled: boolean;
37
+ boxSelectionMode: import("../types").BoxSelectionMode;
37
38
  bindingPreference: "enabled" | "disabled";
38
39
  isMidpointSnappingEnabled: boolean;
39
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
40
40
  suggestedBinding: {
41
41
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
42
42
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -106,7 +106,7 @@ export declare const actionToggleSearchMenu: {
106
106
  selectedElementsAreBeingDragged: boolean;
107
107
  shouldCacheIgnoreZoom: boolean;
108
108
  toast: {
109
- message: string;
109
+ message: React.ReactNode;
110
110
  closable?: boolean;
111
111
  duration?: number;
112
112
  } | null;
@@ -124,7 +124,7 @@ export declare const actionToggleSearchMenu: {
124
124
  height: number;
125
125
  offsetTop: number;
126
126
  offsetLeft: number;
127
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
127
+ fileHandle: FileSystemFileHandle | null;
128
128
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
129
129
  stats: {
130
130
  open: boolean;
@@ -30,9 +30,9 @@ export declare const actionToggleStats: {
30
30
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
31
31
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
32
32
  isBindingEnabled: boolean;
33
+ boxSelectionMode: import("../types").BoxSelectionMode;
33
34
  bindingPreference: "enabled" | "disabled";
34
35
  isMidpointSnappingEnabled: boolean;
35
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
36
36
  suggestedBinding: {
37
37
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
38
38
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -123,7 +123,7 @@ export declare const actionToggleStats: {
123
123
  selectedElementsAreBeingDragged: boolean;
124
124
  shouldCacheIgnoreZoom: boolean;
125
125
  toast: {
126
- message: string;
126
+ message: React.ReactNode;
127
127
  closable?: boolean;
128
128
  duration?: number;
129
129
  } | null;
@@ -141,7 +141,7 @@ export declare const actionToggleStats: {
141
141
  height: number;
142
142
  offsetTop: number;
143
143
  offsetLeft: number;
144
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
144
+ fileHandle: FileSystemFileHandle | null;
145
145
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
146
146
  showHyperlinkPopup: false | "info" | "editor";
147
147
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
@@ -27,9 +27,9 @@ export declare const actionToggleViewMode: {
27
27
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
29
  isBindingEnabled: boolean;
30
+ boxSelectionMode: import("../types").BoxSelectionMode;
30
31
  bindingPreference: "enabled" | "disabled";
31
32
  isMidpointSnappingEnabled: boolean;
32
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
33
  suggestedBinding: {
34
34
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
35
35
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -120,7 +120,7 @@ export declare const actionToggleViewMode: {
120
120
  selectedElementsAreBeingDragged: boolean;
121
121
  shouldCacheIgnoreZoom: boolean;
122
122
  toast: {
123
- message: string;
123
+ message: React.ReactNode;
124
124
  closable?: boolean;
125
125
  duration?: number;
126
126
  } | null;
@@ -137,7 +137,7 @@ export declare const actionToggleViewMode: {
137
137
  height: number;
138
138
  offsetTop: number;
139
139
  offsetLeft: number;
140
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
140
+ fileHandle: FileSystemFileHandle | null;
141
141
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
142
142
  stats: {
143
143
  open: boolean;
@@ -27,9 +27,9 @@ export declare const actionToggleZenMode: {
27
27
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
29
  isBindingEnabled: boolean;
30
+ boxSelectionMode: import("../types").BoxSelectionMode;
30
31
  bindingPreference: "enabled" | "disabled";
31
32
  isMidpointSnappingEnabled: boolean;
32
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
33
  suggestedBinding: {
34
34
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
35
35
  midPoint?: import("@excalidraw/math").GlobalPoint;
@@ -120,7 +120,7 @@ export declare const actionToggleZenMode: {
120
120
  selectedElementsAreBeingDragged: boolean;
121
121
  shouldCacheIgnoreZoom: boolean;
122
122
  toast: {
123
- message: string;
123
+ message: React.ReactNode;
124
124
  closable?: boolean;
125
125
  duration?: number;
126
126
  } | null;
@@ -137,7 +137,7 @@ export declare const actionToggleZenMode: {
137
137
  height: number;
138
138
  offsetTop: number;
139
139
  offsetLeft: number;
140
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
140
+ fileHandle: FileSystemFileHandle | null;
141
141
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
142
142
  stats: {
143
143
  open: boolean;
@@ -6,6 +6,7 @@ export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrok
6
6
  export { actionChangeViewBackgroundColor, actionClearCanvas, actionZoomIn, actionZoomOut, actionResetZoom, actionZoomToFit, actionToggleTheme, } from "./actionCanvas";
7
7
  export { actionSetEmbeddableAsActiveTool } from "./actionEmbeddable";
8
8
  export { actionFinalize } from "./actionFinalize";
9
+ export { actionDeselect } from "./actionDeselect";
9
10
  export { actionChangeProjectName, actionChangeExportBackground, actionSaveToActiveFile, actionSaveFileToDisk, actionLoadScene, } from "./actionExport";
10
11
  export { actionCopyStyles, actionPasteStyles } from "./actionStyles";
11
12
  export { actionShortcuts } from "./actionMenu";
@@ -14,7 +14,7 @@ export type ActionResult = {
14
14
  type ActionFn<TData = any> = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: TData | undefined, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
15
15
  export type UpdaterFn = (res: ActionResult) => void;
16
16
  export type ActionFilterFn = (action: Action) => void;
17
- export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "arrowBinding" | "midpointSnapping" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
17
+ export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "arrowBinding" | "midpointSnapping" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "deselect" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly ExcalidrawElement[];
20
20
  appState: AppState;