@zsviczian/excalidraw 0.15.2-obsidian-3 → 0.15.2-obsidian-5

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 (90) hide show
  1. package/README.md +4 -0
  2. package/dist/excalidraw.development.js +333 -171
  3. package/dist/excalidraw.production.min.js +1 -1
  4. package/dist/excalidraw.production.min.js.LICENSE.txt +2 -0
  5. package/package.json +1 -1
  6. package/types/actions/actionAddToLibrary.d.ts +30 -3
  7. package/types/actions/actionAlign.d.ts +12 -6
  8. package/types/actions/actionBoundText.d.ts +21 -3
  9. package/types/actions/actionCanvas.d.ts +94 -10
  10. package/types/actions/actionClipboard.d.ts +47 -5
  11. package/types/actions/actionDeleteSelected.d.ts +27 -3
  12. package/types/actions/actionDistribute.d.ts +2 -2
  13. package/types/actions/actionElementLock.d.ts +21 -2
  14. package/types/actions/actionExport.d.ts +90 -9
  15. package/types/actions/actionFinalize.d.ts +20 -2
  16. package/types/actions/actionFlip.d.ts +2 -2
  17. package/types/actions/actionFrame.d.ts +475 -0
  18. package/types/actions/actionGroup.d.ts +2 -2
  19. package/types/actions/actionLinearEditor.d.ts +10 -1
  20. package/types/actions/actionMenu.d.ts +30 -3
  21. package/types/actions/actionNavigate.d.ts +1 -1
  22. package/types/actions/actionProperties.d.ts +130 -13
  23. package/types/actions/actionStyles.d.ts +10 -1
  24. package/types/actions/actionToggleGridMode.d.ts +10 -1
  25. package/types/actions/actionToggleStats.d.ts +10 -1
  26. package/types/actions/actionToggleViewMode.d.ts +10 -1
  27. package/types/actions/actionToggleZenMode.d.ts +10 -1
  28. package/types/actions/actionZindex.d.ts +4 -4
  29. package/types/actions/types.d.ts +1 -1
  30. package/types/appState.d.ts +1 -1
  31. package/types/clients.d.ts +1 -5
  32. package/types/colors.d.ts +1 -0
  33. package/types/components/ActiveConfirmDialog.d.ts +1 -21
  34. package/types/components/App.d.ts +20 -4
  35. package/types/components/Avatar.d.ts +0 -1
  36. package/types/components/ColorPicker/ColorInput.d.ts +1 -1
  37. package/types/components/ColorPicker/ColorPicker.d.ts +3 -2
  38. package/types/components/ColorPicker/CustomColorList.d.ts +1 -1
  39. package/types/components/ColorPicker/Picker.d.ts +4 -2
  40. package/types/components/ColorPicker/PickerColorList.d.ts +1 -1
  41. package/types/components/ColorPicker/ShadeList.d.ts +1 -1
  42. package/types/components/ColorPicker/TopPicks.d.ts +1 -1
  43. package/types/components/ColorPicker/colorPickerUtils.d.ts +4 -24
  44. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +8 -3
  45. package/types/components/Dialog.d.ts +2 -3
  46. package/types/components/EyeDropper.d.ts +18 -0
  47. package/types/components/FilledButton.d.ts +2 -1
  48. package/types/components/LibraryMenu.d.ts +1 -21
  49. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  50. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  51. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  52. package/types/components/Sidebar/Sidebar.d.ts +1 -21
  53. package/types/components/ToolButton.d.ts +2 -1
  54. package/types/components/dropdownMenu/DropdownMenu.d.ts +3 -2
  55. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +4 -2
  56. package/types/components/icons.d.ts +5 -0
  57. package/types/components/main-menu/MainMenu.d.ts +3 -2
  58. package/types/constants.d.ts +24 -1
  59. package/types/context/tunnels.d.ts +1 -0
  60. package/types/data/library.d.ts +1 -45
  61. package/types/element/Hyperlink.d.ts +21 -6
  62. package/types/element/binding.d.ts +1 -1
  63. package/types/element/bounds.d.ts +31 -6
  64. package/types/element/collision.d.ts +7 -7
  65. package/types/element/dragElements.d.ts +2 -1
  66. package/types/element/iframe.d.ts +173 -0
  67. package/types/element/index.d.ts +3 -2
  68. package/types/element/linearElementEditor.d.ts +11 -2
  69. package/types/element/newElement.d.ts +8 -2
  70. package/types/element/transformHandles.d.ts +8 -1
  71. package/types/element/typeChecks.d.ts +5 -3
  72. package/types/element/types.d.ts +13 -4
  73. package/types/frame.d.ts +40 -0
  74. package/types/groups.d.ts +4 -0
  75. package/types/hooks/useCreatePortalContainer.d.ts +5 -0
  76. package/types/hooks/useLibraryItemSvg.d.ts +1 -21
  77. package/types/hooks/useOutsideClick.d.ts +19 -1
  78. package/types/jotai.d.ts +16 -104
  79. package/types/keys.d.ts +2 -0
  80. package/types/math.d.ts +1 -0
  81. package/types/packages/excalidraw/example/initialData.d.ts +6 -0
  82. package/types/renderer/renderElement.d.ts +3 -2
  83. package/types/renderer/renderScene.d.ts +12 -3
  84. package/types/renderer/roundRect.d.ts +1 -1
  85. package/types/scene/Scene.d.ts +8 -1
  86. package/types/scene/export.d.ts +1 -0
  87. package/types/scene/selection.d.ts +13 -3
  88. package/types/types.d.ts +35 -3
  89. package/types/utils.d.ts +5 -2
  90. package/types/zindex.d.ts +4 -4
