@excalidraw/excalidraw 0.17.1-1ed53b1 → 0.17.1-22b3927

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 (122) hide show
  1. package/dist/browser/dev/excalidraw-assets-dev/{chunk-JKPJV7MZ.js → chunk-Q6A4M3MN.js} +4 -2
  2. package/dist/browser/dev/excalidraw-assets-dev/chunk-Q6A4M3MN.js.map +7 -0
  3. package/dist/browser/dev/excalidraw-assets-dev/{chunk-OKAZAA6U.js → chunk-VC7RRIDZ.js} +230 -93
  4. package/dist/browser/dev/excalidraw-assets-dev/chunk-VC7RRIDZ.js.map +7 -0
  5. package/dist/browser/dev/excalidraw-assets-dev/{dist-ITJNUBZF.js → dist-6QVAH5JA.js} +36 -14
  6. package/dist/browser/dev/excalidraw-assets-dev/dist-6QVAH5JA.js.map +7 -0
  7. package/dist/browser/dev/excalidraw-assets-dev/{en-BF4XUPIZ.js → en-Y27YPU72.js} +2 -2
  8. package/dist/browser/dev/excalidraw-assets-dev/{image-LVS32KQQ.js → image-J7S3ALXP.js} +2 -2
  9. package/dist/browser/dev/index.js +335 -116
  10. package/dist/browser/dev/index.js.map +4 -4
  11. package/dist/browser/prod/excalidraw-assets/chunk-CWO763YJ.js +55 -0
  12. package/dist/browser/prod/excalidraw-assets/{chunk-O4AI3NNG.js → chunk-IZMZ6RPD.js} +1 -1
  13. package/dist/browser/prod/excalidraw-assets/dist-567JAXHK.js +7 -0
  14. package/dist/browser/prod/excalidraw-assets/{en-N7CLNF6C.js → en-GSUSWMSH.js} +1 -1
  15. package/dist/browser/prod/excalidraw-assets/image-SZBFRCU2.js +1 -0
  16. package/dist/browser/prod/index.js +24 -24
  17. package/dist/dev/{en-UQDDYCH7.json → en-OIPCBIOA.json} +3 -1
  18. package/dist/dev/index.js +576 -207
  19. package/dist/dev/index.js.map +4 -4
  20. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +3 -3
  21. package/dist/excalidraw/actions/actionAlign.d.ts +6 -6
  22. package/dist/excalidraw/actions/actionBoundText.d.ts +3 -3
  23. package/dist/excalidraw/actions/actionBoundText.js +3 -1
  24. package/dist/excalidraw/actions/actionCanvas.d.ts +13 -13
  25. package/dist/excalidraw/actions/actionClipboard.d.ts +12 -12
  26. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +3 -3
  27. package/dist/excalidraw/actions/actionDistribute.d.ts +2 -2
  28. package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +1 -1
  29. package/dist/excalidraw/actions/actionElementLock.d.ts +2 -2
  30. package/dist/excalidraw/actions/actionExport.d.ts +11 -11
  31. package/dist/excalidraw/actions/actionFinalize.d.ts +2 -2
  32. package/dist/excalidraw/actions/actionFlip.d.ts +2 -2
  33. package/dist/excalidraw/actions/actionFrame.d.ts +312 -4
  34. package/dist/excalidraw/actions/actionGroup.d.ts +312 -2
  35. package/dist/excalidraw/actions/actionHistory.js +4 -4
  36. package/dist/excalidraw/actions/actionLinearEditor.d.ts +1 -1
  37. package/dist/excalidraw/actions/actionLink.d.ts +1 -1
  38. package/dist/excalidraw/actions/actionMenu.d.ts +3 -3
  39. package/dist/excalidraw/actions/actionNavigate.d.ts +2 -2
  40. package/dist/excalidraw/actions/actionProperties.d.ts +13 -13
  41. package/dist/excalidraw/actions/actionProperties.js +1 -1
  42. package/dist/excalidraw/actions/actionSelectAll.d.ts +1 -1
  43. package/dist/excalidraw/actions/actionStyles.d.ts +5 -2
  44. package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  45. package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
  46. package/dist/excalidraw/actions/actionToggleGridMode.d.ts +1 -1
  47. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +1 -1
  48. package/dist/excalidraw/actions/actionToggleStats.d.ts +1 -1
  49. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +1 -1
  50. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +1 -1
  51. package/dist/excalidraw/actions/actionZindex.d.ts +4 -4
  52. package/dist/excalidraw/actions/types.d.ts +1 -1
  53. package/dist/excalidraw/change.js +13 -6
  54. package/dist/excalidraw/components/Actions.js +1 -1
  55. package/dist/excalidraw/components/App.d.ts +2 -2
  56. package/dist/excalidraw/components/App.js +133 -51
  57. package/dist/excalidraw/components/ButtonIconSelect.js +1 -1
  58. package/dist/excalidraw/components/CheckboxItem.js +1 -1
  59. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +2 -2
  60. package/dist/excalidraw/components/ContextMenu.js +1 -1
  61. package/dist/excalidraw/components/Dialog.js +1 -1
  62. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  63. package/dist/excalidraw/components/IconPicker.js +2 -2
  64. package/dist/excalidraw/components/LayerUI.js +2 -2
  65. package/dist/excalidraw/components/MobileMenu.js +1 -1
  66. package/dist/excalidraw/components/PasteChartDialog.js +1 -1
  67. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -2
  68. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +4 -2
  69. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  70. package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
  71. package/dist/excalidraw/components/icons.js +6 -2
  72. package/dist/excalidraw/constants.d.ts +1 -0
  73. package/dist/excalidraw/constants.js +5 -0
  74. package/dist/excalidraw/data/restore.js +3 -0
  75. package/dist/excalidraw/element/dragElements.d.ts +2 -2
  76. package/dist/excalidraw/element/dragElements.js +27 -3
  77. package/dist/excalidraw/element/embeddable.d.ts +1 -1
  78. package/dist/excalidraw/element/index.d.ts +1 -1
  79. package/dist/excalidraw/element/index.js +1 -1
  80. package/dist/excalidraw/element/mutateElement.d.ts +1 -1
  81. package/dist/excalidraw/element/mutateElement.js +5 -3
  82. package/dist/excalidraw/element/newElement.d.ts +2 -5
  83. package/dist/excalidraw/element/newElement.js +16 -14
  84. package/dist/excalidraw/element/resizeElements.js +73 -21
  85. package/dist/excalidraw/element/resizeTest.js +2 -4
  86. package/dist/excalidraw/element/textElement.d.ts +1 -0
  87. package/dist/excalidraw/element/textElement.js +11 -3
  88. package/dist/excalidraw/element/textWysiwyg.d.ts +10 -4
  89. package/dist/excalidraw/element/textWysiwyg.js +38 -17
  90. package/dist/excalidraw/element/transformHandles.js +0 -10
  91. package/dist/excalidraw/element/types.d.ts +7 -0
  92. package/dist/excalidraw/fractionalIndex.js +2 -4
  93. package/dist/excalidraw/locales/en.json +3 -1
  94. package/dist/excalidraw/mermaid.d.ts +2 -0
  95. package/dist/excalidraw/mermaid.js +28 -0
  96. package/dist/excalidraw/renderer/interactiveScene.d.ts +1 -1
  97. package/dist/excalidraw/renderer/interactiveScene.js +31 -5
  98. package/dist/excalidraw/renderer/renderElement.d.ts +2 -2
  99. package/dist/excalidraw/renderer/renderElement.js +2 -2
  100. package/dist/excalidraw/scene/Fonts.d.ts +1 -3
  101. package/dist/excalidraw/scene/Fonts.js +6 -12
  102. package/dist/excalidraw/scene/Renderer.d.ts +1 -1
  103. package/dist/excalidraw/scene/Renderer.js +2 -3
  104. package/dist/excalidraw/scene/Scene.d.ts +10 -4
  105. package/dist/excalidraw/scene/Scene.js +14 -8
  106. package/dist/excalidraw/scene/export.js +1 -1
  107. package/dist/excalidraw/scene/types.d.ts +2 -1
  108. package/dist/excalidraw/snapping.js +2 -1
  109. package/dist/excalidraw/store.d.ts +32 -2
  110. package/dist/excalidraw/store.js +27 -0
  111. package/dist/excalidraw/types.d.ts +1 -0
  112. package/dist/prod/{en-UQDDYCH7.json → en-OIPCBIOA.json} +3 -1
  113. package/dist/prod/index.js +42 -42
  114. package/package.json +2 -2
  115. package/dist/browser/dev/excalidraw-assets-dev/chunk-JKPJV7MZ.js.map +0 -7
  116. package/dist/browser/dev/excalidraw-assets-dev/chunk-OKAZAA6U.js.map +0 -7
  117. package/dist/browser/dev/excalidraw-assets-dev/dist-ITJNUBZF.js.map +0 -7
  118. package/dist/browser/prod/excalidraw-assets/chunk-SXBDZOS3.js +0 -55
  119. package/dist/browser/prod/excalidraw-assets/dist-54276HPL.js +0 -6
  120. package/dist/browser/prod/excalidraw-assets/image-VAGBVQ3G.js +0 -1
  121. /package/dist/browser/dev/excalidraw-assets-dev/{en-BF4XUPIZ.js.map → en-Y27YPU72.js.map} +0 -0
  122. /package/dist/browser/dev/excalidraw-assets-dev/{image-LVS32KQQ.js.map → image-J7S3ALXP.js.map} +0 -0
