@dwelle/excalidraw 0.4.0-e3bee83 → 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 (220) hide show
  1. package/CHANGELOG.md +525 -0
  2. package/README.md +18 -1820
  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 +3071 -1566
  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 +103 -55
  11. package/types/actions/actionAlign.d.ts +33 -28
  12. package/types/actions/actionBoundText.d.ts +175 -22
  13. package/types/actions/actionCanvas.d.ts +680 -170
  14. package/types/actions/actionClipboard.d.ts +174 -100
  15. package/types/actions/actionDeleteSelected.d.ts +102 -60
  16. package/types/actions/actionDistribute.d.ts +11 -12
  17. package/types/actions/actionDuplicateSelection.d.ts +3 -4
  18. package/types/actions/actionElementLock.d.ts +271 -0
  19. package/types/actions/actionExport.d.ts +363 -221
  20. package/types/actions/actionFinalize.d.ts +70 -42
  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 +250 -13
  24. package/types/actions/actionHistory.d.ts +1 -1
  25. package/types/actions/actionLinearEditor.d.ts +37 -21
  26. package/types/actions/actionMenu.d.ts +108 -62
  27. package/types/actions/actionNavigate.d.ts +1 -1
  28. package/types/actions/actionProperties.d.ts +465 -256
  29. package/types/actions/actionSelectAll.d.ts +123 -4
  30. package/types/actions/actionStyles.d.ts +39 -24
  31. package/types/actions/actionToggleGridMode.d.ts +37 -22
  32. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +49 -32
  33. package/types/actions/actionToggleStats.d.ts +37 -22
  34. package/types/actions/actionToggleViewMode.d.ts +37 -22
  35. package/types/actions/actionToggleZenMode.d.ts +37 -22
  36. package/types/actions/actionZindex.d.ts +12 -12
  37. package/types/actions/index.d.ts +2 -1
  38. package/types/actions/manager.d.ts +1 -1
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +11 -9
  41. package/types/appState.d.ts +18 -18
  42. package/types/charts.d.ts +2 -2
  43. package/types/clients.d.ts +5 -6
  44. package/types/clipboard.d.ts +8 -7
  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 +93 -35
  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 +3 -2
  52. package/types/components/ButtonIconSelect.d.ts +11 -3
  53. package/types/components/Card.d.ts +0 -1
  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 +3 -3
  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 +5 -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 +9 -15
  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 -28
  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 +8 -11
  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/canvases/InteractiveCanvas.d.ts +27 -0
  120. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  121. package/types/components/canvases/index.d.ts +3 -0
  122. package/types/components/dropdownMenu/DropdownMenu.d.ts +15 -9
  123. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +7 -3
  124. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +4 -4
  125. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -1
  126. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +4 -2
  127. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -2
  128. package/types/components/dropdownMenu/common.d.ts +6 -0
  129. package/types/components/footer/Footer.d.ts +4 -5
  130. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  131. package/types/components/icons.d.ts +16 -1
  132. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -1
  133. package/types/components/main-menu/MainMenu.d.ts +22 -13
  134. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -1
  135. package/types/components/welcome-screen/WelcomeScreen.d.ts +2 -3
  136. package/types/constants.d.ts +94 -10
  137. package/types/context/tunnels.d.ts +19 -0
  138. package/types/context/ui-appState.d.ts +4 -0
  139. package/types/cursor.d.ts +5 -0
  140. package/types/data/blob.d.ts +5 -3
  141. package/types/data/encode.d.ts +1 -1
  142. package/types/data/filesystem.d.ts +2 -1
  143. package/types/data/library.d.ts +3 -45
  144. package/types/data/restore.d.ts +10 -4
  145. package/types/data/transform.d.ts +73 -0
  146. package/types/data/types.d.ts +3 -5
  147. package/types/data/url.d.ts +7 -0
  148. package/types/element/Hyperlink.d.ts +48 -29
  149. package/types/element/binding.d.ts +4 -3
  150. package/types/element/bounds.d.ts +40 -10
  151. package/types/element/collision.d.ts +7 -7
  152. package/types/element/dragElements.d.ts +12 -2
  153. package/types/element/embeddable.d.ts +153 -0
  154. package/types/element/image.d.ts +11 -1
  155. package/types/element/index.d.ts +3 -2
  156. package/types/element/linearElementEditor.d.ts +43 -27
  157. package/types/element/mutateElement.d.ts +3 -2
  158. package/types/element/newElement.d.ts +48 -15
  159. package/types/element/resizeElements.d.ts +3 -2
  160. package/types/element/resizeTest.d.ts +2 -1
  161. package/types/element/showSelectedShapeActions.d.ts +2 -2
  162. package/types/element/sizeHelpers.d.ts +8 -1
  163. package/types/element/sortElements.d.ts +2 -0
  164. package/types/element/textElement.d.ts +43 -17
  165. package/types/element/textWysiwyg.d.ts +1 -1
  166. package/types/element/transformHandles.d.ts +16 -8
  167. package/types/element/typeChecks.d.ts +5 -2
  168. package/types/element/types.d.ts +59 -35
  169. package/types/emitter.d.ts +1 -2
  170. package/types/errors.d.ts +1 -1
  171. package/types/frame.d.ts +46 -0
  172. package/types/ga.d.ts +5 -5
  173. package/types/groups.d.ts +15 -11
  174. package/types/history.d.ts +3 -3
  175. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  176. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  177. package/types/hooks/useOutsideClick.d.ts +19 -2
  178. package/types/hooks/useScrollPosition.d.ts +1 -0
  179. package/types/hooks/useStable.d.ts +1 -0
  180. package/types/hooks/useTransition.d.ts +2 -0
  181. package/types/i18n.d.ts +11 -2
  182. package/types/jotai.d.ts +20 -108
  183. package/types/keys.d.ts +5 -4
  184. package/types/math.d.ts +5 -0
  185. package/types/packages/bbox.d.ts +11 -0
  186. package/types/packages/excalidraw/example/App.d.ts +7 -1
  187. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  188. package/types/packages/excalidraw/index.d.ts +11 -4
  189. package/types/packages/excalidraw/main.d.ts +3 -1
  190. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  191. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  192. package/types/packages/utils.d.ts +11 -2
  193. package/types/packages/withinBounds.d.ts +19 -0
  194. package/types/renderer/renderElement.d.ts +12 -22
  195. package/types/renderer/renderScene.d.ts +19 -27
  196. package/types/renderer/renderSnaps.d.ts +2 -0
  197. package/types/renderer/roundRect.d.ts +1 -1
  198. package/types/scene/Renderer.d.ts +25 -0
  199. package/types/scene/Scene.d.ts +27 -5
  200. package/types/scene/Shape.d.ts +12 -0
  201. package/types/scene/ShapeCache.d.ts +20 -0
  202. package/types/scene/comparisons.d.ts +0 -1
  203. package/types/scene/export.d.ts +50 -11
  204. package/types/scene/index.d.ts +1 -1
  205. package/types/scene/scroll.d.ts +1 -1
  206. package/types/scene/scrollbars.d.ts +2 -6
  207. package/types/scene/selection.d.ts +27 -6
  208. package/types/scene/types.d.ts +70 -34
  209. package/types/snapping.d.ts +108 -0
  210. package/types/types.d.ts +200 -84
  211. package/types/utility-types.d.ts +24 -0
  212. package/types/utils.d.ts +73 -29
  213. package/types/zindex.d.ts +4 -4
  214. package/types/components/ColorPicker.d.ts +0 -14
  215. package/types/components/LibraryButton.d.ts +0 -8
  216. package/types/components/SingleLibraryItem.d.ts +0 -10
  217. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  218. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  219. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  220. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import { NonDeletedExcalidrawElement, Theme } from "../element/types";
