@zsviczian/excalidraw 0.17.6-3 → 0.17.6-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 (68) hide show
  1. package/dist/excalidraw.development.js +1439 -1307
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +3 -3
  4. package/package.json +1 -1
  5. package/types/excalidraw/actions/actionAddToLibrary.d.ts +6 -0
  6. package/types/excalidraw/actions/actionBoundText.d.ts +4 -0
  7. package/types/excalidraw/actions/actionCanvas.d.ts +28 -0
  8. package/types/excalidraw/actions/actionClipboard.d.ts +12 -0
  9. package/types/excalidraw/actions/actionCropEditor.d.ts +216 -0
  10. package/types/excalidraw/actions/actionDeleteSelected.d.ts +6 -0
  11. package/types/excalidraw/actions/actionElementLock.d.ts +4 -0
  12. package/types/excalidraw/actions/actionExport.d.ts +18 -0
  13. package/types/excalidraw/actions/actionFinalize.d.ts +4 -0
  14. package/types/excalidraw/actions/actionFrame.d.ts +8 -0
  15. package/types/excalidraw/actions/actionGroup.d.ts +4 -0
  16. package/types/excalidraw/actions/actionLinearEditor.d.ts +2 -0
  17. package/types/excalidraw/actions/actionLink.d.ts +2 -0
  18. package/types/excalidraw/actions/actionMenu.d.ts +6 -0
  19. package/types/excalidraw/actions/actionNavigate.d.ts +4 -0
  20. package/types/excalidraw/actions/actionProperties.d.ts +30 -0
  21. package/types/excalidraw/actions/actionSelectAll.d.ts +2 -0
  22. package/types/excalidraw/actions/actionStyles.d.ts +2 -0
  23. package/types/excalidraw/actions/actionToggleGridMode.d.ts +2 -0
  24. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +2 -0
  25. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +4 -0
  26. package/types/excalidraw/actions/actionToggleStats.d.ts +2 -0
  27. package/types/excalidraw/actions/actionToggleViewMode.d.ts +2 -0
  28. package/types/excalidraw/actions/actionToggleZenMode.d.ts +2 -0
  29. package/types/excalidraw/actions/index.d.ts +1 -0
  30. package/types/excalidraw/actions/types.d.ts +1 -1
  31. package/types/excalidraw/change.d.ts +2 -2
  32. package/types/excalidraw/components/App.d.ts +10 -3
  33. package/types/excalidraw/components/icons.d.ts +1 -0
  34. package/types/excalidraw/element/cropElement.d.ts +14 -0
  35. package/types/excalidraw/element/embeddable.d.ts +2 -0
  36. package/types/excalidraw/element/newElement.d.ts +1 -0
  37. package/types/excalidraw/element/transformHandles.d.ts +1 -1
  38. package/types/excalidraw/element/types.d.ts +10 -0
  39. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -0
  40. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
  41. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -0
  42. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +2 -8
  43. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -0
  44. package/types/excalidraw/fonts/FontMetadata.d.ts +37 -0
  45. package/types/excalidraw/fonts/Fonts.d.ts +85 -0
  46. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -0
  47. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -0
  48. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -0
  49. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -0
  50. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -0
  51. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -0
  52. package/types/excalidraw/fonts/index.d.ts +1 -87
  53. package/types/excalidraw/index.d.ts +1 -1
  54. package/types/excalidraw/keys.d.ts +107 -0
  55. package/types/excalidraw/obsidianUtils.d.ts +1 -1
  56. package/types/excalidraw/scene/comparisons.d.ts +1 -0
  57. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -0
  58. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -0
  59. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -0
  60. package/types/excalidraw/subset/subset-main.d.ts +12 -0
  61. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -0
  62. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -0
  63. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -0
  64. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -0
  65. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -0
  66. package/types/excalidraw/types.d.ts +7 -0
  67. package/types/math/utils.d.ts +1 -0
  68. package/types/math/vector.d.ts +4 -0
@@ -2,9 +2,9 @@
2
2
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../node_modules/sass-loader/dist/cjs.js!./css/variables.module.scss ***!
3
3
  \******************************************************************************************************************************************************************************************************/
4
4
 
