@dwelle/excalidraw 0.4.0-9db4535 → 0.4.0-9fa56da

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 (143) hide show
  1. package/CHANGELOG.md +255 -1
  2. package/README.md +4 -0
  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 +2123 -1783
  6. package/dist/excalidraw.production.min.js +1 -1
  7. package/package.json +7 -2
  8. package/types/actions/actionAddToLibrary.d.ts +84 -43
  9. package/types/actions/actionAlign.d.ts +33 -28
  10. package/types/actions/actionBoundText.d.ts +60 -32
  11. package/types/actions/actionCanvas.d.ts +436 -164
  12. package/types/actions/actionClipboard.d.ts +140 -74
  13. package/types/actions/actionDeleteSelected.d.ts +80 -42
  14. package/types/actions/actionDistribute.d.ts +11 -12
  15. package/types/actions/actionDuplicateSelection.d.ts +2 -3
  16. package/types/actions/actionElementLock.d.ts +58 -30
  17. package/types/actions/actionExport.d.ts +303 -177
  18. package/types/actions/actionFinalize.d.ts +56 -32
  19. package/types/actions/actionFlip.d.ts +8 -9
  20. package/types/actions/actionFrame.d.ts +423 -0
  21. package/types/actions/actionGroup.d.ts +250 -13
  22. package/types/actions/actionLinearEditor.d.ts +30 -17
  23. package/types/actions/actionMenu.d.ts +87 -47
  24. package/types/actions/actionNavigate.d.ts +1 -1
  25. package/types/actions/actionProperties.d.ts +370 -187
  26. package/types/actions/actionSelectAll.d.ts +123 -4
  27. package/types/actions/actionStyles.d.ts +32 -19
  28. package/types/actions/actionToggleGridMode.d.ts +30 -17
  29. package/types/actions/actionToggleObjectsSnapMode.d.ts +137 -0
  30. package/types/actions/actionToggleStats.d.ts +30 -17
  31. package/types/actions/actionToggleViewMode.d.ts +30 -17
  32. package/types/actions/actionToggleZenMode.d.ts +30 -17
  33. package/types/actions/actionZindex.d.ts +12 -12
  34. package/types/actions/index.d.ts +1 -0
  35. package/types/actions/shortcuts.d.ts +1 -1
  36. package/types/actions/types.d.ts +4 -3
  37. package/types/appState.d.ts +10 -15
  38. package/types/clients.d.ts +1 -5
  39. package/types/clipboard.d.ts +1 -0
  40. package/types/colors.d.ts +9 -9
  41. package/types/components/Actions.d.ts +4 -5
  42. package/types/components/App.d.ts +61 -28
  43. package/types/components/Avatar.d.ts +0 -1
  44. package/types/components/Button.d.ts +0 -1
  45. package/types/components/Card.d.ts +0 -1
  46. package/types/components/ColorPicker/ColorInput.d.ts +3 -1
  47. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  48. package/types/components/DefaultSidebar.d.ts +0 -1
  49. package/types/components/Dialog.d.ts +2 -1
  50. package/types/components/ExcalidrawLogo.d.ts +15 -0
  51. package/types/components/EyeDropper.d.ts +18 -8
  52. package/types/components/FilledButton.d.ts +2 -1
  53. package/types/components/HintViewer.d.ts +3 -4
  54. package/types/components/JSONExportDialog.d.ts +1 -1
  55. package/types/components/LaserTool/LaserPathManager.d.ts +28 -0
  56. package/types/components/LaserTool/LaserPointerButton.d.ts +10 -0
  57. package/types/components/LaserTool/LaserTool.d.ts +7 -0
  58. package/types/components/LayerUI.d.ts +6 -2
  59. package/types/components/LibraryMenuHeaderContent.d.ts +0 -1
  60. package/types/components/LibraryUnit.d.ts +0 -1
  61. package/types/components/LoadingMessage.d.ts +0 -1
  62. package/types/components/MobileMenu.d.ts +4 -3
  63. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  64. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  65. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  66. package/types/components/Section.d.ts +1 -1
  67. package/types/components/Sidebar/Sidebar.d.ts +1 -1
  68. package/types/components/Sidebar/SidebarTab.d.ts +0 -1
  69. package/types/components/Sidebar/SidebarTabTrigger.d.ts +0 -1
  70. package/types/components/Sidebar/SidebarTabTriggers.d.ts +0 -1
  71. package/types/components/Sidebar/SidebarTabs.d.ts +0 -1
  72. package/types/components/Stack.d.ts +2 -2
  73. package/types/components/ToolButton.d.ts +2 -1
  74. package/types/components/Trans.d.ts +2 -1
  75. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  76. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  77. package/types/components/canvases/index.d.ts +3 -0
  78. package/types/components/dropdownMenu/DropdownMenu.d.ts +9 -5
  79. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +2 -1
  80. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -1
  81. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +2 -1
  82. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -2
  83. package/types/components/dropdownMenu/common.d.ts +1 -1
  84. package/types/components/icons.d.ts +6 -0
  85. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -1
  86. package/types/components/main-menu/MainMenu.d.ts +9 -5
  87. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -1
  88. package/types/components/welcome-screen/WelcomeScreen.d.ts +0 -1
  89. package/types/constants.d.ts +35 -3
  90. package/types/context/tunnels.d.ts +1 -0
  91. package/types/data/transform.d.ts +71 -0
  92. package/types/data/url.d.ts +7 -0
  93. package/types/element/Hyperlink.d.ts +40 -23
  94. package/types/element/binding.d.ts +2 -1
  95. package/types/element/bounds.d.ts +30 -6
  96. package/types/element/collision.d.ts +7 -7
  97. package/types/element/dragElements.d.ts +12 -2
  98. package/types/element/embeddable.d.ts +153 -0
  99. package/types/element/index.d.ts +3 -2
  100. package/types/element/linearElementEditor.d.ts +33 -20
  101. package/types/element/newElement.d.ts +15 -6
  102. package/types/element/resizeElements.d.ts +2 -2
  103. package/types/element/sizeHelpers.d.ts +8 -1
  104. package/types/element/textElement.d.ts +5 -7
  105. package/types/element/textWysiwyg.d.ts +1 -1
  106. package/types/element/transformHandles.d.ts +10 -3
  107. package/types/element/typeChecks.d.ts +3 -1
  108. package/types/element/types.d.ts +19 -3
  109. package/types/frame.d.ts +40 -0
  110. package/types/groups.d.ts +15 -11
  111. package/types/history.d.ts +3 -3
  112. package/types/hooks/useOutsideClick.d.ts +0 -1
  113. package/types/hooks/useScrollPosition.d.ts +0 -1
  114. package/types/hooks/useStable.d.ts +1 -0
  115. package/types/i18n.d.ts +5 -2
  116. package/types/keys.d.ts +4 -0
  117. package/types/math.d.ts +3 -0
  118. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  119. package/types/packages/excalidraw/index.d.ts +3 -1
  120. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  121. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  122. package/types/packages/utils.d.ts +4 -1
  123. package/types/renderer/renderElement.d.ts +11 -22
  124. package/types/renderer/renderScene.d.ts +19 -27
  125. package/types/renderer/renderSnaps.d.ts +2 -0
  126. package/types/renderer/roundRect.d.ts +1 -1
  127. package/types/scene/Renderer.d.ts +25 -0
  128. package/types/scene/Scene.d.ts +23 -1
  129. package/types/scene/Shape.d.ts +12 -0
  130. package/types/scene/ShapeCache.d.ts +20 -0
  131. package/types/scene/export.d.ts +35 -9
  132. package/types/scene/scroll.d.ts +1 -1
  133. package/types/scene/scrollbars.d.ts +2 -6
  134. package/types/scene/selection.d.ts +26 -5
  135. package/types/scene/types.d.ts +66 -31
  136. package/types/snapping.d.ts +108 -0
  137. package/types/types.d.ts +130 -25
  138. package/types/utility-types.d.ts +3 -1
  139. package/types/utils.d.ts +60 -23
  140. package/types/zindex.d.ts +4 -4
  141. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  142. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  143. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { AppState } from "../../src/types";
