@dwelle/excalidraw 0.4.0-d8d86cf → 0.4.0-da7ef3e

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 (232) hide show
  1. package/CHANGELOG.md +706 -0
  2. package/README.md +18 -1422
  3. package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js → vendor-d415b28e9024dee4bb1b.js} +2 -2
  4. package/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.js → vendor-a14cd58fa2db417e42b2.js} +6 -6
  5. package/dist/excalidraw.development.js +3035 -1464
  6. package/dist/excalidraw.production.min.js +1 -1
  7. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -0
  8. package/main.js +1 -8
  9. package/package.json +9 -4
  10. package/types/actions/actionAddToLibrary.d.ts +130 -52
  11. package/types/actions/actionAlign.d.ts +25 -32
  12. package/types/actions/actionBoundText.d.ts +191 -22
  13. package/types/actions/actionCanvas.d.ts +774 -174
  14. package/types/actions/actionClipboard.d.ts +232 -88
  15. package/types/actions/actionDeleteSelected.d.ts +129 -57
  16. package/types/actions/actionDistribute.d.ts +7 -12
  17. package/types/actions/actionDuplicateSelection.d.ts +2 -5
  18. package/types/actions/actionElementLock.d.ts +283 -0
  19. package/types/actions/actionExport.d.ts +448 -229
  20. package/types/actions/actionFinalize.d.ts +87 -41
  21. package/types/actions/actionFlip.d.ts +4 -7
  22. package/types/actions/actionFrame.d.ts +441 -0
  23. package/types/actions/actionGroup.d.ts +260 -15
  24. package/types/actions/actionHistory.d.ts +1 -1
  25. package/types/actions/actionLinearEditor.d.ts +46 -20
  26. package/types/actions/actionMenu.d.ts +136 -65
  27. package/types/actions/actionNavigate.d.ts +2 -3
  28. package/types/actions/actionProperties.d.ts +590 -277
  29. package/types/actions/actionSelectAll.d.ts +127 -2
  30. package/types/actions/actionStyles.d.ts +44 -19
  31. package/types/actions/actionToggleGridMode.d.ts +46 -19
  32. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +58 -31
  33. package/types/actions/actionToggleStats.d.ts +45 -19
  34. package/types/actions/actionToggleViewMode.d.ts +46 -19
  35. package/types/actions/actionToggleZenMode.d.ts +46 -19
  36. package/types/actions/actionZindex.d.ts +8 -16
  37. package/types/actions/index.d.ts +2 -1
  38. package/types/actions/manager.d.ts +3 -2
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +16 -13
  41. package/types/appState.d.ts +23 -18
  42. package/types/charts.d.ts +2 -2
  43. package/types/clients.d.ts +5 -6
  44. package/types/clipboard.d.ts +3 -2
  45. package/types/colors.d.ts +60 -5
  46. package/types/components/Actions.d.ts +7 -7
  47. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  48. package/types/components/App.d.ts +88 -74
  49. package/types/components/Avatar.d.ts +1 -2
  50. package/types/components/BraveMeasureTextError.d.ts +2 -0
  51. package/types/components/Button.d.ts +16 -0
  52. package/types/components/ButtonIconSelect.d.ts +11 -3
  53. package/types/components/Card.d.ts +6 -0
  54. package/types/components/ColorPicker/ColorInput.d.ts +9 -0
  55. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  56. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  57. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  58. package/types/components/ColorPicker/Picker.d.ts +18 -0
  59. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  60. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  61. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  62. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  63. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  64. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  65. package/types/components/ContextMenu.d.ts +9 -22
  66. package/types/components/DefaultSidebar.d.ts +29 -0
  67. package/types/components/Dialog.d.ts +3 -4
  68. package/types/components/ErrorDialog.d.ts +3 -2
  69. package/types/components/ExcalidrawLogo.d.ts +15 -0
  70. package/types/components/EyeDropper.d.ts +28 -0
  71. package/types/components/FilledButton.d.ts +17 -0
  72. package/types/components/FixedSideContainer.d.ts +1 -1
  73. package/types/components/HandButton.d.ts +10 -0
  74. package/types/components/HelpButton.d.ts +1 -2
  75. package/types/components/HintViewer.d.ts +4 -5
  76. package/types/components/HomeButton.d.ts +1 -1
  77. package/types/components/ImageExportDialog.d.ts +8 -13
  78. package/types/components/Island.d.ts +1 -1
  79. package/types/components/JSONExportDialog.d.ts +7 -5
  80. package/types/components/LayerUI.d.ts +10 -16
  81. package/types/components/LibraryMenu.d.ts +13 -14
  82. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  83. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  84. package/types/components/LibraryMenuHeaderContent.d.ts +10 -5
  85. package/types/components/LibraryMenuItems.d.ts +6 -7
  86. package/types/components/LibraryMenuSection.d.ts +22 -0
  87. package/types/components/LibraryUnit.d.ts +6 -3
  88. package/types/components/LoadingMessage.d.ts +0 -1
  89. package/types/components/LockButton.d.ts +1 -2
  90. package/types/components/MobileMenu.d.ts +10 -12
  91. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  92. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  93. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  94. package/types/components/PasteChartDialog.d.ts +4 -5
  95. package/types/components/PenModeButton.d.ts +1 -1
  96. package/types/components/Popover.d.ts +1 -1
  97. package/types/components/ProjectName.d.ts +2 -1
  98. package/types/components/PublishLibrary.d.ts +2 -2
  99. package/types/components/RadioGroup.d.ts +12 -0
  100. package/types/components/Section.d.ts +1 -1
  101. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  102. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  103. package/types/components/Sidebar/SidebarTab.d.ts +8 -0
  104. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  105. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  106. package/types/components/Sidebar/SidebarTabs.d.ts +6 -0
  107. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  108. package/types/components/Sidebar/common.d.ts +24 -7
  109. package/types/components/Spinner.d.ts +2 -1
  110. package/types/components/Stack.d.ts +4 -3
  111. package/types/components/Stats.d.ts +3 -3
  112. package/types/components/Switch.d.ts +9 -0
  113. package/types/components/ToolButton.d.ts +6 -5
  114. package/types/components/Tooltip.d.ts +1 -1
  115. package/types/components/Trans.d.ts +9 -0
  116. package/types/components/UserList.d.ts +0 -2
  117. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  118. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  119. package/types/components/canvases/index.d.ts +3 -0
  120. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -0
  121. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  122. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  123. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  124. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  125. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  126. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  127. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  128. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
  129. package/types/components/dropdownMenu/common.d.ts +6 -0
  130. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  131. package/types/components/footer/Footer.d.ts +12 -0
  132. package/types/components/footer/FooterCenter.d.ts +8 -0
  133. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  134. package/types/components/icons.d.ts +15 -2
  135. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -0
  136. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  137. package/types/components/main-menu/MainMenu.d.ts +61 -0
  138. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -0
  139. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  140. package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -0
  141. package/types/constants.d.ts +94 -18
  142. package/types/context/tunnels.d.ts +19 -0
  143. package/types/context/ui-appState.d.ts +4 -0
  144. package/types/data/blob.d.ts +3 -2
  145. package/types/data/encode.d.ts +1 -1
  146. package/types/data/filesystem.d.ts +2 -1
  147. package/types/data/index.d.ts +1 -1
  148. package/types/data/library.d.ts +3 -45
  149. package/types/data/restore.d.ts +10 -4
  150. package/types/data/transform.d.ts +71 -0
  151. package/types/data/types.d.ts +3 -5
  152. package/types/data/url.d.ts +7 -0
  153. package/types/element/Hyperlink.d.ts +57 -30
  154. package/types/element/binding.d.ts +4 -3
  155. package/types/element/bounds.d.ts +31 -7
  156. package/types/element/collision.d.ts +7 -7
  157. package/types/element/dragElements.d.ts +12 -2
  158. package/types/element/embeddable.d.ts +159 -0
  159. package/types/element/image.d.ts +11 -1
  160. package/types/element/index.d.ts +3 -2
  161. package/types/element/linearElementEditor.d.ts +49 -24
  162. package/types/element/mutateElement.d.ts +2 -1
  163. package/types/element/newElement.d.ts +48 -15
  164. package/types/element/resizeElements.d.ts +3 -2
  165. package/types/element/showSelectedShapeActions.d.ts +2 -2
  166. package/types/element/sizeHelpers.d.ts +8 -1
  167. package/types/element/sortElements.d.ts +2 -0
  168. package/types/element/textElement.d.ts +44 -11
  169. package/types/element/textWysiwyg.d.ts +7 -2
  170. package/types/element/transformHandles.d.ts +15 -8
  171. package/types/element/typeChecks.d.ts +13 -2
  172. package/types/element/types.d.ts +64 -36
  173. package/types/emitter.d.ts +1 -1
  174. package/types/errors.d.ts +1 -1
  175. package/types/frame.d.ts +40 -0
  176. package/types/ga.d.ts +5 -5
  177. package/types/groups.d.ts +15 -11
  178. package/types/history.d.ts +3 -3
  179. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  180. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  181. package/types/hooks/useOutsideClick.d.ts +19 -2
  182. package/types/hooks/useScrollPosition.d.ts +1 -0
  183. package/types/hooks/useStable.d.ts +1 -0
  184. package/types/hooks/useTransition.d.ts +2 -0
  185. package/types/i18n.d.ts +11 -2
  186. package/types/jotai.d.ts +20 -108
  187. package/types/keys.d.ts +7 -4
  188. package/types/math.d.ts +6 -1
  189. package/types/packages/excalidraw/example/App.d.ts +7 -1
  190. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  191. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  192. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  193. package/types/packages/excalidraw/index.d.ts +19 -3
  194. package/types/packages/excalidraw/main.d.ts +3 -1
  195. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  196. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  197. package/types/packages/utils.d.ts +28 -24
  198. package/types/renderer/renderElement.d.ts +12 -22
  199. package/types/renderer/renderScene.d.ts +19 -29
  200. package/types/renderer/renderSnaps.d.ts +2 -0
  201. package/types/renderer/roundRect.d.ts +1 -1
  202. package/types/scene/Renderer.d.ts +25 -0
  203. package/types/scene/Scene.d.ts +27 -5
  204. package/types/scene/Shape.d.ts +12 -0
  205. package/types/scene/ShapeCache.d.ts +20 -0
  206. package/types/scene/comparisons.d.ts +1 -1
  207. package/types/scene/export.d.ts +182 -10
  208. package/types/scene/index.d.ts +1 -1
  209. package/types/scene/scroll.d.ts +1 -1
  210. package/types/scene/scrollbars.d.ts +2 -6
  211. package/types/scene/selection.d.ts +27 -6
  212. package/types/scene/types.d.ts +69 -26
  213. package/types/snapping.d.ts +108 -0
  214. package/types/types.d.ts +196 -81
  215. package/types/utility-types.d.ts +24 -0
  216. package/types/utils.d.ts +78 -12
  217. package/types/zindex.d.ts +4 -4
  218. package/types/components/ActiveFile.d.ts +0 -7
  219. package/types/components/ClearCanvas.d.ts +0 -4
  220. package/types/components/CollabButton.d.ts +0 -6
  221. package/types/components/ColorPicker.d.ts +0 -14
  222. package/types/components/Footer.d.ts +0 -10
  223. package/types/components/LibraryButton.d.ts +0 -8
  224. package/types/components/MenuItem.d.ts +0 -11
  225. package/types/components/MenuUtils.d.ts +0 -1
  226. package/types/components/SingleLibraryItem.d.ts +0 -10
  227. package/types/components/WelcomeScreen.d.ts +0 -10
  228. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  229. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  230. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  231. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  232. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -1,13 +1,12 @@
