@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,3 @@
1
- /// <reference types="react" />
2
1
  export declare const actionCopy: {
3
2
  name: "copy";
4
3
  trackEvent: {
@@ -43,7 +42,11 @@ export declare const actionCut: {
43
42
  } | null;
44
43
  showWelcomeScreen: boolean;
45
44
  isLoading: boolean;
46
- errorMessage: string | null;
45
+ errorMessage: import("react").ReactNode;
46
+ activeEmbeddable: {
47
+ element: import("../element/types").NonDeletedExcalidrawElement;
48
+ state: "active" | "hover";
49
+ } | null;
47
50
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
48
51
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
49
52
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -51,18 +54,20 @@ export declare const actionCut: {
51
54
  isBindingEnabled: boolean;
52
55
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
53
56
  suggestedBindings: import("../element/binding").SuggestedBinding[];
57
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
58
+ frameRendering: {
59
+ enabled: boolean;
60
+ name: boolean;
61
+ outline: boolean;
62
+ clip: boolean;
63
+ };
64
+ editingFrame: string | null;
65
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
54
66
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
55
67
  activeTool: {
56
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
57
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
58
- locked: boolean;
59
- customType: null;
60
- } | {
61
- type: "custom";
62
- customType: string;
63
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
68
+ lastActiveTool: import("../types").ActiveTool | null;
64
69
  locked: boolean;
65
- };
70
+ } & import("../types").ActiveTool;
66
71
  penMode: boolean;
67
72
  penDetected: boolean;
68
73
  exportBackground: boolean;
@@ -94,17 +99,21 @@ export declare const actionCut: {
94
99
  value: import("../types").NormalizedZoomValue;
95
100
  }>;
96
101
  openMenu: "canvas" | "shape" | null;
97
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
98
- openSidebar: "library" | "customSidebar" | null;
102
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
103
+ openSidebar: {
104
+ name: string;
105
+ tab?: string | undefined;
106
+ } | null;
99
107
  openDialog: "imageExport" | "help" | "jsonExport" | null;
100
- isSidebarDocked: boolean;
108
+ defaultSidebarDockedPreference: boolean;
101
109
  lastPointerDownWith: import("../element/types").PointerType;
102
- selectedElementIds: {
103
- [id: string]: boolean;
104
- };
110
+ selectedElementIds: Readonly<{
111
+ [id: string]: true;
112
+ }>;
105
113
  previousSelectedElementIds: {
106
- [id: string]: boolean;
114
+ [id: string]: true;
107
115
  };
116
+ selectedElementsAreBeingDragged: boolean;
108
117
  shouldCacheIgnoreZoom: boolean;
109
118
  toast: {
110
119
  message: string;
@@ -112,7 +121,7 @@ export declare const actionCut: {
112
121
  duration?: number | undefined;
113
122
  } | null;
114
123
  zenModeEnabled: boolean;
115
- theme: string;
124
+ theme: import("../element/types").Theme;
116
125
  gridSize: number | null;
117
126
  viewModeEnabled: boolean;
118
127
  selectedGroupIds: {
@@ -135,8 +144,14 @@ export declare const actionCut: {
135
144
  data: import("../charts").Spreadsheet;
136
145
  };
137
146
  pendingImageElementId: string | null;
138
- showHyperlinkPopup: false | "info" | "editor";
147
+ showHyperlinkPopup: false | "editor" | "info";
139
148
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
149
+ snapLines: readonly import("../snapping").SnapLine[];
150
+ originSnapOffset: {
151
+ x: number;
152
+ y: number;
153
+ } | null;
154
+ objectsSnapModeEnabled: boolean;
140
155
  };
141
156
  commitToHistory: false;
142
157
  } | {
@@ -178,7 +193,11 @@ export declare const actionCut: {
178
193
  } | null;
179
194
  showWelcomeScreen: boolean;
180
195
  isLoading: boolean;
181
- errorMessage: string | null;
196
+ errorMessage: import("react").ReactNode;
197
+ activeEmbeddable: {
198
+ element: import("../element/types").NonDeletedExcalidrawElement;
199
+ state: "active" | "hover";
200
+ } | null;
182
201
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
183
202
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
184
203
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -186,18 +205,20 @@ export declare const actionCut: {
186
205
  isBindingEnabled: boolean;
187
206
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
188
207
  suggestedBindings: import("../element/binding").SuggestedBinding[];
208
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
209
+ frameRendering: {
210
+ enabled: boolean;
211
+ name: boolean;
212
+ outline: boolean;
213
+ clip: boolean;
214
+ };
215
+ editingFrame: string | null;
216
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
189
217
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
190
218
  activeTool: {
191
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
192
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
219
+ lastActiveTool: import("../types").ActiveTool | null;
193
220
  locked: boolean;
194
- customType: null;
195
- } | {
196
- type: "custom";
197
- customType: string;
198
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
199
- locked: boolean;
200
- };
221
+ } & import("../types").ActiveTool;
201
222
  penMode: boolean;
202
223
  penDetected: boolean;
203
224
  exportBackground: boolean;
@@ -229,17 +250,21 @@ export declare const actionCut: {
229
250
  value: import("../types").NormalizedZoomValue;
230
251
  }>;
231
252
  openMenu: "canvas" | "shape" | null;
232
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
233
- openSidebar: "library" | "customSidebar" | null;
253
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
254
+ openSidebar: {
255
+ name: string;
256
+ tab?: string | undefined;
257
+ } | null;
234
258
  openDialog: "imageExport" | "help" | "jsonExport" | null;
235
- isSidebarDocked: boolean;
259
+ defaultSidebarDockedPreference: boolean;
236
260
  lastPointerDownWith: import("../element/types").PointerType;
237
- selectedElementIds: {
238
- [id: string]: boolean;
239
- };
261
+ selectedElementIds: Readonly<{
262
+ [id: string]: true;
263
+ }>;
240
264
  previousSelectedElementIds: {
241
- [id: string]: boolean;
265
+ [id: string]: true;
242
266
  };
267
+ selectedElementsAreBeingDragged: boolean;
243
268
  shouldCacheIgnoreZoom: boolean;
244
269
  toast: {
245
270
  message: string;
@@ -247,7 +272,7 @@ export declare const actionCut: {
247
272
  duration?: number | undefined;
248
273
  } | null;
249
274
  zenModeEnabled: boolean;
250
- theme: string;
275
+ theme: import("../element/types").Theme;
251
276
  gridSize: number | null;
252
277
  viewModeEnabled: boolean;
253
278
  selectedGroupIds: {
@@ -270,26 +295,27 @@ export declare const actionCut: {
270
295
  data: import("../charts").Spreadsheet;
271
296
  };
272
297
  pendingImageElementId: string | null;
273
- showHyperlinkPopup: false | "info" | "editor";
298
+ showHyperlinkPopup: false | "editor" | "info";
274
299
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
300
+ snapLines: readonly import("../snapping").SnapLine[];
301
+ originSnapOffset: {
302
+ x: number;
303
+ y: number;
304
+ } | null;
305
+ objectsSnapModeEnabled: boolean;
275
306
  };
276
307
  commitToHistory: true;
277
308
  } | {
278
309
  elements: import("../element/types").ExcalidrawElement[];
279
310
  appState: {
280
311
  activeTool: {
281
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
282
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
312
+ lastActiveTool: import("../types").ActiveTool | null;
283
313
  locked: boolean;
284
- customType: null;
285
- } | {
286
- type: "custom";
287
- customType: string;
288
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
289
- locked: boolean;
290
- };
314
+ } & import("../types").ActiveTool;
291
315
  multiElement: null;
316
+ activeEmbeddable: null;
292
317
  selectedElementIds: {};
318
+ selectedGroupIds: {};
293
319
  contextMenu: {
294
320
  items: import("../components/ContextMenu").ContextMenuItems;
295
321
  top: number;
@@ -297,13 +323,22 @@ export declare const actionCut: {
297
323
  } | null;
298
324
  showWelcomeScreen: boolean;
299
325
  isLoading: boolean;
300
- errorMessage: string | null;
326
+ errorMessage: import("react").ReactNode;
301
327
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
302
328
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
303
329
  selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
304
330
  isBindingEnabled: boolean;
305
331
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
306
332
  suggestedBindings: import("../element/binding").SuggestedBinding[];
333
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
334
+ frameRendering: {
335
+ enabled: boolean;
336
+ name: boolean;
337
+ outline: boolean;
338
+ clip: boolean;
339
+ };
340
+ editingFrame: string | null;
341
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
307
342
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
308
343
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
309
344
  penMode: boolean;
@@ -337,14 +372,18 @@ export declare const actionCut: {
337
372
  value: import("../types").NormalizedZoomValue;
338
373
  }>;
339
374
  openMenu: "canvas" | "shape" | null;
340
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
341
- openSidebar: "library" | "customSidebar" | null;
375
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
376
+ openSidebar: {
377
+ name: string;
378
+ tab?: string | undefined;
379
+ } | null;
342
380
  openDialog: "imageExport" | "help" | "jsonExport" | null;
343
- isSidebarDocked: boolean;
381
+ defaultSidebarDockedPreference: boolean;
344
382
  lastPointerDownWith: import("../element/types").PointerType;
345
383
  previousSelectedElementIds: {
346
- [id: string]: boolean;
384
+ [id: string]: true;
347
385
  };
386
+ selectedElementsAreBeingDragged: boolean;
348
387
  shouldCacheIgnoreZoom: boolean;
349
388
  toast: {
350
389
  message: string;
@@ -352,12 +391,9 @@ export declare const actionCut: {
352
391
  duration?: number | undefined;
353
392
  } | null;
354
393
  zenModeEnabled: boolean;
355
- theme: string;
394
+ theme: import("../element/types").Theme;
356
395
  gridSize: number | null;
357
396
  viewModeEnabled: boolean;
358
- selectedGroupIds: {
359
- [groupId: string]: boolean;
360
- };
361
397
  editingGroupId: string | null;
362
398
  width: number;
363
399
  height: number;
@@ -375,16 +411,22 @@ export declare const actionCut: {
375
411
  data: import("../charts").Spreadsheet;
376
412
  };
377
413
  pendingImageElementId: string | null;
378
- showHyperlinkPopup: false | "info" | "editor";
414
+ showHyperlinkPopup: false | "editor" | "info";
379
415
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
416
+ snapLines: readonly import("../snapping").SnapLine[];
417
+ originSnapOffset: {
418
+ x: number;
419
+ y: number;
420
+ } | null;
421
+ objectsSnapModeEnabled: boolean;
380
422
  };
381
423
  commitToHistory: boolean;
382
424
  };
383
425
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
384
426
  contextItemLabel: string;
385
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
427
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
386
428
  } & {
387
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
429
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
388
430
  };
389
431
  export declare const actionCopyAsSvg: {
390
432
  name: "copyAsSvg";
@@ -404,6 +446,10 @@ export declare const actionCopyAsSvg: {
404
446
  } | null;
405
447
  showWelcomeScreen: boolean;
406
448
  isLoading: boolean;
449
+ activeEmbeddable: {
450
+ element: import("../element/types").NonDeletedExcalidrawElement;
451
+ state: "active" | "hover";
452
+ } | null;
407
453
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
408
454
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
409
455
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -411,19 +457,21 @@ export declare const actionCopyAsSvg: {
411
457
  isBindingEnabled: boolean;
412
458
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
413
459
  suggestedBindings: import("../element/binding").SuggestedBinding[];
460
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
461
+ frameRendering: {
462
+ enabled: boolean;
463
+ name: boolean;
464
+ outline: boolean;
465
+ clip: boolean;
466
+ };
467
+ editingFrame: string | null;
468
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
414
469
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
415
470
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
416
471
  activeTool: {
417
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
418
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
472
+ lastActiveTool: import("../types").ActiveTool | null;
419
473
  locked: boolean;
420
- customType: null;
421
- } | {
422
- type: "custom";
423
- customType: string;
424
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
425
- locked: boolean;
426
- };
474
+ } & import("../types").ActiveTool;
427
475
  penMode: boolean;
428
476
  penDetected: boolean;
429
477
  exportBackground: boolean;
@@ -455,17 +503,21 @@ export declare const actionCopyAsSvg: {
455
503
  value: import("../types").NormalizedZoomValue;
456
504
  }>;
457
505
  openMenu: "canvas" | "shape" | null;
458
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
459
- openSidebar: "library" | "customSidebar" | null;
506
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
507
+ openSidebar: {
508
+ name: string;
509
+ tab?: string | undefined;
510
+ } | null;
460
511
  openDialog: "imageExport" | "help" | "jsonExport" | null;
461
- isSidebarDocked: boolean;
512
+ defaultSidebarDockedPreference: boolean;
462
513
  lastPointerDownWith: import("../element/types").PointerType;
463
- selectedElementIds: {
464
- [id: string]: boolean;
465
- };
514
+ selectedElementIds: Readonly<{
515
+ [id: string]: true;
516
+ }>;
466
517
  previousSelectedElementIds: {
467
- [id: string]: boolean;
518
+ [id: string]: true;
468
519
  };
520
+ selectedElementsAreBeingDragged: boolean;
469
521
  shouldCacheIgnoreZoom: boolean;
470
522
  toast: {
471
523
  message: string;
@@ -473,7 +525,7 @@ export declare const actionCopyAsSvg: {
473
525
  duration?: number | undefined;
474
526
  } | null;
475
527
  zenModeEnabled: boolean;
476
- theme: string;
528
+ theme: import("../element/types").Theme;
477
529
  gridSize: number | null;
478
530
  viewModeEnabled: boolean;
479
531
  selectedGroupIds: {
@@ -496,8 +548,14 @@ export declare const actionCopyAsSvg: {
496
548
  data: import("../charts").Spreadsheet;
497
549
  };
498
550
  pendingImageElementId: string | null;
499
- showHyperlinkPopup: false | "info" | "editor";
551
+ showHyperlinkPopup: false | "editor" | "info";
500
552
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
553
+ snapLines: readonly import("../snapping").SnapLine[];
554
+ originSnapOffset: {
555
+ x: number;
556
+ y: number;
557
+ } | null;
558
+ objectsSnapModeEnabled: boolean;
501
559
  };
502
560
  commitToHistory: false;
503
561
  }>;
@@ -524,6 +582,10 @@ export declare const actionCopyAsPng: {
524
582
  } | null;
525
583
  showWelcomeScreen: boolean;
526
584
  isLoading: boolean;
585
+ activeEmbeddable: {
586
+ element: import("../element/types").NonDeletedExcalidrawElement;
587
+ state: "active" | "hover";
588
+ } | null;
527
589
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
528
590
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
529
591
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -531,19 +593,21 @@ export declare const actionCopyAsPng: {
531
593
  isBindingEnabled: boolean;
532
594
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
533
595
  suggestedBindings: import("../element/binding").SuggestedBinding[];
596
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
597
+ frameRendering: {
598
+ enabled: boolean;
599
+ name: boolean;
600
+ outline: boolean;
601
+ clip: boolean;
602
+ };
603
+ editingFrame: string | null;
604
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
534
605
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
535
606
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
536
607
  activeTool: {
537
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
538
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
608
+ lastActiveTool: import("../types").ActiveTool | null;
539
609
  locked: boolean;
540
- customType: null;
541
- } | {
542
- type: "custom";
543
- customType: string;
544
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
545
- locked: boolean;
546
- };
610
+ } & import("../types").ActiveTool;
547
611
  penMode: boolean;
548
612
  penDetected: boolean;
549
613
  exportBackground: boolean;
@@ -575,17 +639,21 @@ export declare const actionCopyAsPng: {
575
639
  value: import("../types").NormalizedZoomValue;
576
640
  }>;
577
641
  openMenu: "canvas" | "shape" | null;
578
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
579
- openSidebar: "library" | "customSidebar" | null;
642
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
643
+ openSidebar: {
644
+ name: string;
645
+ tab?: string | undefined;
646
+ } | null;
580
647
  openDialog: "imageExport" | "help" | "jsonExport" | null;
581
- isSidebarDocked: boolean;
648
+ defaultSidebarDockedPreference: boolean;
582
649
  lastPointerDownWith: import("../element/types").PointerType;
583
- selectedElementIds: {
584
- [id: string]: boolean;
585
- };
650
+ selectedElementIds: Readonly<{
651
+ [id: string]: true;
652
+ }>;
586
653
  previousSelectedElementIds: {
587
- [id: string]: boolean;
654
+ [id: string]: true;
588
655
  };
656
+ selectedElementsAreBeingDragged: boolean;
589
657
  shouldCacheIgnoreZoom: boolean;
590
658
  toast: {
591
659
  message: string;
@@ -593,7 +661,7 @@ export declare const actionCopyAsPng: {
593
661
  duration?: number | undefined;
594
662
  } | null;
595
663
  zenModeEnabled: boolean;
596
- theme: string;
664
+ theme: import("../element/types").Theme;
597
665
  gridSize: number | null;
598
666
  viewModeEnabled: boolean;
599
667
  selectedGroupIds: {
@@ -616,26 +684,32 @@ export declare const actionCopyAsPng: {
616
684
  data: import("../charts").Spreadsheet;
617
685
  };
618
686
  pendingImageElementId: string | null;
619
- showHyperlinkPopup: false | "info" | "editor";
687
+ showHyperlinkPopup: false | "editor" | "info";
620
688
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
689
+ snapLines: readonly import("../snapping").SnapLine[];
690
+ originSnapOffset: {
691
+ x: number;
692
+ y: number;
693
+ } | null;
694
+ objectsSnapModeEnabled: boolean;
621
695
  };
622
696
  commitToHistory: false;
623
697
  }>;
624
698
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[]) => boolean;
625
699
  contextItemLabel: string;
626
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
700
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
627
701
  } & {
628
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
702
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
629
703
  };
630
704
  export declare const copyText: {
631
705
  name: "copyText";
632
706
  trackEvent: {
633
707
  category: "element";
634
708
  };
635
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
709
+ perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => {
636
710
  commitToHistory: false;
637
711
  };
638
- predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
712
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
639
713
  contextItemLabel: string;
640
714
  } & {
641
715
  keyTest?: undefined;