2
2
  import "../components/ToolIcon.scss";
3
3
  export declare const actionChangeProjectName: {
4
4
  name: "changeProjectName";
@@ -13,27 +13,33 @@ export declare const actionChangeProjectName: {
13
13
  } | null;
14
14
  showWelcomeScreen: boolean;
15
15
  isLoading: boolean;
16
- errorMessage: string | null;
17
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
18
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
16
+ errorMessage: import("react").ReactNode;
17
+ activeEmbeddable: {
18
+ element: NonDeletedExcalidrawElement;
19
+ state: "active" | "hover";
20
+ } | null;
21
+ draggingElement: NonDeletedExcalidrawElement | null;
22
+ resizingElement: NonDeletedExcalidrawElement | null;
19
23
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
20
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
24
+ selectionElement: NonDeletedExcalidrawElement | null;
21
25
  isBindingEnabled: boolean;
22
26
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
23
27
  suggestedBindings: import("../element/binding").SuggestedBinding[];
24
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
29
+ frameRendering: {
30
+ enabled: boolean;
31
+ name: boolean;
32
+ outline: boolean;
33
+ clip: boolean;
34
+ };
35
+ editingFrame: string | null;
36
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
37
+ editingElement: NonDeletedExcalidrawElement | null;
25
38
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
26
39
  activeTool: {
27
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
28
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
29
- locked: boolean;
30
- customType: null;
31
- } | {
32
- type: "custom";
33
- customType: string;
34
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
40
+ lastActiveTool: import("../types").ActiveTool | null;
35
41
  locked: boolean;
36
- };
42
+ } & import("../types").ActiveTool;
37
43
  penMode: boolean;
38
44
  penDetected: boolean;
39
45
  exportBackground: boolean;
@@ -64,17 +70,21 @@ export declare const actionChangeProjectName: {
64
70
  value: import("../types").NormalizedZoomValue;
65
71
  }>;
66
72
  openMenu: "canvas" | "shape" | null;
67
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
68
- openSidebar: "library" | "customSidebar" | null;
73
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
74
+ openSidebar: {
75
+ name: string;
76
+ tab?: string | undefined;
77
+ } | null;
69
78
  openDialog: "imageExport" | "help" | "jsonExport" | null;
70
- isSidebarDocked: boolean;
79
+ defaultSidebarDockedPreference: boolean;
71
80
  lastPointerDownWith: import("../element/types").PointerType;
72
- selectedElementIds: {
73
- [id: string]: boolean;
74
- };
81
+ selectedElementIds: Readonly<{
82
+ [id: string]: true;
83
+ }>;
75
84
  previousSelectedElementIds: {
76
- [id: string]: boolean;
85
+ [id: string]: true;
77
86
  };
87
+ selectedElementsAreBeingDragged: boolean;
78
88
  shouldCacheIgnoreZoom: boolean;
