@excalidraw/excalidraw 0.15.2-6546-3398d86 → 0.15.2-6920-554913c

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 (75) hide show
  1. package/dist/excalidraw-assets/locales/{hi-IN-json-3898c9c1216b44476529.js → hi-IN-json-e22f4ad73126c2971850.js} +1 -1
  2. package/dist/excalidraw-assets/locales/{id-ID-json-43d505d7071a0e359681.js → id-ID-json-0e69caf5d919807ed234.js} +1 -1
  3. package/dist/excalidraw-assets/locales/{kk-KZ-json-f648362328b839e9313f.js → kk-KZ-json-106d2a41c68f69765668.js} +1 -1
  4. package/dist/excalidraw-assets/locales/sv-SE-json-efd822b4ee2770a3b369.js +1 -0
  5. package/dist/excalidraw-assets/locales/uk-UA-json-bbfc556c0ea7b939c13a.js +1 -0
  6. package/dist/excalidraw-assets/vendor-114c868489837257394a.js +2 -0
  7. package/dist/excalidraw-assets/vendor-114c868489837257394a.js.LICENSE.txt +22 -0
  8. package/dist/excalidraw-assets-dev/vendor-d615cecc8dc2cc9eb25f.js +3959 -0
  9. package/dist/excalidraw.development.js +7689 -237
  10. package/dist/excalidraw.production.min.js +1 -1
  11. package/dist/excalidraw.production.min.js.LICENSE.txt +10 -0
  12. package/package.json +1 -1
  13. package/types/actions/actionAddToLibrary.d.ts +3 -3
  14. package/types/actions/actionBoundText.d.ts +2 -2
  15. package/types/actions/actionCanvas.d.ts +11 -11
  16. package/types/actions/actionClipboard.d.ts +5 -5
  17. package/types/actions/actionDeleteSelected.d.ts +3 -3
  18. package/types/actions/actionElementLock.d.ts +2 -2
  19. package/types/actions/actionExport.d.ts +9 -9
  20. package/types/actions/actionFinalize.d.ts +3 -3
  21. package/types/actions/actionFrame.d.ts +3 -3
  22. package/types/actions/actionGroup.d.ts +241 -3
  23. package/types/actions/actionLinearEditor.d.ts +1 -1
  24. package/types/actions/actionMenu.d.ts +3 -3
  25. package/types/actions/actionProperties.d.ts +13 -13
  26. package/types/actions/actionSelectAll.d.ts +121 -1
  27. package/types/actions/actionStyles.d.ts +1 -1
  28. package/types/actions/actionToggleGridMode.d.ts +1 -1
  29. package/types/actions/actionToggleStats.d.ts +1 -1
  30. package/types/actions/actionToggleViewMode.d.ts +1 -1
  31. package/types/actions/actionToggleZenMode.d.ts +1 -1
  32. package/types/appState.d.ts +1 -1
  33. package/types/components/Actions.d.ts +2 -2
  34. package/types/components/App.d.ts +8 -6
  35. package/types/components/JSONExportDialog.d.ts +1 -1
  36. package/types/components/LayerUI.d.ts +3 -2
  37. package/types/components/MermaidToExcalidraw.d.ts +8 -0
  38. package/types/components/MobileMenu.d.ts +2 -2
  39. package/types/components/canvases/InteractiveCanvas.d.ts +26 -0
  40. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  41. package/types/components/canvases/index.d.ts +3 -0
  42. package/types/element/Hyperlink.d.ts +2 -2
  43. package/types/element/embeddable.d.ts +1 -1
  44. package/types/element/linearElementEditor.d.ts +5 -5
  45. package/types/element/sizeHelpers.d.ts +8 -1
  46. package/types/element/textWysiwyg.d.ts +1 -1
  47. package/types/element/transformHandles.d.ts +2 -2
  48. package/types/frame.d.ts +3 -3
  49. package/types/groups.d.ts +10 -11
  50. package/types/packages/excalidraw/webpack.dev.config.d.ts +11 -0
  51. package/types/packages/excalidraw/webpack.prod.config.d.ts +11 -0
  52. package/types/renderer/renderElement.d.ts +9 -21
  53. package/types/renderer/renderScene.d.ts +16 -36
  54. package/types/scene/Renderer.d.ts +25 -0
  55. package/types/scene/Scene.d.ts +2 -0
  56. package/types/scene/Shape.d.ts +12 -0
  57. package/types/scene/ShapeCache.d.ts +20 -0
  58. package/types/scene/scroll.d.ts +1 -1
  59. package/types/scene/scrollbars.d.ts +2 -6
  60. package/types/scene/selection.d.ts +2 -2
  61. package/types/scene/types.d.ts +57 -24
  62. package/types/types.d.ts +48 -5
  63. package/types/utils.d.ts +12 -5
  64. package/dist/excalidraw-assets/locales/sv-SE-json-84a855efd030e37f51ab.js +0 -1
  65. package/dist/excalidraw-assets/locales/uk-UA-json-a48bb2e866a11d396a35.js +0 -1
  66. package/dist/excalidraw-assets/vendor-ef3c5d81a00ef582b871.js +0 -2
  67. package/dist/excalidraw-assets/vendor-ef3c5d81a00ef582b871.js.LICENSE.txt +0 -12
  68. package/dist/excalidraw-assets-dev/vendor-a14cd58fa2db417e42b2.js +0 -98
  69. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{hi-IN-json-3898c9c1216b44476529.d.ts → hi-IN-json-e22f4ad73126c2971850.d.ts} +0 -0
  70. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{id-ID-json-43d505d7071a0e359681.d.ts → id-ID-json-0e69caf5d919807ed234.d.ts} +0 -0
  71. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{kk-KZ-json-f648362328b839e9313f.d.ts → kk-KZ-json-106d2a41c68f69765668.d.ts} +0 -0
  72. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{sv-SE-json-84a855efd030e37f51ab.d.ts → sv-SE-json-efd822b4ee2770a3b369.d.ts} +0 -0
  73. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{uk-UA-json-a48bb2e866a11d396a35.d.ts → uk-UA-json-bbfc556c0ea7b939c13a.d.ts} +0 -0
  74. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-ef3c5d81a00ef582b871.d.ts → vendor-114c868489837257394a.d.ts} +0 -0
  75. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-a14cd58fa2db417e42b2.d.ts → vendor-d615cecc8dc2cc9eb25f.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { ExcalidrawElement } from "../element/types";
