@excalidraw/excalidraw 0.18.0-298812e → 0.18.0-3085f4a

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 (129) hide show
  1. package/dist/dev/chunk-5EDE7GFX.js +5677 -0
  2. package/dist/dev/chunk-5EDE7GFX.js.map +7 -0
  3. package/dist/dev/chunk-CP5DND7P.js +7 -0
  4. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  5. package/dist/dev/{chunk-JCUIYZXF.js → chunk-QF5FRM6O.js} +6 -2
  6. package/dist/dev/chunk-QF5FRM6O.js.map +7 -0
  7. package/dist/dev/data/{image-CB4ZYE3A.js → image-7AP4KED2.js} +3 -3
  8. package/dist/dev/index.css +51 -20
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +7101 -4376
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{en-ZDTPSZNL.js → en-SMAPCEOQ.js} +2 -2
  13. package/dist/dev/subset-shared.chunk.js +1 -1
  14. package/dist/dev/subset-worker.chunk.js +1 -1
  15. package/dist/prod/chunk-A66AFZZU.js +7 -0
  16. package/dist/prod/{chunk-GCFVWREF.js → chunk-I4UNSFV6.js} +4 -4
  17. package/dist/prod/chunk-YHEOD47Q.js +4 -0
  18. package/dist/prod/data/image-G3CCQ4CB.js +1 -0
  19. package/dist/prod/index.css +1 -1
  20. package/dist/prod/index.js +25 -18
  21. package/dist/prod/locales/{en-MHZ26NAR.js → en-TYY6KWIJ.js} +1 -1
  22. package/dist/prod/subset-shared.chunk.js +1 -1
  23. package/dist/prod/subset-worker.chunk.js +1 -1
  24. package/dist/types/common/src/constants.d.ts +21 -3
  25. package/dist/types/common/src/utils.d.ts +3 -5
  26. package/dist/types/element/src/Scene.d.ts +7 -3
  27. package/dist/types/element/src/align.d.ts +2 -1
  28. package/dist/types/element/src/binding.d.ts +10 -7
  29. package/dist/types/element/src/bounds.d.ts +11 -3
  30. package/dist/types/element/src/collision.d.ts +18 -12
  31. package/dist/types/element/src/cropElement.d.ts +1 -1
  32. package/dist/types/element/src/delta.d.ts +41 -9
  33. package/dist/types/element/src/distance.d.ts +2 -2
  34. package/dist/types/element/src/distribute.d.ts +2 -1
  35. package/dist/types/element/src/fractionalIndex.d.ts +8 -2
  36. package/dist/types/element/src/frame.d.ts +2 -2
  37. package/dist/types/element/src/groups.d.ts +1 -0
  38. package/dist/types/element/src/index.d.ts +1 -3
  39. package/dist/types/element/src/linearElementEditor.d.ts +14 -23
  40. package/dist/types/element/src/mutateElement.d.ts +1 -1
  41. package/dist/types/element/src/newElement.d.ts +2 -1
  42. package/dist/types/element/src/resizeElements.d.ts +1 -0
  43. package/dist/types/element/src/selection.d.ts +1 -1
  44. package/dist/types/element/src/shape.d.ts +42 -0
  45. package/dist/types/element/src/sizeHelpers.d.ts +2 -1
  46. package/dist/types/element/src/store.d.ts +19 -9
  47. package/dist/types/element/src/transformHandles.d.ts +4 -4
  48. package/dist/types/element/src/typeChecks.d.ts +15 -1
  49. package/dist/types/element/src/types.d.ts +8 -3
  50. package/dist/types/element/src/utils.d.ts +16 -6
  51. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +21 -15
  52. package/dist/types/excalidraw/actions/actionAlign.d.ts +8 -8
  53. package/dist/types/excalidraw/actions/actionBoundText.d.ts +14 -10
  54. package/dist/types/excalidraw/actions/actionCanvas.d.ts +195 -155
  55. package/dist/types/excalidraw/actions/actionClipboard.d.ts +50 -36
  56. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +7 -5
  57. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +27 -20
  58. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -4
  59. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  60. package/dist/types/excalidraw/actions/actionElementLink.d.ts +6 -4
  61. package/dist/types/excalidraw/actions/actionElementLock.d.ts +29 -26
  62. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +7 -5
  63. package/dist/types/excalidraw/actions/actionExport.d.ts +147 -129
  64. package/dist/types/excalidraw/actions/actionFinalize.d.ts +65 -20
  65. package/dist/types/excalidraw/actions/actionFlip.d.ts +4 -4
  66. package/dist/types/excalidraw/actions/actionFrame.d.ts +78 -70
  67. package/dist/types/excalidraw/actions/actionGroup.d.ts +20 -16
  68. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +533 -7
  69. package/dist/types/excalidraw/actions/actionLink.d.ts +8 -6
  70. package/dist/types/excalidraw/actions/actionMenu.d.ts +22 -16
  71. package/dist/types/excalidraw/actions/actionNavigate.d.ts +14 -10
  72. package/dist/types/excalidraw/actions/actionProperties.d.ts +119 -81
  73. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +10 -8
  74. package/dist/types/excalidraw/actions/actionStyles.d.ts +11 -9
  75. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +9 -7
  76. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +9 -7
  77. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +8 -6
  78. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +9 -7
  79. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +9 -7
  80. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +9 -7
  81. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  82. package/dist/types/excalidraw/actions/types.d.ts +2 -1
  83. package/dist/types/excalidraw/appState.d.ts +29 -20
  84. package/dist/types/excalidraw/components/Actions.d.ts +0 -4
  85. package/dist/types/excalidraw/components/App.d.ts +19 -16
  86. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -0
  87. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  88. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  89. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +11 -1
  90. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  91. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -0
  92. package/dist/types/excalidraw/components/icons.d.ts +2 -0
  93. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  94. package/dist/types/excalidraw/data/blob.d.ts +1 -1
  95. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  96. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  97. package/dist/types/excalidraw/eraser/index.d.ts +0 -2
  98. package/dist/types/excalidraw/history.d.ts +21 -5
  99. package/dist/types/excalidraw/index.d.ts +2 -1
  100. package/dist/types/excalidraw/lasso/utils.d.ts +2 -1
  101. package/dist/types/excalidraw/renderer/helpers.d.ts +4 -4
  102. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  103. package/dist/types/excalidraw/scene/Renderer.d.ts +0 -1
  104. package/dist/types/excalidraw/types.d.ts +17 -8
  105. package/dist/types/math/src/angle.d.ts +2 -0
  106. package/dist/types/math/src/constants.d.ts +3 -0
  107. package/dist/types/math/src/curve.d.ts +32 -0
  108. package/dist/types/math/src/index.d.ts +1 -0
  109. package/dist/types/math/src/point.d.ts +1 -1
  110. package/dist/types/math/src/rectangle.d.ts +2 -0
  111. package/dist/types/math/src/vector.d.ts +4 -2
  112. package/history.ts +107 -44
  113. package/package.json +13 -10
  114. package/dist/dev/chunk-JCUIYZXF.js.map +0 -7
  115. package/dist/dev/chunk-RQWTCZLD.js +0 -7
  116. package/dist/dev/chunk-RQWTCZLD.js.map +0 -7
  117. package/dist/dev/chunk-ZPGIVNNG.js +0 -23482
  118. package/dist/dev/chunk-ZPGIVNNG.js.map +0 -7
  119. package/dist/prod/chunk-7TMLMBQX.js +0 -7
  120. package/dist/prod/chunk-WFJFO6F4.js +0 -33
  121. package/dist/prod/data/image-XJI4SWH2.js +0 -1
  122. package/dist/types/element/src/Shape.d.ts +0 -17
  123. package/dist/types/element/src/ShapeCache.d.ts +0 -25
  124. package/dist/types/element/src/shapes.d.ts +0 -23
  125. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  126. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  127. package/dist/types/utils/src/collision.d.ts +0 -8
  128. /package/dist/dev/data/{image-CB4ZYE3A.js.map → image-7AP4KED2.js.map} +0 -0
  129. /package/dist/dev/locales/{en-ZDTPSZNL.js.map → en-SMAPCEOQ.js.map} +0 -0
