@dwelle/excalidraw 0.4.0-e80989b → 0.4.0-eadd4b9

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 (200) hide show
  1. package/CHANGELOG.md +458 -0
  2. package/README.md +16 -1424
  3. package/dist/excalidraw.development.js +1829 -500
  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 +430 -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 +52 -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 +2 -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 +16 -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/PasteChartDialog.d.ts +4 -5
  85. package/types/components/PenModeButton.d.ts +1 -1
  86. package/types/components/Popover.d.ts +1 -1
  87. package/types/components/ProjectName.d.ts +2 -1
  88. package/types/components/PublishLibrary.d.ts +2 -2
  89. package/types/components/RadioGroup.d.ts +12 -0
  90. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  91. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  92. package/types/components/Sidebar/SidebarTab.d.ts +9 -0
  93. package/types/components/Sidebar/SidebarTabTrigger.d.ts +10 -0
  94. package/types/components/Sidebar/SidebarTabTriggers.d.ts +7 -0
  95. package/types/components/Sidebar/SidebarTabs.d.ts +7 -0
  96. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  97. package/types/components/Sidebar/common.d.ts +24 -7
  98. package/types/components/Spinner.d.ts +2 -1
  99. package/types/components/Stack.d.ts +4 -3
  100. package/types/components/Stats.d.ts +3 -3
  101. package/types/components/Switch.d.ts +9 -0
  102. package/types/components/ToolButton.d.ts +6 -5
  103. package/types/components/Tooltip.d.ts +1 -1
  104. package/types/components/Trans.d.ts +8 -0
  105. package/types/components/UserList.d.ts +0 -2
  106. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -0
  107. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  108. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  109. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  110. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  111. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  112. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  113. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  114. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -0
  115. package/types/components/dropdownMenu/common.d.ts +6 -0
  116. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  117. package/types/components/footer/Footer.d.ts +12 -0
  118. package/types/components/footer/FooterCenter.d.ts +8 -0
  119. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  120. package/types/components/icons.d.ts +13 -2
  121. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
  122. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  123. package/types/components/main-menu/MainMenu.d.ts +61 -0
  124. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  125. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  126. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -0
  127. package/types/constants.d.ts +73 -16
  128. package/types/context/tunnels.d.ts +18 -0
  129. package/types/context/ui-appState.d.ts +4 -0
  130. package/types/data/blob.d.ts +3 -2
  131. package/types/data/encode.d.ts +1 -1
  132. package/types/data/filesystem.d.ts +2 -1
  133. package/types/data/index.d.ts +1 -1
  134. package/types/data/library.d.ts +3 -45
  135. package/types/data/restore.d.ts +10 -4
  136. package/types/data/types.d.ts +3 -5
  137. package/types/element/Hyperlink.d.ts +27 -18
  138. package/types/element/binding.d.ts +3 -3
  139. package/types/element/bounds.d.ts +32 -7
  140. package/types/element/collision.d.ts +7 -7
  141. package/types/element/dragElements.d.ts +2 -1
  142. package/types/element/image.d.ts +11 -1
  143. package/types/element/index.d.ts +3 -2
  144. package/types/element/linearElementEditor.d.ts +24 -13
  145. package/types/element/mutateElement.d.ts +2 -1
  146. package/types/element/newElement.d.ts +37 -11
  147. package/types/element/resizeElements.d.ts +1 -0
  148. package/types/element/showSelectedShapeActions.d.ts +2 -2
  149. package/types/element/sortElements.d.ts +2 -0
  150. package/types/element/textElement.d.ts +40 -5
  151. package/types/element/textWysiwyg.d.ts +6 -1
  152. package/types/element/transformHandles.d.ts +12 -5
  153. package/types/element/typeChecks.d.ts +12 -2
  154. package/types/element/types.d.ts +53 -36
  155. package/types/emitter.d.ts +1 -1
  156. package/types/errors.d.ts +1 -1
  157. package/types/frame.d.ts +40 -0
  158. package/types/ga.d.ts +5 -5
  159. package/types/groups.d.ts +4 -0
  160. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  161. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  162. package/types/hooks/useOutsideClick.d.ts +19 -1
  163. package/types/hooks/useScrollPosition.d.ts +2 -0
  164. package/types/hooks/useTransition.d.ts +2 -0
  165. package/types/i18n.d.ts +7 -1
  166. package/types/jotai.d.ts +20 -108
  167. package/types/keys.d.ts +4 -4
  168. package/types/math.d.ts +4 -1
  169. package/types/packages/excalidraw/example/App.d.ts +7 -1
  170. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  171. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  172. package/types/packages/excalidraw/example/initialData.d.ts +6 -0
  173. package/types/packages/excalidraw/index.d.ts +17 -3
  174. package/types/packages/utils.d.ts +26 -25
  175. package/types/renderer/renderElement.d.ts +7 -5
  176. package/types/renderer/renderScene.d.ts +13 -6
  177. package/types/renderer/roundRect.d.ts +1 -1
  178. package/types/scene/Scene.d.ts +12 -5
  179. package/types/scene/comparisons.d.ts +1 -1
  180. package/types/scene/export.d.ts +157 -10
  181. package/types/scene/index.d.ts +1 -1
  182. package/types/scene/selection.d.ts +15 -5
  183. package/types/scene/types.d.ts +13 -5
  184. package/types/types.d.ts +126 -77
  185. package/types/utility-types.d.ts +22 -0
  186. package/types/utils.d.ts +40 -9
  187. package/types/zindex.d.ts +4 -4
  188. package/types/actions/actionToggleLock.d.ts +0 -116
  189. package/types/components/ActiveFile.d.ts +0 -7
  190. package/types/components/ClearCanvas.d.ts +0 -4
  191. package/types/components/CollabButton.d.ts +0 -6
  192. package/types/components/ColorPicker.d.ts +0 -14
  193. package/types/components/Footer.d.ts +0 -10
  194. package/types/components/LibraryButton.d.ts +0 -8
  195. package/types/components/MenuItem.d.ts +0 -11
  196. package/types/components/MenuUtils.d.ts +0 -1
  197. package/types/components/SingleLibraryItem.d.ts +0 -10
  198. package/types/components/WelcomeScreen.d.ts +0 -10
  199. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  200. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
