@zsviczian/excalidraw 0.15.2-obsidian-4 → 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 (71) hide show
  1. package/README.md +4 -0
  2. package/dist/excalidraw.development.js +249 -141
  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/components/App.d.ts +17 -2
  33. package/types/components/Avatar.d.ts +0 -1
  34. package/types/components/Dialog.d.ts +2 -1
  35. package/types/components/FilledButton.d.ts +2 -1
  36. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  37. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  38. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  39. package/types/components/ToolButton.d.ts +2 -1
  40. package/types/components/dropdownMenu/DropdownMenu.d.ts +3 -2
  41. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +4 -2
  42. package/types/components/icons.d.ts +4 -0
  43. package/types/components/main-menu/MainMenu.d.ts +3 -2
  44. package/types/constants.d.ts +23 -1
  45. package/types/context/tunnels.d.ts +1 -0
  46. package/types/element/Hyperlink.d.ts +21 -6
  47. package/types/element/binding.d.ts +1 -1
  48. package/types/element/bounds.d.ts +31 -6
  49. package/types/element/collision.d.ts +7 -7
  50. package/types/element/dragElements.d.ts +2 -1
  51. package/types/element/iframe.d.ts +173 -0
  52. package/types/element/index.d.ts +3 -2
  53. package/types/element/linearElementEditor.d.ts +11 -2
  54. package/types/element/newElement.d.ts +8 -2
  55. package/types/element/transformHandles.d.ts +8 -1
  56. package/types/element/typeChecks.d.ts +5 -3
  57. package/types/element/types.d.ts +13 -4
  58. package/types/frame.d.ts +40 -0
  59. package/types/groups.d.ts +4 -0
  60. package/types/keys.d.ts +2 -0
  61. package/types/math.d.ts +1 -0
  62. package/types/packages/excalidraw/example/initialData.d.ts +6 -0
  63. package/types/renderer/renderElement.d.ts +3 -2
  64. package/types/renderer/renderScene.d.ts +12 -3
  65. package/types/renderer/roundRect.d.ts +1 -1
  66. package/types/scene/Scene.d.ts +8 -1
  67. package/types/scene/export.d.ts +1 -0
  68. package/types/scene/selection.d.ts +13 -3
  69. package/types/types.d.ts +34 -3
  70. package/types/utils.d.ts +5 -2
  71. package/types/zindex.d.ts +4 -4
