@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.
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-JKPJV7MZ.js → chunk-Q6A4M3MN.js} +4 -2
- package/dist/browser/dev/excalidraw-assets-dev/chunk-Q6A4M3MN.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-OKAZAA6U.js → chunk-VC7RRIDZ.js} +230 -93
- package/dist/browser/dev/excalidraw-assets-dev/chunk-VC7RRIDZ.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{dist-ITJNUBZF.js → dist-6QVAH5JA.js} +36 -14
- package/dist/browser/dev/excalidraw-assets-dev/dist-6QVAH5JA.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{en-BF4XUPIZ.js → en-Y27YPU72.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{image-LVS32KQQ.js → image-J7S3ALXP.js} +2 -2
- package/dist/browser/dev/index.js +335 -116
- package/dist/browser/dev/index.js.map +4 -4
- package/dist/browser/prod/excalidraw-assets/chunk-CWO763YJ.js +55 -0
- package/dist/browser/prod/excalidraw-assets/{chunk-O4AI3NNG.js → chunk-IZMZ6RPD.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/dist-567JAXHK.js +7 -0
- package/dist/browser/prod/excalidraw-assets/{en-N7CLNF6C.js → en-GSUSWMSH.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/image-SZBFRCU2.js +1 -0
- package/dist/browser/prod/index.js +24 -24
- package/dist/dev/{en-UQDDYCH7.json → en-OIPCBIOA.json} +3 -1
- package/dist/dev/index.js +576 -207
- package/dist/dev/index.js.map +4 -4
- package/dist/excalidraw/actions/actionAddToLibrary.d.ts +3 -3
- package/dist/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/excalidraw/actions/actionBoundText.d.ts +3 -3
- package/dist/excalidraw/actions/actionBoundText.js +3 -1
- package/dist/excalidraw/actions/actionCanvas.d.ts +13 -13
- package/dist/excalidraw/actions/actionClipboard.d.ts +12 -12
- package/dist/excalidraw/actions/actionDeleteSelected.d.ts +3 -3
- package/dist/excalidraw/actions/actionDistribute.d.ts +2 -2
- package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +1 -1
- package/dist/excalidraw/actions/actionElementLock.d.ts +2 -2
- package/dist/excalidraw/actions/actionExport.d.ts +11 -11
- package/dist/excalidraw/actions/actionFinalize.d.ts +2 -2
- package/dist/excalidraw/actions/actionFlip.d.ts +2 -2
- package/dist/excalidraw/actions/actionFrame.d.ts +312 -4
- package/dist/excalidraw/actions/actionGroup.d.ts +312 -2
- package/dist/excalidraw/actions/actionHistory.js +4 -4
- package/dist/excalidraw/actions/actionLinearEditor.d.ts +1 -1
- package/dist/excalidraw/actions/actionLink.d.ts +1 -1
- package/dist/excalidraw/actions/actionMenu.d.ts +3 -3
- package/dist/excalidraw/actions/actionNavigate.d.ts +2 -2
- package/dist/excalidraw/actions/actionProperties.d.ts +13 -13
- package/dist/excalidraw/actions/actionProperties.js +1 -1
- package/dist/excalidraw/actions/actionSelectAll.d.ts +1 -1
- package/dist/excalidraw/actions/actionStyles.d.ts +5 -2
- package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
- package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
- package/dist/excalidraw/actions/actionToggleGridMode.d.ts +1 -1
- package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +1 -1
- package/dist/excalidraw/actions/actionToggleStats.d.ts +1 -1
- package/dist/excalidraw/actions/actionToggleViewMode.d.ts +1 -1
- package/dist/excalidraw/actions/actionToggleZenMode.d.ts +1 -1
- package/dist/excalidraw/actions/actionZindex.d.ts +4 -4
- package/dist/excalidraw/actions/types.d.ts +1 -1
- package/dist/excalidraw/change.js +13 -6
- package/dist/excalidraw/components/Actions.js +1 -1
- package/dist/excalidraw/components/App.d.ts +2 -2
- package/dist/excalidraw/components/App.js +133 -51
- package/dist/excalidraw/components/ButtonIconSelect.js +1 -1
- package/dist/excalidraw/components/CheckboxItem.js +1 -1
- package/dist/excalidraw/components/CommandPalette/CommandPalette.js +2 -2
- package/dist/excalidraw/components/ContextMenu.js +1 -1
- package/dist/excalidraw/components/Dialog.js +1 -1
- package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
- package/dist/excalidraw/components/IconPicker.js +2 -2
- package/dist/excalidraw/components/LayerUI.js +2 -2
- package/dist/excalidraw/components/MobileMenu.js +1 -1
- package/dist/excalidraw/components/PasteChartDialog.js +1 -1
- package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -2
- package/dist/excalidraw/components/canvases/InteractiveCanvas.js +4 -2
- package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
- package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
- package/dist/excalidraw/components/icons.js +6 -2
- package/dist/excalidraw/constants.d.ts +1 -0
- package/dist/excalidraw/constants.js +5 -0
- package/dist/excalidraw/data/restore.js +3 -0
- package/dist/excalidraw/element/dragElements.d.ts +2 -2
- package/dist/excalidraw/element/dragElements.js +27 -3
- package/dist/excalidraw/element/embeddable.d.ts +1 -1
- package/dist/excalidraw/element/index.d.ts +1 -1
- package/dist/excalidraw/element/index.js +1 -1
- package/dist/excalidraw/element/mutateElement.d.ts +1 -1
- package/dist/excalidraw/element/mutateElement.js +5 -3
- package/dist/excalidraw/element/newElement.d.ts +2 -5
- package/dist/excalidraw/element/newElement.js +16 -14
- package/dist/excalidraw/element/resizeElements.js +73 -21
- package/dist/excalidraw/element/resizeTest.js +2 -4
- package/dist/excalidraw/element/textElement.d.ts +1 -0
- package/dist/excalidraw/element/textElement.js +11 -3
- package/dist/excalidraw/element/textWysiwyg.d.ts +10 -4
- package/dist/excalidraw/element/textWysiwyg.js +38 -17
- package/dist/excalidraw/element/transformHandles.js +0 -10
- package/dist/excalidraw/element/types.d.ts +7 -0
- package/dist/excalidraw/fractionalIndex.js +2 -4
- package/dist/excalidraw/locales/en.json +3 -1
- package/dist/excalidraw/mermaid.d.ts +2 -0
- package/dist/excalidraw/mermaid.js +28 -0
- package/dist/excalidraw/renderer/interactiveScene.d.ts +1 -1
- package/dist/excalidraw/renderer/interactiveScene.js +31 -5
- package/dist/excalidraw/renderer/renderElement.d.ts +2 -2
- package/dist/excalidraw/renderer/renderElement.js +2 -2
- package/dist/excalidraw/scene/Fonts.d.ts +1 -3
- package/dist/excalidraw/scene/Fonts.js +6 -12
- package/dist/excalidraw/scene/Renderer.d.ts +1 -1
- package/dist/excalidraw/scene/Renderer.js +2 -3
- package/dist/excalidraw/scene/Scene.d.ts +10 -4
- package/dist/excalidraw/scene/Scene.js +14 -8
- package/dist/excalidraw/scene/export.js +1 -1
- package/dist/excalidraw/scene/types.d.ts +2 -1
- package/dist/excalidraw/snapping.js +2 -1
- package/dist/excalidraw/store.d.ts +32 -2
- package/dist/excalidraw/store.js +27 -0
- package/dist/excalidraw/types.d.ts +1 -0
- package/dist/prod/{en-UQDDYCH7.json → en-OIPCBIOA.json} +3 -1
- package/dist/prod/index.js +42 -42
- package/package.json +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/chunk-JKPJV7MZ.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/chunk-OKAZAA6U.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/dist-ITJNUBZF.js.map +0 -7
- package/dist/browser/prod/excalidraw-assets/chunk-SXBDZOS3.js +0 -55
- package/dist/browser/prod/excalidraw-assets/dist-54276HPL.js +0 -6
- package/dist/browser/prod/excalidraw-assets/image-VAGBVQ3G.js +0 -1
- /package/dist/browser/dev/excalidraw-assets-dev/{en-BF4XUPIZ.js.map → en-Y27YPU72.js.map} +0 -0
- /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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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;
|