@@ -5,9 +5,7 @@ export declare const actionChangeStrokeColor: {
5
5
  name: "changeStrokeColor";
6
6
  trackEvent: false;
7
7
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
8
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
9
- isInHamburgerMenu: boolean;
10
- }) => JSX.Element;
8
+ PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
11
9
  } & {
12
10
  keyTest?: undefined;
13
11
  };
@@ -15,22 +13,25 @@ export declare const actionChangeBackgroundColor: {
15
13
  name: "changeBackgroundColor";
16
14
  trackEvent: false;
17
15
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
18
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
19
- isInHamburgerMenu: boolean;
20
- }) => JSX.Element;
16
+ PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
21
17
  } & {
22
18
  keyTest?: undefined;
23
19
  };
24
20
  export declare const actionChangeFillStyle: {
25
21
  name: "changeFillStyle";
26
22
  trackEvent: false;
27
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
23
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: import("../../src/types").AppClassProperties) => {
28
24
  elements: ExcalidrawElement[];
29
25
  appState: {
30
26
  currentItemFillStyle: any;
27
+ contextMenu: {
28
+ items: import("../components/ContextMenu").ContextMenuItems;
29
+ top: number;
30
+ left: number;
31
+ } | null;
31
32
  showWelcomeScreen: boolean;
32
33
  isLoading: boolean;
33
- errorMessage: string | null;
34
+ errorMessage: import("react").ReactNode;
34
35
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
35
36
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
36
37
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -38,19 +39,22 @@ export declare const actionChangeFillStyle: {
38
39
  isBindingEnabled: boolean;
39
40
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
40
41
  suggestedBindings: import("../element/binding").SuggestedBinding[];
42
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
43
+ shouldRenderFrames: boolean;
44
+ editingFrame: string | null;
45
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
41
46
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
42
47
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
43
48
  activeTool: {
44
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
45
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
49
+ lastActiveTool: import("../../src/types").LastActiveTool;
46
50
  locked: boolean;
51
+ } & ({
52
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
47
53
  customType: null;
48
54
  } | {
49
55
  type: "custom";
50
56
  customType: string;
51
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
52
- locked: boolean;
53
- };
57
+ });
54
58
  penMode: boolean;
55
59
  penDetected: boolean;
56
60
  exportBackground: boolean;
@@ -66,10 +70,9 @@ export declare const actionChangeFillStyle: {
66
70
  currentItemFontFamily: number;
67
71
  currentItemFontSize: number;
68
72
  currentItemTextAlign: string;
69
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
70
73
  currentItemStartArrowhead: Arrowhead | null;
71
74
  currentItemEndArrowhead: Arrowhead | null;
72
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
75
+ currentItemRoundness: import("../element/types").StrokeRoundness;
73
76
  viewBackgroundColor: string;
74
77
  scrollX: number;
75
78
  scrollY: number;
@@ -82,10 +85,13 @@ export declare const actionChangeFillStyle: {
82
85
  value: import("../../src/types").NormalizedZoomValue;
83
86
  }>;
84
87
  openMenu: "canvas" | "shape" | null;
85
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
86
- openSidebar: "library" | "customSidebar" | null;
87
- openDialog: "imageExport" | "help" | null;
88
- isSidebarDocked: boolean;
88
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
89
+ openSidebar: {
90
+ name: string;
91
+ tab?: string | undefined;
92
+ } | null;
93
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
94
+ defaultSidebarDockedPreference: boolean;
89
95
  lastPointerDownWith: import("../element/types").PointerType;
90
96
  selectedElementIds: {
91
97
  [id: string]: boolean;
@@ -93,6 +99,7 @@ export declare const actionChangeFillStyle: {
93
99
  previousSelectedElementIds: {
94
100
  [id: string]: boolean;
95
101
  };
102
+ selectedElementsAreBeingDragged: boolean;
96
103
  shouldCacheIgnoreZoom: boolean;
97
104
  toast: {
98
105
  message: string;
@@ -128,9 +135,7 @@ export declare const actionChangeFillStyle: {
128
135
  };
129
136
  commitToHistory: true;
130
137
  };
131
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
132
- isInHamburgerMenu: boolean;
133
- }) => JSX.Element;
138
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
134
139
  } & {
135
140
  keyTest?: undefined;
136
141
  };
@@ -141,9 +146,14 @@ export declare const actionChangeStrokeWidth: {
141
146
  elements: ExcalidrawElement[];
142
147
  appState: {
143
148
  currentItemStrokeWidth: any;
149
+ contextMenu: {
150
+ items: import("../components/ContextMenu").ContextMenuItems;
151
+ top: number;
152
+ left: number;
153
+ } | null;
144
154
  showWelcomeScreen: boolean;
145
155
  isLoading: boolean;
146
- errorMessage: string | null;
156
+ errorMessage: import("react").ReactNode;
147
157
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
148
158
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
149
159
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -151,19 +161,22 @@ export declare const actionChangeStrokeWidth: {
151
161
  isBindingEnabled: boolean;
152
162
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
153
163
  suggestedBindings: import("../element/binding").SuggestedBinding[];
164
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
165
+ shouldRenderFrames: boolean;
166
+ editingFrame: string | null;
167
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
154
168
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
155
169
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
156
170
  activeTool: {
157
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
158
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
171
+ lastActiveTool: import("../../src/types").LastActiveTool;
159
172
  locked: boolean;
173
+ } & ({
174
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
160
175
  customType: null;
161
176
  } | {
162
177
  type: "custom";
163
178
  customType: string;
164
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
165
- locked: boolean;
166
- };
179
+ });
167
180
  penMode: boolean;
168
181
  penDetected: boolean;
169
182
  exportBackground: boolean;
@@ -179,10 +192,9 @@ export declare const actionChangeStrokeWidth: {
179
192
  currentItemFontFamily: number;
180
193
  currentItemFontSize: number;
181
194
  currentItemTextAlign: string;
182
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
183
195
  currentItemStartArrowhead: Arrowhead | null;
184
196
  currentItemEndArrowhead: Arrowhead | null;
185
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
197
+ currentItemRoundness: import("../element/types").StrokeRoundness;
186
198
  viewBackgroundColor: string;
187
199
  scrollX: number;
188
200
  scrollY: number;
@@ -195,10 +207,13 @@ export declare const actionChangeStrokeWidth: {
195
207
  value: import("../../src/types").NormalizedZoomValue;
196
208
  }>;
197
209
  openMenu: "canvas" | "shape" | null;
198
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
199
- openSidebar: "library" | "customSidebar" | null;
200
- openDialog: "imageExport" | "help" | null;
201
- isSidebarDocked: boolean;
210
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
211
+ openSidebar: {
212
+ name: string;
213
+ tab?: string | undefined;
214
+ } | null;
215
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
216
+ defaultSidebarDockedPreference: boolean;
202
217
  lastPointerDownWith: import("../element/types").PointerType;
203
218
  selectedElementIds: {
204
219
  [id: string]: boolean;
@@ -206,6 +221,7 @@ export declare const actionChangeStrokeWidth: {
206
221
  previousSelectedElementIds: {
207
222
  [id: string]: boolean;
208
223
  };
224
+ selectedElementsAreBeingDragged: boolean;
209
225
  shouldCacheIgnoreZoom: boolean;
210
226
  toast: {
211
227
  message: string;
@@ -241,9 +257,7 @@ export declare const actionChangeStrokeWidth: {
241
257
  };
242
258
  commitToHistory: true;
243
259
  };
244
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
245
- isInHamburgerMenu: boolean;
246
- }) => JSX.Element;
260
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
247
261
  } & {
248
262
  keyTest?: undefined;
249
263
  };
@@ -254,9 +268,14 @@ export declare const actionChangeSloppiness: {
254
268
  elements: ExcalidrawElement[];
255
269
  appState: {
256
270
  currentItemRoughness: any;
271
+ contextMenu: {
272
+ items: import("../components/ContextMenu").ContextMenuItems;
273
+ top: number;
274
+ left: number;
275
+ } | null;
257
276
  showWelcomeScreen: boolean;
258
277
  isLoading: boolean;
259
- errorMessage: string | null;
278
+ errorMessage: import("react").ReactNode;
260
279
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
261
280
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
262
281
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -264,19 +283,22 @@ export declare const actionChangeSloppiness: {
264
283
  isBindingEnabled: boolean;
265
284
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
266
285
  suggestedBindings: import("../element/binding").SuggestedBinding[];
286
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
287
+ shouldRenderFrames: boolean;
288
+ editingFrame: string | null;
289
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
267
290
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
268
291
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
269
292
  activeTool: {
270
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
271
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
293
+ lastActiveTool: import("../../src/types").LastActiveTool;
272
294
  locked: boolean;
295
+ } & ({
296
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
273
297
  customType: null;
274
298
  } | {
275
299
  type: "custom";
276
300
  customType: string;
277
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
278
- locked: boolean;
279
- };
301
+ });
280
302
  penMode: boolean;
281
303
  penDetected: boolean;
282
304
  exportBackground: boolean;
@@ -292,10 +314,9 @@ export declare const actionChangeSloppiness: {
292
314
  currentItemFontFamily: number;
293
315
  currentItemFontSize: number;
294
316
  currentItemTextAlign: string;
295
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
296
317
  currentItemStartArrowhead: Arrowhead | null;
297
318
  currentItemEndArrowhead: Arrowhead | null;
298
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
319
+ currentItemRoundness: import("../element/types").StrokeRoundness;
299
320
  viewBackgroundColor: string;
300
321
  scrollX: number;
301
322
  scrollY: number;
@@ -308,10 +329,13 @@ export declare const actionChangeSloppiness: {
308
329
  value: import("../../src/types").NormalizedZoomValue;
309
330
  }>;
310
331
  openMenu: "canvas" | "shape" | null;
311
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
312
- openSidebar: "library" | "customSidebar" | null;
313
- openDialog: "imageExport" | "help" | null;
314
- isSidebarDocked: boolean;
332
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
333
+ openSidebar: {
334
+ name: string;
335
+ tab?: string | undefined;
336
+ } | null;
337
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
338
+ defaultSidebarDockedPreference: boolean;
315
339
  lastPointerDownWith: import("../element/types").PointerType;
316
340
  selectedElementIds: {
317
341
  [id: string]: boolean;
@@ -319,6 +343,7 @@ export declare const actionChangeSloppiness: {
319
343
  previousSelectedElementIds: {
320
344
  [id: string]: boolean;
321
345
  };
346
+ selectedElementsAreBeingDragged: boolean;
322
347
  shouldCacheIgnoreZoom: boolean;
323
348
  toast: {
324
349
  message: string;
@@ -354,9 +379,7 @@ export declare const actionChangeSloppiness: {
354
379
  };
355
380
  commitToHistory: true;
356
381
  };
357
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
358
- isInHamburgerMenu: boolean;
359
- }) => JSX.Element;
382
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
360
383
  } & {
361
384
  keyTest?: undefined;
362
385
  };
@@ -367,9 +390,14 @@ export declare const actionChangeStrokeStyle: {
367
390
  elements: ExcalidrawElement[];
368
391
  appState: {
369
392
  currentItemStrokeStyle: any;
393
+ contextMenu: {
394
+ items: import("../components/ContextMenu").ContextMenuItems;
395
+ top: number;
396
+ left: number;
397
+ } | null;
370
398
  showWelcomeScreen: boolean;
371
399
  isLoading: boolean;
372
- errorMessage: string | null;
400
+ errorMessage: import("react").ReactNode;
373
401
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
374
402
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
375
403
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -377,19 +405,22 @@ export declare const actionChangeStrokeStyle: {
377
405
  isBindingEnabled: boolean;
378
406
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
379
407
  suggestedBindings: import("../element/binding").SuggestedBinding[];
408
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
409
+ shouldRenderFrames: boolean;
410
+ editingFrame: string | null;
411
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
380
412
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
381
413
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
382
414
  activeTool: {
383
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
384
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
415
+ lastActiveTool: import("../../src/types").LastActiveTool;
385
416
  locked: boolean;
417
+ } & ({
418
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
386
419
  customType: null;
387
420
  } | {
388
421
  type: "custom";
389
422
  customType: string;
390
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
391
- locked: boolean;
392
- };
423
+ });
393
424
  penMode: boolean;
394
425
  penDetected: boolean;
395
426
  exportBackground: boolean;
@@ -405,10 +436,9 @@ export declare const actionChangeStrokeStyle: {
405
436
  currentItemFontFamily: number;
406
437
  currentItemFontSize: number;
407
438
  currentItemTextAlign: string;
408
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
409
439
  currentItemStartArrowhead: Arrowhead | null;
410
440
  currentItemEndArrowhead: Arrowhead | null;
411
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
441
+ currentItemRoundness: import("../element/types").StrokeRoundness;
412
442
  viewBackgroundColor: string;
413
443
  scrollX: number;
414
444
  scrollY: number;
@@ -421,10 +451,13 @@ export declare const actionChangeStrokeStyle: {
421
451
  value: import("../../src/types").NormalizedZoomValue;
422
452
  }>;
423
453
  openMenu: "canvas" | "shape" | null;
424
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
425
- openSidebar: "library" | "customSidebar" | null;
426
- openDialog: "imageExport" | "help" | null;
427
- isSidebarDocked: boolean;
454
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
455
+ openSidebar: {
456
+ name: string;
457
+ tab?: string | undefined;
458
+ } | null;
459
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
460
+ defaultSidebarDockedPreference: boolean;
428
461
  lastPointerDownWith: import("../element/types").PointerType;
429
462
  selectedElementIds: {
430
463
  [id: string]: boolean;
@@ -432,6 +465,7 @@ export declare const actionChangeStrokeStyle: {
432
465
  previousSelectedElementIds: {
433
466
  [id: string]: boolean;
434
467
  };
468
+ selectedElementsAreBeingDragged: boolean;
435
469
  shouldCacheIgnoreZoom: boolean;
436
470
  toast: {
437
471
  message: string;
@@ -467,9 +501,7 @@ export declare const actionChangeStrokeStyle: {
467
501
  };
468
502
  commitToHistory: true;
469
503
  };
470
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
471
- isInHamburgerMenu: boolean;
472
- }) => JSX.Element;
504
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
473
505
  } & {
474
506
  keyTest?: undefined;
475
507
  };
@@ -480,9 +512,14 @@ export declare const actionChangeOpacity: {
480
512
  elements: ExcalidrawElement[];
481
513
  appState: {
482
514
  currentItemOpacity: any;
515
+ contextMenu: {
516
+ items: import("../components/ContextMenu").ContextMenuItems;
517
+ top: number;
518
+ left: number;
519
+ } | null;
483
520
  showWelcomeScreen: boolean;
484
521
  isLoading: boolean;
485
- errorMessage: string | null;
522
+ errorMessage: import("react").ReactNode;
486
523
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
487
524
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
488
525
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -490,19 +527,22 @@ export declare const actionChangeOpacity: {
490
527
  isBindingEnabled: boolean;
491
528
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
492
529
  suggestedBindings: import("../element/binding").SuggestedBinding[];
530
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
531
+ shouldRenderFrames: boolean;
532
+ editingFrame: string | null;
533
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
493
534
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
494
535
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
495
536
  activeTool: {
496
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
497
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
537
+ lastActiveTool: import("../../src/types").LastActiveTool;
498
538
  locked: boolean;
539
+ } & ({
540
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
499
541
  customType: null;
500
542
  } | {
501
543
  type: "custom";
502
544
  customType: string;
503
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
504
- locked: boolean;
505
- };
545
+ });
506
546
  penMode: boolean;
507
547
  penDetected: boolean;
508
548
  exportBackground: boolean;
@@ -518,10 +558,9 @@ export declare const actionChangeOpacity: {
518
558
  currentItemFontFamily: number;
519
559
  currentItemFontSize: number;
520
560
  currentItemTextAlign: string;
521
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
522
561
  currentItemStartArrowhead: Arrowhead | null;
523
562
  currentItemEndArrowhead: Arrowhead | null;
524
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
563
+ currentItemRoundness: import("../element/types").StrokeRoundness;
525
564
  viewBackgroundColor: string;
526
565
  scrollX: number;
527
566
  scrollY: number;
@@ -534,10 +573,13 @@ export declare const actionChangeOpacity: {
534
573
  value: import("../../src/types").NormalizedZoomValue;
535
574
  }>;
536
575
  openMenu: "canvas" | "shape" | null;
537
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
538
- openSidebar: "library" | "customSidebar" | null;
539
- openDialog: "imageExport" | "help" | null;
540
- isSidebarDocked: boolean;
576
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
577
+ openSidebar: {
578
+ name: string;
579
+ tab?: string | undefined;
580
+ } | null;
581
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
582
+ defaultSidebarDockedPreference: boolean;
541
583
  lastPointerDownWith: import("../element/types").PointerType;
542
584
  selectedElementIds: {
543
585
  [id: string]: boolean;
@@ -545,6 +587,7 @@ export declare const actionChangeOpacity: {
545
587
  previousSelectedElementIds: {
546
588
  [id: string]: boolean;
547
589
  };
590
+ selectedElementsAreBeingDragged: boolean;
548
591
  shouldCacheIgnoreZoom: boolean;
549
592
  toast: {
550
593
  message: string;
@@ -580,9 +623,7 @@ export declare const actionChangeOpacity: {
580
623
  };
581
624
  commitToHistory: true;
582
625
  };
583
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
584
- isInHamburgerMenu: boolean;
585
- }) => JSX.Element;
626
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
586
627
  } & {
587
628
  keyTest?: undefined;
588
629
  };
@@ -593,9 +634,14 @@ export declare const actionChangeFontSize: {
593
634
  elements: ExcalidrawElement[];
594
635
  appState: {
595
636
  currentItemFontSize: number;
637
+ contextMenu: {
638
+ items: import("../components/ContextMenu").ContextMenuItems;
639
+ top: number;
640
+ left: number;
641
+ } | null;
596
642
  showWelcomeScreen: boolean;
597
643
  isLoading: boolean;
598
- errorMessage: string | null;
644
+ errorMessage: import("react").ReactNode;
599
645
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
600
646
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
601
647
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -603,19 +649,22 @@ export declare const actionChangeFontSize: {
603
649
  isBindingEnabled: boolean;
604
650
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
605
651
  suggestedBindings: import("../element/binding").SuggestedBinding[];
652
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
653
+ shouldRenderFrames: boolean;
654
+ editingFrame: string | null;
655
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
606
656
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
607
657
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
608
658
  activeTool: {
609
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
610
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
659
+ lastActiveTool: import("../../src/types").LastActiveTool;
611
660
  locked: boolean;
661
+ } & ({
662
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
612
663
  customType: null;
613
664
  } | {
614
665
  type: "custom";
615
666
  customType: string;
616
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
617
- locked: boolean;
618
- };
667
+ });
619
668
  penMode: boolean;
620
669
  penDetected: boolean;
621
670
  exportBackground: boolean;
@@ -631,10 +680,9 @@ export declare const actionChangeFontSize: {
631
680
  currentItemOpacity: number;
632
681
  currentItemFontFamily: number;
633
682
  currentItemTextAlign: string;
634
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
635
683
  currentItemStartArrowhead: Arrowhead | null;
636
684
  currentItemEndArrowhead: Arrowhead | null;
637
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
685
+ currentItemRoundness: import("../element/types").StrokeRoundness;
638
686
  viewBackgroundColor: string;
639
687
  scrollX: number;
640
688
  scrollY: number;
@@ -647,10 +695,13 @@ export declare const actionChangeFontSize: {
647
695
  value: import("../../src/types").NormalizedZoomValue;
648
696
  }>;
649
697
  openMenu: "canvas" | "shape" | null;
650
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
651
- openSidebar: "library" | "customSidebar" | null;
652
- openDialog: "imageExport" | "help" | null;
653
- isSidebarDocked: boolean;
698
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
699
+ openSidebar: {
700
+ name: string;
701
+ tab?: string | undefined;
702
+ } | null;
703
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
704
+ defaultSidebarDockedPreference: boolean;
654
705
  lastPointerDownWith: import("../element/types").PointerType;
655
706
  selectedElementIds: {
656
707
  [id: string]: boolean;
@@ -658,6 +709,7 @@ export declare const actionChangeFontSize: {
658
709
  previousSelectedElementIds: {
659
710
  [id: string]: boolean;
660
711
  };
712
+ selectedElementsAreBeingDragged: boolean;
661
713
  shouldCacheIgnoreZoom: boolean;
662
714
  toast: {
663
715
  message: string;
@@ -693,9 +745,7 @@ export declare const actionChangeFontSize: {
693
745
  };
694
746
  commitToHistory: boolean;
695
747
  };
696
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
697
- isInHamburgerMenu: boolean;
698
- }) => JSX.Element;
748
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
699
749
  } & {
700
750
  keyTest?: undefined;
701
751
  };
@@ -706,9 +756,14 @@ export declare const actionDecreaseFontSize: {
706
756
  elements: ExcalidrawElement[];
707
757
  appState: {
708
758
  currentItemFontSize: number;
759
+ contextMenu: {
760
+ items: import("../components/ContextMenu").ContextMenuItems;
761
+ top: number;
762
+ left: number;
763
+ } | null;
709
764
  showWelcomeScreen: boolean;
710
765
  isLoading: boolean;
711
- errorMessage: string | null;
766
+ errorMessage: import("react").ReactNode;
712
767
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
713
768
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
714
769
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -716,19 +771,22 @@ export declare const actionDecreaseFontSize: {
716
771
  isBindingEnabled: boolean;
717
772
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
718
773
  suggestedBindings: import("../element/binding").SuggestedBinding[];
774
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
775
+ shouldRenderFrames: boolean;
776
+ editingFrame: string | null;
777
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
719
778
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
720
779
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
721
780
  activeTool: {
722
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
723
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
781
+ lastActiveTool: import("../../src/types").LastActiveTool;
724
782
  locked: boolean;
783
+ } & ({
784
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
725
785
  customType: null;
726
786
  } | {
727
787
  type: "custom";
728
788
  customType: string;
729
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
730
- locked: boolean;
731
- };
789
+ });
732
790
  penMode: boolean;
733
791
  penDetected: boolean;
734
792
  exportBackground: boolean;
@@ -744,10 +802,9 @@ export declare const actionDecreaseFontSize: {
744
802
  currentItemOpacity: number;
745
803
  currentItemFontFamily: number;
746
804
  currentItemTextAlign: string;
747
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
748
805
  currentItemStartArrowhead: Arrowhead | null;
749
806
  currentItemEndArrowhead: Arrowhead | null;
750
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
807
+ currentItemRoundness: import("../element/types").StrokeRoundness;
751
808
  viewBackgroundColor: string;
752
809
  scrollX: number;
753
810
  scrollY: number;
@@ -760,10 +817,13 @@ export declare const actionDecreaseFontSize: {
760
817
  value: import("../../src/types").NormalizedZoomValue;
761
818
  }>;
762
819
  openMenu: "canvas" | "shape" | null;
763
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
764
- openSidebar: "library" | "customSidebar" | null;
765
- openDialog: "imageExport" | "help" | null;
766
- isSidebarDocked: boolean;
820
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
821
+ openSidebar: {
822
+ name: string;
823
+ tab?: string | undefined;
824
+ } | null;
825
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
826
+ defaultSidebarDockedPreference: boolean;
767
827
  lastPointerDownWith: import("../element/types").PointerType;
768
828
  selectedElementIds: {
769
829
  [id: string]: boolean;
@@ -771,6 +831,7 @@ export declare const actionDecreaseFontSize: {
771
831
  previousSelectedElementIds: {
772
832
  [id: string]: boolean;
773
833
  };
834
+ selectedElementsAreBeingDragged: boolean;
774
835
  shouldCacheIgnoreZoom: boolean;
775
836
  toast: {
776
837
  message: string;
@@ -817,9 +878,14 @@ export declare const actionIncreaseFontSize: {
817
878
  elements: ExcalidrawElement[];
818
879
  appState: {
819
880
  currentItemFontSize: number;
881
+ contextMenu: {
882
+ items: import("../components/ContextMenu").ContextMenuItems;
883
+ top: number;
884
+ left: number;
885
+ } | null;
820
886
  showWelcomeScreen: boolean;
821
887
  isLoading: boolean;
822
- errorMessage: string | null;
888
+ errorMessage: import("react").ReactNode;
823
889
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
824
890
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
825
891
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -827,19 +893,22 @@ export declare const actionIncreaseFontSize: {
827
893
  isBindingEnabled: boolean;
828
894
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
829
895
  suggestedBindings: import("../element/binding").SuggestedBinding[];
896
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
897
+ shouldRenderFrames: boolean;
898
+ editingFrame: string | null;
899
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
830
900
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
831
901
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
832
902
  activeTool: {
833
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
834
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
903
+ lastActiveTool: import("../../src/types").LastActiveTool;
835
904
  locked: boolean;
905
+ } & ({
906
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
836
907
  customType: null;
837
908
  } | {
838
909
  type: "custom";
839
910
  customType: string;
840
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
841
- locked: boolean;
842
- };
911
+ });
843
912
  penMode: boolean;
844
913
  penDetected: boolean;
845
914
  exportBackground: boolean;
@@ -855,10 +924,9 @@ export declare const actionIncreaseFontSize: {
855
924
  currentItemOpacity: number;
856
925
  currentItemFontFamily: number;
857
926
  currentItemTextAlign: string;
858
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
859
927
  currentItemStartArrowhead: Arrowhead | null;
860
928
  currentItemEndArrowhead: Arrowhead | null;
861
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
929
+ currentItemRoundness: import("../element/types").StrokeRoundness;
862
930
  viewBackgroundColor: string;
863
931
  scrollX: number;
864
932
  scrollY: number;
@@ -871,10 +939,13 @@ export declare const actionIncreaseFontSize: {
871
939
  value: import("../../src/types").NormalizedZoomValue;
872
940
  }>;
873
941
  openMenu: "canvas" | "shape" | null;
874
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
875
- openSidebar: "library" | "customSidebar" | null;
876
- openDialog: "imageExport" | "help" | null;
877
- isSidebarDocked: boolean;
942
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
943
+ openSidebar: {
944
+ name: string;
945
+ tab?: string | undefined;
946
+ } | null;
947
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
948
+ defaultSidebarDockedPreference: boolean;
878
949
  lastPointerDownWith: import("../element/types").PointerType;
879
950
  selectedElementIds: {
880
951
  [id: string]: boolean;
@@ -882,6 +953,7 @@ export declare const actionIncreaseFontSize: {
882
953
  previousSelectedElementIds: {
883
954
  [id: string]: boolean;
884
955
  };
956
+ selectedElementsAreBeingDragged: boolean;
885
957
  shouldCacheIgnoreZoom: boolean;
886
958
  toast: {
887
959
  message: string;
@@ -928,9 +1000,14 @@ export declare const actionChangeFontFamily: {
928
1000
  elements: ExcalidrawElement[];
929
1001
  appState: {
930
1002
  currentItemFontFamily: any;
1003
+ contextMenu: {
1004
+ items: import("../components/ContextMenu").ContextMenuItems;
1005
+ top: number;
1006
+ left: number;
1007
+ } | null;
931
1008
  showWelcomeScreen: boolean;
932
1009
  isLoading: boolean;
933
- errorMessage: string | null;
1010
+ errorMessage: import("react").ReactNode;
934
1011
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
935
1012
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
936
1013
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -938,19 +1015,22 @@ export declare const actionChangeFontFamily: {
938
1015
  isBindingEnabled: boolean;
939
1016
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
940
1017
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1018
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1019
+ shouldRenderFrames: boolean;
1020
+ editingFrame: string | null;
1021
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
941
1022
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
942
1023
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
943
1024
  activeTool: {
944
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
945
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1025
+ lastActiveTool: import("../../src/types").LastActiveTool;
946
1026
  locked: boolean;
1027
+ } & ({
1028
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
947
1029
  customType: null;
948
1030
  } | {
949
1031
  type: "custom";
950
1032
  customType: string;
951
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
952
- locked: boolean;
953
- };
1033
+ });
954
1034
  penMode: boolean;
955
1035
  penDetected: boolean;
956
1036
  exportBackground: boolean;
@@ -966,10 +1046,9 @@ export declare const actionChangeFontFamily: {
966
1046
  currentItemOpacity: number;
967
1047
  currentItemFontSize: number;
968
1048
  currentItemTextAlign: string;
969
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
970
1049
  currentItemStartArrowhead: Arrowhead | null;
971
1050
  currentItemEndArrowhead: Arrowhead | null;
972
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1051
+ currentItemRoundness: import("../element/types").StrokeRoundness;
973
1052
  viewBackgroundColor: string;
974
1053
  scrollX: number;
975
1054
  scrollY: number;
@@ -982,10 +1061,13 @@ export declare const actionChangeFontFamily: {
982
1061
  value: import("../../src/types").NormalizedZoomValue;
983
1062
  }>;
984
1063
  openMenu: "canvas" | "shape" | null;
985
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
986
- openSidebar: "library" | "customSidebar" | null;
987
- openDialog: "imageExport" | "help" | null;
988
- isSidebarDocked: boolean;
1064
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1065
+ openSidebar: {
1066
+ name: string;
1067
+ tab?: string | undefined;
1068
+ } | null;
1069
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1070
+ defaultSidebarDockedPreference: boolean;
989
1071
  lastPointerDownWith: import("../element/types").PointerType;
990
1072
  selectedElementIds: {
991
1073
  [id: string]: boolean;
@@ -993,6 +1075,7 @@ export declare const actionChangeFontFamily: {
993
1075
  previousSelectedElementIds: {
994
1076
  [id: string]: boolean;
995
1077
  };
1078
+ selectedElementsAreBeingDragged: boolean;
996
1079
  shouldCacheIgnoreZoom: boolean;
997
1080
  toast: {
998
1081
  message: string;
@@ -1028,9 +1111,7 @@ export declare const actionChangeFontFamily: {
1028
1111
  };
1029
1112
  commitToHistory: true;
1030
1113
  };
1031
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1032
- isInHamburgerMenu: boolean;
1033
- }) => JSX.Element;
1114
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1034
1115
  } & {
1035
1116
  keyTest?: undefined;
1036
1117
  };
@@ -1041,9 +1122,14 @@ export declare const actionChangeTextAlign: {
1041
1122
  elements: ExcalidrawElement[];
1042
1123
  appState: {
1043
1124
  currentItemTextAlign: any;
1125
+ contextMenu: {
1126
+ items: import("../components/ContextMenu").ContextMenuItems;
1127
+ top: number;
1128
+ left: number;
1129
+ } | null;
1044
1130
  showWelcomeScreen: boolean;
1045
1131
  isLoading: boolean;
1046
- errorMessage: string | null;
1132
+ errorMessage: import("react").ReactNode;
1047
1133
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1048
1134
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1049
1135
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1051,19 +1137,22 @@ export declare const actionChangeTextAlign: {
1051
1137
  isBindingEnabled: boolean;
1052
1138
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1053
1139
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1140
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1141
+ shouldRenderFrames: boolean;
1142
+ editingFrame: string | null;
1143
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1054
1144
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1055
1145
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1056
1146
  activeTool: {
1057
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1058
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1147
+ lastActiveTool: import("../../src/types").LastActiveTool;
1059
1148
  locked: boolean;
1149
+ } & ({
1150
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1060
1151
  customType: null;
1061
1152
  } | {
1062
1153
  type: "custom";
1063
1154
  customType: string;
1064
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1065
- locked: boolean;
1066
- };
1155
+ });
1067
1156
  penMode: boolean;
1068
1157
  penDetected: boolean;
1069
1158
  exportBackground: boolean;
@@ -1079,10 +1168,9 @@ export declare const actionChangeTextAlign: {
1079
1168
  currentItemOpacity: number;
1080
1169
  currentItemFontFamily: number;
1081
1170
  currentItemFontSize: number;
1082
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
1083
1171
  currentItemStartArrowhead: Arrowhead | null;
1084
1172
  currentItemEndArrowhead: Arrowhead | null;
1085
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1173
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1086
1174
  viewBackgroundColor: string;
1087
1175
  scrollX: number;
1088
1176
  scrollY: number;
@@ -1095,10 +1183,13 @@ export declare const actionChangeTextAlign: {
1095
1183
  value: import("../../src/types").NormalizedZoomValue;
1096
1184
  }>;
1097
1185
  openMenu: "canvas" | "shape" | null;
1098
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1099
- openSidebar: "library" | "customSidebar" | null;
1100
- openDialog: "imageExport" | "help" | null;
1101
- isSidebarDocked: boolean;
1186
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1187
+ openSidebar: {
1188
+ name: string;
1189
+ tab?: string | undefined;
1190
+ } | null;
1191
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1192
+ defaultSidebarDockedPreference: boolean;
1102
1193
  lastPointerDownWith: import("../element/types").PointerType;
1103
1194
  selectedElementIds: {
1104
1195
  [id: string]: boolean;
@@ -1106,6 +1197,7 @@ export declare const actionChangeTextAlign: {
1106
1197
  previousSelectedElementIds: {
1107
1198
  [id: string]: boolean;
1108
1199
  };
1200
+ selectedElementsAreBeingDragged: boolean;
1109
1201
  shouldCacheIgnoreZoom: boolean;
1110
1202
  toast: {
1111
1203
  message: string;
@@ -1141,9 +1233,7 @@ export declare const actionChangeTextAlign: {
1141
1233
  };
1142
1234
  commitToHistory: true;
1143
1235
  };
1144
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1145
- isInHamburgerMenu: boolean;
1146
- }) => JSX.Element;
1236
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1147
1237
  } & {
1148
1238
  keyTest?: undefined;
1149
1239
  };
@@ -1155,9 +1245,14 @@ export declare const actionChangeVerticalAlign: {
1155
1245
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1156
1246
  elements: ExcalidrawElement[];
1157
1247
  appState: {
1248
+ contextMenu: {
1249
+ items: import("../components/ContextMenu").ContextMenuItems;
1250
+ top: number;
1251
+ left: number;
1252
+ } | null;
1158
1253
  showWelcomeScreen: boolean;
1159
1254
  isLoading: boolean;
1160
- errorMessage: string | null;
1255
+ errorMessage: import("react").ReactNode;
1161
1256
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1162
1257
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1163
1258
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1165,19 +1260,22 @@ export declare const actionChangeVerticalAlign: {
1165
1260
  isBindingEnabled: boolean;
1166
1261
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1167
1262
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1263
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1264
+ shouldRenderFrames: boolean;
1265
+ editingFrame: string | null;
1266
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1168
1267
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1169
1268
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1170
1269
  activeTool: {
1171
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1172
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1270
+ lastActiveTool: import("../../src/types").LastActiveTool;
1173
1271
  locked: boolean;
1272
+ } & ({
1273
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1174
1274
  customType: null;
1175
1275
  } | {
1176
1276
  type: "custom";
1177
1277
  customType: string;
1178
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1179
- locked: boolean;
1180
- };
1278
+ });
1181
1279
  penMode: boolean;
1182
1280
  penDetected: boolean;
1183
1281
  exportBackground: boolean;
@@ -1194,10 +1292,9 @@ export declare const actionChangeVerticalAlign: {
1194
1292
  currentItemFontFamily: number;
1195
1293
  currentItemFontSize: number;
1196
1294
  currentItemTextAlign: string;
1197
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
1198
1295
  currentItemStartArrowhead: Arrowhead | null;
1199
1296
  currentItemEndArrowhead: Arrowhead | null;
1200
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1297
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1201
1298
  viewBackgroundColor: string;
1202
1299
  scrollX: number;
1203
1300
  scrollY: number;
@@ -1210,10 +1307,13 @@ export declare const actionChangeVerticalAlign: {
1210
1307
  value: import("../../src/types").NormalizedZoomValue;
1211
1308
  }>;
1212
1309
  openMenu: "canvas" | "shape" | null;
1213
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1214
- openSidebar: "library" | "customSidebar" | null;
1215
- openDialog: "imageExport" | "help" | null;
1216
- isSidebarDocked: boolean;
1310
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1311
+ openSidebar: {
1312
+ name: string;
1313
+ tab?: string | undefined;
1314
+ } | null;
1315
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1316
+ defaultSidebarDockedPreference: boolean;
1217
1317
  lastPointerDownWith: import("../element/types").PointerType;
1218
1318
  selectedElementIds: {
1219
1319
  [id: string]: boolean;
@@ -1221,6 +1321,7 @@ export declare const actionChangeVerticalAlign: {
1221
1321
  previousSelectedElementIds: {
1222
1322
  [id: string]: boolean;
1223
1323
  };
1324
+ selectedElementsAreBeingDragged: boolean;
1224
1325
  shouldCacheIgnoreZoom: boolean;
1225
1326
  toast: {
1226
1327
  message: string;
@@ -1256,23 +1357,25 @@ export declare const actionChangeVerticalAlign: {
1256
1357
  };
1257
1358
  commitToHistory: true;
1258
1359
  };
1259
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1260
- isInHamburgerMenu: boolean;
1261
- }) => JSX.Element;
1360
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1262
1361
  } & {
1263
1362
  keyTest?: undefined;
1264
1363
  };
1265
- export declare const actionChangeSharpness: {
1266
- name: "changeSharpness";
1364
+ export declare const actionChangeRoundness: {
1365
+ name: "changeRoundness";
1267
1366
  trackEvent: false;
1268
1367
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1269
1368
  elements: ExcalidrawElement[];
1270
1369
  appState: {
1271
- currentItemStrokeSharpness: any;
1272
- currentItemLinearStrokeSharpness: any;
1370
+ currentItemRoundness: any;
1371
+ contextMenu: {
1372
+ items: import("../components/ContextMenu").ContextMenuItems;
1373
+ top: number;
1374
+ left: number;
1375
+ } | null;
1273
1376
  showWelcomeScreen: boolean;
1274
1377
  isLoading: boolean;
1275
- errorMessage: string | null;
1378
+ errorMessage: import("react").ReactNode;
1276
1379
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1277
1380
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1278
1381
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1280,19 +1383,22 @@ export declare const actionChangeSharpness: {
1280
1383
  isBindingEnabled: boolean;
1281
1384
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1282
1385
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1386
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1387
+ shouldRenderFrames: boolean;
1388
+ editingFrame: string | null;
1389
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1283
1390
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1284
1391
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1285
1392
  activeTool: {
1286
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1287
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1393
+ lastActiveTool: import("../../src/types").LastActiveTool;
1288
1394
  locked: boolean;
1395
+ } & ({
1396
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1289
1397
  customType: null;
1290
1398
  } | {
1291
1399
  type: "custom";
1292
1400
  customType: string;
1293
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1294
- locked: boolean;
1295
- };
1401
+ });
1296
1402
  penMode: boolean;
1297
1403
  penDetected: boolean;
1298
1404
  exportBackground: boolean;
@@ -1323,10 +1429,13 @@ export declare const actionChangeSharpness: {
1323
1429
  value: import("../../src/types").NormalizedZoomValue;
1324
1430
  }>;
1325
1431
  openMenu: "canvas" | "shape" | null;
1326
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1327
- openSidebar: "library" | "customSidebar" | null;
1328
- openDialog: "imageExport" | "help" | null;
1329
- isSidebarDocked: boolean;
1432
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1433
+ openSidebar: {
1434
+ name: string;
1435
+ tab?: string | undefined;
1436
+ } | null;
1437
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1438
+ defaultSidebarDockedPreference: boolean;
1330
1439
  lastPointerDownWith: import("../element/types").PointerType;
1331
1440
  selectedElementIds: {
1332
1441
  [id: string]: boolean;
@@ -1334,6 +1443,7 @@ export declare const actionChangeSharpness: {
1334
1443
  previousSelectedElementIds: {
1335
1444
  [id: string]: boolean;
1336
1445
  };
1446
+ selectedElementsAreBeingDragged: boolean;
1337
1447
  shouldCacheIgnoreZoom: boolean;
1338
1448
  toast: {
1339
1449
  message: string;
@@ -1369,9 +1479,7 @@ export declare const actionChangeSharpness: {
1369
1479
  };
1370
1480
  commitToHistory: true;
1371
1481
  };
1372
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1373
- isInHamburgerMenu: boolean;
1374
- }) => JSX.Element;
1482
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1375
1483
  } & {
1376
1484
  keyTest?: undefined;
1377
1485
  };
@@ -1384,9 +1492,14 @@ export declare const actionChangeArrowhead: {
1384
1492
  }) => {
1385
1493
  elements: ExcalidrawElement[];
1386
1494
  appState: {
1495
+ contextMenu: {
1496
+ items: import("../components/ContextMenu").ContextMenuItems;
1497
+ top: number;
1498
+ left: number;
1499
+ } | null;
1387
1500
  showWelcomeScreen: boolean;
1388
1501
  isLoading: boolean;
1389
- errorMessage: string | null;
1502
+ errorMessage: import("react").ReactNode;
1390
1503
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1391
1504
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1392
1505
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1394,19 +1507,22 @@ export declare const actionChangeArrowhead: {
1394
1507
  isBindingEnabled: boolean;
1395
1508
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1396
1509
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1510
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1511
+ shouldRenderFrames: boolean;
1512
+ editingFrame: string | null;
1513
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1397
1514
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1398
1515
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1399
1516
  activeTool: {
1400
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1401
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1517
+ lastActiveTool: import("../../src/types").LastActiveTool;
1402
1518
  locked: boolean;
1519
+ } & ({
1520
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1403
1521
  customType: null;
1404
1522
  } | {
1405
1523
  type: "custom";
1406
1524
  customType: string;
1407
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1408
- locked: boolean;
1409
- };
1525
+ });
1410
1526
  penMode: boolean;
1411
1527
  penDetected: boolean;
1412
1528
  exportBackground: boolean;
@@ -1423,10 +1539,9 @@ export declare const actionChangeArrowhead: {
1423
1539
  currentItemFontFamily: number;
1424
1540
  currentItemFontSize: number;
1425
1541
  currentItemTextAlign: string;
1426
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
1427
1542
  currentItemStartArrowhead: Arrowhead | null;
1428
1543
  currentItemEndArrowhead: Arrowhead | null;
1429
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1544
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1430
1545
  viewBackgroundColor: string;
1431
1546
  scrollX: number;
1432
1547
  scrollY: number;
@@ -1439,10 +1554,13 @@ export declare const actionChangeArrowhead: {
1439
1554
  value: import("../../src/types").NormalizedZoomValue;
1440
1555
  }>;
1441
1556
  openMenu: "canvas" | "shape" | null;
1442
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1443
- openSidebar: "library" | "customSidebar" | null;
1444
- openDialog: "imageExport" | "help" | null;
1445
- isSidebarDocked: boolean;
1557
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1558
+ openSidebar: {
1559
+ name: string;
1560
+ tab?: string | undefined;
1561
+ } | null;
1562
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1563
+ defaultSidebarDockedPreference: boolean;
1446
1564
  lastPointerDownWith: import("../element/types").PointerType;
1447
1565
  selectedElementIds: {
1448
1566
  [id: string]: boolean;
@@ -1450,6 +1568,7 @@ export declare const actionChangeArrowhead: {
1450
1568
  previousSelectedElementIds: {
1451
1569
  [id: string]: boolean;
1452
1570
  };
1571
+ selectedElementsAreBeingDragged: boolean;
1453
1572
  shouldCacheIgnoreZoom: boolean;
1454
1573
  toast: {
1455
1574
  message: string;
@@ -1485,9 +1604,7 @@ export declare const actionChangeArrowhead: {
1485
1604
  };
1486
1605
  commitToHistory: true;
1487
1606
  };
1488
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1489
- isInHamburgerMenu: boolean;
1490
- }) => JSX.Element;
1607
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1491
1608
  } & {
1492
1609
  keyTest?: undefined;
1493
1610
  };