1
- /// <reference types="react" />
2
1
  import { AppState } from "../../src/types";
3
2
  import { Arrowhead, ExcalidrawElement, ExcalidrawLinearElement } from "../element/types";
3
+ export declare const changeProperty: (elements: readonly ExcalidrawElement[], appState: AppState, callback: (element: ExcalidrawElement) => ExcalidrawElement, includeBoundText?: boolean) => ExcalidrawElement[];
4
+ export declare const getFormValue: <T>(elements: readonly ExcalidrawElement[], appState: AppState, getAttribute: (element: ExcalidrawElement) => T, defaultValue: T) => T;
4
5
  export declare const actionChangeStrokeColor: {
5
6
  name: "changeStrokeColor";
6
7
  trackEvent: false;
7
8
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
8
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
9
- isInHamburgerMenu: boolean;
10
- }) => JSX.Element;
9
+ PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
11
10
  } & {
12
11
  keyTest?: undefined;
13
12
  };
@@ -15,22 +14,29 @@ export declare const actionChangeBackgroundColor: {
15
14
  name: "changeBackgroundColor";
16
15
  trackEvent: false;
17
16
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
18
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
19
- isInHamburgerMenu: boolean;
20
- }) => JSX.Element;
17
+ PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
21
18
  } & {
22
19
  keyTest?: undefined;
23
20
  };
24
21
  export declare const actionChangeFillStyle: {
25
22
  name: "changeFillStyle";
26
23
  trackEvent: false;
27
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
24
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: import("../../src/types").AppClassProperties) => {
28
25
  elements: ExcalidrawElement[];
29
26
  appState: {
30
27
  currentItemFillStyle: any;
28
+ contextMenu: {
29
+ items: import("../components/ContextMenu").ContextMenuItems;
30
+ top: number;
31
+ left: number;
32
+ } | null;
31
33
  showWelcomeScreen: boolean;
32
34
  isLoading: boolean;
33
- errorMessage: string | null;
35
+ errorMessage: import("react").ReactNode;
36
+ activeEmbeddable: {
37
+ element: import("../element/types").NonDeletedExcalidrawElement;
38
+ state: "active" | "hover";
39
+ } | null;
34
40
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
35
41
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
36
42
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -38,19 +44,27 @@ export declare const actionChangeFillStyle: {
38
44
  isBindingEnabled: boolean;
39
45
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
40
46
  suggestedBindings: import("../element/binding").SuggestedBinding[];
47
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
48
+ frameRendering: {
49
+ enabled: boolean;
50
+ name: boolean;
51
+ outline: boolean;
52
+ clip: boolean;
53
+ };
54
+ editingFrame: string | null;
55
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
41
56
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
42
57
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
43
58
  activeTool: {
44
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
45
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
59
+ lastActiveTool: import("../../src/types").LastActiveTool;
46
60
  locked: boolean;
61
+ } & ({
62
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
47
63
  customType: null;
48
64
  } | {
49
65
  type: "custom";
50
66
  customType: string;
51
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
52
- locked: boolean;
53
- };
67
+ });
54
68
  penMode: boolean;
55
69
  penDetected: boolean;
56
70
  exportBackground: boolean;
@@ -66,10 +80,9 @@ export declare const actionChangeFillStyle: {
66
80
  currentItemFontFamily: number;
67
81
  currentItemFontSize: number;
68
82
  currentItemTextAlign: string;
69
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
70
83
  currentItemStartArrowhead: Arrowhead | null;
71
84
  currentItemEndArrowhead: Arrowhead | null;
72
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
85
+ currentItemRoundness: import("../element/types").StrokeRoundness;
73
86
  viewBackgroundColor: string;
74
87
  scrollX: number;
75
88
  scrollY: number;
@@ -82,17 +95,21 @@ export declare const actionChangeFillStyle: {
82
95
  value: import("../../src/types").NormalizedZoomValue;
83
96
  }>;
84
97
  openMenu: "canvas" | "shape" | null;
85
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
86
- openSidebar: "library" | "customSidebar" | null;
87
- openDialog: "imageExport" | "help" | null;
88
- isSidebarDocked: boolean;
98
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
99
+ openSidebar: {
100
+ name: string;
101
+ tab?: string | undefined;
102
+ } | null;
103
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
104
+ defaultSidebarDockedPreference: boolean;
89
105
  lastPointerDownWith: import("../element/types").PointerType;
90
- selectedElementIds: {
91
- [id: string]: boolean;
92
- };
106
+ selectedElementIds: Readonly<{
107
+ [id: string]: true;
108
+ }>;
93
109
  previousSelectedElementIds: {
94
- [id: string]: boolean;
110
+ [id: string]: true;
95
111
  };
112
+ selectedElementsAreBeingDragged: boolean;
96
113
  shouldCacheIgnoreZoom: boolean;
97
114
  toast: {
98
115
  message: string;
@@ -100,7 +117,7 @@ export declare const actionChangeFillStyle: {
100
117
  duration?: number | undefined;
101
118
  } | null;
102
119
  zenModeEnabled: boolean;
103
- theme: string;
120
+ theme: import("../element/types").Theme;
104
121
  gridSize: number | null;
105
122
  viewModeEnabled: boolean;
106
123
  selectedGroupIds: {
@@ -123,14 +140,18 @@ export declare const actionChangeFillStyle: {
123
140
  data: import("../charts").Spreadsheet;
124
141
  };
125
142
  pendingImageElementId: string | null;
126
- showHyperlinkPopup: false | "info" | "editor";
143
+ showHyperlinkPopup: false | "editor" | "info";
127
144
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
145
+ snapLines: import("../snapping").SnapLine[];
146
+ originSnapOffset: {
147
+ x: number;
148
+ y: number;
149
+ } | null;
150
+ objectsSnapModeEnabled: boolean;
128
151
  };
129
152
  commitToHistory: true;
130
153
  };
131
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
132
- isInHamburgerMenu: boolean;
133
- }) => JSX.Element;
154
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
134
155
  } & {
135
156
  keyTest?: undefined;
136
157
  };