@@ -8,9 +8,162 @@ export declare const actionSelectAllElementsInFrame: {
8
8
  category: "canvas";
9
9
  };
10
10
  perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
11
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
12
+ appState: {
13
+ selectedElementIds: Record<string, true>;
14
+ contextMenu: {
15
+ items: import("../components/ContextMenu").ContextMenuItems;
16
+ top: number;
17
+ left: number;
18
+ } | null;
19
+ showWelcomeScreen: boolean;
20
+ isLoading: boolean;
21
+ errorMessage: import("react").ReactNode;
22
+ activeEmbeddable: {
23
+ element: import("../element/types").NonDeletedExcalidrawElement;
24
+ state: "hover" | "active";
25
+ } | null;
26
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
27
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
29
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
30
+ isBindingEnabled: boolean;
31
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
32
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
33
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
34
+ frameRendering: {
35
+ enabled: boolean;
36
+ name: boolean;
37
+ outline: boolean;
38
+ clip: boolean;
39
+ };
40
+ editingFrame: string | null;
41
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
42
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
43
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
44
+ activeTool: {
45
+ lastActiveTool: import("../types").ActiveTool | null;
46
+ locked: boolean;
47
+ } & import("../types").ActiveTool;
48
+ penMode: boolean;
49
+ penDetected: boolean;
50
+ exportBackground: boolean;
51
+ exportEmbedScene: boolean;
52
+ exportWithDarkMode: boolean;
53
+ exportScale: number;
54
+ currentItemStrokeColor: string;
55
+ currentItemBackgroundColor: string;
56
+ currentItemFillStyle: import("../element/types").FillStyle;
57
+ currentItemStrokeWidth: number;
58
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
59
+ currentItemRoughness: number;
60
+ currentItemOpacity: number;
61
+ currentItemFontFamily: number;
62
+ currentItemFontSize: number;
63
+ currentItemTextAlign: string;
64
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
65
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
66
+ currentItemRoundness: import("../element/types").StrokeRoundness;
67
+ viewBackgroundColor: string;
68
+ scrollX: number;
69
+ scrollY: number;
70
+ cursorButton: "up" | "down";
71
+ scrolledOutside: boolean;
72
+ name: string | null;
73
+ isResizing: boolean;
74
+ isRotating: boolean;
75
+ zoom: Readonly<{
76
+ value: import("../types").NormalizedZoomValue;
77
+ }>;
78
+ openMenu: "canvas" | "shape" | null;
79
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
80
+ openSidebar: {
81
+ name: string;
82
+ tab?: string | undefined;
83
+ } | null;
84
+ openDialog: {
85
+ name: "imageExport" | "help" | "jsonExport";
86
+ } | {
87
+ name: "settings";
88
+ source: "settings" | "tool" | "generation";
89
+ tab: "text-to-diagram" | "diagram-to-code";
90
+ } | {
91
+ name: "ttd";
92
+ tab: "text-to-diagram" | "mermaid";
93
+ } | {
94
+ name: "commandPalette";
95
+ } | null;
96
+ defaultSidebarDockedPreference: boolean;
97
+ lastPointerDownWith: import("../element/types").PointerType;
98
+ previousSelectedElementIds: {
99
+ [id: string]: true;
100
+ };
101
+ selectedElementsAreBeingDragged: boolean;
102
+ shouldCacheIgnoreZoom: boolean;
103
+ toast: {
104
+ message: string;
105
+ closable?: boolean | undefined;
106
+ duration?: number | undefined;
107
+ } | null;
108
+ zenModeEnabled: boolean;
109
+ theme: import("../element/types").Theme;
110
+ gridSize: number | null;
111
+ viewModeEnabled: boolean;
112
+ selectedGroupIds: {
113
+ [groupId: string]: boolean;
114
+ };
115
+ editingGroupId: string | null;
116
+ width: number;
117
+ height: number;
118
+ offsetTop: number;
119
+ offsetLeft: number;
120
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
121
+ collaborators: Map<import("../types").SocketId, Readonly<{
122
+ pointer?: import("../types").CollaboratorPointer | undefined;
123
+ button?: "up" | "down" | undefined;
124
+ selectedElementIds?: Readonly<{
125
+ [id: string]: true;
126
+ }> | undefined;
127
+ username?: string | null | undefined;
128
+ userState?: import("../types").UserIdleState | undefined;
129
+ color?: {
130
+ background: string;
131
+ stroke: string;
132
+ } | undefined;
133
+ avatarUrl?: string | undefined;
134
+ id?: string | undefined;
135
+ socketId?: import("../types").SocketId | undefined;
136
+ isCurrentUser?: boolean | undefined;
137
+ isInCall?: boolean | undefined;
138
+ isSpeaking?: boolean | undefined;
139
+ isMuted?: boolean | undefined;
140
+ }>>;
141
+ showStats: boolean;
142
+ currentChartType: import("../element/types").ChartType;
143
+ pasteDialog: {
144
+ shown: false;
145
+ data: null;
146
+ } | {
147
+ shown: true;
148
+ data: import("../charts").Spreadsheet;
149
+ };
150
+ pendingImageElementId: string | null;
151
+ showHyperlinkPopup: false | "info" | "editor";
152
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
153
+ snapLines: readonly import("../snapping").SnapLine[];
154
+ originSnapOffset: {
155
+ x: number;
156
+ y: number;
157
+ } | null;
158
+ objectsSnapModeEnabled: boolean;
159
+ userToFollow: import("../types").UserToFollow | null;
160
+ followedBy: Set<import("../types").SocketId>;
161
+ };
162
+ storeAction: "capture";
163
+ } | {
11
164
  elements: readonly import("../element/types").OrderedExcalidrawElement[];
12
165
  appState: Readonly<AppState>;
13
- storeAction: import("../store").StoreActionType;
166
+ storeAction: "none";
14
167
  };
