@dwelle/excalidraw 0.4.0-d8d86cf → 0.4.0-e03b600

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 (203) hide show
  1. package/CHANGELOG.md +458 -0
  2. package/README.md +18 -1422
  3. package/dist/excalidraw.development.js +1882 -498
  4. package/dist/excalidraw.production.min.js +1 -1
  5. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -0
  6. package/package.json +3 -3
  7. package/types/actions/actionAddToLibrary.d.ts +68 -34
  8. package/types/actions/actionAlign.d.ts +12 -18
  9. package/types/actions/actionBoundText.d.ts +158 -19
  10. package/types/actions/actionCanvas.d.ts +544 -118
  11. package/types/actions/actionClipboard.d.ts +132 -59
  12. package/types/actions/actionDeleteSelected.d.ts +72 -41
  13. package/types/actions/actionDistribute.d.ts +2 -6
  14. package/types/actions/actionDuplicateSelection.d.ts +2 -4
  15. package/types/actions/actionElementLock.d.ts +254 -0
  16. package/types/actions/actionExport.d.ts +215 -131
  17. package/types/actions/actionFinalize.d.ts +47 -27
  18. package/types/actions/actionFlip.d.ts +2 -4
  19. package/types/actions/actionFrame.d.ts +397 -0
  20. package/types/actions/actionGroup.d.ts +6 -10
  21. package/types/actions/actionHistory.d.ts +1 -1
  22. package/types/actions/actionLinearEditor.d.ts +25 -13
  23. package/types/actions/actionMenu.d.ts +73 -46
  24. package/types/actions/actionNavigate.d.ts +2 -3
  25. package/types/actions/actionProperties.d.ts +315 -198
  26. package/types/actions/actionStyles.d.ts +23 -12
  27. package/types/actions/actionToggleGridMode.d.ts +25 -12
  28. package/types/actions/actionToggleStats.d.ts +24 -12
  29. package/types/actions/actionToggleViewMode.d.ts +25 -12
  30. package/types/actions/actionToggleZenMode.d.ts +25 -12
  31. package/types/actions/actionZindex.d.ts +8 -16
  32. package/types/actions/index.d.ts +1 -1
  33. package/types/actions/manager.d.ts +3 -2
  34. package/types/actions/shortcuts.d.ts +2 -1
  35. package/types/actions/types.d.ts +13 -11
  36. package/types/appState.d.ts +16 -12
  37. package/types/charts.d.ts +2 -2
  38. package/types/clients.d.ts +5 -6
  39. package/types/clipboard.d.ts +2 -2
  40. package/types/colors.d.ts +60 -5
  41. package/types/components/Actions.d.ts +5 -5
  42. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  43. package/types/components/App.d.ts +58 -68
  44. package/types/components/Avatar.d.ts +1 -2
  45. package/types/components/BraveMeasureTextError.d.ts +2 -0
  46. package/types/components/Button.d.ts +17 -0
  47. package/types/components/ButtonIconSelect.d.ts +11 -3
  48. package/types/components/Card.d.ts +7 -0
  49. package/types/components/ColorPicker/ColorInput.d.ts +7 -0
  50. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  51. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  52. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  53. package/types/components/ColorPicker/Picker.d.ts +18 -0
  54. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  55. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  56. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  57. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  58. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  59. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +21 -0
  60. package/types/components/ContextMenu.d.ts +9 -22
  61. package/types/components/DefaultSidebar.d.ts +30 -0
  62. package/types/components/Dialog.d.ts +3 -4
  63. package/types/components/ErrorDialog.d.ts +3 -2
  64. package/types/components/EyeDropper.d.ts +18 -0
  65. package/types/components/FilledButton.d.ts +17 -0
  66. package/types/components/FixedSideContainer.d.ts +1 -1
  67. package/types/components/HandButton.d.ts +10 -0
  68. package/types/components/HelpButton.d.ts +1 -2
  69. package/types/components/HintViewer.d.ts +2 -2
  70. package/types/components/HomeButton.d.ts +1 -1
  71. package/types/components/ImageExportDialog.d.ts +8 -13
  72. package/types/components/Island.d.ts +1 -1
  73. package/types/components/JSONExportDialog.d.ts +6 -4
  74. package/types/components/LayerUI.d.ts +7 -15
  75. package/types/components/LibraryMenu.d.ts +13 -14
  76. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  77. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  78. package/types/components/LibraryMenuHeaderContent.d.ts +11 -5
  79. package/types/components/LibraryMenuItems.d.ts +6 -7
  80. package/types/components/LibraryMenuSection.d.ts +22 -0
  81. package/types/components/LibraryUnit.d.ts +7 -3
  82. package/types/components/LockButton.d.ts +1 -2
  83. package/types/components/MobileMenu.d.ts +8 -11
  84. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  85. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  86. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  87. package/types/components/PasteChartDialog.d.ts +4 -5
  88. package/types/components/PenModeButton.d.ts +1 -1
  89. package/types/components/Popover.d.ts +1 -1
  90. package/types/components/ProjectName.d.ts +2 -1
  91. package/types/components/PublishLibrary.d.ts +2 -2
  92. package/types/components/RadioGroup.d.ts +12 -0
  93. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  94. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  95. package/types/components/Sidebar/SidebarTab.d.ts +9 -0
  96. package/types/components/Sidebar/SidebarTabTrigger.d.ts +10 -0
  97. package/types/components/Sidebar/SidebarTabTriggers.d.ts +7 -0
  98. package/types/components/Sidebar/SidebarTabs.d.ts +7 -0
  99. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  100. package/types/components/Sidebar/common.d.ts +24 -7
  101. package/types/components/Spinner.d.ts +2 -1
  102. package/types/components/Stack.d.ts +4 -3
  103. package/types/components/Stats.d.ts +3 -3
  104. package/types/components/Switch.d.ts +9 -0
  105. package/types/components/ToolButton.d.ts +6 -5
  106. package/types/components/Tooltip.d.ts +1 -1
  107. package/types/components/Trans.d.ts +8 -0
  108. package/types/components/UserList.d.ts +0 -2
  109. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -0
  110. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  111. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  112. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  113. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  114. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  115. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  116. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  117. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -0
  118. package/types/components/dropdownMenu/common.d.ts +6 -0
  119. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  120. package/types/components/footer/Footer.d.ts +12 -0
  121. package/types/components/footer/FooterCenter.d.ts +8 -0
  122. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  123. package/types/components/icons.d.ts +14 -2
  124. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
  125. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  126. package/types/components/main-menu/MainMenu.d.ts +61 -0
  127. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  128. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  129. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -0
  130. package/types/constants.d.ts +73 -16
  131. package/types/context/tunnels.d.ts +19 -0
  132. package/types/context/ui-appState.d.ts +4 -0
  133. package/types/data/blob.d.ts +3 -2
  134. package/types/data/encode.d.ts +1 -1
  135. package/types/data/filesystem.d.ts +2 -1
  136. package/types/data/index.d.ts +1 -1
  137. package/types/data/library.d.ts +3 -45
  138. package/types/data/restore.d.ts +10 -4
  139. package/types/data/types.d.ts +3 -5
  140. package/types/element/Hyperlink.d.ts +27 -18
  141. package/types/element/binding.d.ts +3 -3
  142. package/types/element/bounds.d.ts +32 -7
  143. package/types/element/collision.d.ts +7 -7
  144. package/types/element/dragElements.d.ts +2 -1
  145. package/types/element/image.d.ts +11 -1
  146. package/types/element/index.d.ts +3 -2
  147. package/types/element/linearElementEditor.d.ts +24 -13
  148. package/types/element/mutateElement.d.ts +2 -1
  149. package/types/element/newElement.d.ts +37 -11
  150. package/types/element/resizeElements.d.ts +1 -0
  151. package/types/element/showSelectedShapeActions.d.ts +2 -2
  152. package/types/element/sortElements.d.ts +2 -0
  153. package/types/element/textElement.d.ts +40 -5
  154. package/types/element/textWysiwyg.d.ts +6 -1
  155. package/types/element/transformHandles.d.ts +12 -5
  156. package/types/element/typeChecks.d.ts +12 -2
  157. package/types/element/types.d.ts +53 -36
  158. package/types/emitter.d.ts +1 -1
  159. package/types/errors.d.ts +1 -1
  160. package/types/frame.d.ts +40 -0
  161. package/types/ga.d.ts +5 -5
  162. package/types/groups.d.ts +4 -0
  163. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  164. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  165. package/types/hooks/useOutsideClick.d.ts +19 -1
  166. package/types/hooks/useScrollPosition.d.ts +2 -0
  167. package/types/hooks/useTransition.d.ts +2 -0
  168. package/types/i18n.d.ts +7 -1
  169. package/types/jotai.d.ts +20 -108
  170. package/types/keys.d.ts +4 -4
  171. package/types/math.d.ts +4 -1
  172. package/types/packages/excalidraw/example/App.d.ts +7 -1
  173. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  174. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  175. package/types/packages/excalidraw/example/initialData.d.ts +6 -0
  176. package/types/packages/excalidraw/index.d.ts +17 -3
  177. package/types/packages/utils.d.ts +26 -25
  178. package/types/renderer/renderElement.d.ts +7 -5
  179. package/types/renderer/renderScene.d.ts +13 -6
  180. package/types/renderer/roundRect.d.ts +1 -1
  181. package/types/scene/Scene.d.ts +12 -5
  182. package/types/scene/comparisons.d.ts +1 -1
  183. package/types/scene/export.d.ts +157 -10
  184. package/types/scene/index.d.ts +1 -1
  185. package/types/scene/selection.d.ts +15 -5
  186. package/types/scene/types.d.ts +13 -5
  187. package/types/types.d.ts +126 -77
  188. package/types/utility-types.d.ts +22 -0
  189. package/types/utils.d.ts +30 -9
  190. package/types/zindex.d.ts +4 -4
  191. package/types/actions/actionToggleLock.d.ts +0 -116
  192. package/types/components/ActiveFile.d.ts +0 -7
  193. package/types/components/ClearCanvas.d.ts +0 -4
  194. package/types/components/CollabButton.d.ts +0 -6
  195. package/types/components/ColorPicker.d.ts +0 -14
  196. package/types/components/Footer.d.ts +0 -10
  197. package/types/components/LibraryButton.d.ts +0 -8
  198. package/types/components/MenuItem.d.ts +0 -11
  199. package/types/components/MenuUtils.d.ts +0 -1
  200. package/types/components/SingleLibraryItem.d.ts +0 -10
  201. package/types/components/WelcomeScreen.d.ts +0 -10
  202. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  203. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