@@ -141,9 +162,18 @@ export declare const actionChangeStrokeWidth: {
141
162
  elements: ExcalidrawElement[];
142
163
  appState: {
143
164
  currentItemStrokeWidth: any;
165
+ contextMenu: {
166
+ items: import("../components/ContextMenu").ContextMenuItems;
167
+ top: number;
168
+ left: number;
169
+ } | null;
144
170
  showWelcomeScreen: boolean;
145
171
  isLoading: boolean;
146
- errorMessage: string | null;
172
+ errorMessage: import("react").ReactNode;
173
+ activeEmbeddable: {
174
+ element: import("../element/types").NonDeletedExcalidrawElement;
175
+ state: "active" | "hover";
176
+ } | null;
147
177
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
148
178
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
149
179
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -151,19 +181,27 @@ export declare const actionChangeStrokeWidth: {
151
181
  isBindingEnabled: boolean;
152
182
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
153
183
  suggestedBindings: import("../element/binding").SuggestedBinding[];
184
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
185
+ frameRendering: {
186
+ enabled: boolean;
187
+ name: boolean;
188
+ outline: boolean;
189
+ clip: boolean;
190
+ };
191
+ editingFrame: string | null;
192
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
154
193
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
155
194
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
156
195
  activeTool: {
157
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
158
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
196
+ lastActiveTool: import("../../src/types").LastActiveTool;
159
197
  locked: boolean;
198
+ } & ({
199
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
160
200
  customType: null;
161
201
  } | {
162
202
  type: "custom";
163
203
  customType: string;
164
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
165
- locked: boolean;
166
- };
204
+ });
167
205
  penMode: boolean;
168
206
  penDetected: boolean;
169
207
  exportBackground: boolean;
@@ -179,10 +217,9 @@ export declare const actionChangeStrokeWidth: {
179
217
  currentItemFontFamily: number;
180
218
  currentItemFontSize: number;
181
219
  currentItemTextAlign: string;
182
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
183
220
  currentItemStartArrowhead: Arrowhead | null;
184
221
  currentItemEndArrowhead: Arrowhead | null;
185
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
222
+ currentItemRoundness: import("../element/types").StrokeRoundness;
186
223
  viewBackgroundColor: string;
187
224
  scrollX: number;
188
225
  scrollY: number;
@@ -195,17 +232,21 @@ export declare const actionChangeStrokeWidth: {
195
232
  value: import("../../src/types").NormalizedZoomValue;
196
233
  }>;
197
234
  openMenu: "canvas" | "shape" | null;
198
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
199
- openSidebar: "library" | "customSidebar" | null;
200
- openDialog: "imageExport" | "help" | null;
201
- isSidebarDocked: boolean;
235
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
236
+ openSidebar: {
237
+ name: string;
238
+ tab?: string | undefined;
239
+ } | null;
240
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
241
+ defaultSidebarDockedPreference: boolean;
202
242
  lastPointerDownWith: import("../element/types").PointerType;
203
- selectedElementIds: {
204
- [id: string]: boolean;
205
- };
243
+ selectedElementIds: Readonly<{
244
+ [id: string]: true;
245
+ }>;
206
246
  previousSelectedElementIds: {
207
- [id: string]: boolean;
247
+ [id: string]: true;
208
248
  };
249
+ selectedElementsAreBeingDragged: boolean;
209
250
  shouldCacheIgnoreZoom: boolean;
210
251
  toast: {
211
252
  message: string;
@@ -213,7 +254,7 @@ export declare const actionChangeStrokeWidth: {
213
254
  duration?: number | undefined;
214
255
  } | null;
215
256
  zenModeEnabled: boolean;
216
- theme: string;
257
+ theme: import("../element/types").Theme;
217
258
  gridSize: number | null;
218
259
  viewModeEnabled: boolean;
219
260
  selectedGroupIds: {
@@ -236,14 +277,18 @@ export declare const actionChangeStrokeWidth: {
236
277
  data: import("../charts").Spreadsheet;
237
278
  };
238
279
  pendingImageElementId: string | null;
239
- showHyperlinkPopup: false | "info" | "editor";
280
+ showHyperlinkPopup: false | "editor" | "info";
240
281
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
282
+ snapLines: import("../snapping").SnapLine[];
283
+ originSnapOffset: {
284
+ x: number;
285
+ y: number;
286
+ } | null;
287
+ objectsSnapModeEnabled: boolean;
241
288
  };
242
289
  commitToHistory: true;
243
290
  };
244
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
245
- isInHamburgerMenu: boolean;
246
- }) => JSX.Element;
291
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
247
292
  } & {
248
293
  keyTest?: undefined;
249
294
  };
@@ -254,9 +299,18 @@ export declare const actionChangeSloppiness: {
254
299
  elements: ExcalidrawElement[];
255
300
  appState: {
256
301
  currentItemRoughness: any;
302
+ contextMenu: {
303
+ items: import("../components/ContextMenu").ContextMenuItems;
304
+ top: number;
305
+ left: number;
306
+ } | null;
257
307
  showWelcomeScreen: boolean;
258
308
  isLoading: boolean;
259
- errorMessage: string | null;
309
+ errorMessage: import("react").ReactNode;
310
+ activeEmbeddable: {
311
+ element: import("../element/types").NonDeletedExcalidrawElement;
312
+ state: "active" | "hover";
313
+ } | null;
260
314
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
261
315
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
262
316
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -264,19 +318,27 @@ export declare const actionChangeSloppiness: {
264
318
  isBindingEnabled: boolean;
265
319
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
266
320
  suggestedBindings: import("../element/binding").SuggestedBinding[];
321
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
322
+ frameRendering: {
323
+ enabled: boolean;
324
+ name: boolean;
325
+ outline: boolean;
326
+ clip: boolean;
327
+ };
328
+ editingFrame: string | null;
329
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
267
330
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
268
331
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
269
332
  activeTool: {
270
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
271
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
333
+ lastActiveTool: import("../../src/types").LastActiveTool;
272
334
  locked: boolean;
335
+ } & ({
336
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
273
337
  customType: null;
274
338
  } | {
275
339
  type: "custom";
276
340
  customType: string;
277
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
278
- locked: boolean;
279
- };
341
+ });
280
342
  penMode: boolean;
281
343
  penDetected: boolean;
282
344
  exportBackground: boolean;
@@ -292,10 +354,9 @@ export declare const actionChangeSloppiness: {
292
354
  currentItemFontFamily: number;
293
355
  currentItemFontSize: number;
294
356
  currentItemTextAlign: string;
295
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
296
357
  currentItemStartArrowhead: Arrowhead | null;
297
358
  currentItemEndArrowhead: Arrowhead | null;
298
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
359
+ currentItemRoundness: import("../element/types").StrokeRoundness;
299
360
  viewBackgroundColor: string;
300
361
  scrollX: number;
301
362
  scrollY: number;
@@ -308,17 +369,21 @@ export declare const actionChangeSloppiness: {
308
369
  value: import("../../src/types").NormalizedZoomValue;
309
370
  }>;
310
371
  openMenu: "canvas" | "shape" | null;
311
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
312
- openSidebar: "library" | "customSidebar" | null;
313
- openDialog: "imageExport" | "help" | null;
314
- isSidebarDocked: boolean;
372
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
373
+ openSidebar: {
374
+ name: string;
375
+ tab?: string | undefined;
376
+ } | null;
377
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
378
+ defaultSidebarDockedPreference: boolean;
315
379
  lastPointerDownWith: import("../element/types").PointerType;
316
- selectedElementIds: {
317
- [id: string]: boolean;
318
- };
380
+ selectedElementIds: Readonly<{
381
+ [id: string]: true;
382
+ }>;
319
383
  previousSelectedElementIds: {
320
- [id: string]: boolean;
384
+ [id: string]: true;
321
385
  };
386
+ selectedElementsAreBeingDragged: boolean;
322
387
  shouldCacheIgnoreZoom: boolean;
323
388
  toast: {
324
389
  message: string;
@@ -326,7 +391,7 @@ export declare const actionChangeSloppiness: {
326
391
  duration?: number | undefined;
327
392
  } | null;
328
393
  zenModeEnabled: boolean;
329
- theme: string;
394
+ theme: import("../element/types").Theme;
330
395
  gridSize: number | null;
331
396
  viewModeEnabled: boolean;
332
397
  selectedGroupIds: {
@@ -349,14 +414,18 @@ export declare const actionChangeSloppiness: {
349
414
  data: import("../charts").Spreadsheet;
350
415
  };
351
416
  pendingImageElementId: string | null;
352
- showHyperlinkPopup: false | "info" | "editor";
417
+ showHyperlinkPopup: false | "editor" | "info";
353
418
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
419
+ snapLines: import("../snapping").SnapLine[];
420
+ originSnapOffset: {
421
+ x: number;
422
+ y: number;
423
+ } | null;
424
+ objectsSnapModeEnabled: boolean;
354
425
  };
355
426
  commitToHistory: true;
356
427
  };
357
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
358
- isInHamburgerMenu: boolean;
359
- }) => JSX.Element;
428
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
360
429
  } & {
361
430
  keyTest?: undefined;
362
431
  };