3
2
  import { Arrowhead, ExcalidrawElement, ExcalidrawLinearElement } from "../element/types";
3
+ export declare const changeProperty: (elements: readonly ExcalidrawElement[], appState: AppState, callback: (element: ExcalidrawElement) => ExcalidrawElement, includeBoundText?: boolean) => ExcalidrawElement[];
4
+ export declare const getFormValue: <T>(elements: readonly ExcalidrawElement[], appState: AppState, getAttribute: (element: ExcalidrawElement) => T, defaultValue: T) => T;
4
5
  export declare const actionChangeStrokeColor: {
5
6
  name: "changeStrokeColor";
6
7
  trackEvent: false;
@@ -32,6 +33,10 @@ export declare const actionChangeFillStyle: {
32
33
  showWelcomeScreen: boolean;
33
34
  isLoading: boolean;
34
35
  errorMessage: import("react").ReactNode;
36
+ activeEmbeddable: {
37
+ element: import("../element/types").NonDeletedExcalidrawElement;
38
+ state: "active" | "hover";
39
+ } | null;
35
40
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
36
41
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
37
42
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -39,18 +44,21 @@ export declare const actionChangeFillStyle: {
39
44
  isBindingEnabled: boolean;
40
45
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
41
46
  suggestedBindings: import("../element/binding").SuggestedBinding[];
47
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
48
+ frameRendering: {
49
+ enabled: boolean;
50
+ name: boolean;
51
+ outline: boolean;
52
+ clip: boolean;
53
+ };
54
+ editingFrame: string | null;
55
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
42
56
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
43
57
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
44
58
  activeTool: {
45
- lastActiveTool: import("../../src/types").LastActiveTool;
59
+ lastActiveTool: import("../../src/types").ActiveTool | null;
46
60
  locked: boolean;
47
- } & ({
48
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
49
- customType: null;
50
- } | {
51
- type: "custom";
52
- customType: string;
53
- });
61
+ } & import("../../src/types").ActiveTool;
54
62
  penMode: boolean;
55
63
  penDetected: boolean;
56
64
  exportBackground: boolean;
@@ -89,12 +97,13 @@ export declare const actionChangeFillStyle: {
89
97
  openDialog: "imageExport" | "help" | "jsonExport" | null;
90
98
  defaultSidebarDockedPreference: boolean;
91
99
  lastPointerDownWith: import("../element/types").PointerType;
92
- selectedElementIds: {
93
- [id: string]: boolean;
94
- };
100
+ selectedElementIds: Readonly<{
101
+ [id: string]: true;
102
+ }>;
95
103
  previousSelectedElementIds: {
96
- [id: string]: boolean;
104
+ [id: string]: true;
97
105
  };
106
+ selectedElementsAreBeingDragged: boolean;
98
107
  shouldCacheIgnoreZoom: boolean;
99
108
  toast: {
100
109
  message: string;
@@ -102,7 +111,7 @@ export declare const actionChangeFillStyle: {
102
111
  duration?: number | undefined;
103
112
  } | null;
104
113
  zenModeEnabled: boolean;
105
- theme: string;
114
+ theme: import("../element/types").Theme;
106
115
  gridSize: number | null;
107
116
  viewModeEnabled: boolean;
108
117
  selectedGroupIds: {
@@ -125,8 +134,14 @@ export declare const actionChangeFillStyle: {
125
134
  data: import("../charts").Spreadsheet;
126
135
  };
127
136
  pendingImageElementId: string | null;
128
- showHyperlinkPopup: false | "info" | "editor";
137
+ showHyperlinkPopup: false | "editor" | "info";
129
138
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
139
+ snapLines: readonly import("../snapping").SnapLine[];
140
+ originSnapOffset: {
141
+ x: number;
142
+ y: number;
143
+ } | null;
144
+ objectsSnapModeEnabled: boolean;
130
145
  };
131
146
  commitToHistory: true;
132
147
  };
@@ -149,6 +164,10 @@ export declare const actionChangeStrokeWidth: {
149
164
  showWelcomeScreen: boolean;
150
165
  isLoading: boolean;
151
166
  errorMessage: import("react").ReactNode;
167
+ activeEmbeddable: {
168
+ element: import("../element/types").NonDeletedExcalidrawElement;
169
+ state: "active" | "hover";
170
+ } | null;
152
171
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
153
172
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
154
173
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -156,18 +175,21 @@ export declare const actionChangeStrokeWidth: {
156
175
  isBindingEnabled: boolean;
157
176
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
158
177
  suggestedBindings: import("../element/binding").SuggestedBinding[];
178
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
179
+ frameRendering: {
180
+ enabled: boolean;
181
+ name: boolean;
182
+ outline: boolean;
183
+ clip: boolean;
184
+ };
185
+ editingFrame: string | null;
186
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
159
187
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
160
188
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
161
189
  activeTool: {
162
- lastActiveTool: import("../../src/types").LastActiveTool;
190
+ lastActiveTool: import("../../src/types").ActiveTool | null;
163
191
  locked: boolean;
164
- } & ({
165
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
166
- customType: null;
167
- } | {
168
- type: "custom";
169
- customType: string;
170
- });
192
+ } & import("../../src/types").ActiveTool;
171
193
  penMode: boolean;
172
194
  penDetected: boolean;
173
195
  exportBackground: boolean;
@@ -206,12 +228,13 @@ export declare const actionChangeStrokeWidth: {
206
228
  openDialog: "imageExport" | "help" | "jsonExport" | null;
207
229
  defaultSidebarDockedPreference: boolean;
208
230
  lastPointerDownWith: import("../element/types").PointerType;
209
- selectedElementIds: {
210
- [id: string]: boolean;
211
- };
231
+ selectedElementIds: Readonly<{
232
+ [id: string]: true;
233
+ }>;
212
234
  previousSelectedElementIds: {
213
- [id: string]: boolean;
235
+ [id: string]: true;
214
236
  };
237
+ selectedElementsAreBeingDragged: boolean;
215
238
  shouldCacheIgnoreZoom: boolean;
216
239
  toast: {
217
240
  message: string;
@@ -219,7 +242,7 @@ export declare const actionChangeStrokeWidth: {
219
242
  duration?: number | undefined;
220
243
  } | null;
221
244
  zenModeEnabled: boolean;
222
- theme: string;
245
+ theme: import("../element/types").Theme;
223
246
  gridSize: number | null;
224
247
  viewModeEnabled: boolean;
225
248
  selectedGroupIds: {
@@ -242,8 +265,14 @@ export declare const actionChangeStrokeWidth: {
242
265
  data: import("../charts").Spreadsheet;
243
266
  };
244
267
  pendingImageElementId: string | null;
245
- showHyperlinkPopup: false | "info" | "editor";
268
+ showHyperlinkPopup: false | "editor" | "info";
246
269
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
270
+ snapLines: readonly import("../snapping").SnapLine[];
271
+ originSnapOffset: {
272
+ x: number;
273
+ y: number;
274
+ } | null;
275
+ objectsSnapModeEnabled: boolean;
247
276
  };
248
277
  commitToHistory: true;
249
278
  };
@@ -266,6 +295,10 @@ export declare const actionChangeSloppiness: {
266
295
  showWelcomeScreen: boolean;
267
296
  isLoading: boolean;
268
297
  errorMessage: import("react").ReactNode;
298
+ activeEmbeddable: {
299
+ element: import("../element/types").NonDeletedExcalidrawElement;
300
+ state: "active" | "hover";
301
+ } | null;
269
302
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
270
303
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
271
304
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -273,18 +306,21 @@ export declare const actionChangeSloppiness: {
273
306
  isBindingEnabled: boolean;
274
307
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
275
308
  suggestedBindings: import("../element/binding").SuggestedBinding[];
309
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
310
+ frameRendering: {
311
+ enabled: boolean;
312
+ name: boolean;
313
+ outline: boolean;
314
+ clip: boolean;
315
+ };
316
+ editingFrame: string | null;
317
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
276
318
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
277
319
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
278
320
  activeTool: {
279
- lastActiveTool: import("../../src/types").LastActiveTool;
321
+ lastActiveTool: import("../../src/types").ActiveTool | null;
280
322
  locked: boolean;
281
- } & ({
282
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
283
- customType: null;
284
- } | {
285
- type: "custom";
286
- customType: string;
287
- });
323
+ } & import("../../src/types").ActiveTool;
288
324
  penMode: boolean;
289
325
  penDetected: boolean;
290
326
  exportBackground: boolean;
@@ -323,12 +359,13 @@ export declare const actionChangeSloppiness: {
323
359
  openDialog: "imageExport" | "help" | "jsonExport" | null;
324
360
  defaultSidebarDockedPreference: boolean;
325
361
  lastPointerDownWith: import("../element/types").PointerType;
326
- selectedElementIds: {
327
- [id: string]: boolean;
328
- };
362
+ selectedElementIds: Readonly<{
363
+ [id: string]: true;
364
+ }>;
329
365
  previousSelectedElementIds: {
330
- [id: string]: boolean;
366
+ [id: string]: true;
331
367
  };
368
+ selectedElementsAreBeingDragged: boolean;
332
369
  shouldCacheIgnoreZoom: boolean;
333
370
  toast: {
334
371
  message: string;
@@ -336,7 +373,7 @@ export declare const actionChangeSloppiness: {
336
373
  duration?: number | undefined;
337
374
  } | null;
338
375
  zenModeEnabled: boolean;
339
- theme: string;
376
+ theme: import("../element/types").Theme;
340
377
  gridSize: number | null;
341
378
  viewModeEnabled: boolean;
342
379
  selectedGroupIds: {
@@ -359,8 +396,14 @@ export declare const actionChangeSloppiness: {
359
396
  data: import("../charts").Spreadsheet;
360
397
  };
361
398
  pendingImageElementId: string | null;
362
- showHyperlinkPopup: false | "info" | "editor";
399
+ showHyperlinkPopup: false | "editor" | "info";
363
400
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
401
+ snapLines: readonly import("../snapping").SnapLine[];
402
+ originSnapOffset: {
403
+ x: number;
404
+ y: number;
405
+ } | null;
406
+ objectsSnapModeEnabled: boolean;
364
407
  };
365
408
  commitToHistory: true;
366
409
  };
@@ -383,6 +426,10 @@ export declare const actionChangeStrokeStyle: {
383
426
  showWelcomeScreen: boolean;
384
427
  isLoading: boolean;
385
428
  errorMessage: import("react").ReactNode;
429
+ activeEmbeddable: {
430
+ element: import("../element/types").NonDeletedExcalidrawElement;
431
+ state: "active" | "hover";
432
+ } | null;
386
433
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
387
434
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
388
435
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -390,18 +437,21 @@ export declare const actionChangeStrokeStyle: {
390
437
  isBindingEnabled: boolean;
391
438
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
392
439
  suggestedBindings: import("../element/binding").SuggestedBinding[];
440
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
441
+ frameRendering: {
442
+ enabled: boolean;
443
+ name: boolean;
444
+ outline: boolean;
445
+ clip: boolean;
446
+ };
447
+ editingFrame: string | null;
448
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
393
449
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
394
450
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
395
451
  activeTool: {
396
- lastActiveTool: import("../../src/types").LastActiveTool;
452
+ lastActiveTool: import("../../src/types").ActiveTool | null;
397
453
  locked: boolean;
398
- } & ({
399
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
400
- customType: null;
401
- } | {
402
- type: "custom";
403
- customType: string;
404
- });
454
+ } & import("../../src/types").ActiveTool;
405
455
  penMode: boolean;
406
456
  penDetected: boolean;
407
457
  exportBackground: boolean;
@@ -440,12 +490,13 @@ export declare const actionChangeStrokeStyle: {
440
490
  openDialog: "imageExport" | "help" | "jsonExport" | null;
441
491
  defaultSidebarDockedPreference: boolean;
442
492
  lastPointerDownWith: import("../element/types").PointerType;
443
- selectedElementIds: {
444
- [id: string]: boolean;
445
- };
493
+ selectedElementIds: Readonly<{
494
+ [id: string]: true;
495
+ }>;
446
496
  previousSelectedElementIds: {
447
- [id: string]: boolean;
497
+ [id: string]: true;
448
498
  };
499
+ selectedElementsAreBeingDragged: boolean;
449
500
  shouldCacheIgnoreZoom: boolean;
450
501
  toast: {
451
502
  message: string;
@@ -453,7 +504,7 @@ export declare const actionChangeStrokeStyle: {
453
504
  duration?: number | undefined;
454
505
  } | null;
455
506
  zenModeEnabled: boolean;
456
- theme: string;
507
+ theme: import("../element/types").Theme;
457
508
  gridSize: number | null;
458
509
  viewModeEnabled: boolean;
459
510
  selectedGroupIds: {
@@ -476,8 +527,14 @@ export declare const actionChangeStrokeStyle: {
476
527
  data: import("../charts").Spreadsheet;
477
528
  };
478
529
  pendingImageElementId: string | null;
479
- showHyperlinkPopup: false | "info" | "editor";
530
+ showHyperlinkPopup: false | "editor" | "info";
480
531
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
532
+ snapLines: readonly import("../snapping").SnapLine[];
533
+ originSnapOffset: {
534
+ x: number;
535
+ y: number;
536
+ } | null;
537
+ objectsSnapModeEnabled: boolean;
481
538
  };
482
539
  commitToHistory: true;
483
540
  };
@@ -500,6 +557,10 @@ export declare const actionChangeOpacity: {
500
557
  showWelcomeScreen: boolean;
501
558
  isLoading: boolean;
502
559
  errorMessage: import("react").ReactNode;
560
+ activeEmbeddable: {
561
+ element: import("../element/types").NonDeletedExcalidrawElement;
562
+ state: "active" | "hover";
563
+ } | null;
503
564
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
504
565
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
505
566
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -507,18 +568,21 @@ export declare const actionChangeOpacity: {
507
568
  isBindingEnabled: boolean;
508
569
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
509
570
  suggestedBindings: import("../element/binding").SuggestedBinding[];
571
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
572
+ frameRendering: {
573
+ enabled: boolean;
574
+ name: boolean;
575
+ outline: boolean;
576
+ clip: boolean;
577
+ };
578
+ editingFrame: string | null;
579
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
510
580
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
511
581
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
512
582
  activeTool: {
513
- lastActiveTool: import("../../src/types").LastActiveTool;
583
+ lastActiveTool: import("../../src/types").ActiveTool | null;
514
584
  locked: boolean;
515
- } & ({
516
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
517
- customType: null;
518
- } | {
519
- type: "custom";
520
- customType: string;
521
- });
585
+ } & import("../../src/types").ActiveTool;
522
586
  penMode: boolean;
523
587
  penDetected: boolean;
524
588
  exportBackground: boolean;
@@ -557,12 +621,13 @@ export declare const actionChangeOpacity: {
557
621
  openDialog: "imageExport" | "help" | "jsonExport" | null;
558
622
  defaultSidebarDockedPreference: boolean;
559
623
  lastPointerDownWith: import("../element/types").PointerType;
560
- selectedElementIds: {
561
- [id: string]: boolean;
562
- };
624
+ selectedElementIds: Readonly<{
625
+ [id: string]: true;
626
+ }>;
563
627
  previousSelectedElementIds: {
564
- [id: string]: boolean;
628
+ [id: string]: true;
565
629
  };
630
+ selectedElementsAreBeingDragged: boolean;
566
631
  shouldCacheIgnoreZoom: boolean;
567
632
  toast: {
568
633
  message: string;
@@ -570,7 +635,7 @@ export declare const actionChangeOpacity: {
570
635
  duration?: number | undefined;
571
636
  } | null;
572
637
  zenModeEnabled: boolean;
573
- theme: string;
638
+ theme: import("../element/types").Theme;
574
639
  gridSize: number | null;
575
640
  viewModeEnabled: boolean;
576
641
  selectedGroupIds: {
@@ -593,8 +658,14 @@ export declare const actionChangeOpacity: {
593
658
  data: import("../charts").Spreadsheet;
594
659
  };
595
660
  pendingImageElementId: string | null;
596
- showHyperlinkPopup: false | "info" | "editor";
661
+ showHyperlinkPopup: false | "editor" | "info";
597
662
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
663
+ snapLines: readonly import("../snapping").SnapLine[];
664
+ originSnapOffset: {
665
+ x: number;
666
+ y: number;
667
+ } | null;
668
+ objectsSnapModeEnabled: boolean;
598
669
  };
599
670
  commitToHistory: true;
600
671
  };
@@ -617,6 +688,10 @@ export declare const actionChangeFontSize: {
617
688
  showWelcomeScreen: boolean;
618
689
  isLoading: boolean;
619
690
  errorMessage: import("react").ReactNode;
691
+ activeEmbeddable: {
692
+ element: import("../element/types").NonDeletedExcalidrawElement;
693
+ state: "active" | "hover";
694
+ } | null;
620
695
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
621
696
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
622
697
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -624,18 +699,21 @@ export declare const actionChangeFontSize: {
624
699
  isBindingEnabled: boolean;
625
700
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
626
701
  suggestedBindings: import("../element/binding").SuggestedBinding[];
702
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
703
+ frameRendering: {
704
+ enabled: boolean;
705
+ name: boolean;
706
+ outline: boolean;
707
+ clip: boolean;
708
+ };
709
+ editingFrame: string | null;
710
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
627
711
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
628
712
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
629
713
  activeTool: {
630
- lastActiveTool: import("../../src/types").LastActiveTool;
714
+ lastActiveTool: import("../../src/types").ActiveTool | null;
631
715
  locked: boolean;
632
- } & ({
633
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
634
- customType: null;
635
- } | {
636
- type: "custom";
637
- customType: string;
638
- });
716
+ } & import("../../src/types").ActiveTool;
639
717
  penMode: boolean;
640
718
  penDetected: boolean;
641
719
  exportBackground: boolean;
@@ -674,12 +752,13 @@ export declare const actionChangeFontSize: {
674
752
  openDialog: "imageExport" | "help" | "jsonExport" | null;
675
753
  defaultSidebarDockedPreference: boolean;
676
754
  lastPointerDownWith: import("../element/types").PointerType;
677
- selectedElementIds: {
678
- [id: string]: boolean;
679
- };
755
+ selectedElementIds: Readonly<{
756
+ [id: string]: true;
757
+ }>;
680
758
  previousSelectedElementIds: {
681
- [id: string]: boolean;
759
+ [id: string]: true;
682
760
  };
761
+ selectedElementsAreBeingDragged: boolean;
683
762
  shouldCacheIgnoreZoom: boolean;
684
763
  toast: {
685
764
  message: string;
@@ -687,7 +766,7 @@ export declare const actionChangeFontSize: {
687
766
  duration?: number | undefined;
688
767
  } | null;
689
768
  zenModeEnabled: boolean;
690
- theme: string;
769
+ theme: import("../element/types").Theme;
691
770
  gridSize: number | null;
692
771
  viewModeEnabled: boolean;
693
772
  selectedGroupIds: {
@@ -710,8 +789,14 @@ export declare const actionChangeFontSize: {
710
789
  data: import("../charts").Spreadsheet;
711
790
  };
712
791
  pendingImageElementId: string | null;
713
- showHyperlinkPopup: false | "info" | "editor";
792
+ showHyperlinkPopup: false | "editor" | "info";
714
793
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
794
+ snapLines: readonly import("../snapping").SnapLine[];
795
+ originSnapOffset: {
796
+ x: number;
797
+ y: number;
798
+ } | null;
799
+ objectsSnapModeEnabled: boolean;
715
800
  };
716
801
  commitToHistory: boolean;
717
802
  };
@@ -734,6 +819,10 @@ export declare const actionDecreaseFontSize: {
734
819
  showWelcomeScreen: boolean;
735
820
  isLoading: boolean;
736
821
  errorMessage: import("react").ReactNode;
822
+ activeEmbeddable: {
823
+ element: import("../element/types").NonDeletedExcalidrawElement;
824
+ state: "active" | "hover";
825
+ } | null;
737
826
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
738
827
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
739
828
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -741,18 +830,21 @@ export declare const actionDecreaseFontSize: {
741
830
  isBindingEnabled: boolean;
742
831
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
743
832
  suggestedBindings: import("../element/binding").SuggestedBinding[];
833
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
834
+ frameRendering: {
835
+ enabled: boolean;
836
+ name: boolean;
837
+ outline: boolean;
838
+ clip: boolean;
839
+ };
840
+ editingFrame: string | null;
841
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
744
842
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
745
843
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
746
844
  activeTool: {
747
- lastActiveTool: import("../../src/types").LastActiveTool;
845
+ lastActiveTool: import("../../src/types").ActiveTool | null;
748
846
  locked: boolean;
749
- } & ({
750
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
751
- customType: null;
752
- } | {
753
- type: "custom";
754
- customType: string;
755
- });
847
+ } & import("../../src/types").ActiveTool;
756
848
  penMode: boolean;
757
849
  penDetected: boolean;
758
850
  exportBackground: boolean;
@@ -791,12 +883,13 @@ export declare const actionDecreaseFontSize: {
791
883
  openDialog: "imageExport" | "help" | "jsonExport" | null;
792
884
  defaultSidebarDockedPreference: boolean;
793
885
  lastPointerDownWith: import("../element/types").PointerType;
794
- selectedElementIds: {
795
- [id: string]: boolean;
796
- };
886
+ selectedElementIds: Readonly<{
887
+ [id: string]: true;
888
+ }>;
797
889
  previousSelectedElementIds: {
798
- [id: string]: boolean;
890
+ [id: string]: true;
799
891
  };
892
+ selectedElementsAreBeingDragged: boolean;
800
893
  shouldCacheIgnoreZoom: boolean;
801
894
  toast: {
802
895
  message: string;
@@ -804,7 +897,7 @@ export declare const actionDecreaseFontSize: {
804
897
  duration?: number | undefined;
805
898
  } | null;
806
899
  zenModeEnabled: boolean;
807
- theme: string;
900
+ theme: import("../element/types").Theme;
808
901
  gridSize: number | null;
809
902
  viewModeEnabled: boolean;
810
903
  selectedGroupIds: {
@@ -827,14 +920,20 @@ export declare const actionDecreaseFontSize: {
827
920
  data: import("../charts").Spreadsheet;
828
921
  };
829
922
  pendingImageElementId: string | null;
830
- showHyperlinkPopup: false | "info" | "editor";
923
+ showHyperlinkPopup: false | "editor" | "info";
831
924
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
925
+ snapLines: readonly import("../snapping").SnapLine[];
926
+ originSnapOffset: {
927
+ x: number;
928
+ y: number;
929
+ } | null;
930
+ objectsSnapModeEnabled: boolean;
832
931
  };
833
932
  commitToHistory: boolean;
834
933
  };
835
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
934
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
836
935
  } & {
837
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
936
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
838
937
  };
839
938
  export declare const actionIncreaseFontSize: {
840
939
  name: "increaseFontSize";
@@ -851,6 +950,10 @@ export declare const actionIncreaseFontSize: {
851
950
  showWelcomeScreen: boolean;
852
951
  isLoading: boolean;
853
952
  errorMessage: import("react").ReactNode;
953
+ activeEmbeddable: {
954
+ element: import("../element/types").NonDeletedExcalidrawElement;
955
+ state: "active" | "hover";
956
+ } | null;
854
957
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
855
958
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
856
959
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -858,18 +961,21 @@ export declare const actionIncreaseFontSize: {
858
961
  isBindingEnabled: boolean;
859
962
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
860
963
  suggestedBindings: import("../element/binding").SuggestedBinding[];
964
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
965
+ frameRendering: {
966
+ enabled: boolean;
967
+ name: boolean;
968
+ outline: boolean;
969
+ clip: boolean;
970
+ };
971
+ editingFrame: string | null;
972
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
861
973
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
862
974
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
863
975
  activeTool: {
864
- lastActiveTool: import("../../src/types").LastActiveTool;
976
+ lastActiveTool: import("../../src/types").ActiveTool | null;
865
977
  locked: boolean;
866
- } & ({
867
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
868
- customType: null;
869
- } | {
870
- type: "custom";
871
- customType: string;
872
- });
978
+ } & import("../../src/types").ActiveTool;
873
979
  penMode: boolean;
874
980
  penDetected: boolean;
875
981
  exportBackground: boolean;
@@ -908,12 +1014,13 @@ export declare const actionIncreaseFontSize: {
908
1014
  openDialog: "imageExport" | "help" | "jsonExport" | null;
909
1015
  defaultSidebarDockedPreference: boolean;
910
1016
  lastPointerDownWith: import("../element/types").PointerType;
911
- selectedElementIds: {
912
- [id: string]: boolean;
913
- };
1017
+ selectedElementIds: Readonly<{
1018
+ [id: string]: true;
1019
+ }>;
914
1020
  previousSelectedElementIds: {
915
- [id: string]: boolean;
1021
+ [id: string]: true;
916
1022
  };
1023
+ selectedElementsAreBeingDragged: boolean;
917
1024
  shouldCacheIgnoreZoom: boolean;
918
1025
  toast: {
919
1026
  message: string;
@@ -921,7 +1028,7 @@ export declare const actionIncreaseFontSize: {
921
1028
  duration?: number | undefined;
922
1029
  } | null;
923
1030
  zenModeEnabled: boolean;
924
- theme: string;
1031
+ theme: import("../element/types").Theme;
925
1032
  gridSize: number | null;
926
1033
  viewModeEnabled: boolean;
927
1034
  selectedGroupIds: {
@@ -944,14 +1051,20 @@ export declare const actionIncreaseFontSize: {
944
1051
  data: import("../charts").Spreadsheet;
945
1052
  };
946
1053
  pendingImageElementId: string | null;
947
- showHyperlinkPopup: false | "info" | "editor";
1054
+ showHyperlinkPopup: false | "editor" | "info";
948
1055
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1056
+ snapLines: readonly import("../snapping").SnapLine[];
1057
+ originSnapOffset: {
1058
+ x: number;
1059
+ y: number;
1060
+ } | null;
1061
+ objectsSnapModeEnabled: boolean;
949
1062
  };
950
1063
  commitToHistory: boolean;
951
1064
  };
952
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1065
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
953
1066
  } & {
954
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1067
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
955
1068
  };
956
1069
  export declare const actionChangeFontFamily: {
957
1070
  name: "changeFontFamily";
@@ -968,6 +1081,10 @@ export declare const actionChangeFontFamily: {
968
1081
  showWelcomeScreen: boolean;
969
1082
  isLoading: boolean;
970
1083
  errorMessage: import("react").ReactNode;
1084
+ activeEmbeddable: {
1085
+ element: import("../element/types").NonDeletedExcalidrawElement;
1086
+ state: "active" | "hover";
1087
+ } | null;
971
1088
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
972
1089
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
973
1090
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -975,18 +1092,21 @@ export declare const actionChangeFontFamily: {
975
1092
  isBindingEnabled: boolean;
976
1093
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
977
1094
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1095
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1096
+ frameRendering: {
1097
+ enabled: boolean;
1098
+ name: boolean;
1099
+ outline: boolean;
1100
+ clip: boolean;
1101
+ };
1102
+ editingFrame: string | null;
1103
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
978
1104
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
979
1105
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
980
1106
  activeTool: {
981
- lastActiveTool: import("../../src/types").LastActiveTool;
1107
+ lastActiveTool: import("../../src/types").ActiveTool | null;
982
1108
  locked: boolean;
983
- } & ({
984
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
985
- customType: null;
986
- } | {
987
- type: "custom";
988
- customType: string;
989
- });
1109
+ } & import("../../src/types").ActiveTool;
990
1110
  penMode: boolean;
991
1111
  penDetected: boolean;
992
1112
  exportBackground: boolean;
@@ -1025,12 +1145,13 @@ export declare const actionChangeFontFamily: {
1025
1145
  openDialog: "imageExport" | "help" | "jsonExport" | null;
1026
1146
  defaultSidebarDockedPreference: boolean;
1027
1147
  lastPointerDownWith: import("../element/types").PointerType;
1028
- selectedElementIds: {
1029
- [id: string]: boolean;
1030
- };
1148
+ selectedElementIds: Readonly<{
1149
+ [id: string]: true;
1150
+ }>;
1031
1151
  previousSelectedElementIds: {
1032
- [id: string]: boolean;
1152
+ [id: string]: true;
1033
1153
  };
1154
+ selectedElementsAreBeingDragged: boolean;
1034
1155
  shouldCacheIgnoreZoom: boolean;
1035
1156
  toast: {
1036
1157
  message: string;
@@ -1038,7 +1159,7 @@ export declare const actionChangeFontFamily: {
1038
1159
  duration?: number | undefined;
1039
1160
  } | null;
1040
1161
  zenModeEnabled: boolean;
1041
- theme: string;
1162
+ theme: import("../element/types").Theme;
1042
1163
  gridSize: number | null;
1043
1164
  viewModeEnabled: boolean;
1044
1165
  selectedGroupIds: {
@@ -1061,8 +1182,14 @@ export declare const actionChangeFontFamily: {
1061
1182
  data: import("../charts").Spreadsheet;
1062
1183
  };
1063
1184
  pendingImageElementId: string | null;
1064
- showHyperlinkPopup: false | "info" | "editor";
1185
+ showHyperlinkPopup: false | "editor" | "info";
1065
1186
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1187
+ snapLines: readonly import("../snapping").SnapLine[];
1188
+ originSnapOffset: {
1189
+ x: number;
1190
+ y: number;
1191
+ } | null;
1192
+ objectsSnapModeEnabled: boolean;
1066
1193
  };
1067
1194
  commitToHistory: true;
1068
1195
  };
@@ -1085,6 +1212,10 @@ export declare const actionChangeTextAlign: {
1085
1212
  showWelcomeScreen: boolean;
1086
1213
  isLoading: boolean;
1087
1214
  errorMessage: import("react").ReactNode;
1215
+ activeEmbeddable: {
1216
+ element: import("../element/types").NonDeletedExcalidrawElement;
1217
+ state: "active" | "hover";
1218
+ } | null;
1088
1219
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1089
1220
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1090
1221
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1092,18 +1223,21 @@ export declare const actionChangeTextAlign: {
1092
1223
  isBindingEnabled: boolean;
1093
1224
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1094
1225
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1226
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1227
+ frameRendering: {
1228
+ enabled: boolean;
1229
+ name: boolean;
1230
+ outline: boolean;
1231
+ clip: boolean;
1232
+ };
1233
+ editingFrame: string | null;
1234
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1095
1235
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1096
1236
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1097
1237
  activeTool: {
1098
- lastActiveTool: import("../../src/types").LastActiveTool;
1238
+ lastActiveTool: import("../../src/types").ActiveTool | null;
1099
1239
  locked: boolean;
1100
- } & ({
1101
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1102
- customType: null;
1103
- } | {
1104
- type: "custom";
1105
- customType: string;
1106
- });
1240
+ } & import("../../src/types").ActiveTool;
1107
1241
  penMode: boolean;
1108
1242
  penDetected: boolean;
1109
1243
  exportBackground: boolean;
@@ -1142,12 +1276,13 @@ export declare const actionChangeTextAlign: {
1142
1276
  openDialog: "imageExport" | "help" | "jsonExport" | null;
1143
1277
  defaultSidebarDockedPreference: boolean;
1144
1278
  lastPointerDownWith: import("../element/types").PointerType;
1145
- selectedElementIds: {
1146
- [id: string]: boolean;
1147
- };
1279
+ selectedElementIds: Readonly<{
1280
+ [id: string]: true;
1281
+ }>;
1148
1282
  previousSelectedElementIds: {
1149
- [id: string]: boolean;
1283
+ [id: string]: true;
1150
1284
  };
1285
+ selectedElementsAreBeingDragged: boolean;
1151
1286
  shouldCacheIgnoreZoom: boolean;
1152
1287
  toast: {
1153
1288
  message: string;
@@ -1155,7 +1290,7 @@ export declare const actionChangeTextAlign: {
1155
1290
  duration?: number | undefined;
1156
1291
  } | null;
1157
1292
  zenModeEnabled: boolean;
1158
- theme: string;
1293
+ theme: import("../element/types").Theme;
1159
1294
  gridSize: number | null;
1160
1295
  viewModeEnabled: boolean;
1161
1296
  selectedGroupIds: {
@@ -1178,8 +1313,14 @@ export declare const actionChangeTextAlign: {
1178
1313
  data: import("../charts").Spreadsheet;
1179
1314
  };
1180
1315
  pendingImageElementId: string | null;
1181
- showHyperlinkPopup: false | "info" | "editor";
1316
+ showHyperlinkPopup: false | "editor" | "info";
1182
1317
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1318
+ snapLines: readonly import("../snapping").SnapLine[];
1319
+ originSnapOffset: {
1320
+ x: number;
1321
+ y: number;
1322
+ } | null;
1323
+ objectsSnapModeEnabled: boolean;
1183
1324
  };
1184
1325
  commitToHistory: true;
1185
1326
  };
@@ -1203,6 +1344,10 @@ export declare const actionChangeVerticalAlign: {
1203
1344
  showWelcomeScreen: boolean;
1204
1345
  isLoading: boolean;
1205
1346
  errorMessage: import("react").ReactNode;
1347
+ activeEmbeddable: {
1348
+ element: import("../element/types").NonDeletedExcalidrawElement;
1349
+ state: "active" | "hover";
1350
+ } | null;
1206
1351
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1207
1352
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1208
1353
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1210,18 +1355,21 @@ export declare const actionChangeVerticalAlign: {
1210
1355
  isBindingEnabled: boolean;
1211
1356
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1212
1357
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1358
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1359
+ frameRendering: {
1360
+ enabled: boolean;
1361
+ name: boolean;
1362
+ outline: boolean;
1363
+ clip: boolean;
1364
+ };
1365
+ editingFrame: string | null;
1366
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1213
1367
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1214
1368
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1215
1369
  activeTool: {
1216
- lastActiveTool: import("../../src/types").LastActiveTool;
1370
+ lastActiveTool: import("../../src/types").ActiveTool | null;
1217
1371
  locked: boolean;
1218
- } & ({
1219
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1220
- customType: null;
1221
- } | {
1222
- type: "custom";
1223
- customType: string;
1224
- });
1372
+ } & import("../../src/types").ActiveTool;
1225
1373
  penMode: boolean;
1226
1374
  penDetected: boolean;
1227
1375
  exportBackground: boolean;
@@ -1261,12 +1409,13 @@ export declare const actionChangeVerticalAlign: {
1261
1409
  openDialog: "imageExport" | "help" | "jsonExport" | null;
1262
1410
  defaultSidebarDockedPreference: boolean;
1263
1411
  lastPointerDownWith: import("../element/types").PointerType;
1264
- selectedElementIds: {
1265
- [id: string]: boolean;
1266
- };
1412
+ selectedElementIds: Readonly<{
1413
+ [id: string]: true;
1414
+ }>;
1267
1415
  previousSelectedElementIds: {
1268
- [id: string]: boolean;
1416
+ [id: string]: true;
1269
1417
  };
1418
+ selectedElementsAreBeingDragged: boolean;
1270
1419
  shouldCacheIgnoreZoom: boolean;
1271
1420
  toast: {
1272
1421
  message: string;
@@ -1274,7 +1423,7 @@ export declare const actionChangeVerticalAlign: {
1274
1423
  duration?: number | undefined;
1275
1424
  } | null;
1276
1425
  zenModeEnabled: boolean;
1277
- theme: string;
1426
+ theme: import("../element/types").Theme;
1278
1427
  gridSize: number | null;
1279
1428
  viewModeEnabled: boolean;
1280
1429
  selectedGroupIds: {
@@ -1297,8 +1446,14 @@ export declare const actionChangeVerticalAlign: {
1297
1446
  data: import("../charts").Spreadsheet;
1298
1447
  };
1299
1448
  pendingImageElementId: string | null;
1300
- showHyperlinkPopup: false | "info" | "editor";
1449
+ showHyperlinkPopup: false | "editor" | "info";
1301
1450
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1451
+ snapLines: readonly import("../snapping").SnapLine[];
1452
+ originSnapOffset: {
1453
+ x: number;
1454
+ y: number;
1455
+ } | null;
1456
+ objectsSnapModeEnabled: boolean;
1302
1457
  };
1303
1458
  commitToHistory: true;
1304
1459
  };
@@ -1321,6 +1476,10 @@ export declare const actionChangeRoundness: {
1321
1476
  showWelcomeScreen: boolean;
1322
1477
  isLoading: boolean;
1323
1478
  errorMessage: import("react").ReactNode;
1479
+ activeEmbeddable: {
1480
+ element: import("../element/types").NonDeletedExcalidrawElement;
1481
+ state: "active" | "hover";
1482
+ } | null;
1324
1483
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1325
1484
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1326
1485
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1328,18 +1487,21 @@ export declare const actionChangeRoundness: {
1328
1487
  isBindingEnabled: boolean;
1329
1488
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1330
1489
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1490
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1491
+ frameRendering: {
1492
+ enabled: boolean;
1493
+ name: boolean;
1494
+ outline: boolean;
1495
+ clip: boolean;
1496
+ };
1497
+ editingFrame: string | null;
1498
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1331
1499
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1332
1500
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1333
1501
  activeTool: {
1334
- lastActiveTool: import("../../src/types").LastActiveTool;
1502
+ lastActiveTool: import("../../src/types").ActiveTool | null;
1335
1503
  locked: boolean;
1336
- } & ({
1337
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1338
- customType: null;
1339
- } | {
1340
- type: "custom";
1341
- customType: string;
1342
- });
1504
+ } & import("../../src/types").ActiveTool;
1343
1505
  penMode: boolean;
1344
1506
  penDetected: boolean;
1345
1507
  exportBackground: boolean;
@@ -1378,12 +1540,13 @@ export declare const actionChangeRoundness: {
1378
1540
  openDialog: "imageExport" | "help" | "jsonExport" | null;
1379
1541
  defaultSidebarDockedPreference: boolean;
1380
1542
  lastPointerDownWith: import("../element/types").PointerType;
1381
- selectedElementIds: {
1382
- [id: string]: boolean;
1383
- };
1543
+ selectedElementIds: Readonly<{
1544
+ [id: string]: true;
1545
+ }>;
1384
1546
  previousSelectedElementIds: {
1385
- [id: string]: boolean;
1547
+ [id: string]: true;
1386
1548
  };
1549
+ selectedElementsAreBeingDragged: boolean;
1387
1550
  shouldCacheIgnoreZoom: boolean;
1388
1551
  toast: {
1389
1552
  message: string;
@@ -1391,7 +1554,7 @@ export declare const actionChangeRoundness: {
1391
1554
  duration?: number | undefined;
1392
1555
  } | null;
1393
1556
  zenModeEnabled: boolean;
1394
- theme: string;
1557
+ theme: import("../element/types").Theme;
1395
1558
  gridSize: number | null;
1396
1559
  viewModeEnabled: boolean;
1397
1560
  selectedGroupIds: {
@@ -1414,8 +1577,14 @@ export declare const actionChangeRoundness: {
1414
1577
  data: import("../charts").Spreadsheet;
1415
1578
  };
1416
1579
  pendingImageElementId: string | null;
1417
- showHyperlinkPopup: false | "info" | "editor";
1580
+ showHyperlinkPopup: false | "editor" | "info";
1418
1581
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1582
+ snapLines: readonly import("../snapping").SnapLine[];
1583
+ originSnapOffset: {
1584
+ x: number;
1585
+ y: number;
1586
+ } | null;
1587
+ objectsSnapModeEnabled: boolean;
1419
1588
  };
1420
1589
  commitToHistory: true;
1421
1590
  };
@@ -1440,6 +1609,10 @@ export declare const actionChangeArrowhead: {
1440
1609
  showWelcomeScreen: boolean;
1441
1610
  isLoading: boolean;
1442
1611
  errorMessage: import("react").ReactNode;
1612
+ activeEmbeddable: {
1613
+ element: import("../element/types").NonDeletedExcalidrawElement;
1614
+ state: "active" | "hover";
1615
+ } | null;
1443
1616
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1444
1617
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1445
1618
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -1447,18 +1620,21 @@ export declare const actionChangeArrowhead: {
1447
1620
  isBindingEnabled: boolean;
1448
1621
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1449
1622
  suggestedBindings: import("../element/binding").SuggestedBinding[];
1623
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1624
+ frameRendering: {
1625
+ enabled: boolean;
1626
+ name: boolean;
1627
+ outline: boolean;
1628
+ clip: boolean;
1629
+ };
1630
+ editingFrame: string | null;
1631
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1450
1632
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1451
1633
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1452
1634
  activeTool: {
1453
- lastActiveTool: import("../../src/types").LastActiveTool;
1635
+ lastActiveTool: import("../../src/types").ActiveTool | null;
1454
1636
  locked: boolean;
1455
- } & ({
1456
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
1457
- customType: null;
1458
- } | {
1459
- type: "custom";
1460
- customType: string;
1461
- });
1637
+ } & import("../../src/types").ActiveTool;
1462
1638
  penMode: boolean;
1463
1639
  penDetected: boolean;
1464
1640
  exportBackground: boolean;
@@ -1498,12 +1674,13 @@ export declare const actionChangeArrowhead: {
1498
1674
  openDialog: "imageExport" | "help" | "jsonExport" | null;
1499
1675
  defaultSidebarDockedPreference: boolean;
1500
1676
  lastPointerDownWith: import("../element/types").PointerType;
1501
- selectedElementIds: {
1502
- [id: string]: boolean;
1503
- };
1677
+ selectedElementIds: Readonly<{
1678
+ [id: string]: true;
1679
+ }>;
1504
1680
  previousSelectedElementIds: {
1505
- [id: string]: boolean;
1681
+ [id: string]: true;
1506
1682
  };
1683
+ selectedElementsAreBeingDragged: boolean;
1507
1684
  shouldCacheIgnoreZoom: boolean;
1508
1685
  toast: {
1509
1686
  message: string;
@@ -1511,7 +1688,7 @@ export declare const actionChangeArrowhead: {
1511
1688
  duration?: number | undefined;
1512
1689
  } | null;
1513
1690
  zenModeEnabled: boolean;
1514
- theme: string;
1691
+ theme: import("../element/types").Theme;
1515
1692
  gridSize: number | null;
1516
1693
  viewModeEnabled: boolean;
1517
1694
  selectedGroupIds: {
@@ -1534,8 +1711,14 @@ export declare const actionChangeArrowhead: {
1534
1711
  data: import("../charts").Spreadsheet;
1535
1712
  };
1536
1713
  pendingImageElementId: string | null;
1537
- showHyperlinkPopup: false | "info" | "editor";
1714
+ showHyperlinkPopup: false | "editor" | "info";
1538
1715
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1716
+ snapLines: readonly import("../snapping").SnapLine[];
1717
+ originSnapOffset: {
1718
+ x: number;
1719
+ y: number;
1720
+ } | null;
1721
+ objectsSnapModeEnabled: boolean;
1539
1722
  };
1540
1723
  commitToHistory: true;
1541
1724
  };