@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
@@ -6,9 +6,14 @@ export declare const actionChangeProjectName: {
6
6
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
7
7
  appState: {
8
8
  name: any;
9
+ contextMenu: {
10
+ items: import("../components/ContextMenu").ContextMenuItems;
11
+ top: number;
12
+ left: number;
13
+ } | null;
9
14
  showWelcomeScreen: boolean;
10
15
  isLoading: boolean;
11
- errorMessage: string | null;
16
+ errorMessage: import("react").ReactNode;
12
17
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
13
18
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
14
19
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -16,19 +21,22 @@ export declare const actionChangeProjectName: {
16
21
  isBindingEnabled: boolean;
17
22
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
18
23
  suggestedBindings: import("../element/binding").SuggestedBinding[];
24
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
25
+ shouldRenderFrames: boolean;
26
+ editingFrame: string | null;
27
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
19
28
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
20
29
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
21
30
  activeTool: {
22
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
23
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
31
+ lastActiveTool: import("../types").LastActiveTool;
24
32
  locked: boolean;
33
+ } & ({
34
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
25
35
  customType: null;
26
36
  } | {
27
37
  type: "custom";
28
38
  customType: string;
29
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
30
- locked: boolean;
31
- };
39
+ });
32
40
  penMode: boolean;
33
41
  penDetected: boolean;
34
42
  exportBackground: boolean;
@@ -45,10 +53,9 @@ export declare const actionChangeProjectName: {
45
53
  currentItemFontFamily: number;
46
54
  currentItemFontSize: number;
47
55
  currentItemTextAlign: string;
48
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
49
56
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
50
57
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
51
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
58
+ currentItemRoundness: import("../element/types").StrokeRoundness;
52
59
  viewBackgroundColor: string;
53
60
  scrollX: number;
54
61
  scrollY: number;
@@ -60,10 +67,13 @@ export declare const actionChangeProjectName: {
60
67
  value: import("../types").NormalizedZoomValue;
61
68
  }>;
62
69
  openMenu: "canvas" | "shape" | null;
63
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
64
- openSidebar: "library" | "customSidebar" | null;
65
- openDialog: "imageExport" | "help" | null;
66
- isSidebarDocked: boolean;
70
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
71
+ openSidebar: {
72
+ name: string;
73
+ tab?: string | undefined;
74
+ } | null;
75
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
76
+ defaultSidebarDockedPreference: boolean;
67
77
  lastPointerDownWith: import("../element/types").PointerType;
68
78
  selectedElementIds: {
69
79
  [id: string]: boolean;
@@ -71,6 +81,7 @@ export declare const actionChangeProjectName: {
71
81
  previousSelectedElementIds: {
72
82
  [id: string]: boolean;
73
83
  };
84
+ selectedElementsAreBeingDragged: boolean;
74
85
  shouldCacheIgnoreZoom: boolean;
75
86
  toast: {
76
87
  message: string;
@@ -106,9 +117,7 @@ export declare const actionChangeProjectName: {
106
117
  };
107
118
  commitToHistory: false;
108
119
  };
109
- PanelComponent: ({ appState, updateData, appProps }: import("./types").PanelComponentProps & {
110
- isInHamburgerMenu: boolean;
111
- }) => JSX.Element;
120
+ PanelComponent: ({ appState, updateData, appProps, data }: import("./types").PanelComponentProps) => JSX.Element;
112
121
  } & {
113
122
  keyTest?: undefined;
114
123
  };
@@ -121,9 +130,14 @@ export declare const actionChangeExportScale: {
121
130
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
122
131
  appState: {
123
132
  exportScale: any;
133
+ contextMenu: {
134
+ items: import("../components/ContextMenu").ContextMenuItems;
135
+ top: number;
136
+ left: number;
137
+ } | null;
124
138
  showWelcomeScreen: boolean;
125
139
  isLoading: boolean;
126
- errorMessage: string | null;
140
+ errorMessage: import("react").ReactNode;
127
141
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
128
142
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
129
143
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -131,19 +145,22 @@ export declare const actionChangeExportScale: {
131
145
  isBindingEnabled: boolean;
132
146
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
133
147
  suggestedBindings: import("../element/binding").SuggestedBinding[];
148
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
149
+ shouldRenderFrames: boolean;
150
+ editingFrame: string | null;
151
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
134
152
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
135
153
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
136
154
  activeTool: {
137
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
138
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
155
+ lastActiveTool: import("../types").LastActiveTool;
139
156
  locked: boolean;
157
+ } & ({
158
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
140
159
  customType: null;
141
160
  } | {
142
161
  type: "custom";
143
162
  customType: string;
144
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
145
- locked: boolean;
146
- };
163
+ });
147
164
  penMode: boolean;
148
165
  penDetected: boolean;
149
166
  exportBackground: boolean;
@@ -159,10 +176,9 @@ export declare const actionChangeExportScale: {
159
176
  currentItemFontFamily: number;
160
177
  currentItemFontSize: number;
161
178
  currentItemTextAlign: string;
162
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
163
179
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
164
180
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
165
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
181
+ currentItemRoundness: import("../element/types").StrokeRoundness;
166
182
  viewBackgroundColor: string;
167
183
  scrollX: number;
168
184
  scrollY: number;
@@ -175,10 +191,13 @@ export declare const actionChangeExportScale: {
175
191
  value: import("../types").NormalizedZoomValue;
176
192
  }>;
177
193
  openMenu: "canvas" | "shape" | null;
178
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
179
- openSidebar: "library" | "customSidebar" | null;
180
- openDialog: "imageExport" | "help" | null;
181
- isSidebarDocked: boolean;
194
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
195
+ openSidebar: {
196
+ name: string;
197
+ tab?: string | undefined;
198
+ } | null;
199
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
200
+ defaultSidebarDockedPreference: boolean;
182
201
  lastPointerDownWith: import("../element/types").PointerType;
183
202
  selectedElementIds: {
184
203
  [id: string]: boolean;
@@ -186,6 +205,7 @@ export declare const actionChangeExportScale: {
186
205
  previousSelectedElementIds: {
187
206
  [id: string]: boolean;
188
207
  };
208
+ selectedElementsAreBeingDragged: boolean;
189
209
  shouldCacheIgnoreZoom: boolean;
190
210
  toast: {
191
211
  message: string;
@@ -221,9 +241,7 @@ export declare const actionChangeExportScale: {
221
241
  };
222
242
  commitToHistory: false;
223
243
  };
224
- PanelComponent: ({ elements: allElements, appState, updateData }: import("./types").PanelComponentProps & {
225
- isInHamburgerMenu: boolean;
226
- }) => JSX.Element;
244
+ PanelComponent: ({ elements: allElements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
227
245
  } & {
228
246
  keyTest?: undefined;
229
247
  };
@@ -236,9 +254,14 @@ export declare const actionChangeExportBackground: {
236
254
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
237
255
  appState: {
238
256
  exportBackground: any;
257
+ contextMenu: {
258
+ items: import("../components/ContextMenu").ContextMenuItems;
259
+ top: number;
260
+ left: number;
261
+ } | null;
239
262
  showWelcomeScreen: boolean;
240
263
  isLoading: boolean;
241
- errorMessage: string | null;
264
+ errorMessage: import("react").ReactNode;
242
265
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
243
266
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
244
267
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -246,19 +269,22 @@ export declare const actionChangeExportBackground: {
246
269
  isBindingEnabled: boolean;
247
270
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
248
271
  suggestedBindings: import("../element/binding").SuggestedBinding[];
272
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
273
+ shouldRenderFrames: boolean;
274
+ editingFrame: string | null;
275
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
249
276
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
250
277
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
251
278
  activeTool: {
252
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
253
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
279
+ lastActiveTool: import("../types").LastActiveTool;
254
280
  locked: boolean;
281
+ } & ({
282
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
255
283
  customType: null;
256
284
  } | {
257
285
  type: "custom";
258
286
  customType: string;
259
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
260
- locked: boolean;
261
- };
287
+ });
262
288
  penMode: boolean;
263
289
  penDetected: boolean;
264
290
  exportEmbedScene: boolean;
@@ -274,10 +300,9 @@ export declare const actionChangeExportBackground: {
274
300
  currentItemFontFamily: number;
275
301
  currentItemFontSize: number;
276
302
  currentItemTextAlign: string;
277
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
278
303
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
279
304
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
280
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
305
+ currentItemRoundness: import("../element/types").StrokeRoundness;
281
306
  viewBackgroundColor: string;
282
307
  scrollX: number;
283
308
  scrollY: number;
@@ -290,10 +315,13 @@ export declare const actionChangeExportBackground: {
290
315
  value: import("../types").NormalizedZoomValue;
291
316
  }>;
292
317
  openMenu: "canvas" | "shape" | null;
293
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
294
- openSidebar: "library" | "customSidebar" | null;
295
- openDialog: "imageExport" | "help" | null;
296
- isSidebarDocked: boolean;
318
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
319
+ openSidebar: {
320
+ name: string;
321
+ tab?: string | undefined;
322
+ } | null;
323
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
324
+ defaultSidebarDockedPreference: boolean;
297
325
  lastPointerDownWith: import("../element/types").PointerType;
298
326
  selectedElementIds: {
299
327
  [id: string]: boolean;
@@ -301,6 +329,7 @@ export declare const actionChangeExportBackground: {
301
329
  previousSelectedElementIds: {
302
330
  [id: string]: boolean;
303
331
  };
332
+ selectedElementsAreBeingDragged: boolean;
304
333
  shouldCacheIgnoreZoom: boolean;
305
334
  toast: {
306
335
  message: string;
@@ -336,9 +365,7 @@ export declare const actionChangeExportBackground: {
336
365
  };
337
366
  commitToHistory: false;
338
367
  };
339
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps & {
340
- isInHamburgerMenu: boolean;
341
- }) => JSX.Element;
368
+ PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
342
369
  } & {
343
370
  keyTest?: undefined;
344
371
  };
@@ -351,9 +378,14 @@ export declare const actionChangeExportEmbedScene: {
351
378
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
352
379
  appState: {
353
380
  exportEmbedScene: any;
381
+ contextMenu: {
382
+ items: import("../components/ContextMenu").ContextMenuItems;
383
+ top: number;
384
+ left: number;
385
+ } | null;
354
386
  showWelcomeScreen: boolean;
355
387
  isLoading: boolean;
356
- errorMessage: string | null;
388
+ errorMessage: import("react").ReactNode;
357
389
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
358
390
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
359
391
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -361,19 +393,22 @@ export declare const actionChangeExportEmbedScene: {
361
393
  isBindingEnabled: boolean;
362
394
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
363
395
  suggestedBindings: import("../element/binding").SuggestedBinding[];
396
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
397
+ shouldRenderFrames: boolean;
398
+ editingFrame: string | null;
399
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
364
400
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
365
401
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
366
402
  activeTool: {
367
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
368
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
403
+ lastActiveTool: import("../types").LastActiveTool;
369
404
  locked: boolean;
405
+ } & ({
406
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
370
407
  customType: null;
371
408
  } | {
372
409
  type: "custom";
373
410
  customType: string;
374
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
375
- locked: boolean;
376
- };
411
+ });
377
412
  penMode: boolean;
378
413
  penDetected: boolean;
379
414
  exportBackground: boolean;
@@ -389,10 +424,9 @@ export declare const actionChangeExportEmbedScene: {
389
424
  currentItemFontFamily: number;
390
425
  currentItemFontSize: number;
391
426
  currentItemTextAlign: string;
392
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
393
427
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
394
428
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
395
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
429
+ currentItemRoundness: import("../element/types").StrokeRoundness;
396
430
  viewBackgroundColor: string;
397
431
  scrollX: number;
398
432
  scrollY: number;
@@ -405,10 +439,13 @@ export declare const actionChangeExportEmbedScene: {
405
439
  value: import("../types").NormalizedZoomValue;
406
440
  }>;
407
441
  openMenu: "canvas" | "shape" | null;
408
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
409
- openSidebar: "library" | "customSidebar" | null;
410
- openDialog: "imageExport" | "help" | null;
411
- isSidebarDocked: boolean;
442
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
443
+ openSidebar: {
444
+ name: string;
445
+ tab?: string | undefined;
446
+ } | null;
447
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
448
+ defaultSidebarDockedPreference: boolean;
412
449
  lastPointerDownWith: import("../element/types").PointerType;
413
450
  selectedElementIds: {
414
451
  [id: string]: boolean;
@@ -416,6 +453,7 @@ export declare const actionChangeExportEmbedScene: {
416
453
  previousSelectedElementIds: {
417
454
  [id: string]: boolean;
418
455
  };
456
+ selectedElementsAreBeingDragged: boolean;
419
457
  shouldCacheIgnoreZoom: boolean;
420
458
  toast: {
421
459
  message: string;
@@ -451,9 +489,7 @@ export declare const actionChangeExportEmbedScene: {
451
489
  };
452
490
  commitToHistory: false;
453
491
  };
454
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps & {
455
- isInHamburgerMenu: boolean;
456
- }) => JSX.Element;
492
+ PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
457
493
  } & {
458
494
  keyTest?: undefined;
459
495
  };
@@ -462,6 +498,7 @@ export declare const actionSaveToActiveFile: {
462
498
  trackEvent: {
463
499
  category: "export";
464
500
  };
501
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
465
502
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
466
503
  commitToHistory: false;
467
504
  appState: {
@@ -469,9 +506,14 @@ export declare const actionSaveToActiveFile: {
469
506
  toast: {
470
507
  message: string;
471
508
  } | null;
509
+ contextMenu: {
510
+ items: import("../components/ContextMenu").ContextMenuItems;
511
+ top: number;
512
+ left: number;
513
+ } | null;
472
514
  showWelcomeScreen: boolean;
473
515
  isLoading: boolean;
474
- errorMessage: string | null;
516
+ errorMessage: import("react").ReactNode;
475
517
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
476
518
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
477
519
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -479,19 +521,22 @@ export declare const actionSaveToActiveFile: {
479
521
  isBindingEnabled: boolean;
480
522
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
481
523
  suggestedBindings: import("../element/binding").SuggestedBinding[];
524
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
525
+ shouldRenderFrames: boolean;
526
+ editingFrame: string | null;
527
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
482
528
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
483
529
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
484
530
  activeTool: {
485
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
486
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
531
+ lastActiveTool: import("../types").LastActiveTool;
487
532
  locked: boolean;
533
+ } & ({
534
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
488
535
  customType: null;
489
536
  } | {
490
537
  type: "custom";
491
538
  customType: string;
492
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
493
- locked: boolean;
494
- };
539
+ });
495
540
  penMode: boolean;
496
541
  penDetected: boolean;
497
542
  exportBackground: boolean;
@@ -508,10 +553,9 @@ export declare const actionSaveToActiveFile: {
508
553
  currentItemFontFamily: number;
509
554
  currentItemFontSize: number;
510
555
  currentItemTextAlign: string;
511
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
512
556
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
513
557
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
514
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
558
+ currentItemRoundness: import("../element/types").StrokeRoundness;
515
559
  viewBackgroundColor: string;
516
560
  scrollX: number;
517
561
  scrollY: number;
@@ -524,10 +568,13 @@ export declare const actionSaveToActiveFile: {
524
568
  value: import("../types").NormalizedZoomValue;
525
569
  }>;
526
570
  openMenu: "canvas" | "shape" | null;
527
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
528
- openSidebar: "library" | "customSidebar" | null;
529
- openDialog: "imageExport" | "help" | null;
530
- isSidebarDocked: boolean;
571
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
572
+ openSidebar: {
573
+ name: string;
574
+ tab?: string | undefined;
575
+ } | null;
576
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
577
+ defaultSidebarDockedPreference: boolean;
531
578
  lastPointerDownWith: import("../element/types").PointerType;
532
579
  selectedElementIds: {
533
580
  [id: string]: boolean;
@@ -535,6 +582,7 @@ export declare const actionSaveToActiveFile: {
535
582
  previousSelectedElementIds: {
536
583
  [id: string]: boolean;
537
584
  };
585
+ selectedElementsAreBeingDragged: boolean;
538
586
  shouldCacheIgnoreZoom: boolean;
539
587
  zenModeEnabled: boolean;
540
588
  theme: string;
@@ -567,14 +615,12 @@ export declare const actionSaveToActiveFile: {
567
615
  appState?: undefined;
568
616
  }>;
569
617
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
570
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps & {
571
- isInHamburgerMenu: boolean;
572
- }) => JSX.Element;
573
618
  } & {
574
619
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
575
620
  };
576
621
  export declare const actionSaveFileToDisk: {
577
622
  name: "saveFileToDisk";
623
+ viewMode: true;
578
624
  trackEvent: {
579
625
  category: "export";
580
626
  };
@@ -582,9 +628,14 @@ export declare const actionSaveFileToDisk: {
582
628
  commitToHistory: false;
583
629
  appState: {
584
630
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
631
+ contextMenu: {
632
+ items: import("../components/ContextMenu").ContextMenuItems;
633
+ top: number;
634
+ left: number;
635
+ } | null;
585
636
  showWelcomeScreen: boolean;
586
637
  isLoading: boolean;
587
- errorMessage: string | null;
638
+ errorMessage: import("react").ReactNode;
588
639
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
589
640
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
590
641
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -592,19 +643,22 @@ export declare const actionSaveFileToDisk: {
592
643
  isBindingEnabled: boolean;
593
644
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
594
645
  suggestedBindings: import("../element/binding").SuggestedBinding[];
646
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
647
+ shouldRenderFrames: boolean;
648
+ editingFrame: string | null;
649
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
595
650
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
596
651
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
597
652
  activeTool: {
598
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
599
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
653
+ lastActiveTool: import("../types").LastActiveTool;
600
654
  locked: boolean;
655
+ } & ({
656
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
601
657
  customType: null;
602
658
  } | {
603
659
  type: "custom";
604
660
  customType: string;
605
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
606
- locked: boolean;
607
- };
661
+ });
608
662
  penMode: boolean;
609
663
  penDetected: boolean;
610
664
  exportBackground: boolean;
@@ -621,10 +675,9 @@ export declare const actionSaveFileToDisk: {
621
675
  currentItemFontFamily: number;
622
676
  currentItemFontSize: number;
623
677
  currentItemTextAlign: string;
624
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
625
678
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
626
679
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
627
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
680
+ currentItemRoundness: import("../element/types").StrokeRoundness;
628
681
  viewBackgroundColor: string;
629
682
  scrollX: number;
630
683
  scrollY: number;
@@ -637,10 +690,13 @@ export declare const actionSaveFileToDisk: {
637
690
  value: import("../types").NormalizedZoomValue;
638
691
  }>;
639
692
  openMenu: "canvas" | "shape" | null;
640
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
641
- openSidebar: "library" | "customSidebar" | null;
642
- openDialog: "imageExport" | "help" | null;
643
- isSidebarDocked: boolean;
693
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
694
+ openSidebar: {
695
+ name: string;
696
+ tab?: string | undefined;
697
+ } | null;
698
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
699
+ defaultSidebarDockedPreference: boolean;
644
700
  lastPointerDownWith: import("../element/types").PointerType;
645
701
  selectedElementIds: {
646
702
  [id: string]: boolean;
@@ -648,6 +704,7 @@ export declare const actionSaveFileToDisk: {
648
704
  previousSelectedElementIds: {
649
705
  [id: string]: boolean;
650
706
  };
707
+ selectedElementsAreBeingDragged: boolean;
651
708
  shouldCacheIgnoreZoom: boolean;
652
709
  toast: {
653
710
  message: string;
@@ -685,9 +742,7 @@ export declare const actionSaveFileToDisk: {
685
742
  appState?: undefined;
686
743
  }>;
687
744
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
688
- PanelComponent: ({ updateData }: import("./types").PanelComponentProps & {
689
- isInHamburgerMenu: boolean;
690
- }) => JSX.Element;
745
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
691
746
  } & {
692
747
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
693
748
  };
@@ -696,25 +751,30 @@ export declare const actionLoadScene: {
696
751
  trackEvent: {
697
752
  category: "export";
698
753
  };
754
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
699
755
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<false | {
700
756
  elements: import("../element/types").ExcalidrawElement[];
701
757
  appState: {
702
758
  theme: string;
703
759
  name: string;
704
760
  activeTool: {
705
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
706
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
761
+ lastActiveTool: import("../types").LastActiveTool;
707
762
  locked: boolean;
763
+ } & ({
764
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
708
765
  customType: null;
709
766
  } | {
710
767
  type: "custom";
711
768
  customType: string;
712
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
713
- locked: boolean;
714
- };
769
+ });
770
+ contextMenu: {
771
+ items: import("../components/ContextMenu").ContextMenuItems;
772
+ top: number;
773
+ left: number;
774
+ } | null;
715
775
  showWelcomeScreen: boolean;
716
776
  isLoading: boolean;
717
- errorMessage: string | null;
777
+ errorMessage: import("react").ReactNode;
718
778
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
719
779
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
720
780
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -722,6 +782,10 @@ export declare const actionLoadScene: {
722
782
  isBindingEnabled: boolean;
723
783
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
724
784
  suggestedBindings: import("../element/binding").SuggestedBinding[];
785
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
786
+ shouldRenderFrames: boolean;
787
+ editingFrame: string | null;
788
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
725
789
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
726
790
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
727
791
  penMode: boolean;
@@ -740,10 +804,9 @@ export declare const actionLoadScene: {
740
804
  currentItemFontFamily: number;
741
805
  currentItemFontSize: number;
742
806
  currentItemTextAlign: string;
743
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
744
807
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
745
808
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
746
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
809
+ currentItemRoundness: import("../element/types").StrokeRoundness;
747
810
  viewBackgroundColor: string;
748
811
  scrollX: number;
749
812
  scrollY: number;
@@ -755,10 +818,13 @@ export declare const actionLoadScene: {
755
818
  value: import("../types").NormalizedZoomValue;
756
819
  }>;
757
820
  openMenu: "canvas" | "shape" | null;
758
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
759
- openSidebar: "library" | "customSidebar" | null;
760
- openDialog: "imageExport" | "help" | null;
761
- isSidebarDocked: boolean;
821
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
822
+ openSidebar: {
823
+ name: string;
824
+ tab?: string | undefined;
825
+ } | null;
826
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
827
+ defaultSidebarDockedPreference: boolean;
762
828
  lastPointerDownWith: import("../element/types").PointerType;
763
829
  selectedElementIds: {
764
830
  [id: string]: boolean;
@@ -766,6 +832,7 @@ export declare const actionLoadScene: {
766
832
  previousSelectedElementIds: {
767
833
  [id: string]: boolean;
768
834
  };
835
+ selectedElementsAreBeingDragged: boolean;
769
836
  shouldCacheIgnoreZoom: boolean;
770
837
  toast: {
771
838
  message: string;
@@ -800,6 +867,11 @@ export declare const actionLoadScene: {
800
867
  elements: readonly import("../element/types").ExcalidrawElement[];
801
868
  appState: {
802
869
  errorMessage: any;
870
+ contextMenu: {
871
+ items: import("../components/ContextMenu").ContextMenuItems;
872
+ top: number;
873
+ left: number;
874
+ } | null;
803
875
  showWelcomeScreen: boolean;
804
876
  isLoading: boolean;
805
877
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -809,19 +881,22 @@ export declare const actionLoadScene: {
809
881
  isBindingEnabled: boolean;
810
882
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
811
883
  suggestedBindings: import("../element/binding").SuggestedBinding[];
884
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
885
+ shouldRenderFrames: boolean;
886
+ editingFrame: string | null;
887
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
812
888
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
813
889
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
814
890
  activeTool: {
815
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
816
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
891
+ lastActiveTool: import("../types").LastActiveTool;
817
892
  locked: boolean;
893
+ } & ({
894
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
818
895
  customType: null;
819
896
  } | {
820
897
  type: "custom";
821
898
  customType: string;
822
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
823
- locked: boolean;
824
- };
899
+ });
825
900
  penMode: boolean;
826
901
  penDetected: boolean;
827
902
  exportBackground: boolean;
@@ -838,10 +913,9 @@ export declare const actionLoadScene: {
838
913
  currentItemFontFamily: number;
839
914
  currentItemFontSize: number;
840
915
  currentItemTextAlign: string;
841
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
842
916
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
843
917
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
844
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
918
+ currentItemRoundness: import("../element/types").StrokeRoundness;
845
919
  viewBackgroundColor: string;
846
920
  scrollX: number;
847
921
  scrollY: number;
@@ -854,10 +928,13 @@ export declare const actionLoadScene: {
854
928
  value: import("../types").NormalizedZoomValue;
855
929
  }>;
856
930
  openMenu: "canvas" | "shape" | null;
857
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
858
- openSidebar: "library" | "customSidebar" | null;
859
- openDialog: "imageExport" | "help" | null;
860
- isSidebarDocked: boolean;
931
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
932
+ openSidebar: {
933
+ name: string;
934
+ tab?: string | undefined;
935
+ } | null;
936
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
937
+ defaultSidebarDockedPreference: boolean;
861
938
  lastPointerDownWith: import("../element/types").PointerType;
862
939
  selectedElementIds: {
863
940
  [id: string]: boolean;
@@ -865,6 +942,7 @@ export declare const actionLoadScene: {
865
942
  previousSelectedElementIds: {
866
943
  [id: string]: boolean;
867
944
  };
945
+ selectedElementsAreBeingDragged: boolean;
868
946
  shouldCacheIgnoreZoom: boolean;
869
947
  toast: {
870
948
  message: string;
@@ -902,9 +980,6 @@ export declare const actionLoadScene: {
902
980
  commitToHistory: false;
903
981
  }>;
904
982
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
905
- PanelComponent: ({ updateData }: import("./types").PanelComponentProps & {
906
- isInHamburgerMenu: boolean;
907
- }) => JSX.Element;
908
983
  } & {
909
984
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
910
985
  };
@@ -917,9 +992,14 @@ export declare const actionExportWithDarkMode: {
917
992
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
918
993
  appState: {
919
994
  exportWithDarkMode: any;
995
+ contextMenu: {
996
+ items: import("../components/ContextMenu").ContextMenuItems;
997
+ top: number;
998
+ left: number;
999
+ } | null;
920
1000
  showWelcomeScreen: boolean;
921
1001
  isLoading: boolean;
922
- errorMessage: string | null;
1002
+ errorMessage: import("react").ReactNode;
923
1003
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
924
1004
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
925
1005
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -927,19 +1007,22 @@ export declare const actionExportWithDarkMode: {
927
1007
  isBindingEnabled: boolean;
928
1008
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
929
1009
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1010
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1011
+ shouldRenderFrames: boolean;
1012
+ editingFrame: string | null;
1013
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
930
1014
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
931
1015
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
932
1016
  activeTool: {
933
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
934
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
1017
+ lastActiveTool: import("../types").LastActiveTool;
935
1018
  locked: boolean;
1019
+ } & ({
1020
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
936
1021
  customType: null;
937
1022
  } | {
938
1023
  type: "custom";
939
1024
  customType: string;
940
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
941
- locked: boolean;
942
- };
1025
+ });
943
1026
  penMode: boolean;
944
1027
  penDetected: boolean;
945
1028
  exportBackground: boolean;
@@ -955,10 +1038,9 @@ export declare const actionExportWithDarkMode: {
955
1038
  currentItemFontFamily: number;
956
1039
  currentItemFontSize: number;
957
1040
  currentItemTextAlign: string;
958
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
959
1041
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
960
1042
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
961
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1043
+ currentItemRoundness: import("../element/types").StrokeRoundness;
962
1044
  viewBackgroundColor: string;
963
1045
  scrollX: number;
964
1046
  scrollY: number;
@@ -971,10 +1053,13 @@ export declare const actionExportWithDarkMode: {
971
1053
  value: import("../types").NormalizedZoomValue;
972
1054
  }>;
973
1055
  openMenu: "canvas" | "shape" | null;
974
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
975
- openSidebar: "library" | "customSidebar" | null;
976
- openDialog: "imageExport" | "help" | null;
977
- isSidebarDocked: boolean;
1056
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1057
+ openSidebar: {
1058
+ name: string;
1059
+ tab?: string | undefined;
1060
+ } | null;
1061
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1062
+ defaultSidebarDockedPreference: boolean;
978
1063
  lastPointerDownWith: import("../element/types").PointerType;
979
1064
  selectedElementIds: {
980
1065
  [id: string]: boolean;
@@ -982,6 +1067,7 @@ export declare const actionExportWithDarkMode: {
982
1067
  previousSelectedElementIds: {
983
1068
  [id: string]: boolean;
984
1069
  };
1070
+ selectedElementsAreBeingDragged: boolean;
985
1071
  shouldCacheIgnoreZoom: boolean;
986
1072
  toast: {
987
1073
  message: string;
@@ -1017,9 +1103,7 @@ export declare const actionExportWithDarkMode: {
1017
1103
  };
1018
1104
  commitToHistory: false;
1019
1105
  };
1020
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps & {
1021
- isInHamburgerMenu: boolean;
1022
- }) => JSX.Element;
1106
+ PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1023
1107
  } & {
1024
1108
  keyTest?: undefined;
1025
1109
  };