@@ -367,9 +436,18 @@ export declare const actionChangeStrokeStyle: {
367
436
  elements: ExcalidrawElement[];
368
437
  appState: {
369
438
  currentItemStrokeStyle: any;
439
+ contextMenu: {
440
+ items: import("../components/ContextMenu").ContextMenuItems;
441
+ top: number;
442
+ left: number;
443
+ } | null;
370
444
  showWelcomeScreen: boolean;
371
445
  isLoading: boolean;
372
- errorMessage: string | null;
446
+ errorMessage: import("react").ReactNode;
447
+ activeEmbeddable: {
448
+ element: import("../element/types").NonDeletedExcalidrawElement;
449
+ state: "active" | "hover";
450
+ } | null;
373
451
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
374
452
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
375
453
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -377,19 +455,27 @@ export declare const actionChangeStrokeStyle: {
377
455
  isBindingEnabled: boolean;
378
456
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
379
457
  suggestedBindings: import("../element/binding").SuggestedBinding[];
458
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
459
+ frameRendering: {
460
+ enabled: boolean;
461
+ name: boolean;
462
+ outline: boolean;
463
+ clip: boolean;
464
+ };
465
+ editingFrame: string | null;
466
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
380
467
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
381
468
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
382
469
  activeTool: {
383
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
384
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
470
+ lastActiveTool: import("../../src/types").LastActiveTool;
385
471
  locked: boolean;
472
+ } & ({
473
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
386
474
  customType: null;
387
475
  } | {
388
476
  type: "custom";
389
477
  customType: string;
390
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
391
- locked: boolean;
392
- };
478
+ });
393
479
  penMode: boolean;
394
480
  penDetected: boolean;
395
481
  exportBackground: boolean;
@@ -405,10 +491,9 @@ export declare const actionChangeStrokeStyle: {
405
491
  currentItemFontFamily: number;
406
492
  currentItemFontSize: number;
407
493
  currentItemTextAlign: string;
408
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
409
494
  currentItemStartArrowhead: Arrowhead | null;
410
495
  currentItemEndArrowhead: Arrowhead | null;
411
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
496
+ currentItemRoundness: import("../element/types").StrokeRoundness;
412
497
  viewBackgroundColor: string;
413
498
  scrollX: number;
414
499
  scrollY: number;
@@ -421,17 +506,21 @@ export declare const actionChangeStrokeStyle: {
421
506
  value: import("../../src/types").NormalizedZoomValue;
422
507
  }>;
423
508
  openMenu: "canvas" | "shape" | null;
424
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
425
- openSidebar: "library" | "customSidebar" | null;
426
- openDialog: "imageExport" | "help" | null;
427
- isSidebarDocked: boolean;
509
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
510
+ openSidebar: {
511
+ name: string;
512
+ tab?: string | undefined;
513
+ } | null;
514
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
515
+ defaultSidebarDockedPreference: boolean;
428
516
  lastPointerDownWith: import("../element/types").PointerType;
429
- selectedElementIds: {
430
- [id: string]: boolean;
431
- };
517
+ selectedElementIds: Readonly<{
518
+ [id: string]: true;
519
+ }>;
432
520
  previousSelectedElementIds: {
433
- [id: string]: boolean;
521
+ [id: string]: true;
434
522
  };
523
+ selectedElementsAreBeingDragged: boolean;
435
524
  shouldCacheIgnoreZoom: boolean;
436
525
  toast: {
437
526
  message: string;
@@ -439,7 +528,7 @@ export declare const actionChangeStrokeStyle: {
439
528
  duration?: number | undefined;
440
529
  } | null;
441
530
  zenModeEnabled: boolean;
442
- theme: string;
531
+ theme: import("../element/types").Theme;
443
532
  gridSize: number | null;
444
533
  viewModeEnabled: boolean;
445
534
  selectedGroupIds: {
@@ -462,14 +551,18 @@ export declare const actionChangeStrokeStyle: {
462
551
  data: import("../charts").Spreadsheet;
463
552
  };
464
553
  pendingImageElementId: string | null;
465
- showHyperlinkPopup: false | "info" | "editor";
554
+ showHyperlinkPopup: false | "editor" | "info";
466
555
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
556
+ snapLines: import("../snapping").SnapLine[];
557
+ originSnapOffset: {
558
+ x: number;
559
+ y: number;
560
+ } | null;
561
+ objectsSnapModeEnabled: boolean;
467
562
  };
468
563
  commitToHistory: true;
469
564
  };
470
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
471
- isInHamburgerMenu: boolean;
472
- }) => JSX.Element;
565
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
473
566
  } & {
474
567
  keyTest?: undefined;
475
568
  };
@@ -480,9 +573,18 @@ export declare const actionChangeOpacity: {
480
573
  elements: ExcalidrawElement[];
481
574
  appState: {
482
575
  currentItemOpacity: any;
576
+ contextMenu: {
577
+ items: import("../components/ContextMenu").ContextMenuItems;
578
+ top: number;
579
+ left: number;
580
+ } | null;
483
581
  showWelcomeScreen: boolean;
484
582
  isLoading: boolean;
485
- errorMessage: string | null;
583
+ errorMessage: import("react").ReactNode;
584
+ activeEmbeddable: {
585
+ element: import("../element/types").NonDeletedExcalidrawElement;
586
+ state: "active" | "hover";
587
+ } | null;
486
588
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
487
589
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
488
590
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -490,19 +592,27 @@ export declare const actionChangeOpacity: {
490
592
  isBindingEnabled: boolean;
491
593
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
492
594
  suggestedBindings: import("../element/binding").SuggestedBinding[];
595
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
596
+ frameRendering: {
597
+ enabled: boolean;
598
+ name: boolean;
599
+ outline: boolean;
600
+ clip: boolean;
601
+ };
602
+ editingFrame: string | null;
603
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
493
604
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
494
605
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
495
606
  activeTool: {
496
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
497
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
607
+ lastActiveTool: import("../../src/types").LastActiveTool;
498
608
  locked: boolean;
609
+ } & ({
610
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
499
611
  customType: null;
500
612
  } | {
501
613
  type: "custom";
502
614
  customType: string;
503
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
504
- locked: boolean;
505
- };
615
+ });
506
616
  penMode: boolean;
507
617
  penDetected: boolean;
508
618
  exportBackground: boolean;
@@ -518,10 +628,9 @@ export declare const actionChangeOpacity: {
518
628
  currentItemFontFamily: number;
519
629
  currentItemFontSize: number;
520
630
  currentItemTextAlign: string;
521
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
522
631
  currentItemStartArrowhead: Arrowhead | null;
523
632
  currentItemEndArrowhead: Arrowhead | null;
524
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
633
+ currentItemRoundness: import("../element/types").StrokeRoundness;
525
634
  viewBackgroundColor: string;
526
635
  scrollX: number;
527
636
  scrollY: number;
@@ -534,17 +643,21 @@ export declare const actionChangeOpacity: {
534
643
  value: import("../../src/types").NormalizedZoomValue;
535
644
  }>;
536
645
  openMenu: "canvas" | "shape" | null;
537
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
538
- openSidebar: "library" | "customSidebar" | null;
539
- openDialog: "imageExport" | "help" | null;
540
- isSidebarDocked: boolean;
646
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
647
+ openSidebar: {
648
+ name: string;
649
+ tab?: string | undefined;
650
+ } | null;
651
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
652
+ defaultSidebarDockedPreference: boolean;
541
653
  lastPointerDownWith: import("../element/types").PointerType;
542
- selectedElementIds: {
543
- [id: string]: boolean;
544
- };
654
+ selectedElementIds: Readonly<{
655
+ [id: string]: true;
656
+ }>;
545
657
  previousSelectedElementIds: {
546
- [id: string]: boolean;
658
+ [id: string]: true;
547
659
  };
660
+ selectedElementsAreBeingDragged: boolean;
548
661
  shouldCacheIgnoreZoom: boolean;
549
662
  toast: {
550
663
  message: string;
@@ -552,7 +665,7 @@ export declare const actionChangeOpacity: {
552
665
  duration?: number | undefined;
553
666
  } | null;
554
667
  zenModeEnabled: boolean;
555
- theme: string;
668
+ theme: import("../element/types").Theme;
556
669
  gridSize: number | null;
557
670
  viewModeEnabled: boolean;
558
671
  selectedGroupIds: {
@@ -575,14 +688,18 @@ export declare const actionChangeOpacity: {
575
688
  data: import("../charts").Spreadsheet;
576
689
  };
577
690
  pendingImageElementId: string | null;
578
- showHyperlinkPopup: false | "info" | "editor";
691
+ showHyperlinkPopup: false | "editor" | "info";
579
692
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
693
+ snapLines: import("../snapping").SnapLine[];
694
+ originSnapOffset: {
695
+ x: number;
696
+ y: number;
697
+ } | null;
698
+ objectsSnapModeEnabled: boolean;
580
699
  };
581
700
  commitToHistory: true;
582
701
  };
583
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
584
- isInHamburgerMenu: boolean;
585
- }) => JSX.Element;
702
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
586
703
  } & {
587
704
  keyTest?: undefined;
588
705
  };