@@ -7,6 +7,21 @@ export declare const actionCopy: {
7
7
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => {
8
8
  commitToHistory: false;
9
9
  };
10
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
11
+ contextItemLabel: string;
12
+ keyTest: undefined;
13
+ } & {
14
+ keyTest?: undefined;
15
+ };
16
+ export declare const actionPaste: {
17
+ name: "paste";
18
+ trackEvent: {
19
+ category: "element";
20
+ };
21
+ perform: (elements: any, appStates: any, data: any, app: import("../types").AppClassProperties) => {
22
+ commitToHistory: false;
23
+ };
24
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
10
25
  contextItemLabel: string;
11
26
  keyTest: undefined;
12
27
  } & {
@@ -21,9 +36,14 @@ export declare const actionCut: {
21
36
  elements: import("../element/types").ExcalidrawElement[];
22
37
  appState: {
23
38
  editingLinearElement: null;
39
+ contextMenu: {
40
+ items: import("../components/ContextMenu").ContextMenuItems;
41
+ top: number;
42
+ left: number;
43
+ } | null;
24
44
  showWelcomeScreen: boolean;
25
45
  isLoading: boolean;
26
- errorMessage: string | null;
46
+ errorMessage: import("react").ReactNode;
27
47
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
48
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
29
49
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -31,18 +51,21 @@ export declare const actionCut: {
31
51
  isBindingEnabled: boolean;
32
52
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
33
53
  suggestedBindings: import("../element/binding").SuggestedBinding[];
54
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
55
+ shouldRenderFrames: boolean;
56
+ editingFrame: string | null;
57
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
34
58
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
35
59
  activeTool: {
36
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
37
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
60
+ lastActiveTool: import("../types").LastActiveTool;
38
61
  locked: boolean;
62
+ } & ({
63
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
39
64
  customType: null;
40
65
  } | {
41
66
  type: "custom";
42
67
  customType: string;
43
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
44
- locked: boolean;
45
- };
68
+ });
46
69
  penMode: boolean;
47
70
  penDetected: boolean;
48
71
  exportBackground: boolean;
@@ -59,10 +82,9 @@ export declare const actionCut: {
59
82
  currentItemFontFamily: number;
60
83
  currentItemFontSize: number;
61
84
  currentItemTextAlign: string;
62
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
63
85
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
64
86
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
65
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
87
+ currentItemRoundness: import("../element/types").StrokeRoundness;
66
88
  viewBackgroundColor: string;
67
89
  scrollX: number;
68
90
  scrollY: number;
@@ -75,10 +97,13 @@ export declare const actionCut: {
75
97
  value: import("../types").NormalizedZoomValue;
76
98
  }>;
77
99
  openMenu: "canvas" | "shape" | null;
78
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
79
- openSidebar: "library" | "customSidebar" | null;
80
- openDialog: "imageExport" | "help" | null;
81
- isSidebarDocked: boolean;
100
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
101
+ openSidebar: {
102
+ name: string;
103
+ tab?: string | undefined;
104
+ } | null;
105
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
106
+ defaultSidebarDockedPreference: boolean;
82
107
  lastPointerDownWith: import("../element/types").PointerType;
83
108
  selectedElementIds: {
84
109
  [id: string]: boolean;
@@ -86,6 +111,7 @@ export declare const actionCut: {
86
111
  previousSelectedElementIds: {
87
112
  [id: string]: boolean;
88
113
  };
114
+ selectedElementsAreBeingDragged: boolean;
89
115
  shouldCacheIgnoreZoom: boolean;
90
116
  toast: {
91
117
  message: string;
@@ -152,9 +178,14 @@ export declare const actionCut: {
152
178
  hoverPointIndex: number;
153
179
  segmentMidPointHoveredCoords: readonly [number, number] | null;
154
180
  };
181
+ contextMenu: {
182
+ items: import("../components/ContextMenu").ContextMenuItems;
183
+ top: number;
184
+ left: number;
185
+ } | null;
155
186
  showWelcomeScreen: boolean;
156
187
  isLoading: boolean;
157
- errorMessage: string | null;
188
+ errorMessage: import("react").ReactNode;
158
189
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
159
190
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
160
191
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -162,18 +193,21 @@ export declare const actionCut: {
162
193
  isBindingEnabled: boolean;
163
194
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
164
195
  suggestedBindings: import("../element/binding").SuggestedBinding[];
196
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
197
+ shouldRenderFrames: boolean;
198
+ editingFrame: string | null;
199
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
165
200
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
166
201
  activeTool: {
167
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
168
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
202
+ lastActiveTool: import("../types").LastActiveTool;
169
203
  locked: boolean;
204
+ } & ({
205
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
170
206
  customType: null;
171
207
  } | {
172
208
  type: "custom";
173
209
  customType: string;
174
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
175
- locked: boolean;
176
- };
210
+ });
177
211
  penMode: boolean;
178
212
  penDetected: boolean;
179
213
  exportBackground: boolean;
@@ -190,10 +224,9 @@ export declare const actionCut: {
190
224
  currentItemFontFamily: number;
191
225
  currentItemFontSize: number;
192
226
  currentItemTextAlign: string;
193
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
194
227
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
195
228
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
196
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
229
+ currentItemRoundness: import("../element/types").StrokeRoundness;
197
230
  viewBackgroundColor: string;
198
231
  scrollX: number;
199
232
  scrollY: number;
@@ -206,10 +239,13 @@ export declare const actionCut: {
206
239
  value: import("../types").NormalizedZoomValue;
207
240
  }>;
208
241
  openMenu: "canvas" | "shape" | null;
209
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
210
- openSidebar: "library" | "customSidebar" | null;
211
- openDialog: "imageExport" | "help" | null;
212
- isSidebarDocked: boolean;
242
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
243
+ openSidebar: {
244
+ name: string;
245
+ tab?: string | undefined;
246
+ } | null;
247
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
248
+ defaultSidebarDockedPreference: boolean;
213
249
  lastPointerDownWith: import("../element/types").PointerType;
214
250
  selectedElementIds: {
215
251
  [id: string]: boolean;
@@ -217,6 +253,7 @@ export declare const actionCut: {
217
253
  previousSelectedElementIds: {
218
254
  [id: string]: boolean;
219
255
  };
256
+ selectedElementsAreBeingDragged: boolean;
220
257
  shouldCacheIgnoreZoom: boolean;
221
258
  toast: {
222
259
  message: string;
@@ -255,27 +292,35 @@ export declare const actionCut: {
255
292
  elements: import("../element/types").ExcalidrawElement[];
256
293
  appState: {
257
294
  activeTool: {
258
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
259
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
295
+ lastActiveTool: import("../types").LastActiveTool;
260
296
  locked: boolean;
297
+ } & ({
298
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
261
299
  customType: null;
262
300
  } | {
263
301
  type: "custom";
264
302
  customType: string;
265
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
266
- locked: boolean;
267
- };
303
+ });
268
304
  multiElement: null;
269
305
  selectedElementIds: {};
306
+ contextMenu: {
307
+ items: import("../components/ContextMenu").ContextMenuItems;
308
+ top: number;
309
+ left: number;
310
+ } | null;
270
311
  showWelcomeScreen: boolean;
271
312
  isLoading: boolean;
272
- errorMessage: string | null;
313
+ errorMessage: import("react").ReactNode;
273
314
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
274
315
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
275
316
  selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
276
317
  isBindingEnabled: boolean;
277
318
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
278
319
  suggestedBindings: import("../element/binding").SuggestedBinding[];
320
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
321
+ shouldRenderFrames: boolean;
322
+ editingFrame: string | null;
323
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
279
324
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
280
325
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
281
326
  penMode: boolean;
@@ -294,10 +339,9 @@ export declare const actionCut: {
294
339
  currentItemFontFamily: number;
295
340
  currentItemFontSize: number;
296
341
  currentItemTextAlign: string;
297
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
298
342
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
299
343
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
300
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
344
+ currentItemRoundness: import("../element/types").StrokeRoundness;
301
345
  viewBackgroundColor: string;
302
346
  scrollX: number;
303
347
  scrollY: number;
@@ -310,14 +354,18 @@ export declare const actionCut: {
310
354
  value: import("../types").NormalizedZoomValue;
311
355
  }>;
312
356
  openMenu: "canvas" | "shape" | null;
313
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
314
- openSidebar: "library" | "customSidebar" | null;
315
- openDialog: "imageExport" | "help" | null;
316
- isSidebarDocked: boolean;
357
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
358
+ openSidebar: {
359
+ name: string;
360
+ tab?: string | undefined;
361
+ } | null;
362
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
363
+ defaultSidebarDockedPreference: boolean;
317
364
  lastPointerDownWith: import("../element/types").PointerType;
318
365
  previousSelectedElementIds: {
319
366
  [id: string]: boolean;
320
367
  };
368
+ selectedElementsAreBeingDragged: boolean;
321
369
  shouldCacheIgnoreZoom: boolean;
322
370
  toast: {
323
371
  message: string;
@@ -353,6 +401,7 @@ export declare const actionCut: {
353
401
  };
354
402
  commitToHistory: boolean;
355
403
  };
404
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
356
405
  contextItemLabel: string;
357
406
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
358
407
  } & {
@@ -369,6 +418,11 @@ export declare const actionCopyAsSvg: {
369
418
  } | {
370
419
  appState: {
371
420
  errorMessage: any;
421
+ contextMenu: {
422
+ items: import("../components/ContextMenu").ContextMenuItems;
423
+ top: number;
424
+ left: number;
425
+ } | null;
372
426
  showWelcomeScreen: boolean;
373
427
  isLoading: boolean;
374
428
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -378,19 +432,22 @@ export declare const actionCopyAsSvg: {
378
432
  isBindingEnabled: boolean;
379
433
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
380
434
  suggestedBindings: import("../element/binding").SuggestedBinding[];
435
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
436
+ shouldRenderFrames: boolean;
437
+ editingFrame: string | null;
438
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
381
439
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
382
440
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
383
441
  activeTool: {
384
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
385
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
442
+ lastActiveTool: import("../types").LastActiveTool;
386
443
  locked: boolean;
444
+ } & ({
445
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
387
446
  customType: null;
388
447
  } | {
389
448
  type: "custom";
390
449
  customType: string;
391
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
392
- locked: boolean;
393
- };
450
+ });
394
451
  penMode: boolean;
395
452
  penDetected: boolean;
396
453
  exportBackground: boolean;
@@ -407,10 +464,9 @@ export declare const actionCopyAsSvg: {
407
464
  currentItemFontFamily: number;
408
465
  currentItemFontSize: number;
409
466
  currentItemTextAlign: string;
410
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
411
467
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
412
468
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
413
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
469
+ currentItemRoundness: import("../element/types").StrokeRoundness;
414
470
  viewBackgroundColor: string;
415
471
  scrollX: number;
416
472
  scrollY: number;
@@ -423,10 +479,13 @@ export declare const actionCopyAsSvg: {
423
479
  value: import("../types").NormalizedZoomValue;
424
480
  }>;
425
481
  openMenu: "canvas" | "shape" | null;
426
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
427
- openSidebar: "library" | "customSidebar" | null;
428
- openDialog: "imageExport" | "help" | null;
429
- isSidebarDocked: boolean;
482
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
483
+ openSidebar: {
484
+ name: string;
485
+ tab?: string | undefined;
486
+ } | null;
487
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
488
+ defaultSidebarDockedPreference: boolean;
430
489
  lastPointerDownWith: import("../element/types").PointerType;
431
490
  selectedElementIds: {
432
491
  [id: string]: boolean;
@@ -434,6 +493,7 @@ export declare const actionCopyAsSvg: {
434
493
  previousSelectedElementIds: {
435
494
  [id: string]: boolean;
436
495
  };
496
+ selectedElementsAreBeingDragged: boolean;
437
497
  shouldCacheIgnoreZoom: boolean;
438
498
  toast: {
439
499
  message: string;
@@ -469,6 +529,7 @@ export declare const actionCopyAsSvg: {
469
529
  };
470
530
  commitToHistory: false;
471
531
  }>;
532
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[]) => boolean;
472
533
  contextItemLabel: string;
473
534
  } & {
474
535
  keyTest?: undefined;
@@ -484,6 +545,11 @@ export declare const actionCopyAsPng: {
484
545
  } | {
485
546
  appState: {
486
547
  errorMessage: any;
548
+ contextMenu: {
549
+ items: import("../components/ContextMenu").ContextMenuItems;
550
+ top: number;
551
+ left: number;
552
+ } | null;
487
553
  showWelcomeScreen: boolean;
488
554
  isLoading: boolean;
489
555
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -493,19 +559,22 @@ export declare const actionCopyAsPng: {
493
559
  isBindingEnabled: boolean;
494
560
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
495
561
  suggestedBindings: import("../element/binding").SuggestedBinding[];
562
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
563
+ shouldRenderFrames: boolean;
564
+ editingFrame: string | null;
565
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
496
566
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
497
567
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
498
568
  activeTool: {
499
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
500
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
569
+ lastActiveTool: import("../types").LastActiveTool;
501
570
  locked: boolean;
571
+ } & ({
572
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
502
573
  customType: null;
503
574
  } | {
504
575
  type: "custom";
505
576
  customType: string;
506
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
507
- locked: boolean;
508
- };
577
+ });
509
578
  penMode: boolean;
510
579
  penDetected: boolean;
511
580
  exportBackground: boolean;
@@ -522,10 +591,9 @@ export declare const actionCopyAsPng: {
522
591
  currentItemFontFamily: number;
523
592
  currentItemFontSize: number;
524
593
  currentItemTextAlign: string;
525
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
526
594
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
527
595
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
528
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
596
+ currentItemRoundness: import("../element/types").StrokeRoundness;
529
597
  viewBackgroundColor: string;
530
598
  scrollX: number;
531
599
  scrollY: number;
@@ -538,10 +606,13 @@ export declare const actionCopyAsPng: {
538
606
  value: import("../types").NormalizedZoomValue;
539
607
  }>;
540
608
  openMenu: "canvas" | "shape" | null;
541
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
542
- openSidebar: "library" | "customSidebar" | null;
543
- openDialog: "imageExport" | "help" | null;
544
- isSidebarDocked: boolean;
609
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
610
+ openSidebar: {
611
+ name: string;
612
+ tab?: string | undefined;
613
+ } | null;
614
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
615
+ defaultSidebarDockedPreference: boolean;
545
616
  lastPointerDownWith: import("../element/types").PointerType;
546
617
  selectedElementIds: {
547
618
  [id: string]: boolean;
@@ -549,6 +620,7 @@ export declare const actionCopyAsPng: {
549
620
  previousSelectedElementIds: {
550
621
  [id: string]: boolean;
551
622
  };
623
+ selectedElementsAreBeingDragged: boolean;
552
624
  shouldCacheIgnoreZoom: boolean;
553
625
  toast: {
554
626
  message: string;
@@ -584,6 +656,7 @@ export declare const actionCopyAsPng: {
584
656
  };
585
657
  commitToHistory: false;
586
658
  }>;
659
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[]) => boolean;
587
660
  contextItemLabel: string;
588
661
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
589
662
  } & {
@@ -597,7 +670,7 @@ export declare const copyText: {
597
670
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
598
671
  commitToHistory: false;
599
672
  };
600
- contextItemPredicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
673
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
601
674
  contextItemLabel: string;
602
675
  } & {
603
676
  keyTest?: undefined;