@dwelle/excalidraw 0.4.0-e1bdbb6 → 0.4.0-e587816

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