15
168
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
16
169
  } & {
@@ -23,9 +176,164 @@ export declare const actionRemoveAllElementsFromFrame: {
23
176
  category: "history";
24
177
  };
25
178
  perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
179
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
180
+ appState: {
181
+ selectedElementIds: {
182
+ [x: string]: true;
183
+ };
184
+ contextMenu: {
185
+ items: import("../components/ContextMenu").ContextMenuItems;
186
+ top: number;
187
+ left: number;
188
+ } | null;
189
+ showWelcomeScreen: boolean;
190
+ isLoading: boolean;
191
+ errorMessage: import("react").ReactNode;
192
+ activeEmbeddable: {
193
+ element: import("../element/types").NonDeletedExcalidrawElement;
194
+ state: "hover" | "active";
195
+ } | null;
196
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
197
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
198
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
199
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
200
+ isBindingEnabled: boolean;
201
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
202
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
203
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
204
+ frameRendering: {
205
+ enabled: boolean;
206
+ name: boolean;
207
+ outline: boolean;
208
+ clip: boolean;
209
+ };
210
+ editingFrame: string | null;
211
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
212
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
213
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
214
+ activeTool: {
215
+ lastActiveTool: import("../types").ActiveTool | null;
216
+ locked: boolean;
217
+ } & import("../types").ActiveTool;
218
+ penMode: boolean;
219
+ penDetected: boolean;
220
+ exportBackground: boolean;
221
+ exportEmbedScene: boolean;
222
+ exportWithDarkMode: boolean;
223
+ exportScale: number;
224
+ currentItemStrokeColor: string;
225
+ currentItemBackgroundColor: string;
226
+ currentItemFillStyle: import("../element/types").FillStyle;
227
+ currentItemStrokeWidth: number;
228
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
229
+ currentItemRoughness: number;
230
+ currentItemOpacity: number;
231
+ currentItemFontFamily: number;
232
+ currentItemFontSize: number;
233
+ currentItemTextAlign: string;
234
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
235
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
236
+ currentItemRoundness: import("../element/types").StrokeRoundness;
237
+ viewBackgroundColor: string;
238
+ scrollX: number;
239
+ scrollY: number;
240
+ cursorButton: "up" | "down";
241
+ scrolledOutside: boolean;
242
+ name: string | null;
243
+ isResizing: boolean;
244
+ isRotating: boolean;
245
+ zoom: Readonly<{
246
+ value: import("../types").NormalizedZoomValue;
247
+ }>;
248
+ openMenu: "canvas" | "shape" | null;
249
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
250
+ openSidebar: {
251
+ name: string;
252
+ tab?: string | undefined;
253
+ } | null;
254
+ openDialog: {
255
+ name: "imageExport" | "help" | "jsonExport";
256
+ } | {
257
+ name: "settings";
258
+ source: "settings" | "tool" | "generation";
259
+ tab: "text-to-diagram" | "diagram-to-code";
260
+ } | {
261
+ name: "ttd";
262
+ tab: "text-to-diagram" | "mermaid";
263
+ } | {
264
+ name: "commandPalette";
265
+ } | null;
266
+ defaultSidebarDockedPreference: boolean;
267
+ lastPointerDownWith: import("../element/types").PointerType;
268
+ previousSelectedElementIds: {
269
+ [id: string]: true;
270
+ };
271
+ selectedElementsAreBeingDragged: boolean;
272
+ shouldCacheIgnoreZoom: boolean;
273
+ toast: {
274
+ message: string;
275
+ closable?: boolean | undefined;
276
+ duration?: number | undefined;
277
+ } | null;
278
+ zenModeEnabled: boolean;
279
+ theme: import("../element/types").Theme;
280
+ gridSize: number | null;
281
+ viewModeEnabled: boolean;
282
+ selectedGroupIds: {
283
+ [groupId: string]: boolean;
284
+ };
285
+ editingGroupId: string | null;
286
+ width: number;
287
+ height: number;
288
+ offsetTop: number;
289
+ offsetLeft: number;
290
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
291
+ collaborators: Map<import("../types").SocketId, Readonly<{
292
+ pointer?: import("../types").CollaboratorPointer | undefined;
293
+ button?: "up" | "down" | undefined;
294
+ selectedElementIds?: Readonly<{
295
+ [id: string]: true;
296
+ }> | undefined;
297
+ username?: string | null | undefined;
298
+ userState?: import("../types").UserIdleState | undefined;
299
+ color?: {
300
+ background: string;
301
+ stroke: string;
302
+ } | undefined;
303
+ avatarUrl?: string | undefined;
304
+ id?: string | undefined;
305
+ socketId?: import("../types").SocketId | undefined;
306
+ isCurrentUser?: boolean | undefined;
307
+ isInCall?: boolean | undefined;
308
+ isSpeaking?: boolean | undefined;
309
+ isMuted?: boolean | undefined;
310
+ }>>;
311
+ showStats: boolean;
312
+ currentChartType: import("../element/types").ChartType;
313
+ pasteDialog: {
314
+ shown: false;
315
+ data: null;
316
+ } | {
317
+ shown: true;
318
+ data: import("../charts").Spreadsheet;
319
+ };
320
+ pendingImageElementId: string | null;
321
+ showHyperlinkPopup: false | "info" | "editor";
322
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
323
+ snapLines: readonly import("../snapping").SnapLine[];
324
+ originSnapOffset: {
325
+ x: number;
326
+ y: number;
327
+ } | null;
328
+ objectsSnapModeEnabled: boolean;
329
+ userToFollow: import("../types").UserToFollow | null;
330
+ followedBy: Set<import("../types").SocketId>;
331
+ };
332
+ storeAction: "capture";
333
+ } | {
26
334
  elements: readonly import("../element/types").OrderedExcalidrawElement[];
27
335
  appState: Readonly<AppState>;
28
- storeAction: import("../store").StoreActionType;
336
+ storeAction: "none";
29
337
  };
