@zsviczian/excalidraw 0.17.6-2 → 0.17.6-21

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 (138) hide show
  1. package/dist/excalidraw.development.js +13000 -1495
  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 +425 -347
  5. package/dist/styles.production.css +3 -2
  6. package/package.json +2 -3
  7. package/types/excalidraw/actions/actionAddToLibrary.d.ts +24 -0
  8. package/types/excalidraw/actions/actionBoundText.d.ts +16 -0
  9. package/types/excalidraw/actions/actionCanvas.d.ts +112 -0
  10. package/types/excalidraw/actions/actionClipboard.d.ts +48 -0
  11. package/types/excalidraw/actions/actionCropEditor.d.ts +222 -0
  12. package/types/excalidraw/actions/actionDeleteSelected.d.ts +24 -0
  13. package/types/excalidraw/actions/actionElementLink.d.ts +244 -0
  14. package/types/excalidraw/actions/actionElementLock.d.ts +16 -0
  15. package/types/excalidraw/actions/actionExport.d.ts +69 -0
  16. package/types/excalidraw/actions/actionFinalize.d.ts +16 -0
  17. package/types/excalidraw/actions/actionFrame.d.ts +32 -0
  18. package/types/excalidraw/actions/actionGroup.d.ts +16 -0
  19. package/types/excalidraw/actions/actionLinearEditor.d.ts +8 -0
  20. package/types/excalidraw/actions/actionLink.d.ts +9 -1
  21. package/types/excalidraw/actions/actionMenu.d.ts +21 -0
  22. package/types/excalidraw/actions/actionNavigate.d.ts +16 -0
  23. package/types/excalidraw/actions/actionProperties.d.ts +120 -0
  24. package/types/excalidraw/actions/actionSelectAll.d.ts +8 -0
  25. package/types/excalidraw/actions/actionStyles.d.ts +8 -0
  26. package/types/excalidraw/actions/actionToggleGridMode.d.ts +8 -0
  27. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +8 -0
  28. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +13 -0
  29. package/types/excalidraw/actions/actionToggleStats.d.ts +8 -0
  30. package/types/excalidraw/actions/actionToggleViewMode.d.ts +8 -0
  31. package/types/excalidraw/actions/actionToggleZenMode.d.ts +8 -0
  32. package/types/excalidraw/actions/index.d.ts +1 -0
  33. package/types/excalidraw/actions/types.d.ts +1 -1
  34. package/types/excalidraw/change.d.ts +2 -2
  35. package/types/excalidraw/clipboard.d.ts +27 -5
  36. package/types/excalidraw/components/App.d.ts +20 -5
  37. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -0
  38. package/types/excalidraw/components/LayerUI.d.ts +2 -1
  39. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -7
  40. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +9 -0
  41. package/types/excalidraw/components/TTDDialog/common.d.ts +2 -2
  42. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +1 -1
  43. package/types/excalidraw/components/hyperlink/helpers.d.ts +1 -0
  44. package/types/excalidraw/components/icons.d.ts +2 -0
  45. package/types/excalidraw/constants.d.ts +5 -1
  46. package/types/excalidraw/data/blob.d.ts +4 -0
  47. package/types/excalidraw/data/encode.d.ts +6 -5
  48. package/types/excalidraw/data/image.d.ts +2 -2
  49. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -1
  50. package/types/excalidraw/element/binding.d.ts +1 -1
  51. package/types/excalidraw/element/cropElement.d.ts +14 -0
  52. package/types/excalidraw/element/elementLink.d.ts +13 -0
  53. package/types/excalidraw/element/embeddable.d.ts +8 -0
  54. package/types/excalidraw/element/image.d.ts +1 -1
  55. package/types/excalidraw/element/newElement.d.ts +1 -0
  56. package/types/excalidraw/element/textElement.d.ts +14 -4
  57. package/types/excalidraw/element/textWrapping.d.ts +13 -0
  58. package/types/excalidraw/element/transformHandles.d.ts +1 -1
  59. package/types/excalidraw/element/types.d.ts +10 -0
  60. package/types/excalidraw/errors.d.ts +7 -0
  61. package/types/excalidraw/fonts/{woff2/Cascadia → Cascadia}/index.d.ts +1 -1
  62. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
  63. package/types/excalidraw/fonts/{woff2/Emoji → Emoji}/index.d.ts +1 -1
  64. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +2 -8
  65. package/types/excalidraw/fonts/{woff2/Excalifont → Excalifont}/index.d.ts +1 -1
  66. package/types/excalidraw/fonts/Fonts.d.ts +117 -0
  67. package/types/excalidraw/fonts/{woff2/Helvetica → Helvetica}/index.d.ts +1 -1
  68. package/types/excalidraw/fonts/{woff2/Liberation → Liberation}/index.d.ts +1 -1
  69. package/types/excalidraw/fonts/{woff2/Lilita → Lilita}/index.d.ts +1 -1
  70. package/types/excalidraw/fonts/{woff2/Nunito → Nunito}/index.d.ts +1 -1
  71. package/types/excalidraw/fonts/{woff2/Virgil → Virgil}/index.d.ts +1 -1
  72. package/types/excalidraw/fonts/{woff2/Xiaolai → Xiaolai}/index.d.ts +1 -1
  73. package/types/excalidraw/fonts/index.d.ts +1 -87
  74. package/types/excalidraw/index.d.ts +2 -1
  75. package/types/excalidraw/keys.d.ts +107 -0
  76. package/types/excalidraw/obsidianUtils.d.ts +5 -3
  77. package/types/excalidraw/renderer/renderElement.d.ts +3 -2
  78. package/types/excalidraw/scene/Scene.d.ts +1 -0
  79. package/types/excalidraw/scene/comparisons.d.ts +1 -0
  80. package/types/excalidraw/scene/export.d.ts +1 -0
  81. package/types/excalidraw/scene/types.d.ts +7 -0
  82. package/types/excalidraw/types.d.ts +24 -2
  83. package/types/math/utils.d.ts +1 -0
  84. package/types/math/vector.d.ts +4 -0
  85. package/types/utils/export.d.ts +5 -3
  86. package/dist/excalidraw-assets/CascadiaCode-Regular.woff2 +0 -0
  87. package/dist/excalidraw-assets/ComicShanns-Regular.woff2 +0 -0
  88. package/dist/excalidraw-assets/Excalifont-Regular.woff2 +0 -0
  89. package/dist/excalidraw-assets/LiberationSans-Regular.woff2 +0 -0
  90. package/dist/excalidraw-assets/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
  91. package/dist/excalidraw-assets/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
  92. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
  93. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
  94. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
  95. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
  96. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
  97. package/dist/excalidraw-assets/Virgil-Regular.woff2 +0 -0
  98. package/dist/excalidraw-assets-dev/CascadiaCode-Regular.woff2 +0 -0
  99. package/dist/excalidraw-assets-dev/ComicShanns-Regular.woff2 +0 -0
  100. package/dist/excalidraw-assets-dev/Excalifont-Regular.woff2 +0 -0
  101. package/dist/excalidraw-assets-dev/LiberationSans-Regular.woff2 +0 -0
  102. package/dist/excalidraw-assets-dev/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
  103. package/dist/excalidraw-assets-dev/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
  104. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
  105. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
  106. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
  107. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
  108. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
  109. package/dist/excalidraw-assets-dev/Virgil-Regular.woff2 +0 -0
  110. package/types/excalidraw/components/MagicSettings.d.ts +0 -8
  111. package/types/excalidraw/components/Stats.d.ts +0 -11
  112. package/types/excalidraw/data/magic.d.ts +0 -23
  113. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +0 -37
  114. package/types/excalidraw/fonts/wasm/hb-subset.bindings.d.ts +0 -45
  115. package/types/excalidraw/fonts/wasm/hb-subset.loader.d.ts +0 -5
  116. package/types/excalidraw/fonts/wasm/hb-subset.wasm.d.ts +0 -2
  117. package/types/excalidraw/fonts/wasm/woff2.bindings.d.ts +0 -31
  118. package/types/excalidraw/fonts/wasm/woff2.loader.d.ts +0 -6
  119. package/types/excalidraw/fonts/wasm/woff2.wasm.d.ts +0 -2
  120. package/types/excalidraw/fonts/woff2/Comic/index.d.ts +0 -2
  121. package/types/excalidraw/ga.d.ts +0 -63
  122. package/types/excalidraw/gadirections.d.ts +0 -8
  123. package/types/excalidraw/galines.d.ts +0 -22
  124. package/types/excalidraw/gapoints.d.ts +0 -7
  125. package/types/excalidraw/gatransforms.d.ts +0 -10
  126. package/types/excalidraw/math.d.ts +0 -79
  127. package/types/excalidraw/scene/Fonts.d.ts +0 -19
  128. package/types/utils/geometry/geometry.d.ts +0 -89
  129. /package/types/excalidraw/fonts/{metadata.d.ts → FontMetadata.d.ts} +0 -0
  130. /package/types/excalidraw/{fonts/wasm/hb-subset-bindings.d.ts → subset/harfbuzz/harfbuzz-bindings.d.ts} +0 -0
  131. /package/types/excalidraw/{fonts/wasm/hb-subset-loader.d.ts → subset/harfbuzz/harfbuzz-loader.d.ts} +0 -0
  132. /package/types/excalidraw/{fonts/wasm/hb-subset-wasm.d.ts → subset/harfbuzz/harfbuzz-wasm.d.ts} +0 -0
  133. /package/types/excalidraw/{fonts/subset → subset}/subset-main.d.ts +0 -0
  134. /package/types/excalidraw/{fonts/subset → subset}/subset-shared.chunk.d.ts +0 -0
  135. /package/types/excalidraw/{fonts/subset → subset}/subset-worker.chunk.d.ts +0 -0
  136. /package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-bindings.d.ts +0 -0
  137. /package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-loader.d.ts +0 -0
  138. /package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-wasm.d.ts +0 -0
