@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
@@ -41,7 +41,7 @@ export declare const actionClearCanvas: {
41
41
  lastActiveTool: import("../types").LastActiveTool;
42
42
  locked: boolean;
43
43
  } & ({
44
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
44
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
45
45
  customType: null;
46
46
  } | {
47
47
  type: "custom";
@@ -71,6 +71,10 @@ export declare const actionClearCanvas: {
71
71
  showWelcomeScreen: boolean;
72
72
  isLoading: boolean;
73
73
  errorMessage: import("react").ReactNode;
74
+ activeIFrame: {
75
+ element: import("../element/types").NonDeletedExcalidrawElement;
76
+ state: "active" | "hover";
77
+ } | null;
74
78
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
75
79
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
76
80
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -78,6 +82,10 @@ export declare const actionClearCanvas: {
78
82
  isBindingEnabled: boolean;
79
83
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
80
84
  suggestedBindings: import("../element/binding").SuggestedBinding[];
85
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
86
+ shouldRenderFrames: boolean;
87
+ editingFrame: string | null;
88
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
81
89
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
82
90
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
83
91
  exportWithDarkMode: boolean;
@@ -120,6 +128,7 @@ export declare const actionClearCanvas: {
120
128
  previousSelectedElementIds: {
121
129
  [id: string]: boolean;
122
130
  };
131
+ selectedElementsAreBeingDragged: boolean;
123
132
  shouldCacheIgnoreZoom: boolean;
124
133
  toast: {
125
134
  message: string;
@@ -172,6 +181,10 @@ export declare const actionZoomIn: {
172
181
  showWelcomeScreen: boolean;
173
182
  isLoading: boolean;
174
183
  errorMessage: import("react").ReactNode;
184
+ activeIFrame: {
185
+ element: import("../element/types").NonDeletedExcalidrawElement;
186
+ state: "active" | "hover";
187
+ } | null;
175
188
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
176
189
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
177
190
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -179,13 +192,17 @@ export declare const actionZoomIn: {
179
192
  isBindingEnabled: boolean;
180
193
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
181
194
  suggestedBindings: import("../element/binding").SuggestedBinding[];
195
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
196
+ shouldRenderFrames: boolean;
197
+ editingFrame: string | null;
198
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
182
199
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
183
200
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
184
201
  activeTool: {
185
202
  lastActiveTool: import("../types").LastActiveTool;
186
203
  locked: boolean;
187
204
  } & ({
188
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
205
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
189
206
  customType: null;
190
207
  } | {
191
208
  type: "custom";
@@ -231,6 +248,7 @@ export declare const actionZoomIn: {
231
248
  previousSelectedElementIds: {
232
249
  [id: string]: boolean;
233
250
  };
251
+ selectedElementsAreBeingDragged: boolean;
234
252
  shouldCacheIgnoreZoom: boolean;
235
253
  toast: {
236
254
  message: string;
@@ -314,6 +332,10 @@ export declare const actionZoomOut: {
314
332
  showWelcomeScreen: boolean;
315
333
  isLoading: boolean;
316
334
  errorMessage: import("react").ReactNode;
335
+ activeIFrame: {
336
+ element: import("../element/types").NonDeletedExcalidrawElement;
337
+ state: "active" | "hover";
338
+ } | null;
317
339
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
318
340
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
319
341
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -321,13 +343,17 @@ export declare const actionZoomOut: {
321
343
  isBindingEnabled: boolean;
322
344
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
323
345
  suggestedBindings: import("../element/binding").SuggestedBinding[];
346
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
347
+ shouldRenderFrames: boolean;
348
+ editingFrame: string | null;
349
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
324
350
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
325
351
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
326
352
  activeTool: {
327
353
  lastActiveTool: import("../types").LastActiveTool;
328
354
  locked: boolean;
329
355
  } & ({
330
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
356
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
331
357
  customType: null;
332
358
  } | {
333
359
  type: "custom";
@@ -373,6 +399,7 @@ export declare const actionZoomOut: {
373
399
  previousSelectedElementIds: {
374
400
  [id: string]: boolean;
375
401
  };
402
+ selectedElementsAreBeingDragged: boolean;
376
403
  shouldCacheIgnoreZoom: boolean;
377
404
  toast: {
378
405
  message: string;
@@ -456,6 +483,10 @@ export declare const actionResetZoom: {
456
483
  showWelcomeScreen: boolean;
457
484
  isLoading: boolean;
458
485
  errorMessage: import("react").ReactNode;
486
+ activeIFrame: {
487
+ element: import("../element/types").NonDeletedExcalidrawElement;
488
+ state: "active" | "hover";
489
+ } | null;
459
490
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
460
491
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
461
492
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -463,13 +494,17 @@ export declare const actionResetZoom: {
463
494
  isBindingEnabled: boolean;
464
495
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
465
496
  suggestedBindings: import("../element/binding").SuggestedBinding[];
497
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
498
+ shouldRenderFrames: boolean;
499
+ editingFrame: string | null;
500
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
466
501
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
467
502
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
468
503
  activeTool: {
469
504
  lastActiveTool: import("../types").LastActiveTool;
470
505
  locked: boolean;
471
506
  } & ({
472
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
507
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
473
508
  customType: null;
474
509
  } | {
475
510
  type: "custom";
@@ -515,6 +550,7 @@ export declare const actionResetZoom: {
515
550
  previousSelectedElementIds: {
516
551
  [id: string]: boolean;
517
552
  };
553
+ selectedElementsAreBeingDragged: boolean;
518
554
  shouldCacheIgnoreZoom: boolean;
519
555
  toast: {
520
556
  message: string;
@@ -592,6 +628,10 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
592
628
  showWelcomeScreen: boolean;
593
629
  isLoading: boolean;
594
630
  errorMessage: import("react").ReactNode;
631
+ activeIFrame: {
632
+ element: import("../element/types").NonDeletedExcalidrawElement;
633
+ state: "active" | "hover";
634
+ } | null;
595
635
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
596
636
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
597
637
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -599,13 +639,17 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
599
639
  isBindingEnabled: boolean;
600
640
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
601
641
  suggestedBindings: import("../element/binding").SuggestedBinding[];
642
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
643
+ shouldRenderFrames: boolean;
644
+ editingFrame: string | null;
645
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
602
646
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
603
647
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
604
648
  activeTool: {
605
649
  lastActiveTool: import("../types").LastActiveTool;
606
650
  locked: boolean;
607
651
  } & ({
608
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
652
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
609
653
  customType: null;
610
654
  } | {
611
655
  type: "custom";
@@ -651,6 +695,7 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
651
695
  previousSelectedElementIds: {
652
696
  [id: string]: boolean;
653
697
  };
698
+ selectedElementsAreBeingDragged: boolean;
654
699
  shouldCacheIgnoreZoom: boolean;
655
700
  toast: {
656
701
  message: string;
@@ -728,6 +773,10 @@ export declare const actionZoomToSelected: {
728
773
  showWelcomeScreen: boolean;
729
774
  isLoading: boolean;
730
775
  errorMessage: import("react").ReactNode;
776
+ activeIFrame: {
777
+ element: import("../element/types").NonDeletedExcalidrawElement;
778
+ state: "active" | "hover";
779
+ } | null;
731
780
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
732
781
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
733
782
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -735,13 +784,17 @@ export declare const actionZoomToSelected: {
735
784
  isBindingEnabled: boolean;
736
785
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
737
786
  suggestedBindings: import("../element/binding").SuggestedBinding[];
787
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
788
+ shouldRenderFrames: boolean;
789
+ editingFrame: string | null;
790
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
738
791
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
739
792
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
740
793
  activeTool: {
741
794
  lastActiveTool: import("../types").LastActiveTool;
742
795
  locked: boolean;
743
796
  } & ({
744
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
797
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
745
798
  customType: null;
746
799
  } | {
747
800
  type: "custom";
@@ -787,6 +840,7 @@ export declare const actionZoomToSelected: {
787
840
  previousSelectedElementIds: {
788
841
  [id: string]: boolean;
789
842
  };
843
+ selectedElementsAreBeingDragged: boolean;
790
844
  shouldCacheIgnoreZoom: boolean;
791
845
  toast: {
792
846
  message: string;
@@ -869,6 +923,10 @@ export declare const actionZoomToFit: {
869
923
  showWelcomeScreen: boolean;
870
924
  isLoading: boolean;
871
925
  errorMessage: import("react").ReactNode;
926
+ activeIFrame: {
927
+ element: import("../element/types").NonDeletedExcalidrawElement;
928
+ state: "active" | "hover";
929
+ } | null;
872
930
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
873
931
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
874
932
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -876,13 +934,17 @@ export declare const actionZoomToFit: {
876
934
  isBindingEnabled: boolean;
877
935
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
878
936
  suggestedBindings: import("../element/binding").SuggestedBinding[];
937
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
938
+ shouldRenderFrames: boolean;
939
+ editingFrame: string | null;
940
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
879
941
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
880
942
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
881
943
  activeTool: {
882
944
  lastActiveTool: import("../types").LastActiveTool;
883
945
  locked: boolean;
884
946
  } & ({
885
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
947
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
886
948
  customType: null;
887
949
  } | {
888
950
  type: "custom";
@@ -928,6 +990,7 @@ export declare const actionZoomToFit: {
928
990
  previousSelectedElementIds: {
929
991
  [id: string]: boolean;
930
992
  };
993
+ selectedElementsAreBeingDragged: boolean;
931
994
  shouldCacheIgnoreZoom: boolean;
932
995
  toast: {
933
996
  message: string;
@@ -1006,6 +1069,10 @@ export declare const actionToggleTheme: {
1006
1069
  showWelcomeScreen: boolean;
1007
1070
  isLoading: boolean;
1008
1071
  errorMessage: import("react").ReactNode;
1072
+ activeIFrame: {
1073
+ element: import("../element/types").NonDeletedExcalidrawElement;
1074
+ state: "active" | "hover";
1075
+ } | null;
1009
1076
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1010
1077
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1011
1078
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -1013,13 +1080,17 @@ export declare const actionToggleTheme: {
1013
1080
  isBindingEnabled: boolean;
1014
1081
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1015
1082
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1083
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1084
+ shouldRenderFrames: boolean;
1085
+ editingFrame: string | null;
1086
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1016
1087
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1017
1088
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1018
1089
  activeTool: {
1019
1090
  lastActiveTool: import("../types").LastActiveTool;
1020
1091
  locked: boolean;
1021
1092
  } & ({
1022
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1093
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1023
1094
  customType: null;
1024
1095
  } | {
1025
1096
  type: "custom";
@@ -1070,6 +1141,7 @@ export declare const actionToggleTheme: {
1070
1141
  previousSelectedElementIds: {
1071
1142
  [id: string]: boolean;
1072
1143
  };
1144
+ selectedElementsAreBeingDragged: boolean;
1073
1145
  shouldCacheIgnoreZoom: boolean;
1074
1146
  toast: {
1075
1147
  message: string;
@@ -1140,11 +1212,12 @@ export declare const actionToggleEraserTool: {
1140
1212
  appState: {
1141
1213
  selectedElementIds: {};
1142
1214
  selectedGroupIds: {};
1215
+ activeIFrame: null;
1143
1216
  activeTool: {
1144
1217
  lastActiveTool: import("../types").LastActiveTool;
1145
1218
  locked: boolean;
1146
1219
  } & ({
1147
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1220
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1148
1221
  customType: null;
1149
1222
  } | {
1150
1223
  type: "custom";
@@ -1165,6 +1238,10 @@ export declare const actionToggleEraserTool: {
1165
1238
  isBindingEnabled: boolean;
1166
1239
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1167
1240
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1241
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1242
+ shouldRenderFrames: boolean;
1243
+ editingFrame: string | null;
1244
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1168
1245
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1169
1246
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1170
1247
  penMode: boolean;
@@ -1209,6 +1286,7 @@ export declare const actionToggleEraserTool: {
1209
1286
  previousSelectedElementIds: {
1210
1287
  [id: string]: boolean;
1211
1288
  };
1289
+ selectedElementsAreBeingDragged: boolean;
1212
1290
  shouldCacheIgnoreZoom: boolean;
1213
1291
  toast: {
1214
1292
  message: string;
@@ -1276,11 +1354,12 @@ export declare const actionToggleHandTool: {
1276
1354
  appState: {
1277
1355
  selectedElementIds: {};
1278
1356
  selectedGroupIds: {};
1357
+ activeIFrame: null;
1279
1358
  activeTool: {
1280
1359
  lastActiveTool: import("../types").LastActiveTool;
1281
1360
  locked: boolean;
1282
1361
  } & ({
1283
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1362
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1284
1363
  customType: null;
1285
1364
  } | {
1286
1365
  type: "custom";
@@ -1301,6 +1380,10 @@ export declare const actionToggleHandTool: {
1301
1380
  isBindingEnabled: boolean;
1302
1381
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1303
1382
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1383
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1384
+ shouldRenderFrames: boolean;
1385
+ editingFrame: string | null;
1386
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1304
1387
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1305
1388
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1306
1389
  penMode: boolean;
@@ -1345,6 +1428,7 @@ export declare const actionToggleHandTool: {
1345
1428
  previousSelectedElementIds: {
1346
1429
  [id: string]: boolean;
1347
1430
  };
1431
+ selectedElementsAreBeingDragged: boolean;
1348
1432
  shouldCacheIgnoreZoom: boolean;
1349
1433
  toast: {
1350
1434
  message: string;
@@ -44,6 +44,10 @@ export declare const actionCut: {
44
44
  showWelcomeScreen: boolean;
45
45
  isLoading: boolean;
46
46
  errorMessage: import("react").ReactNode;
47
+ activeIFrame: {
48
+ element: import("../element/types").NonDeletedExcalidrawElement;
49
+ state: "active" | "hover";
50
+ } | null;
47
51
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
48
52
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
49
53
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -51,12 +55,16 @@ export declare const actionCut: {
51
55
  isBindingEnabled: boolean;
52
56
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
53
57
  suggestedBindings: import("../element/binding").SuggestedBinding[];
58
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
59
+ shouldRenderFrames: boolean;
60
+ editingFrame: string | null;
61
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
54
62
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
55
63
  activeTool: {
56
64
  lastActiveTool: import("../types").LastActiveTool;
57
65
  locked: boolean;
58
66
  } & ({
59
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
67
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
60
68
  customType: null;
61
69
  } | {
62
70
  type: "custom";
@@ -107,6 +115,7 @@ export declare const actionCut: {
107
115
  previousSelectedElementIds: {
108
116
  [id: string]: boolean;
109
117
  };
118
+ selectedElementsAreBeingDragged: boolean;
110
119
  shouldCacheIgnoreZoom: boolean;
111
120
  toast: {
112
121
  message: string;
@@ -203,6 +212,10 @@ export declare const actionCut: {
203
212
  showWelcomeScreen: boolean;
204
213
  isLoading: boolean;
205
214
  errorMessage: import("react").ReactNode;
215
+ activeIFrame: {
216
+ element: import("../element/types").NonDeletedExcalidrawElement;
217
+ state: "active" | "hover";
218
+ } | null;
206
219
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
207
220
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
208
221
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -210,12 +223,16 @@ export declare const actionCut: {
210
223
  isBindingEnabled: boolean;
211
224
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
212
225
  suggestedBindings: import("../element/binding").SuggestedBinding[];
226
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
227
+ shouldRenderFrames: boolean;
228
+ editingFrame: string | null;
229
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
213
230
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
214
231
  activeTool: {
215
232
  lastActiveTool: import("../types").LastActiveTool;
216
233
  locked: boolean;
217
234
  } & ({
218
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
235
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
219
236
  customType: null;
220
237
  } | {
221
238
  type: "custom";
@@ -266,6 +283,7 @@ export declare const actionCut: {
266
283
  previousSelectedElementIds: {
267
284
  [id: string]: boolean;
268
285
  };
286
+ selectedElementsAreBeingDragged: boolean;
269
287
  shouldCacheIgnoreZoom: boolean;
270
288
  toast: {
271
289
  message: string;
@@ -329,13 +347,14 @@ export declare const actionCut: {
329
347
  lastActiveTool: import("../types").LastActiveTool;
330
348
  locked: boolean;
331
349
  } & ({
332
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
350
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
333
351
  customType: null;
334
352
  } | {
335
353
  type: "custom";
336
354
  customType: string;
337
355
  });
338
356
  multiElement: null;
357
+ activeIFrame: null;
339
358
  selectedElementIds: {};
340
359
  contextMenu: {
341
360
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -351,6 +370,10 @@ export declare const actionCut: {
351
370
  isBindingEnabled: boolean;
352
371
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
353
372
  suggestedBindings: import("../element/binding").SuggestedBinding[];
373
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
374
+ shouldRenderFrames: boolean;
375
+ editingFrame: string | null;
376
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
354
377
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
355
378
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
356
379
  penMode: boolean;
@@ -395,6 +418,7 @@ export declare const actionCut: {
395
418
  previousSelectedElementIds: {
396
419
  [id: string]: boolean;
397
420
  };
421
+ selectedElementsAreBeingDragged: boolean;
398
422
  shouldCacheIgnoreZoom: boolean;
399
423
  toast: {
400
424
  message: string;
@@ -476,6 +500,10 @@ export declare const actionCopyAsSvg: {
476
500
  } | null;
477
501
  showWelcomeScreen: boolean;
478
502
  isLoading: boolean;
503
+ activeIFrame: {
504
+ element: import("../element/types").NonDeletedExcalidrawElement;
505
+ state: "active" | "hover";
506
+ } | null;
479
507
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
480
508
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
481
509
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -483,13 +511,17 @@ export declare const actionCopyAsSvg: {
483
511
  isBindingEnabled: boolean;
484
512
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
485
513
  suggestedBindings: import("../element/binding").SuggestedBinding[];
514
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
515
+ shouldRenderFrames: boolean;
516
+ editingFrame: string | null;
517
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
486
518
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
487
519
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
488
520
  activeTool: {
489
521
  lastActiveTool: import("../types").LastActiveTool;
490
522
  locked: boolean;
491
523
  } & ({
492
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
524
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
493
525
  customType: null;
494
526
  } | {
495
527
  type: "custom";
@@ -540,6 +572,7 @@ export declare const actionCopyAsSvg: {
540
572
  previousSelectedElementIds: {
541
573
  [id: string]: boolean;
542
574
  };
575
+ selectedElementsAreBeingDragged: boolean;
543
576
  shouldCacheIgnoreZoom: boolean;
544
577
  toast: {
545
578
  message: string;
@@ -620,6 +653,10 @@ export declare const actionCopyAsPng: {
620
653
  } | null;
621
654
  showWelcomeScreen: boolean;
622
655
  isLoading: boolean;
656
+ activeIFrame: {
657
+ element: import("../element/types").NonDeletedExcalidrawElement;
658
+ state: "active" | "hover";
659
+ } | null;
623
660
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
624
661
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
625
662
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -627,13 +664,17 @@ export declare const actionCopyAsPng: {
627
664
  isBindingEnabled: boolean;
628
665
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
629
666
  suggestedBindings: import("../element/binding").SuggestedBinding[];
667
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
668
+ shouldRenderFrames: boolean;
669
+ editingFrame: string | null;
670
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
630
671
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
631
672
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
632
673
  activeTool: {
633
674
  lastActiveTool: import("../types").LastActiveTool;
634
675
  locked: boolean;
635
676
  } & ({
636
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
677
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
637
678
  customType: null;
638
679
  } | {
639
680
  type: "custom";
@@ -684,6 +725,7 @@ export declare const actionCopyAsPng: {
684
725
  previousSelectedElementIds: {
685
726
  [id: string]: boolean;
686
727
  };
728
+ selectedElementsAreBeingDragged: boolean;
687
729
  shouldCacheIgnoreZoom: boolean;
688
730
  toast: {
689
731
  message: string;