79
89
  toast: {
80
90
  message: string;
@@ -82,7 +92,7 @@ export declare const actionChangeProjectName: {
82
92
  duration?: number | undefined;
83
93
  } | null;
84
94
  zenModeEnabled: boolean;
85
- theme: string;
95
+ theme: Theme;
86
96
  gridSize: number | null;
87
97
  viewModeEnabled: boolean;
88
98
  selectedGroupIds: {
@@ -105,12 +115,18 @@ export declare const actionChangeProjectName: {
105
115
  data: import("../charts").Spreadsheet;
106
116
  };
107
117
  pendingImageElementId: string | null;
108
- showHyperlinkPopup: false | "info" | "editor";
118
+ showHyperlinkPopup: false | "editor" | "info";
109
119
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
120
+ snapLines: readonly import("../snapping").SnapLine[];
121
+ originSnapOffset: {
122
+ x: number;
123
+ y: number;
124
+ } | null;
125
+ objectsSnapModeEnabled: boolean;
110
126
  };
111
127
  commitToHistory: false;
112
128
  };
113
- PanelComponent: ({ appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
129
+ PanelComponent: ({ appState, updateData, appProps, data }: import("./types").PanelComponentProps) => JSX.Element;
114
130
  } & {
115
131
  keyTest?: undefined;
116
132
  };
@@ -130,27 +146,33 @@ export declare const actionChangeExportScale: {
130
146
  } | null;
131
147
  showWelcomeScreen: boolean;
132
148
  isLoading: boolean;
133
- errorMessage: string | null;
134
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
135
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
149
+ errorMessage: import("react").ReactNode;
150
+ activeEmbeddable: {
151
+ element: NonDeletedExcalidrawElement;
152
+ state: "active" | "hover";
153
+ } | null;
154
+ draggingElement: NonDeletedExcalidrawElement | null;
155
+ resizingElement: NonDeletedExcalidrawElement | null;
136
156
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
137
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
157
+ selectionElement: NonDeletedExcalidrawElement | null;
138
158
  isBindingEnabled: boolean;
139
159
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
140
160
  suggestedBindings: import("../element/binding").SuggestedBinding[];
141
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
161
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
162
+ frameRendering: {
163
+ enabled: boolean;
164
+ name: boolean;
165
+ outline: boolean;
166
+ clip: boolean;
167
+ };
168
+ editingFrame: string | null;
169
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
170
+ editingElement: NonDeletedExcalidrawElement | null;
142
171
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
143
172
  activeTool: {
144
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
145
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
173
+ lastActiveTool: import("../types").ActiveTool | null;
146
174
  locked: boolean;
147
- customType: null;
148
- } | {
149
- type: "custom";
150
- customType: string;
151
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
152
- locked: boolean;
153
- };
175
+ } & import("../types").ActiveTool;
154
176
  penMode: boolean;
155
177
  penDetected: boolean;
156
178
  exportBackground: boolean;
@@ -181,17 +203,21 @@ export declare const actionChangeExportScale: {
181
203
  value: import("../types").NormalizedZoomValue;
182
204
  }>;
183
205
  openMenu: "canvas" | "shape" | null;
184
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
185
- openSidebar: "library" | "customSidebar" | null;
206
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
207
+ openSidebar: {
208
+ name: string;
209
+ tab?: string | undefined;
210
+ } | null;
186
211
  openDialog: "imageExport" | "help" | "jsonExport" | null;
187
- isSidebarDocked: boolean;
212
+ defaultSidebarDockedPreference: boolean;
188
213
  lastPointerDownWith: import("../element/types").PointerType;
189
- selectedElementIds: {
190
- [id: string]: boolean;
191
- };
214
+ selectedElementIds: Readonly<{
215
+ [id: string]: true;
216
+ }>;
192
217
  previousSelectedElementIds: {
193
- [id: string]: boolean;
218
+ [id: string]: true;
194
219
  };
220
+ selectedElementsAreBeingDragged: boolean;
195
221
  shouldCacheIgnoreZoom: boolean;
196
222
  toast: {
197
223
  message: string;
@@ -199,7 +225,7 @@ export declare const actionChangeExportScale: {
199
225
  duration?: number | undefined;
200
226
  } | null;
201
227
  zenModeEnabled: boolean;
202
- theme: string;
228
+ theme: Theme;
203
229
  gridSize: number | null;
204
230
  viewModeEnabled: boolean;
205
231
  selectedGroupIds: {
@@ -222,8 +248,14 @@ export declare const actionChangeExportScale: {
222
248
  data: import("../charts").Spreadsheet;
223
249
  };
224
250
  pendingImageElementId: string | null;
225
- showHyperlinkPopup: false | "info" | "editor";
251
+ showHyperlinkPopup: false | "editor" | "info";
226
252
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
253
+ snapLines: readonly import("../snapping").SnapLine[];
254
+ originSnapOffset: {
255
+ x: number;
256
+ y: number;
257
+ } | null;
258
+ objectsSnapModeEnabled: boolean;
227
259
  };
228
260
  commitToHistory: false;
229
261
  };
@@ -247,27 +279,33 @@ export declare const actionChangeExportBackground: {
247
279
  } | null;
248
280
  showWelcomeScreen: boolean;
249
281
  isLoading: boolean;
250
- errorMessage: string | null;
251
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
252
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
282
+ errorMessage: import("react").ReactNode;
283
+ activeEmbeddable: {
284
+ element: NonDeletedExcalidrawElement;
285
+ state: "active" | "hover";
286
+ } | null;
287
+ draggingElement: NonDeletedExcalidrawElement | null;
288
+ resizingElement: NonDeletedExcalidrawElement | null;
253
289
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
254
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
290
+ selectionElement: NonDeletedExcalidrawElement | null;
255
291
  isBindingEnabled: boolean;