@@ -51,40 +51,93 @@ export declare const actionClearCanvas: {
51
51
  locked: boolean;
52
52
  fromSelection: boolean;
53
53
  } & import("../types").ActiveTool;
54
+ viewBackgroundColor: string;
55
+ frameRendering: {
56
+ enabled: boolean;
57
+ name: boolean;
58
+ outline: boolean;
59
+ clip: boolean;
60
+ };
61
+ name: string | null;
62
+ zoom: Readonly<{
63
+ value: import("../types").NormalizedZoomValue;
64
+ }>;
65
+ scrollX: number;
66
+ scrollY: number;
67
+ viewModeEnabled: boolean;
68
+ openDialog: {
69
+ name: "imageExport" | "help" | "jsonExport";
70
+ } | {
71
+ name: "ttd";
72
+ tab: "mermaid" | "text-to-diagram";
73
+ } | {
74
+ name: "commandPalette";
75
+ } | {
76
+ name: "elementLinkSelector";
77
+ sourceElementId: string;
78
+ } | null;
79
+ editingGroupId: string | null;
80
+ selectedElementIds: Readonly<{
81
+ [id: string]: true;
82
+ }>;
83
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
84
+ activeEmbeddable: {
85
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
86
+ state: "active" | "hover";
87
+ } | null;
88
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
89
+ selectedGroupIds: {
90
+ [groupId: string]: boolean;
91
+ };
92
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
93
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
94
+ isBindingEnabled: boolean;
95
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
96
+ isRotating: boolean;
97
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
98
+ collaborators: Map<import("../types").SocketId, Readonly<{
99
+ pointer?: import("../types").CollaboratorPointer | undefined;
100
+ button?: "up" | "down" | undefined;
101
+ selectedElementIds?: Readonly<{
102
+ [id: string]: true;
103
+ }> | undefined;
104
+ username?: string | null | undefined;
105
+ userState?: import("@excalidraw/common").UserIdleState | undefined;
106
+ color?: {
107
+ background: string;
108
+ stroke: string;
109
+ } | undefined;
110
+ avatarUrl?: string | undefined;
111
+ id?: string | undefined;
112
+ socketId?: import("../types").SocketId | undefined;
113
+ isCurrentUser?: boolean | undefined;
114
+ isInCall?: boolean | undefined;
115
+ isSpeaking?: boolean | undefined;
116
+ isMuted?: boolean | undefined;
117
+ }>>;
118
+ snapLines: readonly import("../snapping").SnapLine[];
119
+ zenModeEnabled: boolean;
120
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
121
+ isCropping: boolean;
122
+ croppingElementId: string | null;
123
+ searchMatches: Readonly<{
124
+ focusedId: string | null;
125
+ matches: readonly import("../types").SearchMatch[];
126
+ }> | null;
127
+ activeLockedId: string | null;
54
128
  contextMenu: {
55
129
  items: import("../components/ContextMenu").ContextMenuItems;
56
130
  top: number;
57
131
  left: number;
58
132
  } | null;