@@ -0,0 +1,222 @@
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
+ } | {
94
+ name: "elementLinkSelector";
95
+ sourceElementId: string;
96
+ } | null;
97
+ defaultSidebarDockedPreference: boolean;
98
+ lastPointerDownWith: import("../element/types").PointerType;
99
+ selectedElementIds: Readonly<{
100
+ [id: string]: true;
101
+ }>;
102
+ hoveredElementIds: Readonly<{
103
+ [id: string]: true;
104
+ }>;
105
+ previousSelectedElementIds: {
106
+ [id: string]: true;
107
+ };
108
+ selectedElementsAreBeingDragged: boolean;
109
+ shouldCacheIgnoreZoom: boolean;
110
+ toast: {
111
+ message: string;
112
+ closable?: boolean | undefined;
113
+ duration?: number | undefined;
114
+ } | null;
115
+ zenModeEnabled: boolean;
116
+ theme: import("../element/types").Theme;
117
+ gridSize: number;
118
+ gridStep: number;
119
+ gridModeEnabled: boolean;
120
+ viewModeEnabled: boolean;
121
+ selectedGroupIds: {
122
+ [groupId: string]: boolean;
123
+ };
124
+ editingGroupId: string | null;
125
+ width: number;
126
+ height: number;
127
+ offsetTop: number;
128
+ offsetLeft: number;
129
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
130
+ collaborators: Map<import("../types").SocketId, Readonly<{
131
+ pointer?: import("../types").CollaboratorPointer | undefined;
132
+ button?: "up" | "down" | undefined;
133
+ selectedElementIds?: Readonly<{
134
+ [id: string]: true;
135
+ }> | undefined;
136
+ username?: string | null | undefined;
137
+ userState?: import("../types").UserIdleState | undefined;
138
+ color?: {
139
+ background: string;
140
+ stroke: string;
141
+ } | undefined;
142
+ avatarUrl?: string | undefined;
143
+ id?: string | undefined;
144
+ socketId?: import("../types").SocketId | undefined;
145
+ isCurrentUser?: boolean | undefined;
146
+ isInCall?: boolean | undefined;
147
+ isSpeaking?: boolean | undefined;
148
+ isMuted?: boolean | undefined;
149
+ }>>;
150
+ stats: {
151
+ open: boolean;
152
+ panels: number;
153
+ };
154
+ currentChartType: import("../element/types").ChartType;
155
+ pasteDialog: {
156
+ shown: false;
157
+ data: null;
158
+ } | {
159
+ shown: true;
160
+ data: import("../charts").Spreadsheet;
161
+ };
162
+ pendingImageElementId: string | null;
163
+ showHyperlinkPopup: false | "info" | "editor";
164
+ linkOpacity: number;
165
+ trayModeEnabled: boolean;
166
+ colorPalette?: {
167
+ canvasBackground: import("../colors").ColorPaletteCustom;
168
+ elementBackground: import("../colors").ColorPaletteCustom;
169
+ elementStroke: import("../colors").ColorPaletteCustom;
170
+ topPicks: {
171
+ canvasBackground: [string, string, string, string, string];
172
+ elementStroke: [string, string, string, string, string];
173
+ elementBackground: [string, string, string, string, string];
174
+ };
175
+ } | undefined;
176
+ allowWheelZoom?: boolean | undefined;
177
+ allowPinchZoom?: boolean | undefined;
178
+ pinnedScripts?: string[] | undefined;
179
+ customPens?: any[] | undefined;
180
+ currentStrokeOptions?: any;
181
+ resetCustomPen?: any;
182
+ gridColor: {
183
+ Bold: string;
184
+ Regular: string;
185
+ };
186
+ highlightSearchResult: boolean;
187
+ dynamicStyle: {
188
+ [x: string]: string;
189
+ };
190
+ frameColor: {
191
+ stroke: string;
192
+ fill: string;
193
+ nameColor: string;
194
+ };
195
+ invertBindingBehaviour: boolean;
196
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
197
+ snapLines: readonly import("../snapping").SnapLine[];
198
+ originSnapOffset: {
199
+ x: number;
200
+ y: number;
201
+ } | null;
202
+ objectsSnapModeEnabled: boolean;
203
+ userToFollow: import("../types").UserToFollow | null;
204
+ followedBy: Set<import("../types").SocketId>;
205
+ searchMatches: readonly {
206
+ id: string;
207
+ focus: boolean;
208
+ matchedLines: {
209
+ offsetX: number;
210
+ offsetY: number;
211
+ width: number;
212
+ height: number;
213
+ }[];
214
+ }[];
215
+ };
216
+ storeAction: "capture";
217
+ };
218
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
219
+ PanelComponent: ({ appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
220
+ } & {
221
+ keyTest?: undefined;
222
+ };
@@ -91,12 +91,18 @@ export declare const actionDeleteSelected: {
91
91
  tab: "mermaid" | "text-to-diagram";
92
92
  } | {
93
93
  name: "commandPalette";
94
+ } | {
95
+ name: "elementLinkSelector";
96
+ sourceElementId: string;
94
97
  } | null;
95
98
  defaultSidebarDockedPreference: boolean;
96
99
  lastPointerDownWith: import("../element/types").PointerType;
97
100
  selectedElementIds: Readonly<{
98
101
  [id: string]: true;
99
102
  }>;
103
+ hoveredElementIds: Readonly<{
104
+ [id: string]: true;
105
+ }>;
100
106
  previousSelectedElementIds: {
101
107
  [id: string]: true;
102
108
  };
@@ -197,6 +203,8 @@ export declare const actionDeleteSelected: {
197
203
  objectsSnapModeEnabled: boolean;
198
204
  userToFollow: import("../types").UserToFollow | null;
199
205
  followedBy: Set<import("../types").SocketId>;
206
+ isCropping: boolean;
207
+ croppingElementId: string | null;
200
208
  searchMatches: readonly {
201
209
  id: string;
202
210
  focus: boolean;
@@ -321,12 +329,18 @@ export declare const actionDeleteSelected: {
321
329
  tab: "mermaid" | "text-to-diagram";
322
330
  } | {
323
331
  name: "commandPalette";
332
+ } | {
333
+ name: "elementLinkSelector";
334
+ sourceElementId: string;
324
335
  } | null;
325
336
  defaultSidebarDockedPreference: boolean;
326
337
  lastPointerDownWith: import("../element/types").PointerType;
327
338
  selectedElementIds: Readonly<{
328
339
  [id: string]: true;
329
340
  }>;
341
+ hoveredElementIds: Readonly<{
342
+ [id: string]: true;
343
+ }>;
330
344
  previousSelectedElementIds: {
331
345
  [id: string]: true;
332
346
  };
@@ -427,6 +441,8 @@ export declare const actionDeleteSelected: {
427
441
  objectsSnapModeEnabled: boolean;
428
442
  userToFollow: import("../types").UserToFollow | null;
429
443
  followedBy: Set<import("../types").SocketId>;
444
+ isCropping: boolean;
445
+ croppingElementId: string | null;
430
446
  searchMatches: readonly {
431
447
  id: string;
432
448
  focus: boolean;
@@ -520,9 +536,15 @@ export declare const actionDeleteSelected: {
520
536
  tab: "mermaid" | "text-to-diagram";
521
537
  } | {
522
538
  name: "commandPalette";
539
+ } | {
540
+ name: "elementLinkSelector";
541
+ sourceElementId: string;
523
542
  } | null;
524
543
  defaultSidebarDockedPreference: boolean;
525
544
  lastPointerDownWith: import("../element/types").PointerType;
545
+ hoveredElementIds: Readonly<{
546
+ [id: string]: true;
547
+ }>;
526
548
  previousSelectedElementIds: {
527
549
  [id: string]: true;
528
550
  };
@@ -620,6 +642,8 @@ export declare const actionDeleteSelected: {
620
642
  objectsSnapModeEnabled: boolean;
621
643
  userToFollow: import("../types").UserToFollow | null;
622
644
  followedBy: Set<import("../types").SocketId>;
645
+ isCropping: boolean;
646
+ croppingElementId: string | null;
623
647
  searchMatches: readonly {
624
648
  id: string;
625
649
  focus: boolean;
@@ -0,0 +1,244 @@
1
+ export declare const actionCopyElementLink: {
2
+ name: "copyElementLink";
3
+ label: string;
4
+ icon: JSX.Element;
5
+ trackEvent: {
6
+ category: "element";
7
+ };
8
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<{
9
+ appState: {
10
+ toast: {
11
+ message: string;
12
+ closable: true;
13
+ };
14
+ };
15
+ storeAction: "none";
16
+ elements?: undefined;
17
+ app?: undefined;
18
+ } | {
19
+ appState: Readonly<import("../types").AppState>;
20
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
21
+ app: import("../types").AppClassProperties;
22
+ storeAction: "none";
23
+ }>;
24
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => false;
25
+ } & {
26
+ keyTest?: undefined;
27
+ };
28
+ export declare const actionLinkToElement: {
29
+ name: "linkToElement";
30
+ label: string;
31
+ icon: JSX.Element;
32
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => {
33
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
34
+ appState: Readonly<import("../types").AppState>;
35
+ app: import("../types").AppClassProperties;
36
+ storeAction: "none";
37
+ } | {
38
+ appState: {
39
+ openDialog: {
40
+ name: "elementLinkSelector";
41
+ sourceElementId: string;
42
+ };
43
+ contextMenu: {
44
+ items: import("../components/ContextMenu").ContextMenuItems;
45
+ top: number;
46
+ left: number;
47
+ } | null;
48
+ showWelcomeScreen: boolean;
49
+ isLoading: boolean;
50
+ errorMessage: import("react").ReactNode;
51
+ activeEmbeddable: {
52
+ element: import("../element/types").NonDeletedExcalidrawElement;
53
+ state: "active" | "hover";
54
+ } | null;
55
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
56
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
57
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
58
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
59
+ isBindingEnabled: boolean;
60
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
61
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
62
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
63
+ frameRendering: {
64
+ enabled: boolean;
65
+ name: boolean;
66
+ outline: boolean;
67
+ clip: boolean;
68
+ };
69
+ editingFrame: string | null;
70
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
71
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
72
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
73
+ activeTool: {
74
+ lastActiveTool: import("../types").ActiveTool | null;
75
+ locked: boolean;
76
+ } & import("../types").ActiveTool;
77
+ penMode: boolean;
78
+ penDetected: boolean;
79
+ exportBackground: boolean;
80
+ exportEmbedScene: boolean;
81
+ exportWithDarkMode: boolean;
82
+ exportScale: number;
83
+ currentItemStrokeColor: string;
84
+ currentItemBackgroundColor: string;
85
+ currentItemFillStyle: import("../element/types").FillStyle;
86
+ currentItemStrokeWidth: number;
87
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
88
+ currentItemRoughness: number;
89
+ currentItemOpacity: number;
90
+ currentItemFontFamily: number;
91
+ currentItemFontSize: number;
92
+ currentItemTextAlign: string;
93
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
94
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
95
+ currentHoveredFontFamily: number | null;
96
+ currentItemRoundness: import("../element/types").StrokeRoundness;
97
+ currentItemArrowType: "round" | "sharp" | "elbow";
98
+ viewBackgroundColor: string;
99
+ scrollX: number;
100
+ scrollY: number;
101
+ cursorButton: "up" | "down";
102
+ scrolledOutside: boolean;
103
+ name: string | null;
104
+ isResizing: boolean;
105
+ isRotating: boolean;
106
+ zoom: Readonly<{
107
+ value: import("../types").NormalizedZoomValue;
108
+ }>;
109
+ openMenu: "canvas" | "shape" | null;
110
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
111
+ openSidebar: {
112
+ name: string;
113
+ tab?: string | undefined;
114
+ } | null;
115
+ defaultSidebarDockedPreference: boolean;
116
+ lastPointerDownWith: import("../element/types").PointerType;
117
+ selectedElementIds: Readonly<{
118
+ [id: string]: true;
119
+ }>;
120
+ hoveredElementIds: Readonly<{
121
+ [id: string]: true;
122
+ }>;
123
+ previousSelectedElementIds: {
124
+ [id: string]: true;
125
+ };
126
+ selectedElementsAreBeingDragged: boolean;
127
+ shouldCacheIgnoreZoom: boolean;
128
+ toast: {
129
+ message: string;
130
+ closable?: boolean | undefined;
131
+ duration?: number | undefined;
132
+ } | null;
133
+ zenModeEnabled: boolean;
134
+ theme: import("../element/types").Theme;
135
+ gridSize: number;
136
+ gridStep: number;
137
+ gridModeEnabled: boolean;
138
+ viewModeEnabled: boolean;
139
+ selectedGroupIds: {
140
+ [groupId: string]: boolean;
141
+ };
142
+ editingGroupId: string | null;
143
+ width: number;
144
+ height: number;
145
+ offsetTop: number;
146
+ offsetLeft: number;
147
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
148
+ collaborators: Map<import("../types").SocketId, Readonly<{
149
+ pointer?: import("../types").CollaboratorPointer | undefined;
150
+ button?: "up" | "down" | undefined;
151
+ selectedElementIds?: Readonly<{
152
+ [id: string]: true;
153
+ }> | undefined;
154
+ username?: string | null | undefined;
155
+ userState?: import("../types").UserIdleState | undefined;
156
+ color?: {
157
+ background: string;
158
+ stroke: string;
159
+ } | undefined;
160
+ avatarUrl?: string | undefined;
161
+ id?: string | undefined;
162
+ socketId?: import("../types").SocketId | undefined;
163
+ isCurrentUser?: boolean | undefined;
164
+ isInCall?: boolean | undefined;
165
+ isSpeaking?: boolean | undefined;
166
+ isMuted?: boolean | undefined;
167
+ }>>;
168
+ stats: {
169
+ open: boolean;
170
+ panels: number;
171
+ };
172
+ currentChartType: import("../element/types").ChartType;
173
+ pasteDialog: {
174
+ shown: false;
175
+ data: null;
176
+ } | {
177
+ shown: true;
178
+ data: import("../charts").Spreadsheet;
179
+ };
180
+ pendingImageElementId: string | null;
181
+ showHyperlinkPopup: false | "info" | "editor";
182
+ linkOpacity: number;
183
+ trayModeEnabled: boolean;
184
+ colorPalette?: {
185
+ canvasBackground: import("../colors").ColorPaletteCustom;
186
+ elementBackground: import("../colors").ColorPaletteCustom;
187
+ elementStroke: import("../colors").ColorPaletteCustom;
188
+ topPicks: {
189
+ canvasBackground: [string, string, string, string, string];
190
+ elementStroke: [string, string, string, string, string];
191
+ elementBackground: [string, string, string, string, string];
192
+ };
193
+ } | undefined;
194
+ allowWheelZoom?: boolean | undefined;
195
+ allowPinchZoom?: boolean | undefined;
196
+ pinnedScripts?: string[] | undefined;
197
+ customPens?: any[] | undefined;
198
+ currentStrokeOptions?: any;
199
+ resetCustomPen?: any;
200
+ gridColor: {
201
+ Bold: string;
202
+ Regular: string;
203
+ };
204
+ highlightSearchResult: boolean;
205
+ dynamicStyle: {
206
+ [x: string]: string;
207
+ };
208
+ frameColor: {
209
+ stroke: string;
210
+ fill: string;
211
+ nameColor: string;
212
+ };
213
+ invertBindingBehaviour: boolean;
214
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
215
+ snapLines: readonly import("../snapping").SnapLine[];
216
+ originSnapOffset: {
217
+ x: number;
218
+ y: number;
219
+ } | null;
220
+ objectsSnapModeEnabled: boolean;
221
+ userToFollow: import("../types").UserToFollow | null;
222
+ followedBy: Set<import("../types").SocketId>;
223
+ isCropping: boolean;
224
+ croppingElementId: string | null;
225
+ searchMatches: readonly {
226
+ id: string;
227
+ focus: boolean;
228
+ matchedLines: {
229
+ offsetX: number;
230
+ offsetY: number;
231
+ width: number;
232
+ height: number;
233
+ }[];
234
+ }[];
235
+ };
236
+ storeAction: "capture";
237
+ elements?: undefined;
238
+ app?: undefined;
239
+ };
240
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => false;
241
+ trackEvent: false;
242
+ } & {
243
+ keyTest?: undefined;
244
+ };
@@ -90,12 +90,18 @@ export declare const actionToggleElementLock: {
90
90
  tab: "mermaid" | "text-to-diagram";
91
91
  } | {
92
92
  name: "commandPalette";
93
+ } | {
94
+ name: "elementLinkSelector";
95
+ sourceElementId: string;
93
96
  } | null;
94
97
  defaultSidebarDockedPreference: boolean;
95
98
  lastPointerDownWith: import("../element/types").PointerType;
96
99
  selectedElementIds: Readonly<{
97
100
  [id: string]: true;
98
101
  }>;
102
+ hoveredElementIds: Readonly<{
103
+ [id: string]: true;
104
+ }>;
99
105
  previousSelectedElementIds: {
100
106
  [id: string]: true;
101
107
  };
@@ -195,6 +201,8 @@ export declare const actionToggleElementLock: {
195
201
  objectsSnapModeEnabled: boolean;
196
202
  userToFollow: import("../types").UserToFollow | null;
197
203
  followedBy: Set<import("../types").SocketId>;
204
+ isCropping: boolean;
205
+ croppingElementId: string | null;
198
206
  searchMatches: readonly {
199
207
  id: string;
200
208
  focus: boolean;
@@ -306,9 +314,15 @@ export declare const actionUnlockAllElements: {
306
314
  tab: "mermaid" | "text-to-diagram";
307
315
  } | {
308
316
  name: "commandPalette";
317
+ } | {
318
+ name: "elementLinkSelector";
319
+ sourceElementId: string;
309
320
  } | null;
310
321
  defaultSidebarDockedPreference: boolean;
311
322
  lastPointerDownWith: import("../element/types").PointerType;
323
+ hoveredElementIds: Readonly<{
324
+ [id: string]: true;
325
+ }>;
312
326
  previousSelectedElementIds: {
313
327
  [id: string]: true;
314
328
  };
@@ -409,6 +423,8 @@ export declare const actionUnlockAllElements: {
409
423
  objectsSnapModeEnabled: boolean;
410
424
  userToFollow: import("../types").UserToFollow | null;
411
425
  followedBy: Set<import("../types").SocketId>;
426
+ isCropping: boolean;
427
+ croppingElementId: string | null;
412
428
  searchMatches: readonly {
413
429
  id: string;
414
430
  focus: boolean;