256
292
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
257
293
  suggestedBindings: import("../element/binding").SuggestedBinding[];
258
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
294
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
295
+ frameRendering: {
296
+ enabled: boolean;
297
+ name: boolean;
298
+ outline: boolean;
299
+ clip: boolean;
300
+ };
301
+ editingFrame: string | null;
302
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
303
+ editingElement: NonDeletedExcalidrawElement | null;
259
304
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
260
305
  activeTool: {
261
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
262
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
306
+ lastActiveTool: import("../types").ActiveTool | null;
263
307
  locked: boolean;
264
- customType: null;
265
- } | {
266
- type: "custom";
267
- customType: string;
268
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
269
- locked: boolean;
270
- };
308
+ } & import("../types").ActiveTool;
271
309
  penMode: boolean;
272
310
  penDetected: boolean;
273
311
  exportEmbedScene: boolean;
@@ -298,17 +336,21 @@ export declare const actionChangeExportBackground: {
298
336
  value: import("../types").NormalizedZoomValue;
299
337
  }>;
300
338
  openMenu: "canvas" | "shape" | null;
301
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
302
- openSidebar: "library" | "customSidebar" | null;
339
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
340
+ openSidebar: {
341
+ name: string;
342
+ tab?: string | undefined;
343
+ } | null;
303
344
  openDialog: "imageExport" | "help" | "jsonExport" | null;
304
- isSidebarDocked: boolean;
345
+ defaultSidebarDockedPreference: boolean;
305
346
  lastPointerDownWith: import("../element/types").PointerType;
306
- selectedElementIds: {
307
- [id: string]: boolean;
308
- };
347
+ selectedElementIds: Readonly<{
348
+ [id: string]: true;
349
+ }>;
309
350
  previousSelectedElementIds: {
310
- [id: string]: boolean;
351
+ [id: string]: true;
311
352
  };
353
+ selectedElementsAreBeingDragged: boolean;
312
354
  shouldCacheIgnoreZoom: boolean;
313
355
  toast: {
314
356
  message: string;
@@ -316,7 +358,7 @@ export declare const actionChangeExportBackground: {
316
358
  duration?: number | undefined;
317
359
  } | null;
318
360
  zenModeEnabled: boolean;
319
- theme: string;
361
+ theme: Theme;
320
362
  gridSize: number | null;
321
363
  viewModeEnabled: boolean;
322
364
  selectedGroupIds: {
@@ -339,8 +381,14 @@ export declare const actionChangeExportBackground: {
339
381
  data: import("../charts").Spreadsheet;
340
382
  };
341
383
  pendingImageElementId: string | null;
342
- showHyperlinkPopup: false | "info" | "editor";
384
+ showHyperlinkPopup: false | "editor" | "info";
343
385
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
386
+ snapLines: readonly import("../snapping").SnapLine[];
387
+ originSnapOffset: {
388
+ x: number;
389
+ y: number;
390
+ } | null;
391
+ objectsSnapModeEnabled: boolean;
344
392
  };
345
393
  commitToHistory: false;
346
394
  };
@@ -364,27 +412,33 @@ export declare const actionChangeExportEmbedScene: {
364
412
  } | null;
365
413
  showWelcomeScreen: boolean;
366
414
  isLoading: boolean;
367
- errorMessage: string | null;
368
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
369
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
415
+ errorMessage: import("react").ReactNode;
416
+ activeEmbeddable: {
417
+ element: NonDeletedExcalidrawElement;
418
+ state: "active" | "hover";
419
+ } | null;
420
+ draggingElement: NonDeletedExcalidrawElement | null;
421
+ resizingElement: NonDeletedExcalidrawElement | null;
370
422
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
371
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
423
+ selectionElement: NonDeletedExcalidrawElement | null;
372
424
  isBindingEnabled: boolean;
373
425
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
374
426
  suggestedBindings: import("../element/binding").SuggestedBinding[];
375
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
427
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
428
+ frameRendering: {
429
+ enabled: boolean;
430
+ name: boolean;
431
+ outline: boolean;
432
+ clip: boolean;
433
+ };
434
+ editingFrame: string | null;
435
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
436
+ editingElement: NonDeletedExcalidrawElement | null;
376
437
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
377
438
  activeTool: {
378
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
379
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
439
+ lastActiveTool: import("../types").ActiveTool | null;
380
440
  locked: boolean;
381
- customType: null;
382
- } | {
383
- type: "custom";
384
- customType: string;
385
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
386
- locked: boolean;
387
- };
441
+ } & import("../types").ActiveTool;
388
442
  penMode: boolean;
389
443
  penDetected: boolean;
390
444
  exportBackground: boolean;
@@ -415,17 +469,21 @@ export declare const actionChangeExportEmbedScene: {
415
469
  value: import("../types").NormalizedZoomValue;
416
470
  }>;
417
471
  openMenu: "canvas" | "shape" | null;
418
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
419
- openSidebar: "library" | "customSidebar" | null;
472
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
473
+ openSidebar: {
474
+ name: string;
475
+ tab?: string | undefined;
476
+ } | null;
420
477
  openDialog: "imageExport" | "help" | "jsonExport" | null;
421
- isSidebarDocked: boolean;
478
+ defaultSidebarDockedPreference: boolean;
422
479
  lastPointerDownWith: import("../element/types").PointerType;