@@ -20,6 +20,10 @@ export declare const actionDeleteSelected: {
20
20
  showWelcomeScreen: boolean;
21
21
  isLoading: boolean;
22
22
  errorMessage: import("react").ReactNode;
23
+ activeIFrame: {
24
+ element: import("../element/types").NonDeletedExcalidrawElement;
25
+ state: "active" | "hover";
26
+ } | null;
23
27
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
24
28
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
25
29
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -27,12 +31,16 @@ export declare const actionDeleteSelected: {
27
31
  isBindingEnabled: boolean;
28
32
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
29
33
  suggestedBindings: import("../element/binding").SuggestedBinding[];
34
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
35
+ shouldRenderFrames: boolean;
36
+ editingFrame: string | null;
37
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
30
38
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
31
39
  activeTool: {
32
40
  lastActiveTool: import("../types").LastActiveTool;
33
41
  locked: boolean;
34
42
  } & ({
35
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
43
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
36
44
  customType: null;
37
45
  } | {
38
46
  type: "custom";
@@ -83,6 +91,7 @@ export declare const actionDeleteSelected: {
83
91
  previousSelectedElementIds: {
84
92
  [id: string]: boolean;
85
93
  };
94
+ selectedElementsAreBeingDragged: boolean;
86
95
  shouldCacheIgnoreZoom: boolean;
87
96
  toast: {
88
97
  message: string;
@@ -179,6 +188,10 @@ export declare const actionDeleteSelected: {
179
188
  showWelcomeScreen: boolean;
180
189
  isLoading: boolean;
181
190
  errorMessage: import("react").ReactNode;
191
+ activeIFrame: {
192
+ element: import("../element/types").NonDeletedExcalidrawElement;
193
+ state: "active" | "hover";
194
+ } | null;
182
195
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
183
196
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
184
197
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -186,12 +199,16 @@ export declare const actionDeleteSelected: {
186
199
  isBindingEnabled: boolean;
187
200
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
188
201
  suggestedBindings: import("../element/binding").SuggestedBinding[];
202
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
203
+ shouldRenderFrames: boolean;
204
+ editingFrame: string | null;
205
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
189
206
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
190
207
  activeTool: {
191
208
  lastActiveTool: import("../types").LastActiveTool;
192
209
  locked: boolean;
193
210
  } & ({
194
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
211
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
195
212
  customType: null;
196
213
  } | {
197
214
  type: "custom";
@@ -242,6 +259,7 @@ export declare const actionDeleteSelected: {
242
259
  previousSelectedElementIds: {
243
260
  [id: string]: boolean;
244
261
  };
262
+ selectedElementsAreBeingDragged: boolean;
245
263
  shouldCacheIgnoreZoom: boolean;
246
264
  toast: {
247
265
  message: string;
@@ -305,13 +323,14 @@ export declare const actionDeleteSelected: {
305
323
  lastActiveTool: import("../types").LastActiveTool;
306
324
  locked: boolean;
307
325
  } & ({
308
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
326
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
309
327
  customType: null;
310
328
  } | {
311
329
  type: "custom";
312
330
  customType: string;
313
331
  });
314
332
  multiElement: null;
333
+ activeIFrame: null;
315
334
  selectedElementIds: {};
316
335
  contextMenu: {
317
336
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -327,6 +346,10 @@ export declare const actionDeleteSelected: {
327
346
  isBindingEnabled: boolean;
328
347
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
329
348
  suggestedBindings: import("../element/binding").SuggestedBinding[];
349
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
350
+ shouldRenderFrames: boolean;
351
+ editingFrame: string | null;
352
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
330
353
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
331
354
  editingLinearElement: LinearElementEditor | null;
332
355
  penMode: boolean;
@@ -371,6 +394,7 @@ export declare const actionDeleteSelected: {
371
394
  previousSelectedElementIds: {
372
395
  [id: string]: boolean;
373
396
  };
397
+ selectedElementsAreBeingDragged: boolean;
374
398
  shouldCacheIgnoreZoom: boolean;
375
399
  toast: {
376
400
  message: string;
@@ -8,7 +8,7 @@ export declare const distributeHorizontally: {
8
8
  };
9
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
10
10
  appState: Readonly<AppState>;
11
- elements: ExcalidrawElement[];
11
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
12
12
  commitToHistory: true;
13
13
  };
14
14
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
@@ -23,7 +23,7 @@ export declare const distributeVertically: {
23
23
  };
24
24
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
25
25
  appState: Readonly<AppState>;
26
- elements: ExcalidrawElement[];
26
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
27
27
  commitToHistory: true;
28
28
  };
29
29
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
@@ -5,6 +5,7 @@ export declare const actionToggleElementLock: {
5
5
  trackEvent: {
6
6
  category: "element";
7
7
  };
8
+ predicate: (elements: readonly ExcalidrawElement[], appState: import("../types").AppState) => boolean;
8
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => false | {
9
10
  elements: ExcalidrawElement[];
10
11
  appState: {
@@ -17,6 +18,10 @@ export declare const actionToggleElementLock: {
17
18
  showWelcomeScreen: boolean;
18
19
  isLoading: boolean;
19
20
  errorMessage: import("react").ReactNode;
21
+ activeIFrame: {
22
+ element: import("../element/types").NonDeletedExcalidrawElement;
23
+ state: "active" | "hover";
24
+ } | null;
20
25
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
26
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
22
27
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -24,13 +29,17 @@ export declare const actionToggleElementLock: {
24
29
  isBindingEnabled: boolean;
25
30
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
26
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<ExcalidrawElement>[] | null;
27
36
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
37
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
29
38
  activeTool: {
30
39
  lastActiveTool: import("../types").LastActiveTool;
31
40
  locked: boolean;
32
41
  } & ({
33
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
42
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
34
43
  customType: null;
35
44
  } | {
36
45
  type: "custom";
@@ -81,6 +90,7 @@ export declare const actionToggleElementLock: {
81
90
  previousSelectedElementIds: {
82
91
  [id: string]: boolean;
83
92
  };
93
+ selectedElementsAreBeingDragged: boolean;
84
94
  shouldCacheIgnoreZoom: boolean;
85
95
  toast: {
86
96
  message: string;
@@ -163,6 +173,10 @@ export declare const actionUnlockAllElements: {
163
173
  showWelcomeScreen: boolean;
164
174
  isLoading: boolean;
165
175
  errorMessage: import("react").ReactNode;
176
+ activeIFrame: {
177
+ element: import("../element/types").NonDeletedExcalidrawElement;
178
+ state: "active" | "hover";
179
+ } | null;
166
180
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
167
181
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
168
182
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -170,13 +184,17 @@ export declare const actionUnlockAllElements: {
170
184
  isBindingEnabled: boolean;
171
185
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
172
186
  suggestedBindings: import("../element/binding").SuggestedBinding[];
187
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
188
+ shouldRenderFrames: boolean;
189
+ editingFrame: string | null;
190
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
173
191
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
174
192
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
175
193
  activeTool: {
176
194
  lastActiveTool: import("../types").LastActiveTool;
177
195
  locked: boolean;
178
196
  } & ({
179
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
197
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
180
198
  customType: null;
181
199
  } | {
182
200
  type: "custom";
@@ -224,6 +242,7 @@ export declare const actionUnlockAllElements: {
224
242
  previousSelectedElementIds: {
225
243
  [id: string]: boolean;
226
244
  };
245
+ selectedElementsAreBeingDragged: boolean;
227
246
  shouldCacheIgnoreZoom: boolean;
228
247
  toast: {
229
248
  message: string;
@@ -14,6 +14,10 @@ export declare const actionChangeProjectName: {
14
14
  showWelcomeScreen: boolean;
15
15
  isLoading: boolean;
16
16
  errorMessage: import("react").ReactNode;
17
+ activeIFrame: {
18
+ element: import("../element/types").NonDeletedExcalidrawElement;
19
+ state: "active" | "hover";
20
+ } | null;
17
21
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
18
22
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
19
23
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -21,13 +25,17 @@ export declare const actionChangeProjectName: {
21
25
  isBindingEnabled: boolean;
22
26
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
23
27
  suggestedBindings: import("../element/binding").SuggestedBinding[];
28
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
29
+ shouldRenderFrames: boolean;
30
+ editingFrame: string | null;
31
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
24
32
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
25
33
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
26
34
  activeTool: {
27
35
  lastActiveTool: import("../types").LastActiveTool;
28
36
  locked: boolean;
29
37
  } & ({
30
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
38
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
31
39
  customType: null;
32
40
  } | {
33
41
  type: "custom";
@@ -77,6 +85,7 @@ export declare const actionChangeProjectName: {
77
85
  previousSelectedElementIds: {
78
86
  [id: string]: boolean;
79
87
  };
88
+ selectedElementsAreBeingDragged: boolean;
80
89
  shouldCacheIgnoreZoom: boolean;
81
90
  toast: {
82
91
  message: string;
@@ -155,6 +164,10 @@ export declare const actionChangeExportScale: {
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 actionChangeExportScale: {
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 actionChangeExportScale: {
218
235
  previousSelectedElementIds: {
219
236
  [id: string]: boolean;
220
237
  };
238
+ selectedElementsAreBeingDragged: boolean;
221
239
  shouldCacheIgnoreZoom: boolean;
222
240
  toast: {
223
241
  message: string;
@@ -296,6 +314,10 @@ export declare const actionChangeExportBackground: {
296
314
  showWelcomeScreen: boolean;
297
315
  isLoading: boolean;
298
316
  errorMessage: import("react").ReactNode;
317
+ activeIFrame: {
318
+ element: import("../element/types").NonDeletedExcalidrawElement;
319
+ state: "active" | "hover";
320
+ } | null;
299
321
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
300
322
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
301
323
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -303,13 +325,17 @@ export declare const actionChangeExportBackground: {
303
325
  isBindingEnabled: boolean;
304
326
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
305
327
  suggestedBindings: import("../element/binding").SuggestedBinding[];
328
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
329
+ shouldRenderFrames: boolean;
330
+ editingFrame: string | null;
331
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
306
332
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
307
333
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
308
334
  activeTool: {
309
335
  lastActiveTool: import("../types").LastActiveTool;
310
336
  locked: boolean;
311
337
  } & ({
312
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
338
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
313
339
  customType: null;
314
340
  } | {
315
341
  type: "custom";
@@ -359,6 +385,7 @@ export declare const actionChangeExportBackground: {
359
385
  previousSelectedElementIds: {
360
386
  [id: string]: boolean;
361
387
  };
388
+ selectedElementsAreBeingDragged: boolean;
362
389
  shouldCacheIgnoreZoom: boolean;
363
390
  toast: {
364
391
  message: string;
@@ -437,6 +464,10 @@ export declare const actionChangeExportEmbedScene: {
437
464
  showWelcomeScreen: boolean;
438
465
  isLoading: boolean;
439
466
  errorMessage: import("react").ReactNode;
467
+ activeIFrame: {
468
+ element: import("../element/types").NonDeletedExcalidrawElement;
469
+ state: "active" | "hover";
470
+ } | null;
440
471
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
441
472
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
442
473
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -444,13 +475,17 @@ export declare const actionChangeExportEmbedScene: {
444
475
  isBindingEnabled: boolean;
445
476
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
446
477
  suggestedBindings: import("../element/binding").SuggestedBinding[];
478
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
479
+ shouldRenderFrames: boolean;
480
+ editingFrame: string | null;
481
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
447
482
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
448
483
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
449
484
  activeTool: {
450
485
  lastActiveTool: import("../types").LastActiveTool;
451
486
  locked: boolean;
452
487
  } & ({
453
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
488
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
454
489
  customType: null;
455
490
  } | {
456
491
  type: "custom";
@@ -500,6 +535,7 @@ export declare const actionChangeExportEmbedScene: {
500
535
  previousSelectedElementIds: {
501
536
  [id: string]: boolean;
502
537
  };
538
+ selectedElementsAreBeingDragged: boolean;
503
539
  shouldCacheIgnoreZoom: boolean;
504
540
  toast: {
505
541
  message: string;
@@ -582,6 +618,10 @@ export declare const actionSaveToActiveFile: {
582
618
  showWelcomeScreen: boolean;
583
619
  isLoading: boolean;
584
620
  errorMessage: import("react").ReactNode;
621
+ activeIFrame: {
622
+ element: import("../element/types").NonDeletedExcalidrawElement;
623
+ state: "active" | "hover";
624
+ } | null;
585
625
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
586
626
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
587
627
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -589,13 +629,17 @@ export declare const actionSaveToActiveFile: {
589
629
  isBindingEnabled: boolean;
590
630
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
591
631
  suggestedBindings: import("../element/binding").SuggestedBinding[];
632
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
633
+ shouldRenderFrames: boolean;
634
+ editingFrame: string | null;
635
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
592
636
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
593
637
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
594
638
  activeTool: {
595
639
  lastActiveTool: import("../types").LastActiveTool;
596
640
  locked: boolean;
597
641
  } & ({
598
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
642
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
599
643
  customType: null;
600
644
  } | {
601
645
  type: "custom";
@@ -646,6 +690,7 @@ export declare const actionSaveToActiveFile: {
646
690
  previousSelectedElementIds: {
647
691
  [id: string]: boolean;
648
692
  };
693
+ selectedElementsAreBeingDragged: boolean;
649
694
  shouldCacheIgnoreZoom: boolean;
650
695
  zenModeEnabled: boolean;
651
696
  theme: string;
@@ -721,6 +766,10 @@ export declare const actionSaveFileToDisk: {
721
766
  showWelcomeScreen: boolean;
722
767
  isLoading: boolean;
723
768
  errorMessage: import("react").ReactNode;
769
+ activeIFrame: {
770
+ element: import("../element/types").NonDeletedExcalidrawElement;
771
+ state: "active" | "hover";
772
+ } | null;
724
773
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
725
774
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
726
775
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -728,13 +777,17 @@ export declare const actionSaveFileToDisk: {
728
777
  isBindingEnabled: boolean;
729
778
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
730
779
  suggestedBindings: import("../element/binding").SuggestedBinding[];
780
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
781
+ shouldRenderFrames: boolean;
782
+ editingFrame: string | null;
783
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
731
784
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
732
785
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
733
786
  activeTool: {
734
787
  lastActiveTool: import("../types").LastActiveTool;
735
788
  locked: boolean;
736
789
  } & ({
737
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
790
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
738
791
  customType: null;
739
792
  } | {
740
793
  type: "custom";
@@ -785,6 +838,7 @@ export declare const actionSaveFileToDisk: {
785
838
  previousSelectedElementIds: {
786
839
  [id: string]: boolean;
787
840
  };
841
+ selectedElementsAreBeingDragged: boolean;
788
842
  shouldCacheIgnoreZoom: boolean;
789
843
  toast: {
790
844
  message: string;
@@ -863,7 +917,7 @@ export declare const actionLoadScene: {
863
917
  lastActiveTool: import("../types").LastActiveTool;
864
918
  locked: boolean;
865
919
  } & ({
866
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
920
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
867
921
  customType: null;
868
922
  } | {
869
923
  type: "custom";
@@ -877,6 +931,10 @@ export declare const actionLoadScene: {
877
931
  showWelcomeScreen: boolean;
878
932
  isLoading: boolean;
879
933
  errorMessage: import("react").ReactNode;
934
+ activeIFrame: {
935
+ element: import("../element/types").NonDeletedExcalidrawElement;
936
+ state: "active" | "hover";
937
+ } | null;
880
938
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
881
939
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
882
940
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -884,6 +942,10 @@ export declare const actionLoadScene: {
884
942
  isBindingEnabled: boolean;
885
943
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
886
944
  suggestedBindings: import("../element/binding").SuggestedBinding[];
945
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
946
+ shouldRenderFrames: boolean;
947
+ editingFrame: string | null;
948
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
887
949
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
888
950
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
889
951
  penMode: boolean;
@@ -930,6 +992,7 @@ export declare const actionLoadScene: {
930
992
  previousSelectedElementIds: {
931
993
  [id: string]: boolean;
932
994
  };
995
+ selectedElementsAreBeingDragged: boolean;
933
996
  shouldCacheIgnoreZoom: boolean;
934
997
  toast: {
935
998
  message: string;
@@ -993,6 +1056,10 @@ export declare const actionLoadScene: {
993
1056
  } | null;
994
1057
  showWelcomeScreen: boolean;
995
1058
  isLoading: boolean;
1059
+ activeIFrame: {
1060
+ element: import("../element/types").NonDeletedExcalidrawElement;
1061
+ state: "active" | "hover";
1062
+ } | null;
996
1063
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
997
1064
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
998
1065
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -1000,13 +1067,17 @@ export declare const actionLoadScene: {
1000
1067
  isBindingEnabled: boolean;
1001
1068
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1002
1069
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1070
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1071
+ shouldRenderFrames: boolean;
1072
+ editingFrame: string | null;
1073
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
1003
1074
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1004
1075
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1005
1076
  activeTool: {
1006
1077
  lastActiveTool: import("../types").LastActiveTool;
1007
1078
  locked: boolean;
1008
1079
  } & ({
1009
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1080
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1010
1081
  customType: null;
1011
1082
  } | {
1012
1083
  type: "custom";
@@ -1057,6 +1128,7 @@ export declare const actionLoadScene: {
1057
1128
  previousSelectedElementIds: {
1058
1129
  [id: string]: boolean;
1059
1130
  };
1131
+ selectedElementsAreBeingDragged: boolean;
1060
1132
  shouldCacheIgnoreZoom: boolean;
1061
1133
  toast: {
1062
1134
  message: string;
@@ -1136,6 +1208,10 @@ export declare const actionExportWithDarkMode: {
1136
1208
  showWelcomeScreen: boolean;
1137
1209
  isLoading: boolean;
1138
1210
  errorMessage: import("react").ReactNode;
1211
+ activeIFrame: {
1212
+ element: import("../element/types").NonDeletedExcalidrawElement;
1213
+ state: "active" | "hover";
1214
+ } | null;
1139
1215
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1140
1216
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1141
1217
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -1143,13 +1219,17 @@ export declare const actionExportWithDarkMode: {
1143
1219
  isBindingEnabled: boolean;
1144
1220
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1145
1221
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1222
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1223
+ shouldRenderFrames: boolean;
1224
+ editingFrame: string | null;
1225
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
1146
1226
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1147
1227
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1148
1228
  activeTool: {
1149
1229
  lastActiveTool: import("../types").LastActiveTool;
1150
1230
  locked: boolean;
1151
1231
  } & ({
1152
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1232
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1153
1233
  customType: null;
1154
1234
  } | {
1155
1235
  type: "custom";
@@ -1199,6 +1279,7 @@ export declare const actionExportWithDarkMode: {
1199
1279
  previousSelectedElementIds: {
1200
1280
  [id: string]: boolean;
1201
1281
  };
1282
+ selectedElementsAreBeingDragged: boolean;
1202
1283
  shouldCacheIgnoreZoom: boolean;
1203
1284
  toast: {
1204
1285
  message: string;
@@ -17,6 +17,10 @@ export declare const actionFinalize: {
17
17
  showWelcomeScreen: boolean;
18
18
  isLoading: boolean;
19
19
  errorMessage: import("react").ReactNode;
20
+ activeIFrame: {
21
+ element: import("../element/types").NonDeletedExcalidrawElement;
22
+ state: "active" | "hover";
23
+ } | null;
20
24
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
25
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
22
26
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -24,12 +28,16 @@ export declare const actionFinalize: {
24
28
  isBindingEnabled: boolean;
25
29
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
26
30
  suggestedBindings: import("../element/binding").SuggestedBinding[];
31
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
32
+ shouldRenderFrames: boolean;
33
+ editingFrame: string | null;
34
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
27
35
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
36
  activeTool: {
29
37
  lastActiveTool: import("../types").LastActiveTool;
30
38
  locked: boolean;
31
39
  } & ({
32
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
40
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
33
41
  customType: null;
34
42
  } | {
35
43
  type: "custom";
@@ -79,6 +87,7 @@ export declare const actionFinalize: {
79
87
  previousSelectedElementIds: {
80
88
  [id: string]: boolean;
81
89
  };
90
+ selectedElementsAreBeingDragged: boolean;
82
91
  shouldCacheIgnoreZoom: boolean;
83
92
  toast: {
84
93
  message: string;
@@ -143,7 +152,7 @@ export declare const actionFinalize: {
143
152
  lastActiveTool: import("../types").LastActiveTool;
144
153
  locked: boolean;
145
154
  } & ({
146
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
155
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
147
156
  customType: null;
148
157
  } | {
149
158
  type: "custom";
@@ -167,9 +176,17 @@ export declare const actionFinalize: {
167
176
  showWelcomeScreen: boolean;
168
177
  isLoading: boolean;
169
178
  errorMessage: import("react").ReactNode;
179
+ activeIFrame: {
180
+ element: import("../element/types").NonDeletedExcalidrawElement;
181
+ state: "active" | "hover";
182
+ } | null;
170
183
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
171
184
  selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
172
185
  isBindingEnabled: boolean;
186
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
187
+ shouldRenderFrames: boolean;
188
+ editingFrame: string | null;
189
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
173
190
  editingLinearElement: LinearElementEditor | null;
174
191
  penMode: boolean;
175
192
  penDetected: boolean;
@@ -212,6 +229,7 @@ export declare const actionFinalize: {
212
229
  previousSelectedElementIds: {
213
230
  [id: string]: boolean;
214
231
  };
232
+ selectedElementsAreBeingDragged: boolean;
215
233
  shouldCacheIgnoreZoom: boolean;
216
234
  toast: {
217
235
  message: string;
@@ -7,7 +7,7 @@ export declare const actionFlipHorizontal: {
7
7
  category: "element";
8
8
  };
9
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
10
- elements: ExcalidrawElement[];
10
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
11
11
  appState: Readonly<AppState>;
12
12
  commitToHistory: true;
13
13
  };
@@ -22,7 +22,7 @@ export declare const actionFlipVertical: {
22
22
  category: "element";
23
23
  };
24
24
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
25
- elements: ExcalidrawElement[];
25
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
26
26
  appState: Readonly<AppState>;
27
27
  commitToHistory: true;
28
28
  };