@zsviczian/excalidraw 0.17.6-3 → 0.17.6-31

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 (148) hide show
  1. package/dist/excalidraw.development.js +13100 -1540
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/excalidraw.production.min.js.LICENSE.txt +21 -1
  4. package/dist/styles.development.css +490 -376
  5. package/dist/styles.production.css +10 -8
  6. package/package.json +5 -4
  7. package/types/excalidraw/actions/actionAddToLibrary.d.ts +27 -3
  8. package/types/excalidraw/actions/actionAlign.d.ts +7 -6
  9. package/types/excalidraw/actions/actionBoundText.d.ts +18 -2
  10. package/types/excalidraw/actions/actionCanvas.d.ts +126 -14
  11. package/types/excalidraw/actions/actionClipboard.d.ts +61 -9
  12. package/types/excalidraw/actions/actionCropEditor.d.ts +222 -0
  13. package/types/excalidraw/actions/actionDeleteSelected.d.ts +34 -6
  14. package/types/excalidraw/actions/actionElementLink.d.ts +244 -0
  15. package/types/excalidraw/actions/actionElementLock.d.ts +18 -2
  16. package/types/excalidraw/actions/actionExport.d.ts +77 -8
  17. package/types/excalidraw/actions/actionFinalize.d.ts +18 -2
  18. package/types/excalidraw/actions/actionFrame.d.ts +533 -4
  19. package/types/excalidraw/actions/actionGroup.d.ts +18 -2
  20. package/types/excalidraw/actions/actionLinearEditor.d.ts +9 -1
  21. package/types/excalidraw/actions/actionLink.d.ts +10 -2
  22. package/types/excalidraw/actions/actionMenu.d.ts +23 -2
  23. package/types/excalidraw/actions/actionNavigate.d.ts +18 -2
  24. package/types/excalidraw/actions/actionProperties.d.ts +135 -15
  25. package/types/excalidraw/actions/actionSelectAll.d.ts +9 -1
  26. package/types/excalidraw/actions/actionStyles.d.ts +9 -1
  27. package/types/excalidraw/actions/actionToggleGridMode.d.ts +9 -1
  28. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +9 -1
  29. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +14 -1
  30. package/types/excalidraw/actions/actionToggleStats.d.ts +9 -1
  31. package/types/excalidraw/actions/actionToggleViewMode.d.ts +9 -1
  32. package/types/excalidraw/actions/actionToggleZenMode.d.ts +9 -1
  33. package/types/excalidraw/actions/index.d.ts +1 -0
  34. package/types/excalidraw/actions/shortcuts.d.ts +1 -1
  35. package/types/excalidraw/actions/types.d.ts +1 -1
  36. package/types/excalidraw/align.d.ts +2 -1
  37. package/types/excalidraw/change.d.ts +2 -2
  38. package/types/excalidraw/clipboard.d.ts +27 -5
  39. package/types/excalidraw/components/Actions.d.ts +2 -1
  40. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  41. package/types/excalidraw/components/App.d.ts +21 -5
  42. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  43. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -0
  44. package/types/excalidraw/components/EyeDropper.d.ts +1 -1
  45. package/types/excalidraw/components/IconPicker.d.ts +2 -2
  46. package/types/excalidraw/components/LayerUI.d.ts +2 -1
  47. package/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  48. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  49. package/types/excalidraw/components/Range.d.ts +8 -0
  50. package/types/excalidraw/components/SearchMenu.d.ts +1 -1
  51. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  52. package/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  53. package/types/excalidraw/components/Stats/utils.d.ts +1 -1
  54. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -7
  55. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -0
  56. package/types/excalidraw/components/TTDDialog/common.d.ts +2 -2
  57. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +1 -1
  58. package/types/excalidraw/components/hyperlink/helpers.d.ts +1 -0
  59. package/types/excalidraw/components/icons.d.ts +11 -0
  60. package/types/excalidraw/constants.d.ts +5 -1
  61. package/types/excalidraw/context/tunnels.d.ts +2 -1
  62. package/types/excalidraw/data/blob.d.ts +4 -0
  63. package/types/excalidraw/data/encode.d.ts +6 -5
  64. package/types/excalidraw/data/filesystem.d.ts +2 -1
  65. package/types/excalidraw/data/image.d.ts +0 -6
  66. package/types/excalidraw/data/library.d.ts +9 -3
  67. package/types/excalidraw/data/url.d.ts +0 -1
  68. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -1
  69. package/types/excalidraw/editor-jotai.d.ts +56 -0
  70. package/types/excalidraw/element/binding.d.ts +10 -7
  71. package/types/excalidraw/element/cropElement.d.ts +19 -0
  72. package/types/excalidraw/element/elbowArrow.d.ts +16 -0
  73. package/types/excalidraw/element/elementLink.d.ts +13 -0
  74. package/types/excalidraw/element/embeddable.d.ts +9 -1
  75. package/types/excalidraw/element/flowchart.d.ts +1 -1
  76. package/types/excalidraw/element/heading.d.ts +5 -1
  77. package/types/excalidraw/element/image.d.ts +1 -1
  78. package/types/excalidraw/element/linearElementEditor.d.ts +9 -10
  79. package/types/excalidraw/element/mutateElement.d.ts +3 -1
  80. package/types/excalidraw/element/newElement.d.ts +9 -7
  81. package/types/excalidraw/element/resizeElements.d.ts +27 -5
  82. package/types/excalidraw/element/textElement.d.ts +14 -4
  83. package/types/excalidraw/element/textWrapping.d.ts +13 -0
  84. package/types/excalidraw/element/transformHandles.d.ts +1 -1
  85. package/types/excalidraw/element/types.d.ts +33 -1
  86. package/types/excalidraw/errors.d.ts +7 -0
  87. package/types/excalidraw/fonts/{woff2/Cascadia → Cascadia}/index.d.ts +1 -1
  88. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
  89. package/types/excalidraw/fonts/{woff2/Emoji → Emoji}/index.d.ts +1 -1
  90. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +2 -8
  91. package/types/excalidraw/fonts/{woff2/Excalifont → Excalifont}/index.d.ts +1 -1
  92. package/types/excalidraw/fonts/Fonts.d.ts +100 -0
  93. package/types/excalidraw/fonts/{woff2/Helvetica → Helvetica}/index.d.ts +1 -1
  94. package/types/excalidraw/fonts/{woff2/Liberation → Liberation}/index.d.ts +1 -1
  95. package/types/excalidraw/fonts/{woff2/Lilita → Lilita}/index.d.ts +1 -1
  96. package/types/excalidraw/fonts/{woff2/Nunito → Nunito}/index.d.ts +1 -1
  97. package/types/excalidraw/fonts/{woff2/Virgil → Virgil}/index.d.ts +1 -1
  98. package/types/excalidraw/fonts/{woff2/Xiaolai → Xiaolai}/index.d.ts +1 -1
  99. package/types/excalidraw/fonts/index.d.ts +1 -87
  100. package/types/excalidraw/frame.d.ts +11 -5
  101. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  102. package/types/excalidraw/index.d.ts +4 -3
  103. package/types/excalidraw/keys.d.ts +107 -0
  104. package/types/excalidraw/obsidianUtils.d.ts +9 -4
  105. package/types/excalidraw/renderer/renderElement.d.ts +3 -2
  106. package/types/excalidraw/scene/Scene.d.ts +1 -0
  107. package/types/excalidraw/scene/comparisons.d.ts +1 -0
  108. package/types/excalidraw/scene/export.d.ts +8 -0
  109. package/types/excalidraw/scene/types.d.ts +7 -0
  110. package/types/excalidraw/types.d.ts +25 -1
  111. package/types/excalidraw/utils.d.ts +7 -1
  112. package/types/excalidraw/visualdebug.d.ts +8 -1
  113. package/types/math/line.d.ts +19 -0
  114. package/types/math/point.d.ts +10 -0
  115. package/types/math/utils.d.ts +1 -0
  116. package/types/math/vector.d.ts +4 -0
  117. package/types/utils/export.d.ts +6 -4
  118. package/types/excalidraw/components/MagicSettings.d.ts +0 -8
  119. package/types/excalidraw/components/Stats.d.ts +0 -11
  120. package/types/excalidraw/data/magic.d.ts +0 -23
  121. package/types/excalidraw/element/routing.d.ts +0 -12
  122. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +0 -37
  123. package/types/excalidraw/fonts/wasm/hb-subset.bindings.d.ts +0 -45
  124. package/types/excalidraw/fonts/wasm/hb-subset.loader.d.ts +0 -5
  125. package/types/excalidraw/fonts/wasm/hb-subset.wasm.d.ts +0 -2
  126. package/types/excalidraw/fonts/wasm/woff2.bindings.d.ts +0 -31
  127. package/types/excalidraw/fonts/wasm/woff2.loader.d.ts +0 -6
  128. package/types/excalidraw/fonts/wasm/woff2.wasm.d.ts +0 -2
  129. package/types/excalidraw/fonts/woff2/Comic/index.d.ts +0 -2
  130. package/types/excalidraw/ga.d.ts +0 -63
  131. package/types/excalidraw/gadirections.d.ts +0 -8
  132. package/types/excalidraw/galines.d.ts +0 -22
  133. package/types/excalidraw/gapoints.d.ts +0 -7
  134. package/types/excalidraw/gatransforms.d.ts +0 -10
  135. package/types/excalidraw/jotai.d.ts +0 -34
  136. package/types/excalidraw/math.d.ts +0 -79
  137. package/types/excalidraw/scene/Fonts.d.ts +0 -19
  138. package/types/utils/geometry/geometry.d.ts +0 -89
  139. /package/types/excalidraw/fonts/{metadata.d.ts → FontMetadata.d.ts} +0 -0
  140. /package/types/excalidraw/{fonts/wasm/hb-subset-bindings.d.ts → subset/harfbuzz/harfbuzz-bindings.d.ts} +0 -0
  141. /package/types/excalidraw/{fonts/wasm/hb-subset-loader.d.ts → subset/harfbuzz/harfbuzz-loader.d.ts} +0 -0
  142. /package/types/excalidraw/{fonts/wasm/hb-subset-wasm.d.ts → subset/harfbuzz/harfbuzz-wasm.d.ts} +0 -0
  143. /package/types/excalidraw/{fonts/subset → subset}/subset-main.d.ts +0 -0
  144. /package/types/excalidraw/{fonts/subset → subset}/subset-shared.chunk.d.ts +0 -0
  145. /package/types/excalidraw/{fonts/subset → subset}/subset-worker.chunk.d.ts +0 -0
  146. /package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-bindings.d.ts +0 -0
  147. /package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-loader.d.ts +0 -0
  148. /package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-wasm.d.ts +0 -0