423
- selectedElementIds: {
424
- [id: string]: boolean;
425
- };
480
+ selectedElementIds: Readonly<{
481
+ [id: string]: true;
482
+ }>;
426
483
  previousSelectedElementIds: {
427
- [id: string]: boolean;
484
+ [id: string]: true;
428
485
  };
486
+ selectedElementsAreBeingDragged: boolean;
429
487
  shouldCacheIgnoreZoom: boolean;
430
488
  toast: {
431
489
  message: string;
@@ -433,7 +491,7 @@ export declare const actionChangeExportEmbedScene: {
433
491
  duration?: number | undefined;
434
492
  } | null;
435
493
  zenModeEnabled: boolean;
436
- theme: string;
494
+ theme: Theme;
437
495
  gridSize: number | null;
438
496
  viewModeEnabled: boolean;
439
497
  selectedGroupIds: {
@@ -456,8 +514,14 @@ export declare const actionChangeExportEmbedScene: {
456
514
  data: import("../charts").Spreadsheet;
457
515
  };
458
516
  pendingImageElementId: string | null;
459
- showHyperlinkPopup: false | "info" | "editor";
517
+ showHyperlinkPopup: false | "editor" | "info";
460
518
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
519
+ snapLines: readonly import("../snapping").SnapLine[];
520
+ originSnapOffset: {
521
+ x: number;
522
+ y: number;
523
+ } | null;
524
+ objectsSnapModeEnabled: boolean;
461
525
  };
462
526
  commitToHistory: false;
463
527
  };
@@ -485,27 +549,33 @@ export declare const actionSaveToActiveFile: {
485
549
  } | null;
486
550
  showWelcomeScreen: boolean;
487
551
  isLoading: boolean;
488
- errorMessage: string | null;
489
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
490
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
552
+ errorMessage: import("react").ReactNode;
553
+ activeEmbeddable: {
554
+ element: NonDeletedExcalidrawElement;
555
+ state: "active" | "hover";
556
+ } | null;
557
+ draggingElement: NonDeletedExcalidrawElement | null;
558
+ resizingElement: NonDeletedExcalidrawElement | null;
491
559
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
492
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
560
+ selectionElement: NonDeletedExcalidrawElement | null;
493
561
  isBindingEnabled: boolean;
494
562
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
495
563
  suggestedBindings: import("../element/binding").SuggestedBinding[];
496
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
564
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
565
+ frameRendering: {
566
+ enabled: boolean;
567
+ name: boolean;
568
+ outline: boolean;
569
+ clip: boolean;
570
+ };
571
+ editingFrame: string | null;
572
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
573
+ editingElement: NonDeletedExcalidrawElement | null;
497
574
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
498
575
  activeTool: {
499
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
500
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
576
+ lastActiveTool: import("../types").ActiveTool | null;
501
577
  locked: boolean;
502
- customType: null;
503
- } | {
504
- type: "custom";
505
- customType: string;
506
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
507
- locked: boolean;
508
- };
578
+ } & import("../types").ActiveTool;
509
579
  penMode: boolean;
510
580
  penDetected: boolean;
511
581
  exportBackground: boolean;
@@ -537,20 +607,24 @@ export declare const actionSaveToActiveFile: {
537
607
  value: import("../types").NormalizedZoomValue;
538
608
  }>;
539
609
  openMenu: "canvas" | "shape" | null;
540
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
541
- openSidebar: "library" | "customSidebar" | null;
610
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
611
+ openSidebar: {
612
+ name: string;
613
+ tab?: string | undefined;
614
+ } | null;
542
615
  openDialog: "imageExport" | "help" | "jsonExport" | null;
543
- isSidebarDocked: boolean;
616
+ defaultSidebarDockedPreference: boolean;
544
617
  lastPointerDownWith: import("../element/types").PointerType;
545
- selectedElementIds: {
546
- [id: string]: boolean;
547
- };
618
+ selectedElementIds: Readonly<{
619
+ [id: string]: true;
620
+ }>;
548
621
  previousSelectedElementIds: {
549
- [id: string]: boolean;
622
+ [id: string]: true;
550
623
  };
624
+ selectedElementsAreBeingDragged: boolean;
551
625
  shouldCacheIgnoreZoom: boolean;
552
626
  zenModeEnabled: boolean;
553
- theme: string;
627
+ theme: Theme;
554
628
  gridSize: number | null;
555
629
  viewModeEnabled: boolean;
556
630
  selectedGroupIds: {
@@ -572,16 +646,22 @@ export declare const actionSaveToActiveFile: {
572
646
  data: import("../charts").Spreadsheet;
573
647
  };
574
648
  pendingImageElementId: string | null;
575
- showHyperlinkPopup: false | "info" | "editor";
649
+ showHyperlinkPopup: false | "editor" | "info";
576
650
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
651
+ snapLines: readonly import("../snapping").SnapLine[];
652
+ originSnapOffset: {
653
+ x: number;
654
+ y: number;
655
+ } | null;
656
+ objectsSnapModeEnabled: boolean;
577
657
  };
578
658
  } | {
579
659
  commitToHistory: false;
580
660
  appState?: undefined;
581
661
  }>;
582
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
662
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
583
663
  } & {
584
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
664
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
585
665
  };