1
+ import { ExcalidrawElement, ExcalidrawFrameElement } from "../element/types";
2
2
  import { AppClassProperties, AppState } from "../types";
3
3
  export declare const actionGroup: {
4
4
  name: "group";
@@ -10,7 +10,126 @@ export declare const actionGroup: {
10
10
  elements: readonly ExcalidrawElement[];
11
11
  commitToHistory: false;
12
12
  } | {
13
- appState: AppState;
13
+ appState: {
14
+ selectedElementIds: Readonly<{
15
+ [id: string]: true;
16
+ }>;
17
+ selectedGroupIds: {
18
+ [groupId: string]: boolean;
19
+ };
20
+ editingGroupId: string | null;
21
+ contextMenu: {
22
+ items: import("../components/ContextMenu").ContextMenuItems;
23
+ top: number;
24
+ left: number;
25
+ } | null;
26
+ showWelcomeScreen: boolean;
27
+ isLoading: boolean;
28
+ errorMessage: import("react").ReactNode;
29
+ activeEmbeddable: {
30
+ element: import("../element/types").NonDeletedExcalidrawElement;
31
+ state: "active" | "hover";
32
+ } | null;
33
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
34
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
35
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
36
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
37
+ isBindingEnabled: boolean;
38
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
39
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
40
+ frameToHighlight: import("../element/types").NonDeleted<ExcalidrawFrameElement> | null;
41
+ frameRendering: {
42
+ enabled: boolean;
43
+ name: boolean;
44
+ outline: boolean;
45
+ clip: boolean;
46
+ };
47
+ editingFrame: string | null;
48
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
49
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
50
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
51
+ activeTool: {
52
+ lastActiveTool: import("../types").LastActiveTool;
53
+ locked: boolean;
54
+ } & ({
55
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
56
+ customType: null;
57
+ } | {
58
+ type: "custom";
59
+ customType: string;
60
+ });
61
+ penMode: boolean;
62
+ penDetected: boolean;
63
+ exportBackground: boolean;
64
+ exportEmbedScene: boolean;
65
+ exportWithDarkMode: boolean;
66
+ exportScale: number;
67
+ currentItemStrokeColor: string;
68
+ currentItemBackgroundColor: string;
69
+ currentItemFillStyle: import("../element/types").FillStyle;
70
+ currentItemStrokeWidth: number;
71
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
72
+ currentItemRoughness: number;
73
+ currentItemOpacity: number;
74
+ currentItemFontFamily: number;
75
+ currentItemFontSize: number;
76
+ currentItemTextAlign: string;
77
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
78
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
79
+ currentItemRoundness: import("../element/types").StrokeRoundness;
80
+ viewBackgroundColor: string;
81
+ scrollX: number;
82
+ scrollY: number;
83
+ cursorButton: "up" | "down";
84
+ scrolledOutside: boolean;
85
+ name: string;
86
+ isResizing: boolean;
87
+ isRotating: boolean;
88
+ zoom: Readonly<{
89
+ value: import("../types").NormalizedZoomValue;
90
+ }>;
91
+ openMenu: "canvas" | "shape" | null;
92
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
93
+ openSidebar: {
94
+ name: string;
95
+ tab?: string | undefined;
96
+ } | null;
97
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
98
+ defaultSidebarDockedPreference: boolean;
99
+ lastPointerDownWith: import("../element/types").PointerType;
100
+ previousSelectedElementIds: {
101
+ [id: string]: true;
102
+ };
103
+ selectedElementsAreBeingDragged: boolean;
104
+ shouldCacheIgnoreZoom: boolean;
105
+ toast: {
106
+ message: string;
107
+ closable?: boolean | undefined;
108
+ duration?: number | undefined;
109
+ } | null;
110
+ zenModeEnabled: boolean;
111
+ theme: import("../element/types").Theme;
112
+ gridSize: number | null;
113
+ viewModeEnabled: boolean;
114
+ width: number;
115
+ height: number;
116
+ offsetTop: number;
117
+ offsetLeft: number;
118
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
119
+ collaborators: Map<string, import("../types").Collaborator>;
120
+ showStats: boolean;
121
+ currentChartType: import("../element/types").ChartType;
122
+ pasteDialog: {
123
+ shown: false;
124
+ data: null;
125
+ } | {
126
+ shown: true;
127
+ data: import("../charts").Spreadsheet;
128
+ };
129
+ pendingImageElementId: string | null;
130
+ showHyperlinkPopup: false | "editor" | "info";
131
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
132
+ };
14
133
  elements: ExcalidrawElement[];
15
134
  commitToHistory: true;
16
135
  };
@@ -31,7 +150,126 @@ export declare const actionUngroup: {
31
150
  elements: readonly ExcalidrawElement[];
32
151
  commitToHistory: false;
33
152
  } | {
34
- appState: AppState;
153
+ appState: {
154
+ selectedElementIds: Readonly<{
155
+ [id: string]: true;
156
+ }>;
157
+ selectedGroupIds: {
158
+ [groupId: string]: boolean;
159
+ };
160
+ editingGroupId: string | null;
161
+ contextMenu: {
162
+ items: import("../components/ContextMenu").ContextMenuItems;
163
+ top: number;
164
+ left: number;
165
+ } | null;
166
+ showWelcomeScreen: boolean;
167
+ isLoading: boolean;
168
+ errorMessage: import("react").ReactNode;
169
+ activeEmbeddable: {
170
+ element: import("../element/types").NonDeletedExcalidrawElement;
171
+ state: "active" | "hover";
172
+ } | null;
173
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
174
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
175
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
176
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
177
+ isBindingEnabled: boolean;
178
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
179
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
180
+ frameToHighlight: import("../element/types").NonDeleted<ExcalidrawFrameElement> | null;
181
+ frameRendering: {
182
+ enabled: boolean;
183
+ name: boolean;
184
+ outline: boolean;
185
+ clip: boolean;
186
+ };
187
+ editingFrame: string | null;
188
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
189
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
190
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
191
+ activeTool: {
192
+ lastActiveTool: import("../types").LastActiveTool;
193
+ locked: boolean;
194
+ } & ({
195
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
196
+ customType: null;
197
+ } | {
198
+ type: "custom";
199
+ customType: string;
200
+ });
201
+ penMode: boolean;
202
+ penDetected: boolean;
203
+ exportBackground: boolean;
204
+ exportEmbedScene: boolean;
205
+ exportWithDarkMode: boolean;
206
+ exportScale: number;
207
+ currentItemStrokeColor: string;
208
+ currentItemBackgroundColor: string;
209
+ currentItemFillStyle: import("../element/types").FillStyle;
210
+ currentItemStrokeWidth: number;
211
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
212
+ currentItemRoughness: number;
213
+ currentItemOpacity: number;
214
+ currentItemFontFamily: number;
215
+ currentItemFontSize: number;
216
+ currentItemTextAlign: string;
217
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
218
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
219
+ currentItemRoundness: import("../element/types").StrokeRoundness;
220
+ viewBackgroundColor: string;
221
+ scrollX: number;
222
+ scrollY: number;
223
+ cursorButton: "up" | "down";
224
+ scrolledOutside: boolean;
225
+ name: string;
226
+ isResizing: boolean;
227
+ isRotating: boolean;
228
+ zoom: Readonly<{
229
+ value: import("../types").NormalizedZoomValue;
230
+ }>;
231
+ openMenu: "canvas" | "shape" | null;
232
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
233
+ openSidebar: {
234
+ name: string;
235
+ tab?: string | undefined;
236
+ } | null;
237
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
238
+ defaultSidebarDockedPreference: boolean;
239
+ lastPointerDownWith: import("../element/types").PointerType;
240
+ previousSelectedElementIds: {
241
+ [id: string]: true;
242
+ };
243
+ selectedElementsAreBeingDragged: boolean;
244
+ shouldCacheIgnoreZoom: boolean;
245
+ toast: {
246
+ message: string;
247
+ closable?: boolean | undefined;
248
+ duration?: number | undefined;
249
+ } | null;
250
+ zenModeEnabled: boolean;
251
+ theme: import("../element/types").Theme;
252
+ gridSize: number | null;
253
+ viewModeEnabled: boolean;
254
+ width: number;
255
+ height: number;
256
+ offsetTop: number;
257
+ offsetLeft: number;
258
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
259
+ collaborators: Map<string, import("../types").Collaborator>;
260
+ showStats: boolean;
261
+ currentChartType: import("../element/types").ChartType;
262
+ pasteDialog: {
263
+ shown: false;
264
+ data: null;
265
+ } | {
266
+ shown: true;
267
+ data: import("../charts").Spreadsheet;
268
+ };
269
+ pendingImageElementId: string | null;
270
+ showHyperlinkPopup: false | "editor" | "info";
271
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
272
+ };
35
273
  elements: ExcalidrawElement[];
36
274
  commitToHistory: true;
37
275
  };
@@ -42,7 +42,7 @@ export declare const actionToggleLinearEditor: {
42
42
  lastActiveTool: import("../types").LastActiveTool;
43
43
  locked: boolean;
44
44
  } & ({
45
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
45
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
46
46
  customType: null;
47
47
  } | {
48
48
  type: "custom";
@@ -40,7 +40,7 @@ export declare const actionToggleCanvasMenu: {
40
40
  lastActiveTool: import("../types").LastActiveTool;
41
41
  locked: boolean;
42
42
  } & ({
43
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
43
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
44
44
  customType: null;
45
45
  } | {
46
46
  type: "custom";
@@ -172,7 +172,7 @@ export declare const actionToggleEditMenu: {
172
172
  lastActiveTool: import("../types").LastActiveTool;
173
173
  locked: boolean;
174
174
  } & ({
175
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
175
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
176
176
  customType: null;
177
177
  } | {
178
178
  type: "custom";
@@ -319,7 +319,7 @@ export declare const actionShortcuts: {
319
319
  lastActiveTool: import("../types").LastActiveTool;
320
320
  locked: boolean;
321
321
  } & ({
322
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
322
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
323
323
  customType: null;
324
324
  } | {
325
325
  type: "custom";
@@ -57,7 +57,7 @@ export declare const actionChangeFillStyle: {
57
57
  lastActiveTool: import("../../src/types").LastActiveTool;
58
58
  locked: boolean;
59
59
  } & ({
60
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
60
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
61
61
  customType: null;
62
62
  } | {
63
63
  type: "custom";
@@ -188,7 +188,7 @@ export declare const actionChangeStrokeWidth: {
188
188
  lastActiveTool: import("../../src/types").LastActiveTool;
189
189
  locked: boolean;
190
190
  } & ({
191
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
191
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
192
192
  customType: null;
193
193
  } | {
194
194
  type: "custom";
@@ -319,7 +319,7 @@ export declare const actionChangeSloppiness: {
319
319
  lastActiveTool: import("../../src/types").LastActiveTool;
320
320
  locked: boolean;
321
321
  } & ({
322
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
322
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
323
323
  customType: null;
324
324
  } | {
325
325
  type: "custom";
@@ -450,7 +450,7 @@ export declare const actionChangeStrokeStyle: {
450
450
  lastActiveTool: import("../../src/types").LastActiveTool;
451
451
  locked: boolean;
452
452
  } & ({
453
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
453
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
454
454
  customType: null;
455
455
  } | {
456
456
  type: "custom";
@@ -581,7 +581,7 @@ export declare const actionChangeOpacity: {
581
581
  lastActiveTool: import("../../src/types").LastActiveTool;
582
582
  locked: boolean;
583
583
  } & ({
584
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
584
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
585
585
  customType: null;
586
586
  } | {
587
587
  type: "custom";
@@ -712,7 +712,7 @@ export declare const actionChangeFontSize: {
712
712
  lastActiveTool: import("../../src/types").LastActiveTool;
713
713
  locked: boolean;
714
714
  } & ({
715
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
715
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
716
716
  customType: null;
717
717
  } | {
718
718
  type: "custom";
@@ -843,7 +843,7 @@ export declare const actionDecreaseFontSize: {
843
843
  lastActiveTool: import("../../src/types").LastActiveTool;
844
844
  locked: boolean;
845
845
  } & ({
846
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
846
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
847
847
  customType: null;
848
848
  } | {
849
849
  type: "custom";
@@ -974,7 +974,7 @@ export declare const actionIncreaseFontSize: {
974
974
  lastActiveTool: import("../../src/types").LastActiveTool;
975
975
  locked: boolean;
976
976
  } & ({
977
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
977
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
978
978
  customType: null;
979
979
  } | {
980
980
  type: "custom";
@@ -1105,7 +1105,7 @@ export declare const actionChangeFontFamily: {
1105
1105
  lastActiveTool: import("../../src/types").LastActiveTool;
1106
1106
  locked: boolean;
1107
1107
  } & ({
1108
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1108
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1109
1109
  customType: null;
1110
1110
  } | {
1111
1111
  type: "custom";
@@ -1236,7 +1236,7 @@ export declare const actionChangeTextAlign: {
1236
1236
  lastActiveTool: import("../../src/types").LastActiveTool;
1237
1237
  locked: boolean;
1238
1238
  } & ({
1239
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1239
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1240
1240
  customType: null;
1241
1241
  } | {
1242
1242
  type: "custom";
@@ -1368,7 +1368,7 @@ export declare const actionChangeVerticalAlign: {
1368
1368
  lastActiveTool: import("../../src/types").LastActiveTool;
1369
1369
  locked: boolean;
1370
1370
  } & ({
1371
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1371
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1372
1372
  customType: null;
1373
1373
  } | {
1374
1374
  type: "custom";
@@ -1500,7 +1500,7 @@ export declare const actionChangeRoundness: {
1500
1500
  lastActiveTool: import("../../src/types").LastActiveTool;
1501
1501
  locked: boolean;
1502
1502
  } & ({
1503
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1503
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1504
1504
  customType: null;
1505
1505
  } | {
1506
1506
  type: "custom";
@@ -1633,7 +1633,7 @@ export declare const actionChangeArrowhead: {
1633
1633
  lastActiveTool: import("../../src/types").LastActiveTool;
1634
1634
  locked: boolean;
1635
1635
  } & ({
1636
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1636
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1637
1637
  customType: null;
1638
1638
  } | {
1639
1639
  type: "custom";
@@ -1,11 +1,131 @@
1
1
  import { ExcalidrawElement } from "../element/types";
2
+ import { LinearElementEditor } from "../element/linearElementEditor";
2
3
  export declare const actionSelectAll: {
3
4
  name: "selectAll";
4
5
  trackEvent: {
5
6
  category: "canvas";
6
7
  };
7
8
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => false | {
8
- appState: import("../types").AppState;
9
+ appState: {
10
+ selectedLinearElement: LinearElementEditor | null;
11
+ selectedElementIds: Readonly<{
12
+ [id: string]: true;
13
+ }>;
14
+ selectedGroupIds: {
15
+ [groupId: string]: boolean;
16
+ };
17
+ editingGroupId: string | null;
18
+ contextMenu: {
19
+ items: import("../components/ContextMenu").ContextMenuItems;
20
+ top: number;
21
+ left: number;
22
+ } | null;
23
+ showWelcomeScreen: boolean;
24
+ isLoading: boolean;
25
+ errorMessage: import("react").ReactNode;
26
+ activeEmbeddable: {
27
+ element: import("../element/types").NonDeletedExcalidrawElement;
28
+ state: "active" | "hover";
29
+ } | null;
30
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
31
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
32
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
33
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
34
+ isBindingEnabled: boolean;
35
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
36
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
37
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
38
+ frameRendering: {
39
+ enabled: boolean;
40
+ name: boolean;
41
+ outline: boolean;
42
+ clip: boolean;
43
+ };
44
+ editingFrame: string | null;
45
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
46
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
47
+ editingLinearElement: LinearElementEditor | null;
48
+ activeTool: {
49
+ lastActiveTool: import("../types").LastActiveTool;
50
+ locked: boolean;
51
+ } & ({
52
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
53
+ customType: null;
54
+ } | {
55
+ type: "custom";
56
+ customType: string;
57
+ });
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;
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: "imageExport" | "help" | "jsonExport" | null;
95
+ defaultSidebarDockedPreference: boolean;
96
+ lastPointerDownWith: import("../element/types").PointerType;
97
+ previousSelectedElementIds: {
98
+ [id: string]: true;
99
+ };
100
+ selectedElementsAreBeingDragged: boolean;
101
+ shouldCacheIgnoreZoom: boolean;
102
+ toast: {
103
+ message: string;
104
+ closable?: boolean | undefined;
105
+ duration?: number | undefined;
106
+ } | null;
107
+ zenModeEnabled: boolean;
108
+ theme: import("../element/types").Theme;
109
+ gridSize: number | null;
110
+ viewModeEnabled: boolean;
111
+ width: number;
112
+ height: number;
113
+ offsetTop: number;
114
+ offsetLeft: number;
115
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
116
+ collaborators: Map<string, import("../types").Collaborator>;
117
+ showStats: boolean;
118
+ currentChartType: import("../element/types").ChartType;
119
+ pasteDialog: {
120
+ shown: false;
121
+ data: null;
122
+ } | {
123
+ shown: true;
124
+ data: import("../charts").Spreadsheet;
125
+ };
126
+ pendingImageElementId: string | null;
127
+ showHyperlinkPopup: false | "editor" | "info";
128
+ };
9
129
  commitToHistory: true;
10
130
  };
11
131
  contextItemLabel: string;
@@ -43,7 +43,7 @@ export declare const actionCopyStyles: {
43
43
  lastActiveTool: import("../types").LastActiveTool;
44
44
  locked: boolean;
45
45
  } & ({
46
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
46
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
47
47
  customType: null;
48
48
  } | {
49
49
  type: "custom";
@@ -43,7 +43,7 @@ export declare const actionToggleGridMode: {
43
43
  lastActiveTool: import("../types").LastActiveTool;
44
44
  locked: boolean;
45
45
  } & ({
46
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
46
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
47
47
  customType: null;
48
48
  } | {
49
49
  type: "custom";
@@ -41,7 +41,7 @@ export declare const actionToggleStats: {
41
41
  lastActiveTool: import("../types").LastActiveTool;
42
42
  locked: boolean;
43
43
  } & ({
44
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
44
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
45
45
  customType: null;
46
46
  } | {
47
47
  type: "custom";
@@ -42,7 +42,7 @@ export declare const actionToggleViewMode: {
42
42
  lastActiveTool: import("../types").LastActiveTool;
43
43
  locked: boolean;
44
44
  } & ({
45
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
45
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
46
46
  customType: null;
47
47
  } | {
48
48
  type: "custom";
@@ -42,7 +42,7 @@ export declare const actionToggleZenMode: {
42
42
  lastActiveTool: import("../types").LastActiveTool;
43
43
  locked: boolean;
44
44
  } & ({
45
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
45
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
46
46
  customType: null;
47
47
  } | {
48
48
  type: "custom";
@@ -7,7 +7,7 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
7
7
  lastActiveTool: import("./types").LastActiveTool;
8
8
  locked: boolean;
9
9
  } & ({
10
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
10
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
11
11
  customType: null;
12
12
  } | {
13
13
  type: "custom";
@@ -8,8 +8,8 @@ export declare const SelectedShapeActions: ({ appState, elements, renderAction,
8
8
  elements: readonly ExcalidrawElement[];
9
9
  renderAction: ActionManager["renderAction"];
10
10
  }) => JSX.Element;
11
- export declare const ShapesSwitcher: ({ canvas, activeTool, setAppState, onImageAction, appState, }: {
12
- canvas: HTMLCanvasElement | null;
11
+ export declare const ShapesSwitcher: ({ interactiveCanvas, activeTool, setAppState, onImageAction, appState, }: {
12
+ interactiveCanvas: HTMLCanvasElement | null;
13
13
  activeTool: UIAppState["activeTool"];
14
14
  setAppState: React.Component<any, UIAppState>["setState"];
15
15
  onImageAction: (data: {