30
338
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
31
339
  } & {
@@ -192,7 +500,7 @@ export declare const actionupdateFrameRendering: {
192
500
  userToFollow: import("../types").UserToFollow | null;
193
501
  followedBy: Set<import("../types").SocketId>;
194
502
  };
195
- storeAction: import("../store").StoreActionType;
503
+ storeAction: "none";
196
504
  };
197
505
  checked: (appState: AppState) => boolean;
198
506
  } & {
@@ -360,7 +668,7 @@ export declare const actionSetFrameAsActiveTool: {
360
668
  userToFollow: import("../types").UserToFollow | null;
361
669
  followedBy: Set<import("../types").SocketId>;
362
670
  };
363
- storeAction: import("../store").StoreActionType;
671
+ storeAction: "none";
364
672
  };
365
673
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
366
674
  } & {
@@ -11,7 +11,162 @@ export declare const actionGroup: {
11
11
  perform: (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
12
12
  appState: Readonly<AppState>;
13
13
  elements: readonly OrderedExcalidrawElement[];
14
- storeAction: import("../store").StoreActionType;
14
+ storeAction: "none";
15
+ } | {
16
+ appState: {
17
+ selectedElementIds: Readonly<{
18
+ [id: string]: true;
19
+ }>;
20
+ selectedGroupIds: {
21
+ [groupId: string]: boolean;
22
+ };
23
+ editingGroupId: string | null;
24
+ contextMenu: {
25
+ items: import("../components/ContextMenu").ContextMenuItems;
26
+ top: number;
27
+ left: number;
28
+ } | null;
29
+ showWelcomeScreen: boolean;
30
+ isLoading: boolean;
31
+ errorMessage: import("react").ReactNode;
32
+ activeEmbeddable: {
33
+ element: import("../element/types").NonDeletedExcalidrawElement;
34
+ state: "hover" | "active";
35
+ } | null;
36
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
37
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
38
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
39
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
40
+ isBindingEnabled: boolean;
41
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
42
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
43
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
44
+ frameRendering: {
45
+ enabled: boolean;
46
+ name: boolean;
47
+ outline: boolean;
48
+ clip: boolean;
49
+ };
50
+ editingFrame: string | null;
51
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
52
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
53
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
54
+ activeTool: {
55
+ lastActiveTool: import("../types").ActiveTool | null;
56
+ locked: boolean;
57
+ } & import("../types").ActiveTool;
58
+ penMode: boolean;
59
+ penDetected: boolean;
60
+ exportBackground: boolean;
61
+ exportEmbedScene: boolean;
62
+ exportWithDarkMode: boolean;
63
+ exportScale: number;
64
+ currentItemStrokeColor: string;
65
+ currentItemBackgroundColor: string;
66
+ currentItemFillStyle: import("../element/types").FillStyle;
67
+ currentItemStrokeWidth: number;
68
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
69
+ currentItemRoughness: number;
70
+ currentItemOpacity: number;
71
+ currentItemFontFamily: number;
72
+ currentItemFontSize: number;
73
+ currentItemTextAlign: string;
74
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
75
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
76
+ currentItemRoundness: import("../element/types").StrokeRoundness;
77
+ viewBackgroundColor: string;
78
+ scrollX: number;
79
+ scrollY: number;
80
+ cursorButton: "up" | "down";
81
+ scrolledOutside: boolean;
82
+ name: string | null;
83
+ isResizing: boolean;
84
+ isRotating: boolean;
85
+ zoom: Readonly<{
86
+ value: import("../types").NormalizedZoomValue;
87
+ }>;
88
+ openMenu: "canvas" | "shape" | null;
89
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
90
+ openSidebar: {
91
+ name: string;
92
+ tab?: string | undefined;
93
+ } | null;
94
+ openDialog: {
95
+ name: "imageExport" | "help" | "jsonExport";
96
+ } | {
97
+ name: "settings";
98
+ source: "settings" | "tool" | "generation";
99
+ tab: "text-to-diagram" | "diagram-to-code";
100
+ } | {
101
+ name: "ttd";
102
+ tab: "text-to-diagram" | "mermaid";
103
+ } | {
104
+ name: "commandPalette";
105
+ } | null;
106
+ defaultSidebarDockedPreference: boolean;
107
+ lastPointerDownWith: import("../element/types").PointerType;
108
+ previousSelectedElementIds: {
109
+ [id: string]: true;
110
+ };
111
+ selectedElementsAreBeingDragged: boolean;
112
+ shouldCacheIgnoreZoom: boolean;
113
+ toast: {
114
+ message: string;
115
+ closable?: boolean | undefined;
116
+ duration?: number | undefined;
117
+ } | null;
118
+ zenModeEnabled: boolean;
119
+ theme: import("../element/types").Theme;
120
+ gridSize: number | null;
121
+ viewModeEnabled: boolean;
122
+ width: number;
123
+ height: number;
124
+ offsetTop: number;
125
+ offsetLeft: number;
126
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
127
+ collaborators: Map<import("../types").SocketId, Readonly<{
128
+ pointer?: import("../types").CollaboratorPointer | undefined;
129
+ button?: "up" | "down" | undefined;
130
+ selectedElementIds?: Readonly<{
131
+ [id: string]: true;
132
+ }> | undefined;
133
+ username?: string | null | undefined;
134
+ userState?: import("../types").UserIdleState | undefined;
135
+ color?: {
136
+ background: string;
137
+ stroke: string;
138
+ } | undefined;
139
+ avatarUrl?: string | undefined;
140
+ id?: string | undefined;
141
+ socketId?: import("../types").SocketId | undefined;
142
+ isCurrentUser?: boolean | undefined;
143
+ isInCall?: boolean | undefined;
144
+ isSpeaking?: boolean | undefined;
145
+ isMuted?: boolean | undefined;
146
+ }>>;
147
+ showStats: boolean;
148
+ currentChartType: import("../element/types").ChartType;
149
+ pasteDialog: {
150
+ shown: false;
151
+ data: null;
152
+ } | {
153
+ shown: true;
154
+ data: import("../charts").Spreadsheet;
155
+ };
156
+ pendingImageElementId: string | null;
157
+ showHyperlinkPopup: false | "info" | "editor";
158
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
159
+ snapLines: readonly import("../snapping").SnapLine[];
160
+ originSnapOffset: {
161
+ x: number;
162
+ y: number;
163
+ } | null;
164
+ objectsSnapModeEnabled: boolean;
165
+ userToFollow: import("../types").UserToFollow | null;
166
+ followedBy: Set<import("../types").SocketId>;
167
+ };
168
+ elements: OrderedExcalidrawElement[];
169
+ storeAction: "capture";
15
170
  };
16
171
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
17
172
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
@@ -29,7 +184,162 @@ export declare const actionUngroup: {
29
184
  perform: (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
30
185
  appState: Readonly<AppState>;
31
186
  elements: readonly OrderedExcalidrawElement[];
32
- storeAction: import("../store").StoreActionType;
187
+ storeAction: "none";
188
+ } | {
189
+ appState: {
190
+ selectedElementIds: Readonly<{
191
+ [id: string]: true;
192
+ }>;
193
+ selectedGroupIds: {
194
+ [groupId: string]: boolean;
195
+ };
196
+ editingGroupId: string | null;
197
+ contextMenu: {
198
+ items: import("../components/ContextMenu").ContextMenuItems;
199
+ top: number;
200
+ left: number;
201
+ } | null;
202
+ showWelcomeScreen: boolean;
203
+ isLoading: boolean;
204
+ errorMessage: import("react").ReactNode;
205
+ activeEmbeddable: {
206
+ element: import("../element/types").NonDeletedExcalidrawElement;
207
+ state: "hover" | "active";
208
+ } | null;
209
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
210
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
211
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
212
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
213
+ isBindingEnabled: boolean;
214
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
215
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
216
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
217
+ frameRendering: {
218
+ enabled: boolean;
219
+ name: boolean;
220
+ outline: boolean;
221
+ clip: boolean;
222
+ };
223
+ editingFrame: string | null;
224
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
225
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
226
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
227
+ activeTool: {
228
+ lastActiveTool: import("../types").ActiveTool | null;
229
+ locked: boolean;
230
+ } & import("../types").ActiveTool;
231
+ penMode: boolean;
232
+ penDetected: boolean;
233
+ exportBackground: boolean;
234
+ exportEmbedScene: boolean;
235
+ exportWithDarkMode: boolean;
236
+ exportScale: number;
237
+ currentItemStrokeColor: string;
238
+ currentItemBackgroundColor: string;
239
+ currentItemFillStyle: import("../element/types").FillStyle;
240
+ currentItemStrokeWidth: number;
241
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
242
+ currentItemRoughness: number;
243
+ currentItemOpacity: number;
244
+ currentItemFontFamily: number;
245
+ currentItemFontSize: number;
246
+ currentItemTextAlign: string;
247
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
248
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
249
+ currentItemRoundness: import("../element/types").StrokeRoundness;
250
+ viewBackgroundColor: string;
251
+ scrollX: number;
252
+ scrollY: number;
253
+ cursorButton: "up" | "down";
254
+ scrolledOutside: boolean;
255
+ name: string | null;
256
+ isResizing: boolean;
257
+ isRotating: boolean;
258
+ zoom: Readonly<{
259
+ value: import("../types").NormalizedZoomValue;
260
+ }>;
261
+ openMenu: "canvas" | "shape" | null;
262
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
263
+ openSidebar: {
264
+ name: string;
265
+ tab?: string | undefined;
266
+ } | null;
267
+ openDialog: {
268
+ name: "imageExport" | "help" | "jsonExport";
269
+ } | {
270
+ name: "settings";
271
+ source: "settings" | "tool" | "generation";
272
+ tab: "text-to-diagram" | "diagram-to-code";
273
+ } | {
274
+ name: "ttd";
275
+ tab: "text-to-diagram" | "mermaid";
276
+ } | {
277
+ name: "commandPalette";
278
+ } | null;
279
+ defaultSidebarDockedPreference: boolean;
280
+ lastPointerDownWith: import("../element/types").PointerType;
281
+ previousSelectedElementIds: {
282
+ [id: string]: true;
283
+ };
284
+ selectedElementsAreBeingDragged: boolean;
285
+ shouldCacheIgnoreZoom: boolean;
286
+ toast: {
287
+ message: string;
288
+ closable?: boolean | undefined;
289
+ duration?: number | undefined;
290
+ } | null;
291
+ zenModeEnabled: boolean;
292
+ theme: import("../element/types").Theme;
293
+ gridSize: number | null;
294
+ viewModeEnabled: boolean;
295
+ width: number;
296
+ height: number;
297
+ offsetTop: number;
298
+ offsetLeft: number;
299
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
300
+ collaborators: Map<import("../types").SocketId, Readonly<{
301
+ pointer?: import("../types").CollaboratorPointer | undefined;
302
+ button?: "up" | "down" | undefined;
303
+ selectedElementIds?: Readonly<{
304
+ [id: string]: true;
305
+ }> | undefined;
306
+ username?: string | null | undefined;
307
+ userState?: import("../types").UserIdleState | undefined;
308
+ color?: {
309
+ background: string;
310
+ stroke: string;
311
+ } | undefined;
312
+ avatarUrl?: string | undefined;
313
+ id?: string | undefined;
314
+ socketId?: import("../types").SocketId | undefined;
315
+ isCurrentUser?: boolean | undefined;
316
+ isInCall?: boolean | undefined;
317
+ isSpeaking?: boolean | undefined;
318
+ isMuted?: boolean | undefined;
319
+ }>>;
320
+ showStats: boolean;
321
+ currentChartType: import("../element/types").ChartType;
322
+ pasteDialog: {
323
+ shown: false;
324
+ data: null;
325
+ } | {
326
+ shown: true;
327
+ data: import("../charts").Spreadsheet;
328
+ };
329
+ pendingImageElementId: string | null;
330
+ showHyperlinkPopup: false | "info" | "editor";
331
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
332
+ snapLines: readonly import("../snapping").SnapLine[];
333
+ originSnapOffset: {
334
+ x: number;
335
+ y: number;
336
+ } | null;
337
+ objectsSnapModeEnabled: boolean;
338
+ userToFollow: import("../types").UserToFollow | null;
339
+ followedBy: Set<import("../types").SocketId>;
340
+ };
341
+ elements: OrderedExcalidrawElement[];
342
+ storeAction: "capture";
33
343
  };
34
344
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
35
345
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;