586
666
  export declare const actionSaveFileToDisk: {
587
667
  name: "saveFileToDisk";
@@ -592,7 +672,11 @@ export declare const actionSaveFileToDisk: {
592
672
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
593
673
  commitToHistory: false;
594
674
  appState: {
675
+ openDialog: null;
595
676
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
677
+ toast: {
678
+ message: string;
679
+ };
596
680
  contextMenu: {
597
681
  items: import("../components/ContextMenu").ContextMenuItems;
598
682
  top: number;
@@ -600,27 +684,33 @@ export declare const actionSaveFileToDisk: {
600
684
  } | null;
601
685
  showWelcomeScreen: boolean;
602
686
  isLoading: boolean;
603
- errorMessage: string | null;
604
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
605
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
687
+ errorMessage: import("react").ReactNode;
688
+ activeEmbeddable: {
689
+ element: NonDeletedExcalidrawElement;
690
+ state: "active" | "hover";
691
+ } | null;
692
+ draggingElement: NonDeletedExcalidrawElement | null;
693
+ resizingElement: NonDeletedExcalidrawElement | null;
606
694
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
607
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
695
+ selectionElement: NonDeletedExcalidrawElement | null;
608
696
  isBindingEnabled: boolean;
609
697
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
610
698
  suggestedBindings: import("../element/binding").SuggestedBinding[];
611
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
699
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
700
+ frameRendering: {
701
+ enabled: boolean;
702
+ name: boolean;
703
+ outline: boolean;
704
+ clip: boolean;
705
+ };
706
+ editingFrame: string | null;
707
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
708
+ editingElement: NonDeletedExcalidrawElement | null;
612
709
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
613
710
  activeTool: {
614
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
615
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
616
- locked: boolean;
617
- customType: null;
618
- } | {
619
- type: "custom";
620
- customType: string;
621
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
711
+ lastActiveTool: import("../types").ActiveTool | null;
622
712
  locked: boolean;
623
- };
713
+ } & import("../types").ActiveTool;
624
714
  penMode: boolean;
625
715
  penDetected: boolean;
626
716
  exportBackground: boolean;
@@ -652,25 +742,23 @@ export declare const actionSaveFileToDisk: {
652
742
  value: import("../types").NormalizedZoomValue;
653
743
  }>;
654
744
  openMenu: "canvas" | "shape" | null;
655
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
656
- openSidebar: "library" | "customSidebar" | null;
657
- openDialog: "imageExport" | "help" | "jsonExport" | null;
658
- isSidebarDocked: boolean;
745
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
746
+ openSidebar: {
747
+ name: string;
748
+ tab?: string | undefined;
749
+ } | null;
750
+ defaultSidebarDockedPreference: boolean;
659
751
  lastPointerDownWith: import("../element/types").PointerType;
660
- selectedElementIds: {
661
- [id: string]: boolean;
662
- };
752
+ selectedElementIds: Readonly<{
753
+ [id: string]: true;
754
+ }>;
663
755
  previousSelectedElementIds: {
664
- [id: string]: boolean;
756
+ [id: string]: true;
665
757
  };
758
+ selectedElementsAreBeingDragged: boolean;
666
759
  shouldCacheIgnoreZoom: boolean;
667
- toast: {
668
- message: string;
669
- closable?: boolean | undefined;
670
- duration?: number | undefined;
671
- } | null;
672
760
  zenModeEnabled: boolean;
673
- theme: string;
761
+ theme: Theme;
674
762
  gridSize: number | null;
675
763
  viewModeEnabled: boolean;
676
764
  selectedGroupIds: {
@@ -692,17 +780,23 @@ export declare const actionSaveFileToDisk: {
692
780
  data: import("../charts").Spreadsheet;
693
781
  };
694
782
  pendingImageElementId: string | null;
695
- showHyperlinkPopup: false | "info" | "editor";
783
+ showHyperlinkPopup: false | "editor" | "info";
696
784
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
785
+ snapLines: readonly import("../snapping").SnapLine[];
786
+ originSnapOffset: {
787
+ x: number;
788
+ y: number;
789
+ } | null;
790
+ objectsSnapModeEnabled: boolean;
697
791
  };
698
792
  } | {
699
793
  commitToHistory: false;
700
794
  appState?: undefined;
701
795
  }>;
702
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
796
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
703
797
  PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
704
798
  } & {
705
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
799
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
706
800
  };
707
801
  export declare const actionLoadScene: {
708
802
  name: "loadScene";
@@ -713,19 +807,11 @@ export declare const actionLoadScene: {
713
807
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<false | {
714
808
  elements: import("../element/types").ExcalidrawElement[];
715
809
  appState: {
716
- theme: string;
717
- name: string;
718
810
  activeTool: {
719
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
720
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
811
+ lastActiveTool: import("../types").ActiveTool | null;
721
812
  locked: boolean;
722
- customType: null;
723
- } | {
724
- type: "custom";
725
- customType: string;
726
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
727
- locked: boolean;
728
- };
813
+ } & import("../types").ActiveTool;
814
+ name: string;
729
815
  contextMenu: {
730
816
  items: import("../components/ContextMenu").ContextMenuItems;
731
817
  top: number;
@@ -733,15 +819,28 @@ export declare const actionLoadScene: {
733
819
  } | null;
734
820
  showWelcomeScreen: boolean;
735
821
  isLoading: boolean;
736
- errorMessage: string | null;
737
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
738
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
822
+ errorMessage: import("react").ReactNode;
823
+ activeEmbeddable: {
824
+ element: NonDeletedExcalidrawElement;
825
+ state: "active" | "hover";
826
+ } | null;
827
+ draggingElement: NonDeletedExcalidrawElement | null;
828
+ resizingElement: NonDeletedExcalidrawElement | null;
739
829
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
740
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
830
+ selectionElement: NonDeletedExcalidrawElement | null;
741
831
  isBindingEnabled: boolean;
742
832
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
743
833
  suggestedBindings: import("../element/binding").SuggestedBinding[];
744
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
834
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
835
+ frameRendering: {
836
+ enabled: boolean;
837
+ name: boolean;
838
+ outline: boolean;
839
+ clip: boolean;
840
+ };
841
+ editingFrame: string | null;
842
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
843
+ editingElement: NonDeletedExcalidrawElement | null;
745
844
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
746
845
  penMode: boolean;
747
846
  penDetected: boolean;
@@ -773,17 +872,21 @@ export declare const actionLoadScene: {
773
872
  value: import("../types").NormalizedZoomValue;
774
873
  }>;
775
874
  openMenu: "canvas" | "shape" | null;
776
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
777
- openSidebar: "library" | "customSidebar" | null;
875
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
876
+ openSidebar: {
877
+ name: string;
878
+ tab?: string | undefined;
879
+ } | null;
778
880
  openDialog: "imageExport" | "help" | "jsonExport" | null;
779
- isSidebarDocked: boolean;
881
+ defaultSidebarDockedPreference: boolean;
780
882
  lastPointerDownWith: import("../element/types").PointerType;
781
- selectedElementIds: {
782
- [id: string]: boolean;
783
- };
883
+ selectedElementIds: Readonly<{
884
+ [id: string]: true;
885
+ }>;
784
886
  previousSelectedElementIds: {
785
- [id: string]: boolean;
887
+ [id: string]: true;
786
888
  };
889
+ selectedElementsAreBeingDragged: boolean;
787
890
  shouldCacheIgnoreZoom: boolean;
788
891
  toast: {
789
892
  message: string;
@@ -791,6 +894,7 @@ export declare const actionLoadScene: {
791
894
  duration?: number | undefined;
792
895
  } | null;
793
896
  zenModeEnabled: boolean;
897
+ theme: Theme;
794
898
  gridSize: number | null;
795
899
  viewModeEnabled: boolean;
796
900
  selectedGroupIds: {
@@ -809,8 +913,14 @@ export declare const actionLoadScene: {
809
913
  data: import("../charts").Spreadsheet;
810
914
  };
811
915
  pendingImageElementId: string | null;
812
- showHyperlinkPopup: false | "info" | "editor";
916
+ showHyperlinkPopup: false | "editor" | "info";
813
917
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
918
+ snapLines: readonly import("../snapping").SnapLine[];
919
+ originSnapOffset: {
920
+ x: number;
921
+ y: number;
922
+ } | null;
923
+ objectsSnapModeEnabled: boolean;
814
924
  };
815
925
  files: import("../types").BinaryFiles;
816
926
  commitToHistory: true;
@@ -825,26 +935,32 @@ export declare const actionLoadScene: {
825
935
  } | null;
826
936
  showWelcomeScreen: boolean;
827
937
  isLoading: boolean;
828
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
829
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
938
+ activeEmbeddable: {
939
+ element: NonDeletedExcalidrawElement;
940
+ state: "active" | "hover";
941
+ } | null;
942
+ draggingElement: NonDeletedExcalidrawElement | null;
943
+ resizingElement: NonDeletedExcalidrawElement | null;
830
944
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
831
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
945
+ selectionElement: NonDeletedExcalidrawElement | null;
832
946
  isBindingEnabled: boolean;
833
947
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
834
948
  suggestedBindings: import("../element/binding").SuggestedBinding[];
835
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
949
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
950
+ frameRendering: {
951
+ enabled: boolean;
952
+ name: boolean;
953
+ outline: boolean;
954
+ clip: boolean;
955
+ };
956
+ editingFrame: string | null;
957
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
958
+ editingElement: NonDeletedExcalidrawElement | null;
836
959
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
837
960
  activeTool: {
838
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
839
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
840
- locked: boolean;
841
- customType: null;
842
- } | {
843
- type: "custom";
844
- customType: string;
845
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
961
+ lastActiveTool: import("../types").ActiveTool | null;
846
962
  locked: boolean;
847
- };
963
+ } & import("../types").ActiveTool;
848
964
  penMode: boolean;
849
965
  penDetected: boolean;
850
966
  exportBackground: boolean;
@@ -876,17 +992,21 @@ export declare const actionLoadScene: {
876
992
  value: import("../types").NormalizedZoomValue;
877
993
  }>;
878
994
  openMenu: "canvas" | "shape" | null;
879
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
880
- openSidebar: "library" | "customSidebar" | null;
995
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
996
+ openSidebar: {
997
+ name: string;
998
+ tab?: string | undefined;
999
+ } | null;
881
1000
  openDialog: "imageExport" | "help" | "jsonExport" | null;
882
- isSidebarDocked: boolean;
1001
+ defaultSidebarDockedPreference: boolean;
883
1002
  lastPointerDownWith: import("../element/types").PointerType;
884
- selectedElementIds: {
885
- [id: string]: boolean;
886
- };
1003
+ selectedElementIds: Readonly<{
1004
+ [id: string]: true;
1005
+ }>;
887
1006
  previousSelectedElementIds: {
888
- [id: string]: boolean;
1007
+ [id: string]: true;
889
1008
  };
1009
+ selectedElementsAreBeingDragged: boolean;
890
1010
  shouldCacheIgnoreZoom: boolean;
891
1011
  toast: {
892
1012
  message: string;
@@ -894,7 +1014,7 @@ export declare const actionLoadScene: {
894
1014
  duration?: number | undefined;
895
1015
  } | null;
896
1016
  zenModeEnabled: boolean;
897
- theme: string;
1017
+ theme: Theme;
898
1018
  gridSize: number | null;
899
1019
  viewModeEnabled: boolean;
900
1020
  selectedGroupIds: {
@@ -917,15 +1037,21 @@ export declare const actionLoadScene: {
917
1037
  data: import("../charts").Spreadsheet;
918
1038
  };
919
1039
  pendingImageElementId: string | null;
920
- showHyperlinkPopup: false | "info" | "editor";
1040
+ showHyperlinkPopup: false | "editor" | "info";
921
1041
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1042
+ snapLines: readonly import("../snapping").SnapLine[];
1043
+ originSnapOffset: {
1044
+ x: number;
1045
+ y: number;
1046
+ } | null;
1047
+ objectsSnapModeEnabled: boolean;
922
1048
  };
923
1049
  files: import("../types").BinaryFiles;
924
1050
  commitToHistory: false;
925
1051
  }>;
926
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1052
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
927
1053
  } & {
928
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1054
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
929
1055
  };
930
1056
  export declare const actionExportWithDarkMode: {
931
1057
  name: "exportWithDarkMode";
@@ -943,27 +1069,33 @@ export declare const actionExportWithDarkMode: {
943
1069
  } | null;
944
1070
  showWelcomeScreen: boolean;
945
1071
  isLoading: boolean;
946
- errorMessage: string | null;
947
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
948
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1072
+ errorMessage: import("react").ReactNode;
1073
+ activeEmbeddable: {
1074
+ element: NonDeletedExcalidrawElement;
1075
+ state: "active" | "hover";
1076
+ } | null;
1077
+ draggingElement: NonDeletedExcalidrawElement | null;
1078
+ resizingElement: NonDeletedExcalidrawElement | null;
949
1079
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
950
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1080
+ selectionElement: NonDeletedExcalidrawElement | null;
951
1081
  isBindingEnabled: boolean;
952
1082
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
953
1083
  suggestedBindings: import("../element/binding").SuggestedBinding[];
954
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1084
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1085
+ frameRendering: {
1086
+ enabled: boolean;
1087
+ name: boolean;
1088
+ outline: boolean;
1089
+ clip: boolean;
1090
+ };
1091
+ editingFrame: string | null;
1092
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
1093
+ editingElement: NonDeletedExcalidrawElement | null;
955
1094
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
956
1095
  activeTool: {
957
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
958
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
959
- locked: boolean;
960
- customType: null;
961
- } | {
962
- type: "custom";
963
- customType: string;
964
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
1096
+ lastActiveTool: import("../types").ActiveTool | null;
965
1097
  locked: boolean;
966
- };
1098
+ } & import("../types").ActiveTool;
967
1099
  penMode: boolean;
968
1100
  penDetected: boolean;
969
1101
  exportBackground: boolean;
@@ -994,17 +1126,21 @@ export declare const actionExportWithDarkMode: {
994
1126
  value: import("../types").NormalizedZoomValue;
995
1127
  }>;
996
1128
  openMenu: "canvas" | "shape" | null;
997
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
998
- openSidebar: "library" | "customSidebar" | null;
1129
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1130
+ openSidebar: {
1131
+ name: string;
1132
+ tab?: string | undefined;
1133
+ } | null;
999
1134
  openDialog: "imageExport" | "help" | "jsonExport" | null;
1000
- isSidebarDocked: boolean;
1135
+ defaultSidebarDockedPreference: boolean;
1001
1136
  lastPointerDownWith: import("../element/types").PointerType;
1002
- selectedElementIds: {
1003
- [id: string]: boolean;
1004
- };
1137
+ selectedElementIds: Readonly<{
1138
+ [id: string]: true;
1139
+ }>;
1005
1140
  previousSelectedElementIds: {
1006
- [id: string]: boolean;
1141
+ [id: string]: true;
1007
1142
  };
1143
+ selectedElementsAreBeingDragged: boolean;
1008
1144
  shouldCacheIgnoreZoom: boolean;
1009
1145
  toast: {
1010
1146
  message: string;
@@ -1012,7 +1148,7 @@ export declare const actionExportWithDarkMode: {
1012
1148
  duration?: number | undefined;
1013
1149
  } | null;
1014
1150
  zenModeEnabled: boolean;
1015
- theme: string;
1151
+ theme: Theme;
1016
1152
  gridSize: number | null;
1017
1153
  viewModeEnabled: boolean;
1018
1154
  selectedGroupIds: {
@@ -1035,8 +1171,14 @@ export declare const actionExportWithDarkMode: {
1035
1171
  data: import("../charts").Spreadsheet;
1036
1172
  };
1037
1173
  pendingImageElementId: string | null;
1038
- showHyperlinkPopup: false | "info" | "editor";
1174
+ showHyperlinkPopup: false | "editor" | "info";
1039
1175
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1176
+ snapLines: readonly import("../snapping").SnapLine[];
1177
+ originSnapOffset: {
1178
+ x: number;
1179
+ y: number;
1180
+ } | null;
1181
+ objectsSnapModeEnabled: boolean;
1040
1182
  };
1041
1183
  commitToHistory: false;
1042
1184
  };