5
- /*!************************************************************************************************************************************************************************************************!*\
6
- !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../node_modules/sass-loader/dist/cjs.js!./fonts/css/fonts.css ***!
7
- \************************************************************************************************************************************************************************************************/
5
+ /*!********************************************************************************************************************************************************************************************!*\
6
+ !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../node_modules/sass-loader/dist/cjs.js!./fonts/fonts.css ***!
7
+ \********************************************************************************************************************************************************************************************/
8
8
  /* Only UI fonts here, which are needed before the editor initializes. */
9
9
  /* These cannot be dynamically prepended with `EXCALIDRAW_ASSET_PATH`. */
10
10
  /* WARN: The following content is replaced during excalidraw-app build */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zsviczian/excalidraw",
3
- "version": "0.17.6-3",
3
+ "version": "0.17.6-5",
4
4
  "main": "main.js",
5
5
  "types": "types/excalidraw/index.d.ts",
6
6
  "files": [
@@ -189,6 +189,8 @@ export declare const actionAddToLibrary: {
189
189
  objectsSnapModeEnabled: boolean;
190
190
  userToFollow: import("../types").UserToFollow | null;
191
191
  followedBy: Set<import("../types").SocketId>;
192
+ isCropping: boolean;
193
+ croppingElementId: string | null;
192
194
  searchMatches: readonly {
193
195
  id: string;
194
196
  focus: boolean;
@@ -388,6 +390,8 @@ export declare const actionAddToLibrary: {
388
390
  objectsSnapModeEnabled: boolean;
389
391
  userToFollow: import("../types").UserToFollow | null;
390
392
  followedBy: Set<import("../types").SocketId>;
393
+ isCropping: boolean;
394
+ croppingElementId: string | null;
391
395
  searchMatches: readonly {
392
396
  id: string;
393
397
  focus: boolean;
@@ -587,6 +591,8 @@ export declare const actionAddToLibrary: {
587
591
  objectsSnapModeEnabled: boolean;
588
592
  userToFollow: import("../types").UserToFollow | null;
589
593
  followedBy: Set<import("../types").SocketId>;
594
+ isCropping: boolean;
595
+ croppingElementId: string | null;
590
596
  searchMatches: readonly {
591
597
  id: string;
592
598
  focus: boolean;
@@ -211,6 +211,8 @@ export declare const actionBindText: {
211
211
  objectsSnapModeEnabled: boolean;
212
212
  userToFollow: import("../types").UserToFollow | null;
213
213
  followedBy: Set<import("../types").SocketId>;
214
+ isCropping: boolean;
215
+ croppingElementId: string | null;
214
216
  searchMatches: readonly {
215
217
  id: string;
216
218
  focus: boolean;
@@ -422,6 +424,8 @@ export declare const actionWrapTextInContainer: {
422
424
  objectsSnapModeEnabled: boolean;
423
425
  userToFollow: import("../types").UserToFollow | null;
424
426
  followedBy: Set<import("../types").SocketId>;
427
+ isCropping: boolean;
428
+ croppingElementId: string | null;
425
429
  searchMatches: readonly {
426
430
  id: string;
427
431
  focus: boolean;
@@ -209,6 +209,8 @@ export declare const actionClearCanvas: {
209
209
  objectsSnapModeEnabled: boolean;
210
210
  userToFollow: import("../types").UserToFollow | null;
211
211
  followedBy: Set<import("../types").SocketId>;
212
+ isCropping: boolean;
213
+ croppingElementId: string | null;
212
214
  searchMatches: readonly {
213
215
  id: string;
214
216
  focus: boolean;
@@ -420,6 +422,8 @@ export declare const actionZoomIn: {
420
422
  } | null;
421
423
  objectsSnapModeEnabled: boolean;
422
424
  followedBy: Set<import("../types").SocketId>;
425
+ isCropping: boolean;
426
+ croppingElementId: string | null;
423
427
  searchMatches: readonly {
424
428
  id: string;
425
429
  focus: boolean;
@@ -633,6 +637,8 @@ export declare const actionZoomOut: {
633
637
  } | null;
634
638
  objectsSnapModeEnabled: boolean;
635
639
  followedBy: Set<import("../types").SocketId>;
640
+ isCropping: boolean;
641
+ croppingElementId: string | null;
636
642
  searchMatches: readonly {
637
643
  id: string;
638
644
  focus: boolean;
@@ -846,6 +852,8 @@ export declare const actionResetZoom: {
846
852
  } | null;
847
853
  objectsSnapModeEnabled: boolean;
848
854
  followedBy: Set<import("../types").SocketId>;
855
+ isCropping: boolean;
856
+ croppingElementId: string | null;
849
857
  searchMatches: readonly {
850
858
  id: string;
851
859
  focus: boolean;
@@ -1066,6 +1074,8 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
1066
1074
  objectsSnapModeEnabled: boolean;
1067
1075
  userToFollow: import("../types").UserToFollow | null;
1068
1076
  followedBy: Set<import("../types").SocketId>;
1077
+ isCropping: boolean;
1078
+ croppingElementId: string | null;
1069
1079
  searchMatches: readonly {
1070
1080
  id: string;
1071
1081
  focus: boolean;
@@ -1281,6 +1291,8 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1281
1291
  objectsSnapModeEnabled: boolean;
1282
1292
  userToFollow: import("../types").UserToFollow | null;
1283
1293
  followedBy: Set<import("../types").SocketId>;
1294
+ isCropping: boolean;
1295
+ croppingElementId: string | null;
1284
1296
  searchMatches: readonly {
1285
1297
  id: string;
1286
1298
  focus: boolean;
@@ -1488,6 +1500,8 @@ export declare const actionZoomToFitSelectionInViewport: {
1488
1500
  objectsSnapModeEnabled: boolean;
1489
1501
  userToFollow: import("../types").UserToFollow | null;
1490
1502
  followedBy: Set<import("../types").SocketId>;
1503
+ isCropping: boolean;
1504
+ croppingElementId: string | null;
1491
1505
  searchMatches: readonly {
1492
1506
  id: string;
1493
1507
  focus: boolean;
@@ -1699,6 +1713,8 @@ export declare const actionZoomToFitSelection: {
1699
1713
  objectsSnapModeEnabled: boolean;
1700
1714
  userToFollow: import("../types").UserToFollow | null;
1701
1715
  followedBy: Set<import("../types").SocketId>;
1716
+ isCropping: boolean;
1717
+ croppingElementId: string | null;
1702
1718
  searchMatches: readonly {
1703
1719
  id: string;
1704
1720
  focus: boolean;
@@ -1911,6 +1927,8 @@ export declare const actionZoomToFit: {
1911
1927
  objectsSnapModeEnabled: boolean;
1912
1928
  userToFollow: import("../types").UserToFollow | null;
1913
1929
  followedBy: Set<import("../types").SocketId>;
1930
+ isCropping: boolean;
1931
+ croppingElementId: string | null;
1914
1932
  searchMatches: readonly {
1915
1933
  id: string;
1916
1934
  focus: boolean;
@@ -2124,6 +2142,8 @@ export declare const actionToggleTheme: {
2124
2142
  objectsSnapModeEnabled: boolean;
2125
2143
  userToFollow: import("../types").UserToFollow | null;
2126
2144
  followedBy: Set<import("../types").SocketId>;
2145
+ isCropping: boolean;
2146
+ croppingElementId: string | null;
2127
2147
  searchMatches: readonly {
2128
2148
  id: string;
2129
2149
  focus: boolean;
@@ -2328,6 +2348,8 @@ export declare const actionToggleEraserTool: {
2328
2348
  objectsSnapModeEnabled: boolean;
2329
2349
  userToFollow: import("../types").UserToFollow | null;
2330
2350
  followedBy: Set<import("../types").SocketId>;
2351
+ isCropping: boolean;
2352
+ croppingElementId: string | null;
2331
2353
  searchMatches: readonly {
2332
2354
  id: string;
2333
2355
  focus: boolean;
@@ -2534,6 +2556,8 @@ export declare const actionToggleHandTool: {
2534
2556
  objectsSnapModeEnabled: boolean;
2535
2557
  userToFollow: import("../types").UserToFollow | null;
2536
2558
  followedBy: Set<import("../types").SocketId>;
2559
+ isCropping: boolean;
2560
+ croppingElementId: string | null;
2537
2561
  searchMatches: readonly {
2538
2562
  id: string;
2539
2563
  focus: boolean;
@@ -2737,6 +2761,8 @@ export declare const actionToggleLaserPointer: {
2737
2761
  objectsSnapModeEnabled: boolean;
2738
2762
  userToFollow: import("../types").UserToFollow | null;
2739
2763
  followedBy: Set<import("../types").SocketId>;
2764
+ isCropping: boolean;
2765
+ croppingElementId: string | null;
2740
2766
  searchMatches: readonly {
2741
2767
  id: string;
2742
2768
  focus: boolean;
@@ -2943,6 +2969,8 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
2943
2969
  objectsSnapModeEnabled: boolean;
2944
2970
  userToFollow: import("../types").UserToFollow | null;
2945
2971
  followedBy: Set<import("../types").SocketId>;
2972
+ isCropping: boolean;
2973
+ croppingElementId: string | null;
2946
2974
  searchMatches: readonly {
2947
2975
  id: string;
2948
2976
  focus: boolean;
@@ -193,6 +193,8 @@ export declare const actionCopy: {
193
193
  objectsSnapModeEnabled: boolean;
194
194
  userToFollow: import("../types").UserToFollow | null;
195
195
  followedBy: Set<import("../types").SocketId>;
196
+ isCropping: boolean;
197
+ croppingElementId: string | null;
196
198
  searchMatches: readonly {
197
199
  id: string;
198
200
  focus: boolean;
@@ -406,6 +408,8 @@ export declare const actionPaste: {
406
408
  objectsSnapModeEnabled: boolean;
407
409
  userToFollow: import("../types").UserToFollow | null;
408
410
  followedBy: Set<import("../types").SocketId>;
411
+ isCropping: boolean;
412
+ croppingElementId: string | null;
409
413
  searchMatches: readonly {
410
414
  id: string;
411
415
  focus: boolean;
@@ -620,6 +624,8 @@ export declare const actionCut: {
620
624
  objectsSnapModeEnabled: boolean;
621
625
  userToFollow: import("../types").UserToFollow | null;
622
626
  followedBy: Set<import("../types").SocketId>;
627
+ isCropping: boolean;
628
+ croppingElementId: string | null;
623
629
  searchMatches: readonly {
624
630
  id: string;
625
631
  focus: boolean;
@@ -850,6 +856,8 @@ export declare const actionCut: {
850
856
  objectsSnapModeEnabled: boolean;
851
857
  userToFollow: import("../types").UserToFollow | null;
852
858
  followedBy: Set<import("../types").SocketId>;
859
+ isCropping: boolean;
860
+ croppingElementId: string | null;
853
861
  searchMatches: readonly {
854
862
  id: string;
855
863
  focus: boolean;
@@ -1043,6 +1051,8 @@ export declare const actionCut: {
1043
1051
  objectsSnapModeEnabled: boolean;
1044
1052
  userToFollow: import("../types").UserToFollow | null;
1045
1053
  followedBy: Set<import("../types").SocketId>;
1054
+ isCropping: boolean;
1055
+ croppingElementId: string | null;
1046
1056
  searchMatches: readonly {
1047
1057
  id: string;
1048
1058
  focus: boolean;
@@ -1287,6 +1297,8 @@ export declare const actionCopyAsPng: {
1287
1297
  objectsSnapModeEnabled: boolean;
1288
1298
  userToFollow: import("../types").UserToFollow | null;
1289
1299
  followedBy: Set<import("../types").SocketId>;
1300
+ isCropping: boolean;
1301
+ croppingElementId: string | null;
1290
1302
  searchMatches: readonly {
1291
1303
  id: string;
1292
1304
  focus: boolean;
@@ -0,0 +1,216 @@
1
+ export declare const actionToggleCropEditor: {
2
+ name: "cropEditor";
3
+ label: string;
4
+ icon: JSX.Element;
5
+ viewMode: true;
6
+ trackEvent: {
7
+ category: "menu";
8
+ };
9
+ keywords: string[];
10
+ perform(elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties): {
11
+ appState: {
12
+ isCropping: false;
13
+ croppingElementId: string;
14
+ contextMenu: {
15
+ items: import("../components/ContextMenu").ContextMenuItems;
16
+ top: number;
17
+ left: number;
18
+ } | null;
19
+ showWelcomeScreen: boolean;
20
+ isLoading: boolean;
21
+ errorMessage: import("react").ReactNode;
22
+ activeEmbeddable: {
23
+ element: import("../element/types").NonDeletedExcalidrawElement;
24
+ state: "active" | "hover";
25
+ } | null;
26
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
27
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
29
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
30
+ isBindingEnabled: boolean;
31
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
32
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
33
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
34
+ frameRendering: {
35
+ enabled: boolean;
36
+ name: boolean;
37
+ outline: boolean;
38
+ clip: boolean;
39
+ };
40
+ editingFrame: string | null;
41
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
42
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
43
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
44
+ activeTool: {
45
+ lastActiveTool: import("../types").ActiveTool | null;
46
+ locked: boolean;
47
+ } & import("../types").ActiveTool;
48
+ penMode: boolean;
49
+ penDetected: boolean;
50
+ exportBackground: boolean;
51
+ exportEmbedScene: boolean;
52
+ exportWithDarkMode: boolean;
53
+ exportScale: number;
54
+ currentItemStrokeColor: string;
55
+ currentItemBackgroundColor: string;
56
+ currentItemFillStyle: import("../element/types").FillStyle;
57
+ currentItemStrokeWidth: number;
58
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
59
+ currentItemRoughness: number;
60
+ currentItemOpacity: number;
61
+ currentItemFontFamily: number;
62
+ currentItemFontSize: number;
63
+ currentItemTextAlign: string;
64
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
65
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
66
+ currentHoveredFontFamily: number | null;
67
+ currentItemRoundness: import("../element/types").StrokeRoundness;
68
+ currentItemArrowType: "round" | "sharp" | "elbow";
69
+ viewBackgroundColor: string;
70
+ scrollX: number;
71
+ scrollY: number;
72
+ cursorButton: "up" | "down";
73
+ scrolledOutside: boolean;
74
+ name: string | null;
75
+ isResizing: boolean;
76
+ isRotating: boolean;
77
+ zoom: Readonly<{
78
+ value: import("../types").NormalizedZoomValue;
79
+ }>;
80
+ openMenu: "canvas" | "shape" | null;
81
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
82
+ openSidebar: {
83
+ name: string;
84
+ tab?: string | undefined;
85
+ } | null;
86
+ openDialog: {
87
+ name: "imageExport" | "help" | "jsonExport";
88
+ } | {
89
+ name: "ttd";
90
+ tab: "mermaid" | "text-to-diagram";
91
+ } | {
92
+ name: "commandPalette";
93
+ } | null;
94
+ defaultSidebarDockedPreference: boolean;
95
+ lastPointerDownWith: import("../element/types").PointerType;
96
+ selectedElementIds: Readonly<{
97
+ [id: string]: true;
98
+ }>;
99
+ previousSelectedElementIds: {
100
+ [id: string]: true;
101
+ };
102
+ selectedElementsAreBeingDragged: boolean;
103
+ shouldCacheIgnoreZoom: boolean;
104
+ toast: {
105
+ message: string;
106
+ closable?: boolean | undefined;
107
+ duration?: number | undefined;
108
+ } | null;
109
+ zenModeEnabled: boolean;
110
+ theme: import("../element/types").Theme;
111
+ gridSize: number;
112
+ gridStep: number;
113
+ gridModeEnabled: boolean;
114
+ viewModeEnabled: boolean;
115
+ selectedGroupIds: {
116
+ [groupId: string]: boolean;
117
+ };
118
+ editingGroupId: string | null;
119
+ width: number;
120
+ height: number;
121
+ offsetTop: number;
122
+ offsetLeft: number;
123
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
124
+ collaborators: Map<import("../types").SocketId, Readonly<{
125
+ pointer?: import("../types").CollaboratorPointer | undefined;
126
+ button?: "up" | "down" | undefined;
127
+ selectedElementIds?: Readonly<{
128
+ [id: string]: true;
129
+ }> | undefined;
130
+ username?: string | null | undefined;
131
+ userState?: import("../types").UserIdleState | undefined;
132
+ color?: {
133
+ background: string;
134
+ stroke: string;
135
+ } | undefined;
136
+ avatarUrl?: string | undefined;
137
+ id?: string | undefined;
138
+ socketId?: import("../types").SocketId | undefined;
139
+ isCurrentUser?: boolean | undefined;
140
+ isInCall?: boolean | undefined;
141
+ isSpeaking?: boolean | undefined;
142
+ isMuted?: boolean | undefined;
143
+ }>>;
144
+ stats: {
145
+ open: boolean;
146
+ panels: number;
147
+ };
148
+ currentChartType: import("../element/types").ChartType;
149
+ pasteDialog: {
150
+ shown: false;
151
+ data: null;
152
+ } | {
153
+ shown: true;
154
+ data: import("../charts").Spreadsheet;
155
+ };
156
+ pendingImageElementId: string | null;
157
+ showHyperlinkPopup: false | "info" | "editor";
158
+ linkOpacity: number;
159
+ trayModeEnabled: boolean;
160
+ colorPalette?: {
161
+ canvasBackground: import("../colors").ColorPaletteCustom;
162
+ elementBackground: import("../colors").ColorPaletteCustom;
163
+ elementStroke: import("../colors").ColorPaletteCustom;
164
+ topPicks: {
165
+ canvasBackground: [string, string, string, string, string];
166
+ elementStroke: [string, string, string, string, string];
167
+ elementBackground: [string, string, string, string, string];
168
+ };
169
+ } | undefined;
170
+ allowWheelZoom?: boolean | undefined;
171
+ allowPinchZoom?: boolean | undefined;
172
+ pinnedScripts?: string[] | undefined;
173
+ customPens?: any[] | undefined;
174
+ currentStrokeOptions?: any;
175
+ resetCustomPen?: any;
176
+ gridColor: {
177
+ Bold: string;
178
+ Regular: string;
179
+ };
180
+ highlightSearchResult: boolean;
181
+ dynamicStyle: {
182
+ [x: string]: string;
183
+ };
184
+ frameColor: {
185
+ stroke: string;
186
+ fill: string;
187
+ nameColor: string;
188
+ };
189
+ invertBindingBehaviour: boolean;
190
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
191
+ snapLines: readonly import("../snapping").SnapLine[];
192
+ originSnapOffset: {
193
+ x: number;
194
+ y: number;
195
+ } | null;
196
+ objectsSnapModeEnabled: boolean;
197
+ userToFollow: import("../types").UserToFollow | null;
198
+ followedBy: Set<import("../types").SocketId>;
199
+ searchMatches: readonly {
200
+ id: string;
201
+ focus: boolean;
202
+ matchedLines: {
203
+ offsetX: number;
204
+ offsetY: number;
205
+ width: number;
206
+ height: number;
207
+ }[];
208
+ }[];
209
+ };
210
+ storeAction: "capture";
211
+ };
212
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
213
+ PanelComponent: ({ appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
214
+ } & {
215
+ keyTest?: undefined;
216
+ };
@@ -197,6 +197,8 @@ export declare const actionDeleteSelected: {
197
197
  objectsSnapModeEnabled: boolean;
198
198
  userToFollow: import("../types").UserToFollow | null;
199
199
  followedBy: Set<import("../types").SocketId>;
200
+ isCropping: boolean;
201
+ croppingElementId: string | null;
200
202
  searchMatches: readonly {
201
203
  id: string;
202
204
  focus: boolean;
@@ -427,6 +429,8 @@ export declare const actionDeleteSelected: {
427
429
  objectsSnapModeEnabled: boolean;
428
430
  userToFollow: import("../types").UserToFollow | null;
429
431
  followedBy: Set<import("../types").SocketId>;
432
+ isCropping: boolean;
433
+ croppingElementId: string | null;
430
434
  searchMatches: readonly {
431
435
  id: string;
432
436
  focus: boolean;
@@ -620,6 +624,8 @@ export declare const actionDeleteSelected: {
620
624
  objectsSnapModeEnabled: boolean;
621
625
  userToFollow: import("../types").UserToFollow | null;
622
626
  followedBy: Set<import("../types").SocketId>;
627
+ isCropping: boolean;
628
+ croppingElementId: string | null;
623
629
  searchMatches: readonly {
624
630
  id: string;
625
631
  focus: boolean;
@@ -195,6 +195,8 @@ export declare const actionToggleElementLock: {
195
195
  objectsSnapModeEnabled: boolean;
196
196
  userToFollow: import("../types").UserToFollow | null;
197
197
  followedBy: Set<import("../types").SocketId>;
198
+ isCropping: boolean;
199
+ croppingElementId: string | null;
198
200
  searchMatches: readonly {
199
201
  id: string;
200
202
  focus: boolean;
@@ -409,6 +411,8 @@ export declare const actionUnlockAllElements: {
409
411
  objectsSnapModeEnabled: boolean;
410
412
  userToFollow: import("../types").UserToFollow | null;
411
413
  followedBy: Set<import("../types").SocketId>;
414
+ isCropping: boolean;
415
+ croppingElementId: string | null;
412
416
  searchMatches: readonly {
413
417
  id: string;
414
418
  focus: boolean;
@@ -191,6 +191,8 @@ export declare const actionChangeProjectName: {
191
191
  objectsSnapModeEnabled: boolean;
192
192
  userToFollow: import("../types").UserToFollow | null;
193
193
  followedBy: Set<import("../types").SocketId>;
194
+ isCropping: boolean;
195
+ croppingElementId: string | null;
194
196
  searchMatches: readonly {
195
197
  id: string;
196
198
  focus: boolean;
@@ -402,6 +404,8 @@ export declare const actionChangeExportScale: {
402
404
  objectsSnapModeEnabled: boolean;
403
405
  userToFollow: import("../types").UserToFollow | null;
404
406
  followedBy: Set<import("../types").SocketId>;
407
+ isCropping: boolean;
408
+ croppingElementId: string | null;
405
409
  searchMatches: readonly {
406
410
  id: string;
407
411
  focus: boolean;
@@ -613,6 +617,8 @@ export declare const actionChangeExportBackground: {
613
617
  objectsSnapModeEnabled: boolean;
614
618
  userToFollow: import("../types").UserToFollow | null;
615
619
  followedBy: Set<import("../types").SocketId>;
620
+ isCropping: boolean;
621
+ croppingElementId: string | null;
616
622
  searchMatches: readonly {
617
623
  id: string;
618
624
  focus: boolean;
@@ -824,6 +830,8 @@ export declare const actionChangeExportEmbedScene: {
824
830
  objectsSnapModeEnabled: boolean;
825
831
  userToFollow: import("../types").UserToFollow | null;
826
832
  followedBy: Set<import("../types").SocketId>;
833
+ isCropping: boolean;
834
+ croppingElementId: string | null;
827
835
  searchMatches: readonly {
828
836
  id: string;
829
837
  focus: boolean;
@@ -1035,6 +1043,8 @@ export declare const actionSaveToActiveFile: {
1035
1043
  objectsSnapModeEnabled: boolean;
1036
1044
  userToFollow: import("../types").UserToFollow | null;
1037
1045
  followedBy: Set<import("../types").SocketId>;
1046
+ isCropping: boolean;
1047
+ croppingElementId: string | null;
1038
1048
  searchMatches: readonly {
1039
1049
  id: string;
1040
1050
  focus: boolean;
@@ -1241,6 +1251,8 @@ export declare const actionSaveFileToDisk: {
1241
1251
  objectsSnapModeEnabled: boolean;
1242
1252
  userToFollow: import("../types").UserToFollow | null;
1243
1253
  followedBy: Set<import("../types").SocketId>;
1254
+ isCropping: boolean;
1255
+ croppingElementId: string | null;
1244
1256
  searchMatches: readonly {
1245
1257
  id: string;
1246
1258
  focus: boolean;
@@ -1452,6 +1464,8 @@ export declare const actionLoadScene: {
1452
1464
  objectsSnapModeEnabled: boolean;
1453
1465
  userToFollow: import("../types").UserToFollow | null;
1454
1466
  followedBy: Set<import("../types").SocketId>;
1467
+ isCropping: boolean;
1468
+ croppingElementId: string | null;
1455
1469
  searchMatches: readonly {
1456
1470
  id: string;
1457
1471
  focus: boolean;
@@ -1653,6 +1667,8 @@ export declare const actionLoadScene: {
1653
1667
  objectsSnapModeEnabled: boolean;
1654
1668
  userToFollow: import("../types").UserToFollow | null;
1655
1669
  followedBy: Set<import("../types").SocketId>;
1670
+ isCropping: boolean;
1671
+ croppingElementId: string | null;
1656
1672
  searchMatches: readonly {
1657
1673
  id: string;
1658
1674
  focus: boolean;
@@ -1865,6 +1881,8 @@ export declare const actionExportWithDarkMode: {
1865
1881
  objectsSnapModeEnabled: boolean;
1866
1882
  userToFollow: import("../types").UserToFollow | null;
1867
1883
  followedBy: Set<import("../types").SocketId>;
1884
+ isCropping: boolean;
1885
+ croppingElementId: string | null;
1868
1886
  searchMatches: readonly {
1869
1887
  id: string;
1870
1888
  focus: boolean;
@@ -192,6 +192,8 @@ export declare const actionFinalize: {
192
192
  objectsSnapModeEnabled: boolean;
193
193
  userToFollow: import("../types").UserToFollow | null;
194
194
  followedBy: Set<import("../types").SocketId>;
195
+ isCropping: boolean;
196
+ croppingElementId: string | null;
195
197
  searchMatches: readonly {
196
198
  id: string;
197
199
  focus: boolean;
@@ -389,6 +391,8 @@ export declare const actionFinalize: {
389
391
  objectsSnapModeEnabled: boolean;
390
392
  userToFollow: import("../types").UserToFollow | null;
391
393
  followedBy: Set<import("../types").SocketId>;
394
+ isCropping: boolean;
395
+ croppingElementId: string | null;
392
396
  searchMatches: readonly {
393
397
  id: string;
394
398
  focus: boolean;
@@ -192,6 +192,8 @@ export declare const actionSelectAllElementsInFrame: {
192
192
  objectsSnapModeEnabled: boolean;
193
193
  userToFollow: import("../types").UserToFollow | null;
194
194
  followedBy: Set<import("../types").SocketId>;
195
+ isCropping: boolean;
196
+ croppingElementId: string | null;
195
197
  searchMatches: readonly {
196
198
  id: string;
197
199
  focus: boolean;
@@ -407,6 +409,8 @@ export declare const actionRemoveAllElementsFromFrame: {
407
409
  objectsSnapModeEnabled: boolean;
408
410
  userToFollow: import("../types").UserToFollow | null;
409
411
  followedBy: Set<import("../types").SocketId>;
412
+ isCropping: boolean;
413
+ croppingElementId: string | null;
410
414
  searchMatches: readonly {
411
415
  id: string;
412
416
  focus: boolean;
@@ -623,6 +627,8 @@ export declare const actionupdateFrameRendering: {
623
627
  objectsSnapModeEnabled: boolean;
624
628
  userToFollow: import("../types").UserToFollow | null;
625
629
  followedBy: Set<import("../types").SocketId>;
630
+ isCropping: boolean;
631
+ croppingElementId: string | null;
626
632
  searchMatches: readonly {
627
633
  id: string;
628
634
  focus: boolean;
@@ -836,6 +842,8 @@ export declare const actionSetFrameAsActiveTool: {
836
842
  objectsSnapModeEnabled: boolean;
837
843
  userToFollow: import("../types").UserToFollow | null;
838
844
  followedBy: Set<import("../types").SocketId>;
845
+ isCropping: boolean;
846
+ croppingElementId: string | null;
839
847
  searchMatches: readonly {
840
848
  id: string;
841
849
  focus: boolean;
@@ -198,6 +198,8 @@ export declare const actionGroup: {
198
198
  objectsSnapModeEnabled: boolean;
199
199
  userToFollow: import("../types").UserToFollow | null;
200
200
  followedBy: Set<import("../types").SocketId>;
201
+ isCropping: boolean;
202
+ croppingElementId: string | null;
201
203
  searchMatches: readonly {
202
204
  id: string;
203
205
  focus: boolean;
@@ -416,6 +418,8 @@ export declare const actionUngroup: {
416
418
  objectsSnapModeEnabled: boolean;
417
419
  userToFollow: import("../types").UserToFollow | null;
418
420
  followedBy: Set<import("../types").SocketId>;
421
+ isCropping: boolean;
422
+ croppingElementId: string | null;
419
423
  searchMatches: readonly {
420
424
  id: string;
421
425
  focus: boolean;
@@ -196,6 +196,8 @@ export declare const actionToggleLinearEditor: {
196
196
  objectsSnapModeEnabled: boolean;
197
197
  userToFollow: import("../types").UserToFollow | null;
198
198
  followedBy: Set<import("../types").SocketId>;
199
+ isCropping: boolean;
200
+ croppingElementId: string | null;
199
201
  searchMatches: readonly {
200
202
  id: string;
201
203
  focus: boolean;