@@ -83,15 +83,21 @@ export declare const actionSelectAllElementsInFrame: {
83
83
  tab?: string | undefined;
84
84
  } | null;
85
85
  openDialog: {
86
- name: "imageExport" | "help" | "jsonExport";
86
+ name: "help" | "imageExport" | "jsonExport";
87
87
  } | {
88
88
  name: "ttd";
89
89
  tab: "mermaid" | "text-to-diagram";
90
90
  } | {
91
91
  name: "commandPalette";
92
+ } | {
93
+ name: "elementLinkSelector";
94
+ sourceElementId: string;
92
95
  } | null;
93
96
  defaultSidebarDockedPreference: boolean;
94
97
  lastPointerDownWith: import("../element/types").PointerType;
98
+ hoveredElementIds: Readonly<{
99
+ [id: string]: true;
100
+ }>;
95
101
  previousSelectedElementIds: {
96
102
  [id: string]: true;
97
103
  };
@@ -192,6 +198,8 @@ export declare const actionSelectAllElementsInFrame: {
192
198
  objectsSnapModeEnabled: boolean;
193
199
  userToFollow: import("../types").UserToFollow | null;
194
200
  followedBy: Set<import("../types").SocketId>;
201
+ isCropping: boolean;
202
+ croppingElementId: string | null;
195
203
  searchMatches: readonly {
196
204
  id: string;
197
205
  focus: boolean;
@@ -298,15 +306,21 @@ export declare const actionRemoveAllElementsFromFrame: {
298
306
  tab?: string | undefined;
299
307
  } | null;
300
308
  openDialog: {
301
- name: "imageExport" | "help" | "jsonExport";
309
+ name: "help" | "imageExport" | "jsonExport";
302
310
  } | {
303
311
  name: "ttd";
304
312
  tab: "mermaid" | "text-to-diagram";
305
313
  } | {
306
314
  name: "commandPalette";
315
+ } | {
316
+ name: "elementLinkSelector";
317
+ sourceElementId: string;
307
318
  } | null;
308
319
  defaultSidebarDockedPreference: boolean;
309
320
  lastPointerDownWith: import("../element/types").PointerType;
321
+ hoveredElementIds: Readonly<{
322
+ [id: string]: true;
323
+ }>;
310
324
  previousSelectedElementIds: {
311
325
  [id: string]: true;
312
326
  };
@@ -407,6 +421,8 @@ export declare const actionRemoveAllElementsFromFrame: {
407
421
  objectsSnapModeEnabled: boolean;
408
422
  userToFollow: import("../types").UserToFollow | null;
409
423
  followedBy: Set<import("../types").SocketId>;
424
+ isCropping: boolean;
425
+ croppingElementId: string | null;
410
426
  searchMatches: readonly {
411
427
  id: string;
412
428
  focus: boolean;
@@ -511,18 +527,24 @@ export declare const actionupdateFrameRendering: {
511
527
  tab?: string | undefined;
512
528
  } | null;
513
529
  openDialog: {
514
- name: "imageExport" | "help" | "jsonExport";
530
+ name: "help" | "imageExport" | "jsonExport";
515
531
  } | {
516
532
  name: "ttd";
517
533
  tab: "mermaid" | "text-to-diagram";
518
534
  } | {
519
535
  name: "commandPalette";
536
+ } | {
537
+ name: "elementLinkSelector";
538
+ sourceElementId: string;
520
539
  } | null;
521
540
  defaultSidebarDockedPreference: boolean;
522
541
  lastPointerDownWith: import("../element/types").PointerType;
523
542
  selectedElementIds: Readonly<{
524
543
  [id: string]: true;
525
544
  }>;
545
+ hoveredElementIds: Readonly<{
546
+ [id: string]: true;
547
+ }>;
526
548
  previousSelectedElementIds: {
527
549
  [id: string]: true;
528
550
  };
@@ -623,6 +645,8 @@ export declare const actionupdateFrameRendering: {
623
645
  objectsSnapModeEnabled: boolean;
624
646
  userToFollow: import("../types").UserToFollow | null;
625
647
  followedBy: Set<import("../types").SocketId>;
648
+ isCropping: boolean;
649
+ croppingElementId: string | null;
626
650
  searchMatches: readonly {
627
651
  id: string;
628
652
  focus: boolean;
@@ -724,18 +748,24 @@ export declare const actionSetFrameAsActiveTool: {
724
748
  tab?: string | undefined;
725
749
  } | null;
726
750
  openDialog: {
727
- name: "imageExport" | "help" | "jsonExport";
751
+ name: "help" | "imageExport" | "jsonExport";
728
752
  } | {
729
753
  name: "ttd";
730
754
  tab: "mermaid" | "text-to-diagram";
731
755
  } | {
732
756
  name: "commandPalette";
757
+ } | {
758
+ name: "elementLinkSelector";
759
+ sourceElementId: string;
733
760
  } | null;
734
761
  defaultSidebarDockedPreference: boolean;
735
762
  lastPointerDownWith: import("../element/types").PointerType;
736
763
  selectedElementIds: Readonly<{
737
764
  [id: string]: true;
738
765
  }>;
766
+ hoveredElementIds: Readonly<{
767
+ [id: string]: true;
768
+ }>;
739
769
  previousSelectedElementIds: {
740
770
  [id: string]: true;
741
771
  };
@@ -836,6 +866,8 @@ export declare const actionSetFrameAsActiveTool: {
836
866
  objectsSnapModeEnabled: boolean;
837
867
  userToFollow: import("../types").UserToFollow | null;
838
868
  followedBy: Set<import("../types").SocketId>;
869
+ isCropping: boolean;
870
+ croppingElementId: string | null;
839
871
  searchMatches: readonly {
840
872
  id: string;
841
873
  focus: boolean;
@@ -853,3 +885,500 @@ export declare const actionSetFrameAsActiveTool: {
853
885
  } & {
854
886
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
855
887
  };
888
+ export declare const actionWrapSelectionInFrame: {
889
+ name: "wrapSelectionInFrame";
890
+ label: string;
891
+ trackEvent: {
892
+ category: "element";
893
+ };
894
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
895
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
896
+ elements: ((Readonly<{
897
+ id: string;
898
+ x: number;
899
+ y: number;
900
+ strokeColor: string;
901
+ backgroundColor: string;
902
+ fillStyle: import("../element/types").FillStyle;
903
+ strokeWidth: number;
904
+ strokeStyle: import("../element/types").StrokeStyle;
905
+ roundness: {
906
+ type: import("../element/types").RoundnessType;
907
+ value?: number | undefined;
908
+ } | null;
909
+ roughness: number;
910
+ opacity: number;
911
+ width: number;
912
+ height: number;
913
+ angle: import("../../math").Radians;
914
+ seed: number;
915
+ version: number;
916
+ versionNonce: number;
917
+ index: import("../element/types").FractionalIndex | null;
918
+ isDeleted: boolean;
919
+ groupIds: readonly string[];
920
+ frameId: string | null;
921
+ boundElements: readonly Readonly<{
922
+ id: string;
923
+ type: "text" | "arrow";
924
+ }>[] | null;
925
+ updated: number;
926
+ link: string | null;
927
+ locked: boolean;
928
+ customData?: Record<string, any> | undefined;
929
+ }> & {
930
+ type: "selection";
931
+ } & {
932
+ index: import("../element/types").FractionalIndex;
933
+ }) | (Readonly<{
934
+ id: string;
935
+ x: number;
936
+ y: number;
937
+ strokeColor: string;
938
+ backgroundColor: string;
939
+ fillStyle: import("../element/types").FillStyle;
940
+ strokeWidth: number;
941
+ strokeStyle: import("../element/types").StrokeStyle;
942
+ roundness: {
943
+ type: import("../element/types").RoundnessType;
944
+ value?: number | undefined;
945
+ } | null;
946
+ roughness: number;
947
+ opacity: number;
948
+ width: number;
949
+ height: number;
950
+ angle: import("../../math").Radians;
951
+ seed: number;
952
+ version: number;
953
+ versionNonce: number;
954
+ index: import("../element/types").FractionalIndex | null;
955
+ isDeleted: boolean;
956
+ groupIds: readonly string[];
957
+ frameId: string | null;
958
+ boundElements: readonly Readonly<{
959
+ id: string;
960
+ type: "text" | "arrow";
961
+ }>[] | null;
962
+ updated: number;
963
+ link: string | null;
964
+ locked: boolean;
965
+ customData?: Record<string, any> | undefined;
966
+ }> & {
967
+ type: "rectangle";
968
+ } & {
969
+ index: import("../element/types").FractionalIndex;
970
+ }) | (Readonly<{
971
+ id: string;
972
+ x: number;
973
+ y: number;
974
+ strokeColor: string;
975
+ backgroundColor: string;
976
+ fillStyle: import("../element/types").FillStyle;
977
+ strokeWidth: number;
978
+ strokeStyle: import("../element/types").StrokeStyle;
979
+ roundness: {
980
+ type: import("../element/types").RoundnessType;
981
+ value?: number | undefined;
982
+ } | null;
983
+ roughness: number;
984
+ opacity: number;
985
+ width: number;
986
+ height: number;
987
+ angle: import("../../math").Radians;
988
+ seed: number;
989
+ version: number;
990
+ versionNonce: number;
991
+ index: import("../element/types").FractionalIndex | null;
992
+ isDeleted: boolean;
993
+ groupIds: readonly string[];
994
+ frameId: string | null;
995
+ boundElements: readonly Readonly<{
996
+ id: string;
997
+ type: "text" | "arrow";
998
+ }>[] | null;
999
+ updated: number;
1000
+ link: string | null;
1001
+ locked: boolean;
1002
+ customData?: Record<string, any> | undefined;
1003
+ }> & {
1004
+ type: "diamond";
1005
+ } & {
1006
+ index: import("../element/types").FractionalIndex;
1007
+ }) | (Readonly<{
1008
+ id: string;
1009
+ x: number;
1010
+ y: number;
1011
+ strokeColor: string;
1012
+ backgroundColor: string;
1013
+ fillStyle: import("../element/types").FillStyle;
1014
+ strokeWidth: number;
1015
+ strokeStyle: import("../element/types").StrokeStyle;
1016
+ roundness: {
1017
+ type: import("../element/types").RoundnessType;
1018
+ value?: number | undefined;
1019
+ } | null;
1020
+ roughness: number;
1021
+ opacity: number;
1022
+ width: number;
1023
+ height: number;
1024
+ angle: import("../../math").Radians;
1025
+ seed: number;
1026
+ version: number;
1027
+ versionNonce: number;
1028
+ index: import("../element/types").FractionalIndex | null;
1029
+ isDeleted: boolean;
1030
+ groupIds: readonly string[];
1031
+ frameId: string | null;
1032
+ boundElements: readonly Readonly<{
1033
+ id: string;
1034
+ type: "text" | "arrow";
1035
+ }>[] | null;
1036
+ updated: number;
1037
+ link: string | null;
1038
+ locked: boolean;
1039
+ customData?: Record<string, any> | undefined;
1040
+ }> & {
1041
+ type: "ellipse";
1042
+ } & {
1043
+ index: import("../element/types").FractionalIndex;
1044
+ }) | (Readonly<{
1045
+ id: string;
1046
+ x: number;
1047
+ y: number;
1048
+ strokeColor: string;
1049
+ backgroundColor: string;
1050
+ fillStyle: import("../element/types").FillStyle;
1051
+ strokeWidth: number;
1052
+ strokeStyle: import("../element/types").StrokeStyle;
1053
+ roundness: {
1054
+ type: import("../element/types").RoundnessType;
1055
+ value?: number | undefined;
1056
+ } | null;
1057
+ roughness: number;
1058
+ opacity: number;
1059
+ width: number;
1060
+ height: number;
1061
+ angle: import("../../math").Radians;
1062
+ seed: number;
1063
+ version: number;
1064
+ versionNonce: number;
1065
+ index: import("../element/types").FractionalIndex | null;
1066
+ isDeleted: boolean;
1067
+ groupIds: readonly string[];
1068
+ frameId: string | null;
1069
+ boundElements: readonly Readonly<{
1070
+ id: string;
1071
+ type: "text" | "arrow";
1072
+ }>[] | null;
1073
+ updated: number;
1074
+ link: string | null;
1075
+ locked: boolean;
1076
+ customData?: Record<string, any> | undefined;
1077
+ }> & Readonly<{
1078
+ type: "text";
1079
+ fontSize: number;
1080
+ fontFamily: number;
1081
+ text: string;
1082
+ rawText: string;
1083
+ textAlign: string;
1084
+ verticalAlign: string;
1085
+ containerId: string | null;
1086
+ originalText: string;
1087
+ autoResize: boolean;
1088
+ lineHeight: number & {
1089
+ _brand: "unitlessLineHeight";
1090
+ };
1091
+ }> & {
1092
+ index: import("../element/types").FractionalIndex;
1093
+ }) | (Readonly<{
1094
+ id: string;
1095
+ x: number;
1096
+ y: number;
1097
+ strokeColor: string;
1098
+ backgroundColor: string;
1099
+ fillStyle: import("../element/types").FillStyle;
1100
+ strokeWidth: number;
1101
+ strokeStyle: import("../element/types").StrokeStyle;
1102
+ roundness: {
1103
+ type: import("../element/types").RoundnessType;
1104
+ value?: number | undefined;
1105
+ } | null;
1106
+ roughness: number;
1107
+ opacity: number;
1108
+ width: number;
1109
+ height: number;
1110
+ angle: import("../../math").Radians;
1111
+ seed: number;
1112
+ version: number;
1113
+ versionNonce: number;
1114
+ index: import("../element/types").FractionalIndex | null;
1115
+ isDeleted: boolean;
1116
+ groupIds: readonly string[];
1117
+ frameId: string | null;
1118
+ boundElements: readonly Readonly<{
1119
+ id: string;
1120
+ type: "text" | "arrow";
1121
+ }>[] | null;
1122
+ updated: number;
1123
+ link: string | null;
1124
+ locked: boolean;
1125
+ customData?: Record<string, any> | undefined;
1126
+ }> & Readonly<{
1127
+ type: "line" | "arrow";
1128
+ points: readonly import("../../math").LocalPoint[];
1129
+ lastCommittedPoint: import("../../math").LocalPoint | null;
1130
+ startBinding: import("../element/types").PointBinding | null;
1131
+ endBinding: import("../element/types").PointBinding | null;
1132
+ startArrowhead: import("../element/types").Arrowhead | null;
1133
+ endArrowhead: import("../element/types").Arrowhead | null;
1134
+ }> & {
1135
+ index: import("../element/types").FractionalIndex;
1136
+ }) | (Readonly<{
1137
+ id: string;
1138
+ x: number;
1139
+ y: number;
1140
+ strokeColor: string;
1141
+ backgroundColor: string;
1142
+ fillStyle: import("../element/types").FillStyle;
1143
+ strokeWidth: number;
1144
+ strokeStyle: import("../element/types").StrokeStyle;
1145
+ roundness: {
1146
+ type: import("../element/types").RoundnessType;
1147
+ value?: number | undefined;
1148
+ } | null;
1149
+ roughness: number;
1150
+ opacity: number;
1151
+ width: number;
1152
+ height: number;
1153
+ angle: import("../../math").Radians;
1154
+ seed: number;
1155
+ version: number;
1156
+ versionNonce: number;
1157
+ index: import("../element/types").FractionalIndex | null;
1158
+ isDeleted: boolean;
1159
+ groupIds: readonly string[];
1160
+ frameId: string | null;
1161
+ boundElements: readonly Readonly<{
1162
+ id: string;
1163
+ type: "text" | "arrow";
1164
+ }>[] | null;
1165
+ updated: number;
1166
+ link: string | null;
1167
+ locked: boolean;
1168
+ customData?: Record<string, any> | undefined;
1169
+ }> & Readonly<{
1170
+ type: "freedraw";
1171
+ points: readonly import("../../math").LocalPoint[];
1172
+ pressures: readonly number[];
1173
+ simulatePressure: boolean;
1174
+ lastCommittedPoint: import("../../math").LocalPoint | null;
1175
+ }> & {
1176
+ index: import("../element/types").FractionalIndex;
1177
+ }) | (Readonly<{
1178
+ id: string;
1179
+ x: number;
1180
+ y: number;
1181
+ strokeColor: string;
1182
+ backgroundColor: string;
1183
+ fillStyle: import("../element/types").FillStyle;
1184
+ strokeWidth: number;
1185
+ strokeStyle: import("../element/types").StrokeStyle;
1186
+ roundness: {
1187
+ type: import("../element/types").RoundnessType;
1188
+ value?: number | undefined;
1189
+ } | null;
1190
+ roughness: number;
1191
+ opacity: number;
1192
+ width: number;
1193
+ height: number;
1194
+ angle: import("../../math").Radians;
1195
+ seed: number;
1196
+ version: number;
1197
+ versionNonce: number;
1198
+ index: import("../element/types").FractionalIndex | null;
1199
+ isDeleted: boolean;
1200
+ groupIds: readonly string[];
1201
+ frameId: string | null;
1202
+ boundElements: readonly Readonly<{
1203
+ id: string;
1204
+ type: "text" | "arrow";
1205
+ }>[] | null;
1206
+ updated: number;
1207
+ link: string | null;
1208
+ locked: boolean;
1209
+ customData?: Record<string, any> | undefined;
1210
+ }> & Readonly<{
1211
+ type: "image";
1212
+ fileId: import("../element/types").FileId | null;
1213
+ status: "pending" | "saved" | "error";
1214
+ scale: [number, number];
1215
+ crop: import("../element/types").ImageCrop | null;
1216
+ }> & {
1217
+ index: import("../element/types").FractionalIndex;
1218
+ }) | (Readonly<{
1219
+ id: string;
1220
+ x: number;
1221
+ y: number;
1222
+ strokeColor: string;
1223
+ backgroundColor: string;
1224
+ fillStyle: import("../element/types").FillStyle;
1225
+ strokeWidth: number;
1226
+ strokeStyle: import("../element/types").StrokeStyle;
1227
+ roundness: {
1228
+ type: import("../element/types").RoundnessType;
1229
+ value?: number | undefined;
1230
+ } | null;
1231
+ roughness: number;
1232
+ opacity: number;
1233
+ width: number;
1234
+ height: number;
1235
+ angle: import("../../math").Radians;
1236
+ seed: number;
1237
+ version: number;
1238
+ versionNonce: number;
1239
+ index: import("../element/types").FractionalIndex | null;
1240
+ isDeleted: boolean;
1241
+ groupIds: readonly string[];
1242
+ frameId: string | null;
1243
+ boundElements: readonly Readonly<{
1244
+ id: string;
1245
+ type: "text" | "arrow";
1246
+ }>[] | null;
1247
+ updated: number;
1248
+ link: string | null;
1249
+ locked: boolean;
1250
+ customData?: Record<string, any> | undefined;
1251
+ }> & {
1252
+ type: "frame";
1253
+ name: string | null;
1254
+ } & {
1255
+ index: import("../element/types").FractionalIndex;
1256
+ }) | (Readonly<{
1257
+ id: string;
1258
+ x: number;
1259
+ y: number;
1260
+ strokeColor: string;
1261
+ backgroundColor: string;
1262
+ fillStyle: import("../element/types").FillStyle;
1263
+ strokeWidth: number;
1264
+ strokeStyle: import("../element/types").StrokeStyle;
1265
+ roundness: {
1266
+ type: import("../element/types").RoundnessType;
1267
+ value?: number | undefined;
1268
+ } | null;
1269
+ roughness: number;
1270
+ opacity: number;
1271
+ width: number;
1272
+ height: number;
1273
+ angle: import("../../math").Radians;
1274
+ seed: number;
1275
+ version: number;
1276
+ versionNonce: number;
1277
+ index: import("../element/types").FractionalIndex | null;
1278
+ isDeleted: boolean;
1279
+ groupIds: readonly string[];
1280
+ frameId: string | null;
1281
+ boundElements: readonly Readonly<{
1282
+ id: string;
1283
+ type: "text" | "arrow";
1284
+ }>[] | null;
1285
+ updated: number;
1286
+ link: string | null;
1287
+ locked: boolean;
1288
+ customData?: Record<string, any> | undefined;
1289
+ }> & {
1290
+ type: "magicframe";
1291
+ name: string | null;
1292
+ } & {
1293
+ index: import("../element/types").FractionalIndex;
1294
+ }) | (Readonly<{
1295
+ id: string;
1296
+ x: number;
1297
+ y: number;
1298
+ strokeColor: string;
1299
+ backgroundColor: string;
1300
+ fillStyle: import("../element/types").FillStyle;
1301
+ strokeWidth: number;
1302
+ strokeStyle: import("../element/types").StrokeStyle;
1303
+ roundness: {
1304
+ type: import("../element/types").RoundnessType;
1305
+ value?: number | undefined;
1306
+ } | null;
1307
+ roughness: number;
1308
+ opacity: number;
1309
+ width: number;
1310
+ height: number;
1311
+ angle: import("../../math").Radians;
1312
+ seed: number;
1313
+ version: number;
1314
+ versionNonce: number;
1315
+ index: import("../element/types").FractionalIndex | null;
1316
+ isDeleted: boolean;
1317
+ groupIds: readonly string[];
1318
+ frameId: string | null;
1319
+ boundElements: readonly Readonly<{
1320
+ id: string;
1321
+ type: "text" | "arrow";
1322
+ }>[] | null;
1323
+ updated: number;
1324
+ link: string | null;
1325
+ locked: boolean;
1326
+ customData?: Record<string, any> | undefined;
1327
+ }> & Readonly<{
1328
+ type: "iframe";
1329
+ customData?: {
1330
+ generationData?: import("../element/types").MagicGenerationData | undefined;
1331
+ } | undefined;
1332
+ scale: [number, number];
1333
+ }> & {
1334
+ index: import("../element/types").FractionalIndex;
1335
+ }) | (Readonly<{
1336
+ id: string;
1337
+ x: number;
1338
+ y: number;
1339
+ strokeColor: string;
1340
+ backgroundColor: string;
1341
+ fillStyle: import("../element/types").FillStyle;
1342
+ strokeWidth: number;
1343
+ strokeStyle: import("../element/types").StrokeStyle;
1344
+ roundness: {
1345
+ type: import("../element/types").RoundnessType;
1346
+ value?: number | undefined;
1347
+ } | null;
1348
+ roughness: number;
1349
+ opacity: number;
1350
+ width: number;
1351
+ height: number;
1352
+ angle: import("../../math").Radians;
1353
+ seed: number;
1354
+ version: number;
1355
+ versionNonce: number;
1356
+ index: import("../element/types").FractionalIndex | null;
1357
+ isDeleted: boolean;
1358
+ groupIds: readonly string[];
1359
+ frameId: string | null;
1360
+ boundElements: readonly Readonly<{
1361
+ id: string;
1362
+ type: "text" | "arrow";
1363
+ }>[] | null;
1364
+ updated: number;
1365
+ link: string | null;
1366
+ locked: boolean;
1367
+ customData?: Record<string, any> | undefined;
1368
+ }> & Readonly<{
1369
+ type: "embeddable";
1370
+ scale: [number, number];
1371
+ }> & {
1372
+ index: import("../element/types").FractionalIndex;
1373
+ }) | import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement>)[];
1374
+ appState: {
1375
+ selectedElementIds: {
1376
+ [x: string]: true;
1377
+ };
1378
+ theme: import("../element/types").Theme;
1379
+ };
1380
+ storeAction: "capture";
1381
+ };
1382
+ } & {
1383
+ keyTest?: undefined;
1384
+ };
@@ -93,15 +93,21 @@ export declare const actionGroup: {
93
93
  tab?: string | undefined;
94
94
  } | null;
95
95
  openDialog: {
96
- name: "imageExport" | "help" | "jsonExport";
96
+ name: "help" | "imageExport" | "jsonExport";
97
97
  } | {
98
98
  name: "ttd";
99
99
  tab: "mermaid" | "text-to-diagram";
100
100
  } | {
101
101
  name: "commandPalette";
102
+ } | {
103
+ name: "elementLinkSelector";
104
+ sourceElementId: string;
102
105
  } | null;
103
106
  defaultSidebarDockedPreference: boolean;
104
107
  lastPointerDownWith: import("../element/types").PointerType;
108
+ hoveredElementIds: Readonly<{
109
+ [id: string]: true;
110
+ }>;
105
111
  previousSelectedElementIds: {
106
112
  [id: string]: true;
107
113
  };
@@ -198,6 +204,8 @@ export declare const actionGroup: {
198
204
  objectsSnapModeEnabled: boolean;
199
205
  userToFollow: import("../types").UserToFollow | null;
200
206
  followedBy: Set<import("../types").SocketId>;
207
+ isCropping: boolean;
208
+ croppingElementId: string | null;
201
209
  searchMatches: readonly {
202
210
  id: string;
203
211
  focus: boolean;
@@ -311,15 +319,21 @@ export declare const actionUngroup: {
311
319
  tab?: string | undefined;
312
320
  } | null;
313
321
  openDialog: {
314
- name: "imageExport" | "help" | "jsonExport";
322
+ name: "help" | "imageExport" | "jsonExport";
315
323
  } | {
316
324
  name: "ttd";
317
325
  tab: "mermaid" | "text-to-diagram";
318
326
  } | {
319
327
  name: "commandPalette";
328
+ } | {
329
+ name: "elementLinkSelector";
330
+ sourceElementId: string;
320
331
  } | null;
321
332
  defaultSidebarDockedPreference: boolean;
322
333
  lastPointerDownWith: import("../element/types").PointerType;
334
+ hoveredElementIds: Readonly<{
335
+ [id: string]: true;
336
+ }>;
323
337
  previousSelectedElementIds: {
324
338
  [id: string]: true;
325
339
  };
@@ -416,6 +430,8 @@ export declare const actionUngroup: {
416
430
  objectsSnapModeEnabled: boolean;
417
431
  userToFollow: import("../types").UserToFollow | null;
418
432
  followedBy: Set<import("../types").SocketId>;
433
+ isCropping: boolean;
434
+ croppingElementId: string | null;
419
435
  searchMatches: readonly {
420
436
  id: string;
421
437
  focus: boolean;