59
- exportWithDarkMode: boolean;
60
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
61
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
62
- cursorButton: "up" | "down";
63
- scrollX: number;
64
- scrollY: number;
65
133
  showWelcomeScreen: boolean;
66
134
  isLoading: boolean;
67
135
  errorMessage: import("react").ReactNode;
68
- activeEmbeddable: {
69
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
70
- state: "hover" | "active";
71
- } | null;
72
136
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
73
137
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
74
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
75
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
76
- isBindingEnabled: boolean;
77
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
78
- frameRendering: {
79
- enabled: boolean;
80
- name: boolean;
81
- outline: boolean;
82
- clip: boolean;
83
- };
138
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
84
139
  editingFrame: string | null;
85
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
86
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
87
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
140
+ exportWithDarkMode: boolean;
88
141
  exportScale: number;
89
142
  currentItemStrokeColor: string;
90
143
  currentItemBackgroundColor: string;
@@ -101,36 +154,18 @@ export declare const actionClearCanvas: {
101
154
  currentHoveredFontFamily: number | null;
102
155
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
103
156
  currentItemArrowType: "round" | "sharp" | "elbow";
104
- viewBackgroundColor: string;
157
+ cursorButton: "up" | "down";
105
158
  scrolledOutside: boolean;
106
- name: string | null;
107
159
  isResizing: boolean;
108
- isRotating: boolean;
109
- zoom: Readonly<{
110
- value: import("../types").NormalizedZoomValue;
111
- }>;
112
160
  openMenu: "canvas" | "shape" | null;
113
161
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
114
162
  openSidebar: {
115
163
  name: string;
164
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
116
165
  tab?: string | undefined;
117
166
  } | null;
118
- openDialog: {
119
- name: "imageExport" | "help" | "jsonExport";
120
- } | {
121
- name: "ttd";
122
- tab: "text-to-diagram" | "mermaid";
123
- } | {
124
- name: "commandPalette";
125
- } | {
126
- name: "elementLinkSelector";
127
- sourceElementId: string;
128
- } | null;
129
167
  defaultSidebarDockedPreference: boolean;
130
168
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
131
- selectedElementIds: Readonly<{
132
- [id: string]: true;
133
- }>;
134
169
  hoveredElementIds: Readonly<{
135
170
  [id: string]: true;
136
171
  }>;
@@ -144,38 +179,9 @@ export declare const actionClearCanvas: {
144
179
  closable?: boolean | undefined;
145
180
  duration?: number | undefined;
146
181
  } | null;
147
- zenModeEnabled: boolean;
148
- viewModeEnabled: boolean;
149
- selectedGroupIds: {
150
- [groupId: string]: boolean;
151
- };
152
- editingGroupId: string | null;
153
182
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
154
- collaborators: Map<import("../types").SocketId, Readonly<{
155
- pointer?: import("../types").CollaboratorPointer | undefined;
156
- button?: "up" | "down" | undefined;
157
- selectedElementIds?: Readonly<{
158
- [id: string]: true;
159
- }> | undefined;
160
- username?: string | null | undefined;
161
- userState?: import("@excalidraw/common").UserIdleState | undefined;
162
- color?: {
163
- background: string;
164
- stroke: string;
165
- } | undefined;
166
- avatarUrl?: string | undefined;
167
- id?: string | undefined;
168
- socketId?: import("../types").SocketId | undefined;
169
- isCurrentUser?: boolean | undefined;
170
- isInCall?: boolean | undefined;
171
- isSpeaking?: boolean | undefined;
172
- isMuted?: boolean | undefined;
173
- }>>;
174
183
  currentChartType: import("@excalidraw/element/types").ChartType;
175
- pendingImageElementId: string | null;
176
- showHyperlinkPopup: false | "info" | "editor";
177
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
178
- snapLines: readonly import("../snapping").SnapLine[];
184
+ showHyperlinkPopup: false | "editor" | "info";
179
185
  originSnapOffset: {
180
186
  x: number;
181
187
  y: number;
@@ -183,12 +189,9 @@ export declare const actionClearCanvas: {
183
189
  objectsSnapModeEnabled: boolean;
184
190
  userToFollow: import("../types").UserToFollow | null;
185
191
  followedBy: Set<import("../types").SocketId>;
186
- isCropping: boolean;
187
- croppingElementId: string | null;
188
- searchMatches: Readonly<{
189
- focusedId: string | null;
190
- matches: readonly import("../types").SearchMatch[];
191
- }> | null;
192
+ lockedMultiSelections: {
193
+ [groupId: string]: true;
194
+ };
192
195
  };
193
196
  captureUpdate: "IMMEDIATELY";
194
197
  };
@@ -221,7 +224,7 @@ export declare const actionZoomIn: {
221
224
  errorMessage: import("react").ReactNode;
222
225
  activeEmbeddable: {
223
226
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
224
- state: "hover" | "active";
227
+ state: "active" | "hover";
225
228
  } | null;
226
229
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
227
230
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -240,7 +243,6 @@ export declare const actionZoomIn: {
240
243
  editingFrame: string | null;
241
244
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
242
245
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
243
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
244
246
  activeTool: {
245
247
  lastActiveTool: import("../types").ActiveTool | null;
246
248
  locked: boolean;
@@ -277,13 +279,14 @@ export declare const actionZoomIn: {
277
279
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
278
280
  openSidebar: {
279
281
  name: string;
282
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
280
283
  tab?: string | undefined;
281
284
  } | null;
282
285
  openDialog: {
283
286
  name: "imageExport" | "help" | "jsonExport";
284
287
  } | {
285
288
  name: "ttd";
286
- tab: "text-to-diagram" | "mermaid";
289
+ tab: "mermaid" | "text-to-diagram";
287
290
  } | {
288
291
  name: "commandPalette";
289
292
  } | {
@@ -355,8 +358,7 @@ export declare const actionZoomIn: {
355
358
  shown: true;
356
359
  data: import("../charts").Spreadsheet;
357
360
  };
358
- pendingImageElementId: string | null;
359
- showHyperlinkPopup: false | "info" | "editor";
361
+ showHyperlinkPopup: false | "editor" | "info";
360
362
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
361
363
  snapLines: readonly import("../snapping").SnapLine[];
362
364
  originSnapOffset: {
@@ -371,13 +373,17 @@ export declare const actionZoomIn: {
371
373
  focusedId: string | null;
372
374
  matches: readonly import("../types").SearchMatch[];
373
375
  }> | null;
376
+ activeLockedId: string | null;
377
+ lockedMultiSelections: {
378
+ [groupId: string]: true;
379
+ };
374
380
  };
375
381
  captureUpdate: "EVENTUALLY";
376
382
  };
377
383
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
378
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
384
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
379
385
  } & {
380
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
386
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
381
387
  };
382
388
  export declare const actionZoomOut: {
383
389
  name: "zoomOut";
@@ -405,7 +411,7 @@ export declare const actionZoomOut: {
405
411
  errorMessage: import("react").ReactNode;
406
412
  activeEmbeddable: {
407
413
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
408
- state: "hover" | "active";
414
+ state: "active" | "hover";
409
415
  } | null;
410
416
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
411
417
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -424,7 +430,6 @@ export declare const actionZoomOut: {
424
430
  editingFrame: string | null;
425
431
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
426
432
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
427
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
428
433
  activeTool: {
429
434
  lastActiveTool: import("../types").ActiveTool | null;
430
435
  locked: boolean;
@@ -461,13 +466,14 @@ export declare const actionZoomOut: {
461
466
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
462
467
  openSidebar: {
463
468
  name: string;
469
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
464
470
  tab?: string | undefined;
465
471
  } | null;
466
472
  openDialog: {
467
473
  name: "imageExport" | "help" | "jsonExport";
468
474
  } | {
469
475
  name: "ttd";
470
- tab: "text-to-diagram" | "mermaid";
476
+ tab: "mermaid" | "text-to-diagram";
471
477
  } | {
472
478
  name: "commandPalette";
473
479
  } | {
@@ -539,8 +545,7 @@ export declare const actionZoomOut: {
539
545
  shown: true;
540
546
  data: import("../charts").Spreadsheet;
541
547
  };
542
- pendingImageElementId: string | null;
543
- showHyperlinkPopup: false | "info" | "editor";
548
+ showHyperlinkPopup: false | "editor" | "info";
544
549
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
545
550
  snapLines: readonly import("../snapping").SnapLine[];
546
551
  originSnapOffset: {
@@ -555,13 +560,17 @@ export declare const actionZoomOut: {
555
560
  focusedId: string | null;
556
561
  matches: readonly import("../types").SearchMatch[];
557
562
  }> | null;
563
+ activeLockedId: string | null;
564
+ lockedMultiSelections: {
565
+ [groupId: string]: true;
566
+ };
558
567
  };
559
568
  captureUpdate: "EVENTUALLY";
560
569
  };
561
570
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
562
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
571
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
563
572
  } & {
564
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
573
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
565
574
  };
566
575
  export declare const actionResetZoom: {
567
576
  name: "resetZoom";
@@ -589,7 +598,7 @@ export declare const actionResetZoom: {
589
598
  errorMessage: import("react").ReactNode;
590
599
  activeEmbeddable: {
591
600
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
592
- state: "hover" | "active";
601
+ state: "active" | "hover";
593
602
  } | null;
594
603
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
595
604
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -608,7 +617,6 @@ export declare const actionResetZoom: {
608
617
  editingFrame: string | null;
609
618
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
610
619
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
611
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
612
620
  activeTool: {
613
621
  lastActiveTool: import("../types").ActiveTool | null;
614
622
  locked: boolean;
@@ -645,13 +653,14 @@ export declare const actionResetZoom: {
645
653
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
646
654
  openSidebar: {
647
655
  name: string;
656
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
648
657
  tab?: string | undefined;
649
658
  } | null;
650
659
  openDialog: {
651
660
  name: "imageExport" | "help" | "jsonExport";
652
661
  } | {
653
662
  name: "ttd";
654
- tab: "text-to-diagram" | "mermaid";
663
+ tab: "mermaid" | "text-to-diagram";
655
664
  } | {
656
665
  name: "commandPalette";
657
666
  } | {
@@ -723,8 +732,7 @@ export declare const actionResetZoom: {
723
732
  shown: true;
724
733
  data: import("../charts").Spreadsheet;
725
734
  };
726
- pendingImageElementId: string | null;
727
- showHyperlinkPopup: false | "info" | "editor";
735
+ showHyperlinkPopup: false | "editor" | "info";
728
736
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
729
737
  snapLines: readonly import("../snapping").SnapLine[];
730
738
  originSnapOffset: {
@@ -739,13 +747,17 @@ export declare const actionResetZoom: {
739
747
  focusedId: string | null;
740
748
  matches: readonly import("../types").SearchMatch[];
741
749
  }> | null;
750
+ activeLockedId: string | null;
751
+ lockedMultiSelections: {
752
+ [groupId: string]: true;
753
+ };
742
754
  };
743
755
  captureUpdate: "EVENTUALLY";
744
756
  };
745
757
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
746
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
758
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
747
759
  } & {
748
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
760
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
749
761
  };
750
762
  export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
751
763
  bounds: SceneBounds;
@@ -779,7 +791,7 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
779
791
  errorMessage: import("react").ReactNode;
780
792
  activeEmbeddable: {
781
793
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
782
- state: "hover" | "active";
794
+ state: "active" | "hover";
783
795
  } | null;
784
796
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
785
797
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -798,7 +810,6 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
798
810
  editingFrame: string | null;
799
811
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
800
812
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
801
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
802
813
  activeTool: {
803
814
  lastActiveTool: import("../types").ActiveTool | null;
804
815
  locked: boolean;
@@ -835,13 +846,14 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
835
846
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
836
847
  openSidebar: {
837
848
  name: string;
849
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
838
850
  tab?: string | undefined;
839
851
  } | null;
840
852
  openDialog: {
841
853
  name: "imageExport" | "help" | "jsonExport";
842
854
  } | {
843
855
  name: "ttd";
844
- tab: "text-to-diagram" | "mermaid";
856
+ tab: "mermaid" | "text-to-diagram";
845
857
  } | {
846
858
  name: "commandPalette";
847
859
  } | {
@@ -913,8 +925,7 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
913
925
  shown: true;
914
926
  data: import("../charts").Spreadsheet;
915
927
  };
916
- pendingImageElementId: string | null;
917
- showHyperlinkPopup: false | "info" | "editor";
928
+ showHyperlinkPopup: false | "editor" | "info";
918
929
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
919
930
  snapLines: readonly import("../snapping").SnapLine[];
920
931
  originSnapOffset: {
@@ -930,6 +941,10 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
930
941
  focusedId: string | null;
931
942
  matches: readonly import("../types").SearchMatch[];
932
943
  }> | null;
944
+ activeLockedId: string | null;
945
+ lockedMultiSelections: {
946
+ [groupId: string]: true;
947
+ };
933
948
  };
934
949
  captureUpdate: "EVENTUALLY";
935
950
  };
@@ -965,7 +980,7 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
965
980
  errorMessage: import("react").ReactNode;
966
981
  activeEmbeddable: {
967
982
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
968
- state: "hover" | "active";
983
+ state: "active" | "hover";
969
984
  } | null;
970
985
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
971
986
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -984,7 +999,6 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
984
999
  editingFrame: string | null;
985
1000
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
986
1001
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
987
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
988
1002
  activeTool: {
989
1003
  lastActiveTool: import("../types").ActiveTool | null;
990
1004
  locked: boolean;
@@ -1021,13 +1035,14 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1021
1035
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1022
1036
  openSidebar: {
1023
1037
  name: string;
1038
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1024
1039
  tab?: string | undefined;
1025
1040
  } | null;
1026
1041
  openDialog: {
1027
1042
  name: "imageExport" | "help" | "jsonExport";
1028
1043
  } | {
1029
1044
  name: "ttd";
1030
- tab: "text-to-diagram" | "mermaid";
1045
+ tab: "mermaid" | "text-to-diagram";
1031
1046
  } | {
1032
1047
  name: "commandPalette";
1033
1048
  } | {
@@ -1099,8 +1114,7 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1099
1114
  shown: true;
1100
1115
  data: import("../charts").Spreadsheet;
1101
1116
  };
1102
- pendingImageElementId: string | null;
1103
- showHyperlinkPopup: false | "info" | "editor";
1117
+ showHyperlinkPopup: false | "editor" | "info";
1104
1118
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1105
1119
  snapLines: readonly import("../snapping").SnapLine[];
1106
1120
  originSnapOffset: {
@@ -1116,6 +1130,10 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1116
1130
  focusedId: string | null;
1117
1131
  matches: readonly import("../types").SearchMatch[];
1118
1132
  }> | null;
1133
+ activeLockedId: string | null;
1134
+ lockedMultiSelections: {
1135
+ [groupId: string]: true;
1136
+ };
1119
1137
  };
1120
1138
  captureUpdate: "EVENTUALLY";
1121
1139
  };
@@ -1143,7 +1161,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1143
1161
  errorMessage: import("react").ReactNode;
1144
1162
  activeEmbeddable: {
1145
1163
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1146
- state: "hover" | "active";
1164
+ state: "active" | "hover";
1147
1165
  } | null;
1148
1166
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1149
1167
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -1162,7 +1180,6 @@ export declare const actionZoomToFitSelectionInViewport: {
1162
1180
  editingFrame: string | null;
1163
1181
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1164
1182
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1165
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1166
1183
  activeTool: {
1167
1184
  lastActiveTool: import("../types").ActiveTool | null;
1168
1185
  locked: boolean;
@@ -1199,13 +1216,14 @@ export declare const actionZoomToFitSelectionInViewport: {
1199
1216
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1200
1217
  openSidebar: {
1201
1218
  name: string;
1219
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1202
1220
  tab?: string | undefined;
1203
1221
  } | null;
1204
1222
  openDialog: {
1205
1223
  name: "imageExport" | "help" | "jsonExport";
1206
1224
  } | {
1207
1225
  name: "ttd";
1208
- tab: "text-to-diagram" | "mermaid";
1226
+ tab: "mermaid" | "text-to-diagram";
1209
1227
  } | {
1210
1228
  name: "commandPalette";
1211
1229
  } | {
@@ -1277,8 +1295,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1277
1295
  shown: true;
1278
1296
  data: import("../charts").Spreadsheet;
1279
1297
  };
1280
- pendingImageElementId: string | null;
1281
- showHyperlinkPopup: false | "info" | "editor";
1298
+ showHyperlinkPopup: false | "editor" | "info";
1282
1299
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1283
1300
  snapLines: readonly import("../snapping").SnapLine[];
1284
1301
  originSnapOffset: {
@@ -1294,12 +1311,16 @@ export declare const actionZoomToFitSelectionInViewport: {
1294
1311
  focusedId: string | null;
1295
1312
  matches: readonly import("../types").SearchMatch[];
1296
1313
  }> | null;
1314
+ activeLockedId: string | null;
1315
+ lockedMultiSelections: {
1316
+ [groupId: string]: true;
1317
+ };
1297
1318
  };
1298
1319
  captureUpdate: "EVENTUALLY";
1299
1320
  };
1300
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1321
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1301
1322
  } & {
1302
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1323
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1303
1324
  };
1304
1325
  export declare const actionZoomToFitSelection: {
1305
1326
  name: "zoomToFitSelection";
@@ -1325,7 +1346,7 @@ export declare const actionZoomToFitSelection: {
1325
1346
  errorMessage: import("react").ReactNode;
1326
1347
  activeEmbeddable: {
1327
1348
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1328
- state: "hover" | "active";
1349
+ state: "active" | "hover";
1329
1350
  } | null;
1330
1351
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1331
1352
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -1344,7 +1365,6 @@ export declare const actionZoomToFitSelection: {
1344
1365
  editingFrame: string | null;
1345
1366
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1346
1367
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1347
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1348
1368
  activeTool: {
1349
1369
  lastActiveTool: import("../types").ActiveTool | null;
1350
1370
  locked: boolean;
@@ -1381,13 +1401,14 @@ export declare const actionZoomToFitSelection: {
1381
1401
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1382
1402
  openSidebar: {
1383
1403
  name: string;
1404
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1384
1405
  tab?: string | undefined;
1385
1406
  } | null;
1386
1407
  openDialog: {
1387
1408
  name: "imageExport" | "help" | "jsonExport";
1388
1409
  } | {
1389
1410
  name: "ttd";
1390
- tab: "text-to-diagram" | "mermaid";
1411
+ tab: "mermaid" | "text-to-diagram";
1391
1412
  } | {
1392
1413
  name: "commandPalette";
1393
1414
  } | {
@@ -1459,8 +1480,7 @@ export declare const actionZoomToFitSelection: {
1459
1480
  shown: true;
1460
1481
  data: import("../charts").Spreadsheet;
1461
1482
  };
1462
- pendingImageElementId: string | null;
1463
- showHyperlinkPopup: false | "info" | "editor";
1483
+ showHyperlinkPopup: false | "editor" | "info";
1464
1484
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1465
1485
  snapLines: readonly import("../snapping").SnapLine[];
1466
1486
  originSnapOffset: {
@@ -1476,12 +1496,16 @@ export declare const actionZoomToFitSelection: {
1476
1496
  focusedId: string | null;
1477
1497
  matches: readonly import("../types").SearchMatch[];
1478
1498
  }> | null;
1499
+ activeLockedId: string | null;
1500
+ lockedMultiSelections: {
1501
+ [groupId: string]: true;
1502
+ };
1479
1503
  };
1480
1504
  captureUpdate: "EVENTUALLY";
1481
1505
  };
1482
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1506
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1483
1507
  } & {
1484
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1508
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1485
1509
  };
1486
1510
  export declare const actionZoomToFit: {
1487
1511
  name: "zoomToFit";
@@ -1508,7 +1532,7 @@ export declare const actionZoomToFit: {
1508
1532
  errorMessage: import("react").ReactNode;
1509
1533
  activeEmbeddable: {
1510
1534
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1511
- state: "hover" | "active";
1535
+ state: "active" | "hover";
1512
1536
  } | null;
1513
1537
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1514
1538
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -1527,7 +1551,6 @@ export declare const actionZoomToFit: {
1527
1551
  editingFrame: string | null;
1528
1552
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1529
1553
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1530
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1531
1554
  activeTool: {
1532
1555
  lastActiveTool: import("../types").ActiveTool | null;
1533
1556
  locked: boolean;
@@ -1564,13 +1587,14 @@ export declare const actionZoomToFit: {
1564
1587
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1565
1588
  openSidebar: {
1566
1589
  name: string;
1590
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1567
1591
  tab?: string | undefined;
1568
1592
  } | null;
1569
1593
  openDialog: {
1570
1594
  name: "imageExport" | "help" | "jsonExport";
1571
1595
  } | {
1572
1596
  name: "ttd";
1573
- tab: "text-to-diagram" | "mermaid";
1597
+ tab: "mermaid" | "text-to-diagram";
1574
1598
  } | {
1575
1599
  name: "commandPalette";
1576
1600
  } | {
@@ -1642,8 +1666,7 @@ export declare const actionZoomToFit: {
1642
1666
  shown: true;
1643
1667
  data: import("../charts").Spreadsheet;
1644
1668
  };
1645
- pendingImageElementId: string | null;
1646
- showHyperlinkPopup: false | "info" | "editor";
1669
+ showHyperlinkPopup: false | "editor" | "info";
1647
1670
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1648
1671
  snapLines: readonly import("../snapping").SnapLine[];
1649
1672
  originSnapOffset: {
@@ -1659,12 +1682,16 @@ export declare const actionZoomToFit: {
1659
1682
  focusedId: string | null;
1660
1683
  matches: readonly import("../types").SearchMatch[];
1661
1684
  }> | null;
1685
+ activeLockedId: string | null;
1686
+ lockedMultiSelections: {
1687
+ [groupId: string]: true;
1688
+ };
1662
1689
  };
1663
1690
  captureUpdate: "EVENTUALLY";
1664
1691
  };
1665
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1692
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1666
1693
  } & {
1667
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1694
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1668
1695
  };
1669
1696
  export declare const actionToggleTheme: {
1670
1697
  name: "toggleTheme";
@@ -1688,7 +1715,7 @@ export declare const actionToggleTheme: {
1688
1715
  errorMessage: import("react").ReactNode;
1689
1716
  activeEmbeddable: {
1690
1717
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1691
- state: "hover" | "active";
1718
+ state: "active" | "hover";
1692
1719
  } | null;
1693
1720
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1694
1721
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -1707,7 +1734,6 @@ export declare const actionToggleTheme: {
1707
1734
  editingFrame: string | null;
1708
1735
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1709
1736
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1710
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1711
1737
  activeTool: {
1712
1738
  lastActiveTool: import("../types").ActiveTool | null;
1713
1739
  locked: boolean;
@@ -1749,13 +1775,14 @@ export declare const actionToggleTheme: {
1749
1775
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1750
1776
  openSidebar: {
1751
1777
  name: string;
1778
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1752
1779
  tab?: string | undefined;
1753
1780
  } | null;
1754
1781
  openDialog: {
1755
1782
  name: "imageExport" | "help" | "jsonExport";
1756
1783
  } | {
1757
1784
  name: "ttd";
1758
- tab: "text-to-diagram" | "mermaid";
1785
+ tab: "mermaid" | "text-to-diagram";
1759
1786
  } | {
1760
1787
  name: "commandPalette";
1761
1788
  } | {
@@ -1826,8 +1853,7 @@ export declare const actionToggleTheme: {
1826
1853
  shown: true;
1827
1854
  data: import("../charts").Spreadsheet;
1828
1855
  };
1829
- pendingImageElementId: string | null;
1830
- showHyperlinkPopup: false | "info" | "editor";
1856
+ showHyperlinkPopup: false | "editor" | "info";
1831
1857
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1832
1858
  snapLines: readonly import("../snapping").SnapLine[];
1833
1859
  originSnapOffset: {
@@ -1843,13 +1869,17 @@ export declare const actionToggleTheme: {
1843
1869
  focusedId: string | null;
1844
1870
  matches: readonly import("../types").SearchMatch[];
1845
1871
  }> | null;
1872
+ activeLockedId: string | null;
1873
+ lockedMultiSelections: {
1874
+ [groupId: string]: true;
1875
+ };
1846
1876
  };
1847
1877
  captureUpdate: "EVENTUALLY";
1848
1878
  };
1849
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1879
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1850
1880
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1851
1881
  } & {
1852
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1882
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1853
1883
  };
1854
1884
  export declare const actionToggleEraserTool: {
1855
1885
  name: "toggleEraserTool";
@@ -1857,7 +1887,7 @@ export declare const actionToggleEraserTool: {
1857
1887
  trackEvent: {
1858
1888
  category: "toolbar";
1859
1889
  };
1860
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>) => {
1890
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1861
1891
  appState: {
1862
1892
  selectedElementIds: {};
1863
1893
  selectedGroupIds: {};
@@ -1892,7 +1922,6 @@ export declare const actionToggleEraserTool: {
1892
1922
  editingFrame: string | null;
1893
1923
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1894
1924
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1895
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1896
1925
  penMode: boolean;
1897
1926
  penDetected: boolean;
1898
1927
  exportBackground: boolean;
@@ -1929,13 +1958,14 @@ export declare const actionToggleEraserTool: {
1929
1958
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1930
1959
  openSidebar: {
1931
1960
  name: string;
1961
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1932
1962
  tab?: string | undefined;
1933
1963
  } | null;
1934
1964
  openDialog: {
1935
1965
  name: "imageExport" | "help" | "jsonExport";
1936
1966
  } | {
1937
1967
  name: "ttd";
1938
- tab: "text-to-diagram" | "mermaid";
1968
+ tab: "mermaid" | "text-to-diagram";
1939
1969
  } | {
1940
1970
  name: "commandPalette";
1941
1971
  } | {
@@ -2001,8 +2031,7 @@ export declare const actionToggleEraserTool: {
2001
2031
  shown: true;
2002
2032
  data: import("../charts").Spreadsheet;
2003
2033
  };
2004
- pendingImageElementId: string | null;
2005
- showHyperlinkPopup: false | "info" | "editor";
2034
+ showHyperlinkPopup: false | "editor" | "info";
2006
2035
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2007
2036
  snapLines: readonly import("../snapping").SnapLine[];
2008
2037
  originSnapOffset: {
@@ -2018,12 +2047,16 @@ export declare const actionToggleEraserTool: {
2018
2047
  focusedId: string | null;
2019
2048
  matches: readonly import("../types").SearchMatch[];
2020
2049
  }> | null;
2050
+ activeLockedId: string | null;
2051
+ lockedMultiSelections: {
2052
+ [groupId: string]: true;
2053
+ };
2021
2054
  };
2022
2055
  captureUpdate: "IMMEDIATELY";
2023
2056
  };
2024
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
2057
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2025
2058
  } & {
2026
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
2059
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
2027
2060
  };
2028
2061
  export declare const actionToggleLassoTool: {
2029
2062
  name: "toggleLassoTool";
@@ -2032,6 +2065,7 @@ export declare const actionToggleLassoTool: {
2032
2065
  trackEvent: {
2033
2066
  category: "toolbar";
2034
2067
  };
2068
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
2035
2069
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
2036
2070
  appState: {
2037
2071
  selectedElementIds: {};
@@ -2067,7 +2101,6 @@ export declare const actionToggleLassoTool: {
2067
2101
  editingFrame: string | null;
2068
2102
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2069
2103
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2070
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2071
2104
  penMode: boolean;
2072
2105
  penDetected: boolean;
2073
2106
  exportBackground: boolean;
@@ -2104,13 +2137,14 @@ export declare const actionToggleLassoTool: {
2104
2137
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2105
2138
  openSidebar: {
2106
2139
  name: string;
2140
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
2107
2141
  tab?: string | undefined;
2108
2142
  } | null;
2109
2143
  openDialog: {
2110
2144
  name: "imageExport" | "help" | "jsonExport";
2111
2145
  } | {
2112
2146
  name: "ttd";
2113
- tab: "text-to-diagram" | "mermaid";
2147
+ tab: "mermaid" | "text-to-diagram";
2114
2148
  } | {
2115
2149
  name: "commandPalette";
2116
2150
  } | {
@@ -2176,8 +2210,7 @@ export declare const actionToggleLassoTool: {
2176
2210
  shown: true;
2177
2211
  data: import("../charts").Spreadsheet;
2178
2212
  };
2179
- pendingImageElementId: string | null;
2180
- showHyperlinkPopup: false | "info" | "editor";
2213
+ showHyperlinkPopup: false | "editor" | "info";
2181
2214
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2182
2215
  snapLines: readonly import("../snapping").SnapLine[];
2183
2216
  originSnapOffset: {
@@ -2193,6 +2226,10 @@ export declare const actionToggleLassoTool: {
2193
2226
  focusedId: string | null;
2194
2227
  matches: readonly import("../types").SearchMatch[];
2195
2228
  }> | null;
2229
+ activeLockedId: string | null;
2230
+ lockedMultiSelections: {
2231
+ [groupId: string]: true;
2232
+ };
2196
2233
  };
2197
2234
  captureUpdate: "NEVER";
2198
2235
  };
@@ -2242,7 +2279,6 @@ export declare const actionToggleHandTool: {
2242
2279
  editingFrame: string | null;
2243
2280
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2244
2281
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2245
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2246
2282
  penMode: boolean;
2247
2283
  penDetected: boolean;
2248
2284
  exportBackground: boolean;
@@ -2279,13 +2315,14 @@ export declare const actionToggleHandTool: {
2279
2315
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2280
2316
  openSidebar: {
2281
2317
  name: string;
2318
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
2282
2319
  tab?: string | undefined;
2283
2320
  } | null;
2284
2321
  openDialog: {
2285
2322
  name: "imageExport" | "help" | "jsonExport";
2286
2323
  } | {
2287
2324
  name: "ttd";
2288
- tab: "text-to-diagram" | "mermaid";
2325
+ tab: "mermaid" | "text-to-diagram";
2289
2326
  } | {
2290
2327
  name: "commandPalette";
2291
2328
  } | {
@@ -2351,8 +2388,7 @@ export declare const actionToggleHandTool: {
2351
2388
  shown: true;
2352
2389
  data: import("../charts").Spreadsheet;
2353
2390
  };
2354
- pendingImageElementId: string | null;
2355
- showHyperlinkPopup: false | "info" | "editor";
2391
+ showHyperlinkPopup: false | "editor" | "info";
2356
2392
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2357
2393
  snapLines: readonly import("../snapping").SnapLine[];
2358
2394
  originSnapOffset: {
@@ -2368,10 +2404,14 @@ export declare const actionToggleHandTool: {
2368
2404
  focusedId: string | null;
2369
2405
  matches: readonly import("../types").SearchMatch[];
2370
2406
  }> | null;
2407
+ activeLockedId: string | null;
2408
+ lockedMultiSelections: {
2409
+ [groupId: string]: true;
2410
+ };
2371
2411
  };
2372
2412
  captureUpdate: "IMMEDIATELY";
2373
2413
  };
2374
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
2414
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2375
2415
  } & {
2376
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
2416
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
2377
2417
  };