@@ -593,9 +710,18 @@ export declare const actionChangeFontSize: {
593
710
  elements: ExcalidrawElement[];
594
711
  appState: {
595
712
  currentItemFontSize: number;
713
+ contextMenu: {
714
+ items: import("../components/ContextMenu").ContextMenuItems;
715
+ top: number;
716
+ left: number;
717
+ } | null;
596
718
  showWelcomeScreen: boolean;
597
719
  isLoading: boolean;
598
- errorMessage: string | null;
720
+ errorMessage: import("react").ReactNode;
721
+ activeEmbeddable: {
722
+ element: import("../element/types").NonDeletedExcalidrawElement;
723
+ state: "active" | "hover";
724
+ } | null;
599
725
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
600
726
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
601
727
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -603,19 +729,27 @@ export declare const actionChangeFontSize: {
603
729
  isBindingEnabled: boolean;
604
730
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
605
731
  suggestedBindings: import("../element/binding").SuggestedBinding[];
732
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
733
+ frameRendering: {
734
+ enabled: boolean;
735
+ name: boolean;
736
+ outline: boolean;
737
+ clip: boolean;
738
+ };
739
+ editingFrame: string | null;
740
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
606
741
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
607
742
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
608
743
  activeTool: {
609
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
610
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
744
+ lastActiveTool: import("../../src/types").LastActiveTool;
611
745
  locked: boolean;
746
+ } & ({
747
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
612
748
  customType: null;
613
749
  } | {
614
750
  type: "custom";
615
751
  customType: string;
616
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
617
- locked: boolean;
618
- };
752
+ });
619
753
  penMode: boolean;
620
754
  penDetected: boolean;
621
755
  exportBackground: boolean;
@@ -631,10 +765,9 @@ export declare const actionChangeFontSize: {
631
765
  currentItemOpacity: number;
632
766
  currentItemFontFamily: number;
633
767
  currentItemTextAlign: string;
634
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
635
768
  currentItemStartArrowhead: Arrowhead | null;
636
769
  currentItemEndArrowhead: Arrowhead | null;
637
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
770
+ currentItemRoundness: import("../element/types").StrokeRoundness;
638
771
  viewBackgroundColor: string;
639
772
  scrollX: number;
640
773
  scrollY: number;
@@ -647,17 +780,21 @@ export declare const actionChangeFontSize: {
647
780
  value: import("../../src/types").NormalizedZoomValue;
648
781
  }>;
649
782
  openMenu: "canvas" | "shape" | null;
650
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
651
- openSidebar: "library" | "customSidebar" | null;
652
- openDialog: "imageExport" | "help" | null;
653
- isSidebarDocked: boolean;
783
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
784
+ openSidebar: {
785
+ name: string;
786
+ tab?: string | undefined;
787
+ } | null;
788
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
789
+ defaultSidebarDockedPreference: boolean;
654
790
  lastPointerDownWith: import("../element/types").PointerType;
655
- selectedElementIds: {
656
- [id: string]: boolean;
657
- };
791
+ selectedElementIds: Readonly<{
792
+ [id: string]: true;
793
+ }>;
658
794
  previousSelectedElementIds: {
659
- [id: string]: boolean;
795
+ [id: string]: true;
660
796
  };
797
+ selectedElementsAreBeingDragged: boolean;
661
798
  shouldCacheIgnoreZoom: boolean;
662
799
  toast: {
663
800
  message: string;
@@ -665,7 +802,7 @@ export declare const actionChangeFontSize: {
665
802
  duration?: number | undefined;
666
803
  } | null;
667
804
  zenModeEnabled: boolean;
668
- theme: string;
805
+ theme: import("../element/types").Theme;
669
806
  gridSize: number | null;
670
807
  viewModeEnabled: boolean;
671
808
  selectedGroupIds: {
@@ -688,14 +825,18 @@ export declare const actionChangeFontSize: {
688
825
  data: import("../charts").Spreadsheet;
689
826
  };
690
827
  pendingImageElementId: string | null;
691
- showHyperlinkPopup: false | "info" | "editor";
828
+ showHyperlinkPopup: false | "editor" | "info";
692
829
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
830
+ snapLines: import("../snapping").SnapLine[];
831
+ originSnapOffset: {
832
+ x: number;
833
+ y: number;
834
+ } | null;
835
+ objectsSnapModeEnabled: boolean;
693
836
  };
694
837
  commitToHistory: boolean;
695
838
  };
696
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
697
- isInHamburgerMenu: boolean;
698
- }) => JSX.Element;
839
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
699
840
  } & {
700
841
  keyTest?: undefined;
701
842
  };