@@ -0,0 +1,475 @@
1
+ /// <reference types="react" />
2
+ import { ExcalidrawElement } from "../element/types";
3
+ import { AppState } from "../types";
4
+ export declare const actionSelectAllElementsInFrame: {
5
+ name: "selectAllElementsInFrame";
6
+ trackEvent: {
7
+ category: "canvas";
8
+ };
9
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
10
+ elements: readonly ExcalidrawElement[];
11
+ appState: Readonly<AppState>;
12
+ commitToHistory: false;
13
+ };
14
+ contextItemLabel: string;
15
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
16
+ } & {
17
+ keyTest?: undefined;
18
+ };
19
+ export declare const actionRemoveAllElementsFromFrame: {
20
+ name: "removeAllElementsFromFrame";
21
+ trackEvent: {
22
+ category: "history";
23
+ };
24
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
25
+ elements: ExcalidrawElement[];
26
+ appState: {
27
+ selectedElementIds: {
28
+ [x: string]: true;
29
+ };
30
+ contextMenu: {
31
+ items: import("../components/ContextMenu").ContextMenuItems;
32
+ top: number;
33
+ left: number;
34
+ } | null;
35
+ showWelcomeScreen: boolean;
36
+ isLoading: boolean;
37
+ errorMessage: import("react").ReactNode;
38
+ activeIFrame: {
39
+ element: import("../element/types").NonDeletedExcalidrawElement;
40
+ state: "active" | "hover";
41
+ } | null;
42
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
43
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
44
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
45
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
46
+ isBindingEnabled: boolean;
47
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
48
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
49
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
50
+ shouldRenderFrames: boolean;
51
+ editingFrame: string | null;
52
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
53
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
54
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
55
+ activeTool: {
56
+ lastActiveTool: import("../types").LastActiveTool;
57
+ locked: boolean;
58
+ } & ({
59
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
60
+ customType: null;
61
+ } | {
62
+ type: "custom";
63
+ customType: string;
64
+ });
65
+ penMode: boolean;
66
+ penDetected: boolean;
67
+ exportBackground: boolean;
68
+ exportEmbedScene: boolean;
69
+ exportWithDarkMode: boolean;
70
+ exportScale: number;
71
+ currentItemStrokeColor: string;
72
+ currentItemBackgroundColor: string;
73
+ currentItemFillStyle: import("../element/types").FillStyle;
74
+ currentItemStrokeWidth: number;
75
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
76
+ currentItemRoughness: number;
77
+ currentItemOpacity: number;
78
+ currentItemFontFamily: number;
79
+ currentItemFontSize: number;
80
+ currentItemTextAlign: string;
81
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
82
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
83
+ currentItemRoundness: import("../element/types").StrokeRoundness;
84
+ viewBackgroundColor: string;
85
+ scrollX: number;
86
+ scrollY: number;
87
+ cursorButton: "up" | "down";
88
+ scrolledOutside: boolean;
89
+ name: string;
90
+ isResizing: boolean;
91
+ isRotating: boolean;
92
+ zoom: Readonly<{
93
+ value: import("../types").NormalizedZoomValue;
94
+ }>;
95
+ openMenu: "canvas" | "shape" | null;
96
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
97
+ openSidebar: {
98
+ name: string;
99
+ tab?: string | undefined;
100
+ } | null;
101
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
102
+ defaultSidebarDockedPreference: boolean;
103
+ lastPointerDownWith: import("../element/types").PointerType;
104
+ previousSelectedElementIds: {
105
+ [id: string]: boolean;
106
+ };
107
+ selectedElementsAreBeingDragged: boolean;
108
+ shouldCacheIgnoreZoom: boolean;
109
+ toast: {
110
+ message: string;
111
+ closable?: boolean | undefined;
112
+ duration?: number | undefined;
113
+ } | null;
114
+ zenModeEnabled: boolean;
115
+ theme: string;
116
+ gridSize: number | null;
117
+ previousGridSize: number | null;
118
+ viewModeEnabled: boolean;
119
+ selectedGroupIds: {
120
+ [groupId: string]: boolean;
121
+ };
122
+ editingGroupId: string | null;
123
+ width: number;
124
+ height: number;
125
+ offsetTop: number;
126
+ offsetLeft: number;
127
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
128
+ collaborators: Map<string, import("../types").Collaborator>;
129
+ showStats: boolean;
130
+ currentChartType: import("../element/types").ChartType;
131
+ pasteDialog: {
132
+ shown: false;
133
+ data: null;
134
+ } | {
135
+ shown: true;
136
+ data: import("../charts").Spreadsheet;
137
+ };
138
+ pendingImageElementId: string | null;
139
+ showHyperlinkPopup: false | "info" | "editor";
140
+ linkOpacity: number;
141
+ trayModeEnabled: boolean;
142
+ colorPalette?: {
143
+ canvasBackground: import("../colors").ColorPaletteCustom;
144
+ elementBackground: import("../colors").ColorPaletteCustom;
145
+ elementStroke: import("../colors").ColorPaletteCustom;
146
+ topPicks: {
147
+ canvasBackground: [string, string, string, string, string];
148
+ elementStroke: [string, string, string, string, string];
149
+ elementBackground: [string, string, string, string, string];
150
+ };
151
+ } | undefined;
152
+ allowWheelZoom?: boolean | undefined;
153
+ allowPinchZoom?: boolean | undefined;
154
+ pinnedScripts?: string[] | undefined;
155
+ customPens?: any[] | undefined;
156
+ currentStrokeOptions?: any;
157
+ resetCustomPen?: any;
158
+ gridColor: string;
159
+ dynamicStyle: string;
160
+ invertBindingBehaviour: boolean;
161
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
162
+ };
163
+ commitToHistory: true;
164
+ } | {
165
+ elements: readonly ExcalidrawElement[];
166
+ appState: Readonly<AppState>;
167
+ commitToHistory: false;
168
+ };
169
+ contextItemLabel: string;
170
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
171
+ } & {
172
+ keyTest?: undefined;
173
+ };
174
+ export declare const actionToggleFrameRendering: {
175
+ name: "toggleFrameRendering";
176
+ viewMode: true;
177
+ trackEvent: {
178
+ category: "canvas";
179
+ };
180
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
181
+ elements: readonly ExcalidrawElement[];
182
+ appState: {
183
+ shouldRenderFrames: boolean;
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
+ activeIFrame: {
193
+ element: import("../element/types").NonDeletedExcalidrawElement;
194
+ state: "active" | "hover";
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").ExcalidrawFrameElement> | null;
204
+ editingFrame: string | null;
205
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
206
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
207
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
208
+ activeTool: {
209
+ lastActiveTool: import("../types").LastActiveTool;
210
+ locked: boolean;
211
+ } & ({
212
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
213
+ customType: null;
214
+ } | {
215
+ type: "custom";
216
+ customType: string;
217
+ });
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;
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: "imageExport" | "help" | "jsonExport" | null;
255
+ defaultSidebarDockedPreference: boolean;
256
+ lastPointerDownWith: import("../element/types").PointerType;
257
+ selectedElementIds: {
258
+ [id: string]: boolean;
259
+ };
260
+ previousSelectedElementIds: {
261
+ [id: string]: boolean;
262
+ };
263
+ selectedElementsAreBeingDragged: boolean;
264
+ shouldCacheIgnoreZoom: boolean;
265
+ toast: {
266
+ message: string;
267
+ closable?: boolean | undefined;
268
+ duration?: number | undefined;
269
+ } | null;
270
+ zenModeEnabled: boolean;
271
+ theme: string;
272
+ gridSize: number | null;
273
+ previousGridSize: number | null;
274
+ viewModeEnabled: boolean;
275
+ selectedGroupIds: {
276
+ [groupId: string]: boolean;
277
+ };
278
+ editingGroupId: string | null;
279
+ width: number;
280
+ height: number;
281
+ offsetTop: number;
282
+ offsetLeft: number;
283
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
284
+ collaborators: Map<string, import("../types").Collaborator>;
285
+ showStats: boolean;
286
+ currentChartType: import("../element/types").ChartType;
287
+ pasteDialog: {
288
+ shown: false;
289
+ data: null;
290
+ } | {
291
+ shown: true;
292
+ data: import("../charts").Spreadsheet;
293
+ };
294
+ pendingImageElementId: string | null;
295
+ showHyperlinkPopup: false | "info" | "editor";
296
+ linkOpacity: number;
297
+ trayModeEnabled: boolean;
298
+ colorPalette?: {
299
+ canvasBackground: import("../colors").ColorPaletteCustom;
300
+ elementBackground: import("../colors").ColorPaletteCustom;
301
+ elementStroke: import("../colors").ColorPaletteCustom;
302
+ topPicks: {
303
+ canvasBackground: [string, string, string, string, string];
304
+ elementStroke: [string, string, string, string, string];
305
+ elementBackground: [string, string, string, string, string];
306
+ };
307
+ } | undefined;
308
+ allowWheelZoom?: boolean | undefined;
309
+ allowPinchZoom?: boolean | undefined;
310
+ pinnedScripts?: string[] | undefined;
311
+ customPens?: any[] | undefined;
312
+ currentStrokeOptions?: any;
313
+ resetCustomPen?: any;
314
+ gridColor: string;
315
+ dynamicStyle: string;
316
+ invertBindingBehaviour: boolean;
317
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
318
+ };
319
+ commitToHistory: false;
320
+ };
321
+ contextItemLabel: string;
322
+ checked: (appState: AppState) => boolean;
323
+ } & {
324
+ keyTest?: undefined;
325
+ };
326
+ export declare const actionSetFrameAsActiveTool: {
327
+ name: "setFrameAsActiveTool";
328
+ trackEvent: {
329
+ category: "toolbar";
330
+ };
331
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
332
+ elements: readonly ExcalidrawElement[];
333
+ appState: {
334
+ activeTool: {
335
+ lastActiveTool: import("../types").LastActiveTool;
336
+ locked: boolean;
337
+ } & ({
338
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
339
+ customType: null;
340
+ } | {
341
+ type: "custom";
342
+ customType: string;
343
+ });
344
+ contextMenu: {
345
+ items: import("../components/ContextMenu").ContextMenuItems;
346
+ top: number;
347
+ left: number;
348
+ } | null;
349
+ showWelcomeScreen: boolean;
350
+ isLoading: boolean;
351
+ errorMessage: import("react").ReactNode;
352
+ activeIFrame: {
353
+ element: import("../element/types").NonDeletedExcalidrawElement;
354
+ state: "active" | "hover";
355
+ } | null;
356
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
357
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
358
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
359
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
360
+ isBindingEnabled: boolean;
361
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
362
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
363
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
364
+ shouldRenderFrames: boolean;
365
+ editingFrame: string | null;
366
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
367
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
368
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
369
+ penMode: boolean;
370
+ penDetected: boolean;
371
+ exportBackground: boolean;
372
+ exportEmbedScene: boolean;
373
+ exportWithDarkMode: boolean;
374
+ exportScale: number;
375
+ currentItemStrokeColor: string;
376
+ currentItemBackgroundColor: string;
377
+ currentItemFillStyle: import("../element/types").FillStyle;
378
+ currentItemStrokeWidth: number;
379
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
380
+ currentItemRoughness: number;
381
+ currentItemOpacity: number;
382
+ currentItemFontFamily: number;
383
+ currentItemFontSize: number;
384
+ currentItemTextAlign: string;
385
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
386
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
387
+ currentItemRoundness: import("../element/types").StrokeRoundness;
388
+ viewBackgroundColor: string;
389
+ scrollX: number;
390
+ scrollY: number;
391
+ cursorButton: "up" | "down";
392
+ scrolledOutside: boolean;
393
+ name: string;
394
+ isResizing: boolean;
395
+ isRotating: boolean;
396
+ zoom: Readonly<{
397
+ value: import("../types").NormalizedZoomValue;
398
+ }>;
399
+ openMenu: "canvas" | "shape" | null;
400
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
401
+ openSidebar: {
402
+ name: string;
403
+ tab?: string | undefined;
404
+ } | null;
405
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
406
+ defaultSidebarDockedPreference: boolean;
407
+ lastPointerDownWith: import("../element/types").PointerType;
408
+ selectedElementIds: {
409
+ [id: string]: boolean;
410
+ };
411
+ previousSelectedElementIds: {
412
+ [id: string]: boolean;
413
+ };
414
+ selectedElementsAreBeingDragged: boolean;
415
+ shouldCacheIgnoreZoom: boolean;
416
+ toast: {
417
+ message: string;
418
+ closable?: boolean | undefined;
419
+ duration?: number | undefined;
420
+ } | null;
421
+ zenModeEnabled: boolean;
422
+ theme: string;
423
+ gridSize: number | null;
424
+ previousGridSize: number | null;
425
+ viewModeEnabled: boolean;
426
+ selectedGroupIds: {
427
+ [groupId: string]: boolean;
428
+ };
429
+ editingGroupId: string | null;
430
+ width: number;
431
+ height: number;
432
+ offsetTop: number;
433
+ offsetLeft: number;
434
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
435
+ collaborators: Map<string, import("../types").Collaborator>;
436
+ showStats: boolean;
437
+ currentChartType: import("../element/types").ChartType;
438
+ pasteDialog: {
439
+ shown: false;
440
+ data: null;
441
+ } | {
442
+ shown: true;
443
+ data: import("../charts").Spreadsheet;
444
+ };
445
+ pendingImageElementId: string | null;
446
+ showHyperlinkPopup: false | "info" | "editor";
447
+ linkOpacity: number;
448
+ trayModeEnabled: boolean;
449
+ colorPalette?: {
450
+ canvasBackground: import("../colors").ColorPaletteCustom;
451
+ elementBackground: import("../colors").ColorPaletteCustom;
452
+ elementStroke: import("../colors").ColorPaletteCustom;
453
+ topPicks: {
454
+ canvasBackground: [string, string, string, string, string];
455
+ elementStroke: [string, string, string, string, string];
456
+ elementBackground: [string, string, string, string, string];
457
+ };
458
+ } | undefined;
459
+ allowWheelZoom?: boolean | undefined;
460
+ allowPinchZoom?: boolean | undefined;
461
+ pinnedScripts?: string[] | undefined;
462
+ customPens?: any[] | undefined;
463
+ currentStrokeOptions?: any;
464
+ resetCustomPen?: any;
465
+ gridColor: string;
466
+ dynamicStyle: string;
467
+ invertBindingBehaviour: boolean;
468
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
469
+ };
470
+ commitToHistory: false;
471
+ };
472
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
473
+ } & {
474
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
475
+ };
@@ -6,7 +6,7 @@ export declare const actionGroup: {
6
6
  trackEvent: {
7
7
  category: "element";
8
8
  };
9
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
9
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
10
10
  appState: Readonly<AppState>;
11
11
  elements: readonly ExcalidrawElement[];
12
12
  commitToHistory: false;
@@ -27,7 +27,7 @@ export declare const actionUngroup: {
27
27
  trackEvent: {
28
28
  category: "element";
29
29
  };
30
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
30
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
31
31
  appState: Readonly<AppState>;
32
32
  elements: readonly ExcalidrawElement[];
33
33
  commitToHistory: false;
@@ -18,6 +18,10 @@ export declare const actionToggleLinearEditor: {
18
18
  showWelcomeScreen: boolean;
19
19
  isLoading: boolean;
20
20
  errorMessage: import("react").ReactNode;
21
+ activeIFrame: {
22
+ element: import("../element/types").NonDeletedExcalidrawElement;
23
+ state: "active" | "hover";
24
+ } | null;
21
25
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
22
26
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
23
27
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -25,12 +29,16 @@ export declare const actionToggleLinearEditor: {
25
29
  isBindingEnabled: boolean;
26
30
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
27
31
  suggestedBindings: import("../element/binding").SuggestedBinding[];
32
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
33
+ shouldRenderFrames: boolean;
34
+ editingFrame: string | null;
35
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
28
36
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
29
37
  activeTool: {
30
38
  lastActiveTool: import("../types").LastActiveTool;
31
39
  locked: boolean;
32
40
  } & ({
33
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
41
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
34
42
  customType: null;
35
43
  } | {
36
44
  type: "custom";
@@ -81,6 +89,7 @@ export declare const actionToggleLinearEditor: {
81
89
  previousSelectedElementIds: {
82
90
  [id: string]: boolean;
83
91
  };
92
+ selectedElementsAreBeingDragged: boolean;
84
93
  shouldCacheIgnoreZoom: boolean;
85
94
  toast: {
86
95
  message: string;
@@ -15,6 +15,10 @@ export declare const actionToggleCanvasMenu: {
15
15
  showWelcomeScreen: boolean;
16
16
  isLoading: boolean;
17
17
  errorMessage: import("react").ReactNode;
18
+ activeIFrame: {
19
+ element: import("../element/types").NonDeletedExcalidrawElement;
20
+ state: "active" | "hover";
21
+ } | null;
18
22
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
19
23
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
20
24
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -22,13 +26,17 @@ export declare const actionToggleCanvasMenu: {
22
26
  isBindingEnabled: boolean;
23
27
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
24
28
  suggestedBindings: import("../element/binding").SuggestedBinding[];
29
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
30
+ shouldRenderFrames: boolean;
31
+ editingFrame: string | null;
32
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
25
33
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
26
34
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
27
35
  activeTool: {
28
36
  lastActiveTool: import("../types").LastActiveTool;
29
37
  locked: boolean;
30
38
  } & ({
31
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
39
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
32
40
  customType: null;
33
41
  } | {
34
42
  type: "custom";
@@ -78,6 +86,7 @@ export declare const actionToggleCanvasMenu: {
78
86
  previousSelectedElementIds: {
79
87
  [id: string]: boolean;
80
88
  };
89
+ selectedElementsAreBeingDragged: boolean;
81
90
  shouldCacheIgnoreZoom: boolean;
82
91
  toast: {
83
92
  message: string;
@@ -155,6 +164,10 @@ export declare const actionToggleEditMenu: {
155
164
  showWelcomeScreen: boolean;
156
165
  isLoading: boolean;
157
166
  errorMessage: import("react").ReactNode;
167
+ activeIFrame: {
168
+ element: import("../element/types").NonDeletedExcalidrawElement;
169
+ state: "active" | "hover";
170
+ } | null;
158
171
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
159
172
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
160
173
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -162,13 +175,17 @@ export declare const actionToggleEditMenu: {
162
175
  isBindingEnabled: boolean;
163
176
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
164
177
  suggestedBindings: import("../element/binding").SuggestedBinding[];
178
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
179
+ shouldRenderFrames: boolean;
180
+ editingFrame: string | null;
181
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
165
182
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
166
183
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
167
184
  activeTool: {
168
185
  lastActiveTool: import("../types").LastActiveTool;
169
186
  locked: boolean;
170
187
  } & ({
171
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
188
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
172
189
  customType: null;
173
190
  } | {
174
191
  type: "custom";
@@ -218,6 +235,7 @@ export declare const actionToggleEditMenu: {
218
235
  previousSelectedElementIds: {
219
236
  [id: string]: boolean;
220
237
  };
238
+ selectedElementsAreBeingDragged: boolean;
221
239
  shouldCacheIgnoreZoom: boolean;
222
240
  toast: {
223
241
  message: string;
@@ -311,6 +329,10 @@ export declare const actionShortcuts: {
311
329
  showWelcomeScreen: boolean;
312
330
  isLoading: boolean;
313
331
  errorMessage: import("react").ReactNode;
332
+ activeIFrame: {
333
+ element: import("../element/types").NonDeletedExcalidrawElement;
334
+ state: "active" | "hover";
335
+ } | null;
314
336
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
315
337
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
316
338
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -318,13 +340,17 @@ export declare const actionShortcuts: {
318
340
  isBindingEnabled: boolean;
319
341
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
320
342
  suggestedBindings: import("../element/binding").SuggestedBinding[];
343
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
344
+ shouldRenderFrames: boolean;
345
+ editingFrame: string | null;
346
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
321
347
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
322
348
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
323
349
  activeTool: {
324
350
  lastActiveTool: import("../types").LastActiveTool;
325
351
  locked: boolean;
326
352
  } & ({
327
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
353
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
328
354
  customType: null;
329
355
  } | {
330
356
  type: "custom";
@@ -374,6 +400,7 @@ export declare const actionShortcuts: {
374
400
  previousSelectedElementIds: {
375
401
  [id: string]: boolean;
376
402
  };
403
+ selectedElementsAreBeingDragged: boolean;
377
404
  shouldCacheIgnoreZoom: boolean;
378
405
  toast: {
379
406
  message: string;
@@ -8,7 +8,7 @@ export declare const actionGoToCollaborator: {
8
8
  appState: Readonly<import("../types").AppState>;
9
9
  commitToHistory: false;
10
10
  };
11
- PanelComponent: ({ appState, updateData, data }: import("./types").PanelComponentProps) => JSX.Element;
11
+ PanelComponent: ({ updateData, data }: import("./types").PanelComponentProps) => JSX.Element;
12
12
  } & {
13
13
  keyTest?: undefined;
14
14
  };