@@ -706,9 +847,18 @@ export declare const actionDecreaseFontSize: {
706
847
  elements: ExcalidrawElement[];
707
848
  appState: {
708
849
  currentItemFontSize: number;
850
+ contextMenu: {
851
+ items: import("../components/ContextMenu").ContextMenuItems;
852
+ top: number;
853
+ left: number;
854
+ } | null;
709
855
  showWelcomeScreen: boolean;
710
856
  isLoading: boolean;
711
- errorMessage: string | null;
857
+ errorMessage: import("react").ReactNode;
858
+ activeEmbeddable: {
859
+ element: import("../element/types").NonDeletedExcalidrawElement;
860
+ state: "active" | "hover";
861
+ } | null;
712
862
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
713
863
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
714
864
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -716,19 +866,27 @@ export declare const actionDecreaseFontSize: {
716
866
  isBindingEnabled: boolean;
717
867
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
718
868
  suggestedBindings: import("../element/binding").SuggestedBinding[];
869
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
870
+ frameRendering: {
871
+ enabled: boolean;
872
+ name: boolean;
873
+ outline: boolean;
874
+ clip: boolean;
875
+ };
876
+ editingFrame: string | null;
877
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
719
878
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
720
879
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
721
880
  activeTool: {
722
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
723
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
881
+ lastActiveTool: import("../../src/types").LastActiveTool;
724
882
  locked: boolean;
883
+ } & ({
884
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
725
885
  customType: null;
726
886
  } | {
727
887
  type: "custom";
728
888
  customType: string;
729
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
730
- locked: boolean;
731
- };
889
+ });
732
890
  penMode: boolean;
733
891
  penDetected: boolean;
734
892
  exportBackground: boolean;
@@ -744,10 +902,9 @@ export declare const actionDecreaseFontSize: {
744
902
  currentItemOpacity: number;
745
903
  currentItemFontFamily: number;
746
904
  currentItemTextAlign: string;
747
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
748
905
  currentItemStartArrowhead: Arrowhead | null;
749
906
  currentItemEndArrowhead: Arrowhead | null;
750
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
907
+ currentItemRoundness: import("../element/types").StrokeRoundness;
751
908
  viewBackgroundColor: string;
752
909
  scrollX: number;
753
910
  scrollY: number;
@@ -760,17 +917,21 @@ export declare const actionDecreaseFontSize: {
760
917
  value: import("../../src/types").NormalizedZoomValue;
761
918
  }>;
762
919
  openMenu: "canvas" | "shape" | null;
763
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
764
- openSidebar: "library" | "customSidebar" | null;
765
- openDialog: "imageExport" | "help" | null;
766
- isSidebarDocked: boolean;
920
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
921
+ openSidebar: {
922
+ name: string;
923
+ tab?: string | undefined;
924
+ } | null;
925
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
926
+ defaultSidebarDockedPreference: boolean;
767
927
  lastPointerDownWith: import("../element/types").PointerType;
768
- selectedElementIds: {
769
- [id: string]: boolean;
770
- };
928
+ selectedElementIds: Readonly<{
929
+ [id: string]: true;
930
+ }>;
771
931
  previousSelectedElementIds: {
772
- [id: string]: boolean;
932
+ [id: string]: true;
773
933
  };
934
+ selectedElementsAreBeingDragged: boolean;
774
935
  shouldCacheIgnoreZoom: boolean;
775
936
  toast: {
776
937
  message: string;
@@ -778,7 +939,7 @@ export declare const actionDecreaseFontSize: {
778
939
  duration?: number | undefined;
779
940
  } | null;
780
941
  zenModeEnabled: boolean;
781
- theme: string;
942
+ theme: import("../element/types").Theme;
782
943
  gridSize: number | null;
783
944
  viewModeEnabled: boolean;
784
945
  selectedGroupIds: {
@@ -801,8 +962,14 @@ export declare const actionDecreaseFontSize: {
801
962
  data: import("../charts").Spreadsheet;
802
963
  };
803
964
  pendingImageElementId: string | null;
804
- showHyperlinkPopup: false | "info" | "editor";
965
+ showHyperlinkPopup: false | "editor" | "info";
805
966
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
967
+ snapLines: import("../snapping").SnapLine[];
968
+ originSnapOffset: {
969
+ x: number;
970
+ y: number;
971
+ } | null;
972
+ objectsSnapModeEnabled: boolean;
806
973
  };
807
974
  commitToHistory: boolean;
808
975
  };
@@ -817,9 +984,18 @@ export declare const actionIncreaseFontSize: {
817
984
  elements: ExcalidrawElement[];
818
985
  appState: {
819
986
  currentItemFontSize: number;
987
+ contextMenu: {
988
+ items: import("../components/ContextMenu").ContextMenuItems;
989
+ top: number;
990
+ left: number;
991
+ } | null;
820
992
  showWelcomeScreen: boolean;
821
993
  isLoading: boolean;
822
- errorMessage: string | null;
994
+ errorMessage: import("react").ReactNode;
995
+ activeEmbeddable: {
996
+ element: import("../element/types").NonDeletedExcalidrawElement;
997
+ state: "active" | "hover";
998
+ } | null;
823
999
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
824
1000
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
825
1001
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -827,19 +1003,27 @@ export declare const actionIncreaseFontSize: {
827
1003
  isBindingEnabled: boolean;
828
1004
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
829
1005
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1006
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1007
+ frameRendering: {
1008
+ enabled: boolean;
1009
+ name: boolean;
1010
+ outline: boolean;
1011
+ clip: boolean;
1012
+ };
1013
+ editingFrame: string | null;
1014
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
830
1015
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
831
1016
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
832
1017
  activeTool: {
833
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
834
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1018
+ lastActiveTool: import("../../src/types").LastActiveTool;
835
1019
  locked: boolean;
1020
+ } & ({
1021
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
836
1022
  customType: null;
837
1023
  } | {
838
1024
  type: "custom";
839
1025
  customType: string;
840
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
841
- locked: boolean;
842
- };
1026
+ });
843
1027
  penMode: boolean;
844
1028
  penDetected: boolean;
845
1029
  exportBackground: boolean;
@@ -855,10 +1039,9 @@ export declare const actionIncreaseFontSize: {
855
1039
  currentItemOpacity: number;
856
1040
  currentItemFontFamily: number;
857
1041
  currentItemTextAlign: string;
858
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
859
1042
  currentItemStartArrowhead: Arrowhead | null;
860
1043
  currentItemEndArrowhead: Arrowhead | null;
861
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1044
+ currentItemRoundness: import("../element/types").StrokeRoundness;
862
1045
  viewBackgroundColor: string;
863
1046
  scrollX: number;
864
1047
  scrollY: number;
@@ -871,17 +1054,21 @@ export declare const actionIncreaseFontSize: {
871
1054
  value: import("../../src/types").NormalizedZoomValue;
872
1055
  }>;
873
1056
  openMenu: "canvas" | "shape" | null;
874
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
875
- openSidebar: "library" | "customSidebar" | null;
876
- openDialog: "imageExport" | "help" | null;
877
- isSidebarDocked: boolean;
1057
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1058
+ openSidebar: {
1059
+ name: string;
1060
+ tab?: string | undefined;
1061
+ } | null;
1062
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1063
+ defaultSidebarDockedPreference: boolean;
878
1064
  lastPointerDownWith: import("../element/types").PointerType;
879
- selectedElementIds: {
880
- [id: string]: boolean;
881
- };
1065
+ selectedElementIds: Readonly<{
1066
+ [id: string]: true;
1067
+ }>;
882
1068
  previousSelectedElementIds: {
883
- [id: string]: boolean;
1069
+ [id: string]: true;
884
1070
  };
1071
+ selectedElementsAreBeingDragged: boolean;
885
1072
  shouldCacheIgnoreZoom: boolean;
886
1073
  toast: {
887
1074
  message: string;
@@ -889,7 +1076,7 @@ export declare const actionIncreaseFontSize: {
889
1076
  duration?: number | undefined;
890
1077
  } | null;
891
1078
  zenModeEnabled: boolean;
892
- theme: string;
1079
+ theme: import("../element/types").Theme;
893
1080
  gridSize: number | null;
894
1081
  viewModeEnabled: boolean;
895
1082
  selectedGroupIds: {
@@ -912,8 +1099,14 @@ export declare const actionIncreaseFontSize: {
912
1099
  data: import("../charts").Spreadsheet;
913
1100
  };
914
1101
  pendingImageElementId: string | null;
915
- showHyperlinkPopup: false | "info" | "editor";
1102
+ showHyperlinkPopup: false | "editor" | "info";
916
1103
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1104
+ snapLines: import("../snapping").SnapLine[];
1105
+ originSnapOffset: {
1106
+ x: number;
1107
+ y: number;
1108
+ } | null;
1109
+ objectsSnapModeEnabled: boolean;
917
1110
  };
918
1111
  commitToHistory: boolean;
919
1112
  };
@@ -928,9 +1121,18 @@ export declare const actionChangeFontFamily: {
928
1121
  elements: ExcalidrawElement[];
929
1122
  appState: {
930
1123
  currentItemFontFamily: any;
1124
+ contextMenu: {
1125
+ items: import("../components/ContextMenu").ContextMenuItems;
1126
+ top: number;
1127
+ left: number;
1128
+ } | null;
931
1129
  showWelcomeScreen: boolean;
932
1130
  isLoading: boolean;
933
- errorMessage: string | null;
1131
+ errorMessage: import("react").ReactNode;
1132
+ activeEmbeddable: {
1133
+ element: import("../element/types").NonDeletedExcalidrawElement;
1134
+ state: "active" | "hover";
1135
+ } | null;
934
1136
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
935
1137
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
936
1138
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -938,19 +1140,27 @@ export declare const actionChangeFontFamily: {
938
1140
  isBindingEnabled: boolean;
939
1141
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
940
1142
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1143
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1144
+ frameRendering: {
1145
+ enabled: boolean;
1146
+ name: boolean;
1147
+ outline: boolean;
1148
+ clip: boolean;
1149
+ };
1150
+ editingFrame: string | null;
1151
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
941
1152
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
942
1153
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
943
1154
  activeTool: {
944
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
945
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1155
+ lastActiveTool: import("../../src/types").LastActiveTool;
946
1156
  locked: boolean;
1157
+ } & ({
1158
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
947
1159
  customType: null;
948
1160
  } | {
949
1161
  type: "custom";
950
1162
  customType: string;
951
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
952
- locked: boolean;
953
- };
1163
+ });
954
1164
  penMode: boolean;
955
1165
  penDetected: boolean;
956
1166
  exportBackground: boolean;
@@ -966,10 +1176,9 @@ export declare const actionChangeFontFamily: {
966
1176
  currentItemOpacity: number;
967
1177
  currentItemFontSize: number;
968
1178
  currentItemTextAlign: string;
969
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
970
1179
  currentItemStartArrowhead: Arrowhead | null;
971
1180
  currentItemEndArrowhead: Arrowhead | null;
972
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1181
+ currentItemRoundness: import("../element/types").StrokeRoundness;
973
1182
  viewBackgroundColor: string;
974
1183
  scrollX: number;
975
1184
  scrollY: number;
@@ -982,17 +1191,21 @@ export declare const actionChangeFontFamily: {
982
1191
  value: import("../../src/types").NormalizedZoomValue;
983
1192
  }>;
984
1193
  openMenu: "canvas" | "shape" | null;
985
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
986
- openSidebar: "library" | "customSidebar" | null;
987
- openDialog: "imageExport" | "help" | null;
988
- isSidebarDocked: boolean;
1194
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1195
+ openSidebar: {
1196
+ name: string;
1197
+ tab?: string | undefined;
1198
+ } | null;
1199
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1200
+ defaultSidebarDockedPreference: boolean;
989
1201
  lastPointerDownWith: import("../element/types").PointerType;
990
- selectedElementIds: {
991
- [id: string]: boolean;
992
- };
1202
+ selectedElementIds: Readonly<{
1203
+ [id: string]: true;
1204
+ }>;
993
1205
  previousSelectedElementIds: {
994
- [id: string]: boolean;
1206
+ [id: string]: true;
995
1207
  };
1208
+ selectedElementsAreBeingDragged: boolean;
996
1209
  shouldCacheIgnoreZoom: boolean;
997
1210
  toast: {
998
1211
  message: string;
@@ -1000,7 +1213,7 @@ export declare const actionChangeFontFamily: {
1000
1213
  duration?: number | undefined;
1001
1214
  } | null;
1002
1215
  zenModeEnabled: boolean;
1003
- theme: string;
1216
+ theme: import("../element/types").Theme;
1004
1217
  gridSize: number | null;
1005
1218
  viewModeEnabled: boolean;
1006
1219
  selectedGroupIds: {
@@ -1023,14 +1236,18 @@ export declare const actionChangeFontFamily: {
1023
1236
  data: import("../charts").Spreadsheet;
1024
1237
  };
1025
1238
  pendingImageElementId: string | null;
1026
- showHyperlinkPopup: false | "info" | "editor";
1239
+ showHyperlinkPopup: false | "editor" | "info";
1027
1240
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1241
+ snapLines: import("../snapping").SnapLine[];
1242
+ originSnapOffset: {
1243
+ x: number;
1244
+ y: number;
1245
+ } | null;
1246
+ objectsSnapModeEnabled: boolean;
1028
1247
  };
1029
1248
  commitToHistory: true;
1030
1249
  };
1031
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1032
- isInHamburgerMenu: boolean;
1033
- }) => JSX.Element;
1250
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1034
1251
  } & {
1035
1252
  keyTest?: undefined;
1036
1253
  };
@@ -1041,9 +1258,18 @@ export declare const actionChangeTextAlign: {
1041
1258
  elements: ExcalidrawElement[];
1042
1259
  appState: {
1043
1260
  currentItemTextAlign: any;
1261
+ contextMenu: {
1262
+ items: import("../components/ContextMenu").ContextMenuItems;
1263
+ top: number;
1264
+ left: number;
1265
+ } | null;
1044
1266
  showWelcomeScreen: boolean;
1045
1267
  isLoading: boolean;
1046
- errorMessage: string | null;
1268
+ errorMessage: import("react").ReactNode;
1269
+ activeEmbeddable: {
1270
+ element: import("../element/types").NonDeletedExcalidrawElement;
1271
+ state: "active" | "hover";
1272
+ } | null;
1047
1273
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1048
1274
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1049
1275
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1051,19 +1277,27 @@ export declare const actionChangeTextAlign: {
1051
1277
  isBindingEnabled: boolean;
1052
1278
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1053
1279
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1280
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1281
+ frameRendering: {
1282
+ enabled: boolean;
1283
+ name: boolean;
1284
+ outline: boolean;
1285
+ clip: boolean;
1286
+ };
1287
+ editingFrame: string | null;
1288
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1054
1289
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1055
1290
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1056
1291
  activeTool: {
1057
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1058
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1292
+ lastActiveTool: import("../../src/types").LastActiveTool;
1059
1293
  locked: boolean;
1294
+ } & ({
1295
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1060
1296
  customType: null;
1061
1297
  } | {
1062
1298
  type: "custom";
1063
1299
  customType: string;
1064
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1065
- locked: boolean;
1066
- };
1300
+ });
1067
1301
  penMode: boolean;
1068
1302
  penDetected: boolean;
1069
1303
  exportBackground: boolean;
@@ -1079,10 +1313,9 @@ export declare const actionChangeTextAlign: {
1079
1313
  currentItemOpacity: number;
1080
1314
  currentItemFontFamily: number;
1081
1315
  currentItemFontSize: number;
1082
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
1083
1316
  currentItemStartArrowhead: Arrowhead | null;
1084
1317
  currentItemEndArrowhead: Arrowhead | null;
1085
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1318
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1086
1319
  viewBackgroundColor: string;
1087
1320
  scrollX: number;
1088
1321
  scrollY: number;
@@ -1095,17 +1328,21 @@ export declare const actionChangeTextAlign: {
1095
1328
  value: import("../../src/types").NormalizedZoomValue;
1096
1329
  }>;
1097
1330
  openMenu: "canvas" | "shape" | null;
1098
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1099
- openSidebar: "library" | "customSidebar" | null;
1100
- openDialog: "imageExport" | "help" | null;
1101
- isSidebarDocked: boolean;
1331
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1332
+ openSidebar: {
1333
+ name: string;
1334
+ tab?: string | undefined;
1335
+ } | null;
1336
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1337
+ defaultSidebarDockedPreference: boolean;
1102
1338
  lastPointerDownWith: import("../element/types").PointerType;
1103
- selectedElementIds: {
1104
- [id: string]: boolean;
1105
- };
1339
+ selectedElementIds: Readonly<{
1340
+ [id: string]: true;
1341
+ }>;
1106
1342
  previousSelectedElementIds: {
1107
- [id: string]: boolean;
1343
+ [id: string]: true;
1108
1344
  };
1345
+ selectedElementsAreBeingDragged: boolean;
1109
1346
  shouldCacheIgnoreZoom: boolean;
1110
1347
  toast: {
1111
1348
  message: string;
@@ -1113,7 +1350,7 @@ export declare const actionChangeTextAlign: {
1113
1350
  duration?: number | undefined;
1114
1351
  } | null;
1115
1352
  zenModeEnabled: boolean;
1116
- theme: string;
1353
+ theme: import("../element/types").Theme;
1117
1354
  gridSize: number | null;
1118
1355
  viewModeEnabled: boolean;
1119
1356
  selectedGroupIds: {
@@ -1136,14 +1373,18 @@ export declare const actionChangeTextAlign: {
1136
1373
  data: import("../charts").Spreadsheet;
1137
1374
  };
1138
1375
  pendingImageElementId: string | null;
1139
- showHyperlinkPopup: false | "info" | "editor";
1376
+ showHyperlinkPopup: false | "editor" | "info";
1140
1377
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1378
+ snapLines: import("../snapping").SnapLine[];
1379
+ originSnapOffset: {
1380
+ x: number;
1381
+ y: number;
1382
+ } | null;
1383
+ objectsSnapModeEnabled: boolean;
1141
1384
  };
1142
1385
  commitToHistory: true;
1143
1386
  };
1144
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1145
- isInHamburgerMenu: boolean;
1146
- }) => JSX.Element;
1387
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1147
1388
  } & {
1148
1389
  keyTest?: undefined;
1149
1390
  };
@@ -1155,9 +1396,18 @@ export declare const actionChangeVerticalAlign: {
1155
1396
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1156
1397
  elements: ExcalidrawElement[];
1157
1398
  appState: {
1399
+ contextMenu: {
1400
+ items: import("../components/ContextMenu").ContextMenuItems;
1401
+ top: number;
1402
+ left: number;
1403
+ } | null;
1158
1404
  showWelcomeScreen: boolean;
1159
1405
  isLoading: boolean;
1160
- errorMessage: string | null;
1406
+ errorMessage: import("react").ReactNode;
1407
+ activeEmbeddable: {
1408
+ element: import("../element/types").NonDeletedExcalidrawElement;
1409
+ state: "active" | "hover";
1410
+ } | null;
1161
1411
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1162
1412
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1163
1413
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1165,19 +1415,27 @@ export declare const actionChangeVerticalAlign: {
1165
1415
  isBindingEnabled: boolean;
1166
1416
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1167
1417
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1418
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1419
+ frameRendering: {
1420
+ enabled: boolean;
1421
+ name: boolean;
1422
+ outline: boolean;
1423
+ clip: boolean;
1424
+ };
1425
+ editingFrame: string | null;
1426
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1168
1427
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1169
1428
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1170
1429
  activeTool: {
1171
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1172
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1430
+ lastActiveTool: import("../../src/types").LastActiveTool;
1173
1431
  locked: boolean;
1432
+ } & ({
1433
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1174
1434
  customType: null;
1175
1435
  } | {
1176
1436
  type: "custom";
1177
1437
  customType: string;
1178
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1179
- locked: boolean;
1180
- };
1438
+ });
1181
1439
  penMode: boolean;
1182
1440
  penDetected: boolean;
1183
1441
  exportBackground: boolean;
@@ -1194,10 +1452,9 @@ export declare const actionChangeVerticalAlign: {
1194
1452
  currentItemFontFamily: number;
1195
1453
  currentItemFontSize: number;
1196
1454
  currentItemTextAlign: string;
1197
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
1198
1455
  currentItemStartArrowhead: Arrowhead | null;
1199
1456
  currentItemEndArrowhead: Arrowhead | null;
1200
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1457
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1201
1458
  viewBackgroundColor: string;
1202
1459
  scrollX: number;
1203
1460
  scrollY: number;
@@ -1210,17 +1467,21 @@ export declare const actionChangeVerticalAlign: {
1210
1467
  value: import("../../src/types").NormalizedZoomValue;
1211
1468
  }>;
1212
1469
  openMenu: "canvas" | "shape" | null;
1213
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1214
- openSidebar: "library" | "customSidebar" | null;
1215
- openDialog: "imageExport" | "help" | null;
1216
- isSidebarDocked: boolean;
1470
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1471
+ openSidebar: {
1472
+ name: string;
1473
+ tab?: string | undefined;
1474
+ } | null;
1475
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1476
+ defaultSidebarDockedPreference: boolean;
1217
1477
  lastPointerDownWith: import("../element/types").PointerType;
1218
- selectedElementIds: {
1219
- [id: string]: boolean;
1220
- };
1478
+ selectedElementIds: Readonly<{
1479
+ [id: string]: true;
1480
+ }>;
1221
1481
  previousSelectedElementIds: {
1222
- [id: string]: boolean;
1482
+ [id: string]: true;
1223
1483
  };
1484
+ selectedElementsAreBeingDragged: boolean;
1224
1485
  shouldCacheIgnoreZoom: boolean;
1225
1486
  toast: {
1226
1487
  message: string;
@@ -1228,7 +1489,7 @@ export declare const actionChangeVerticalAlign: {
1228
1489
  duration?: number | undefined;
1229
1490
  } | null;
1230
1491
  zenModeEnabled: boolean;
1231
- theme: string;
1492
+ theme: import("../element/types").Theme;
1232
1493
  gridSize: number | null;
1233
1494
  viewModeEnabled: boolean;
1234
1495
  selectedGroupIds: {
@@ -1251,28 +1512,40 @@ export declare const actionChangeVerticalAlign: {
1251
1512
  data: import("../charts").Spreadsheet;
1252
1513
  };
1253
1514
  pendingImageElementId: string | null;
1254
- showHyperlinkPopup: false | "info" | "editor";
1515
+ showHyperlinkPopup: false | "editor" | "info";
1255
1516
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1517
+ snapLines: import("../snapping").SnapLine[];
1518
+ originSnapOffset: {
1519
+ x: number;
1520
+ y: number;
1521
+ } | null;
1522
+ objectsSnapModeEnabled: boolean;
1256
1523
  };
1257
1524
  commitToHistory: true;
1258
1525
  };
1259
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1260
- isInHamburgerMenu: boolean;
1261
- }) => JSX.Element;
1526
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1262
1527
  } & {
1263
1528
  keyTest?: undefined;
1264
1529
  };
1265
- export declare const actionChangeSharpness: {
1266
- name: "changeSharpness";
1530
+ export declare const actionChangeRoundness: {
1531
+ name: "changeRoundness";
1267
1532
  trackEvent: false;
1268
1533
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1269
1534
  elements: ExcalidrawElement[];
1270
1535
  appState: {
1271
- currentItemStrokeSharpness: any;
1272
- currentItemLinearStrokeSharpness: any;
1536
+ currentItemRoundness: any;
1537
+ contextMenu: {
1538
+ items: import("../components/ContextMenu").ContextMenuItems;
1539
+ top: number;
1540
+ left: number;
1541
+ } | null;
1273
1542
  showWelcomeScreen: boolean;
1274
1543
  isLoading: boolean;
1275
- errorMessage: string | null;
1544
+ errorMessage: import("react").ReactNode;
1545
+ activeEmbeddable: {
1546
+ element: import("../element/types").NonDeletedExcalidrawElement;
1547
+ state: "active" | "hover";
1548
+ } | null;
1276
1549
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1277
1550
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1278
1551
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1280,19 +1553,27 @@ export declare const actionChangeSharpness: {
1280
1553
  isBindingEnabled: boolean;
1281
1554
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1282
1555
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1556
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1557
+ frameRendering: {
1558
+ enabled: boolean;
1559
+ name: boolean;
1560
+ outline: boolean;
1561
+ clip: boolean;
1562
+ };
1563
+ editingFrame: string | null;
1564
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1283
1565
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1284
1566
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1285
1567
  activeTool: {
1286
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1287
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1568
+ lastActiveTool: import("../../src/types").LastActiveTool;
1288
1569
  locked: boolean;
1570
+ } & ({
1571
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1289
1572
  customType: null;
1290
1573
  } | {
1291
1574
  type: "custom";
1292
1575
  customType: string;
1293
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1294
- locked: boolean;
1295
- };
1576
+ });
1296
1577
  penMode: boolean;
1297
1578
  penDetected: boolean;
1298
1579
  exportBackground: boolean;
@@ -1323,17 +1604,21 @@ export declare const actionChangeSharpness: {
1323
1604
  value: import("../../src/types").NormalizedZoomValue;
1324
1605
  }>;
1325
1606
  openMenu: "canvas" | "shape" | null;
1326
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1327
- openSidebar: "library" | "customSidebar" | null;
1328
- openDialog: "imageExport" | "help" | null;
1329
- isSidebarDocked: boolean;
1607
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1608
+ openSidebar: {
1609
+ name: string;
1610
+ tab?: string | undefined;
1611
+ } | null;
1612
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1613
+ defaultSidebarDockedPreference: boolean;
1330
1614
  lastPointerDownWith: import("../element/types").PointerType;
1331
- selectedElementIds: {
1332
- [id: string]: boolean;
1333
- };
1615
+ selectedElementIds: Readonly<{
1616
+ [id: string]: true;
1617
+ }>;
1334
1618
  previousSelectedElementIds: {
1335
- [id: string]: boolean;
1619
+ [id: string]: true;
1336
1620
  };
1621
+ selectedElementsAreBeingDragged: boolean;
1337
1622
  shouldCacheIgnoreZoom: boolean;
1338
1623
  toast: {
1339
1624
  message: string;
@@ -1341,7 +1626,7 @@ export declare const actionChangeSharpness: {
1341
1626
  duration?: number | undefined;
1342
1627
  } | null;
1343
1628
  zenModeEnabled: boolean;
1344
- theme: string;
1629
+ theme: import("../element/types").Theme;
1345
1630
  gridSize: number | null;
1346
1631
  viewModeEnabled: boolean;
1347
1632
  selectedGroupIds: {
@@ -1364,14 +1649,18 @@ export declare const actionChangeSharpness: {
1364
1649
  data: import("../charts").Spreadsheet;
1365
1650
  };
1366
1651
  pendingImageElementId: string | null;
1367
- showHyperlinkPopup: false | "info" | "editor";
1652
+ showHyperlinkPopup: false | "editor" | "info";
1368
1653
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1654
+ snapLines: import("../snapping").SnapLine[];
1655
+ originSnapOffset: {
1656
+ x: number;
1657
+ y: number;
1658
+ } | null;
1659
+ objectsSnapModeEnabled: boolean;
1369
1660
  };
1370
1661
  commitToHistory: true;
1371
1662
  };
1372
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1373
- isInHamburgerMenu: boolean;
1374
- }) => JSX.Element;
1663
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1375
1664
  } & {
1376
1665
  keyTest?: undefined;
1377
1666
  };
@@ -1384,9 +1673,18 @@ export declare const actionChangeArrowhead: {
1384
1673
  }) => {
1385
1674
  elements: ExcalidrawElement[];
1386
1675
  appState: {
1676
+ contextMenu: {
1677
+ items: import("../components/ContextMenu").ContextMenuItems;
1678
+ top: number;
1679
+ left: number;
1680
+ } | null;
1387
1681
  showWelcomeScreen: boolean;
1388
1682
  isLoading: boolean;
1389
- errorMessage: string | null;
1683
+ errorMessage: import("react").ReactNode;
1684
+ activeEmbeddable: {
1685
+ element: import("../element/types").NonDeletedExcalidrawElement;
1686
+ state: "active" | "hover";
1687
+ } | null;
1390
1688
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1391
1689
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1392
1690
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1394,19 +1692,27 @@ export declare const actionChangeArrowhead: {
1394
1692
  isBindingEnabled: boolean;
1395
1693
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1396
1694
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1695
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1696
+ frameRendering: {
1697
+ enabled: boolean;
1698
+ name: boolean;
1699
+ outline: boolean;
1700
+ clip: boolean;
1701
+ };
1702
+ editingFrame: string | null;
1703
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1397
1704
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1398
1705
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1399
1706
  activeTool: {
1400
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1401
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1707
+ lastActiveTool: import("../../src/types").LastActiveTool;
1402
1708
  locked: boolean;
1709
+ } & ({
1710
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1403
1711
  customType: null;
1404
1712
  } | {
1405
1713
  type: "custom";
1406
1714
  customType: string;
1407
- lastActiveToolBeforeEraser: import("../../src/types").LastActiveToolBeforeEraser;
1408
- locked: boolean;
1409
- };
1715
+ });
1410
1716
  penMode: boolean;
1411
1717
  penDetected: boolean;
1412
1718
  exportBackground: boolean;
@@ -1423,10 +1729,9 @@ export declare const actionChangeArrowhead: {
1423
1729
  currentItemFontFamily: number;
1424
1730
  currentItemFontSize: number;
1425
1731
  currentItemTextAlign: string;
1426
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
1427
1732
  currentItemStartArrowhead: Arrowhead | null;
1428
1733
  currentItemEndArrowhead: Arrowhead | null;
1429
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
1734
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1430
1735
  viewBackgroundColor: string;
1431
1736
  scrollX: number;
1432
1737
  scrollY: number;
@@ -1439,17 +1744,21 @@ export declare const actionChangeArrowhead: {
1439
1744
  value: import("../../src/types").NormalizedZoomValue;
1440
1745
  }>;
1441
1746
  openMenu: "canvas" | "shape" | null;
1442
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
1443
- openSidebar: "library" | "customSidebar" | null;
1444
- openDialog: "imageExport" | "help" | null;
1445
- isSidebarDocked: boolean;
1747
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1748
+ openSidebar: {
1749
+ name: string;
1750
+ tab?: string | undefined;
1751
+ } | null;
1752
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1753
+ defaultSidebarDockedPreference: boolean;
1446
1754
  lastPointerDownWith: import("../element/types").PointerType;
1447
- selectedElementIds: {
1448
- [id: string]: boolean;
1449
- };
1755
+ selectedElementIds: Readonly<{
1756
+ [id: string]: true;
1757
+ }>;
1450
1758
  previousSelectedElementIds: {
1451
- [id: string]: boolean;
1759
+ [id: string]: true;
1452
1760
  };
1761
+ selectedElementsAreBeingDragged: boolean;
1453
1762
  shouldCacheIgnoreZoom: boolean;
1454
1763
  toast: {
1455
1764
  message: string;
@@ -1457,7 +1766,7 @@ export declare const actionChangeArrowhead: {
1457
1766
  duration?: number | undefined;
1458
1767
  } | null;
1459
1768
  zenModeEnabled: boolean;
1460
- theme: string;
1769
+ theme: import("../element/types").Theme;
1461
1770
  gridSize: number | null;
1462
1771
  viewModeEnabled: boolean;
1463
1772
  selectedGroupIds: {
@@ -1480,14 +1789,18 @@ export declare const actionChangeArrowhead: {
1480
1789
  data: import("../charts").Spreadsheet;
1481
1790
  };
1482
1791
  pendingImageElementId: string | null;
1483
- showHyperlinkPopup: false | "info" | "editor";
1792
+ showHyperlinkPopup: false | "editor" | "info";
1484
1793
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1794
+ snapLines: import("../snapping").SnapLine[];
1795
+ originSnapOffset: {
1796
+ x: number;
1797
+ y: number;
1798
+ } | null;
1799
+ objectsSnapModeEnabled: boolean;
1485
1800
  };
1486
1801
  commitToHistory: true;
1487
1802
  };
1488
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
1489
- isInHamburgerMenu: boolean;
1490
- }) => JSX.Element;
1803
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1491
1804
  } & {
1492
1805
  keyTest?: undefined;
1493
1806
  };