@dwelle/excalidraw 0.5.0-ff7b5f2db → 0.5.0-ffade30

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 (171) hide show
  1. package/CHANGELOG.md +2385 -0
  2. package/dist/dev/{chunk-56C7N44U.js → chunk-CB6O5JO7.js} +16177 -10984
  3. package/dist/dev/chunk-CB6O5JO7.js.map +7 -0
  4. package/dist/dev/{chunk-DGCWVQGA.js → chunk-JB4JDZ66.js} +15 -4
  5. package/dist/dev/chunk-JB4JDZ66.js.map +7 -0
  6. package/dist/dev/chunk-QXVP5PAI.js +7 -0
  7. package/dist/dev/chunk-QXVP5PAI.js.map +7 -0
  8. package/dist/dev/data/{image-BLSI3C2P.js → image-JTJWA4BG.js} +3 -3
  9. package/dist/dev/index.css +143 -68
  10. package/dist/dev/index.css.map +3 -3
  11. package/dist/dev/index.js +3978 -6519
  12. package/dist/dev/index.js.map +4 -4
  13. package/dist/dev/locales/{en-AAITTNRF.js → en-PIB5PD3P.js} +2 -2
  14. package/dist/dev/subset-shared.chunk.js +1 -1
  15. package/dist/dev/subset-worker.chunk.js +1 -1
  16. package/dist/prod/chunk-JEM5OQGK.js +33 -0
  17. package/dist/prod/chunk-JH36RZFS.js +7 -0
  18. package/dist/prod/{chunk-OV23WS6X.js → chunk-KC3NX2DX.js} +4 -4
  19. package/dist/prod/data/image-UJJWHTZ6.js +1 -0
  20. package/dist/prod/index.css +1 -1
  21. package/dist/prod/index.js +22 -21
  22. package/dist/prod/locales/{en-YOZMX4VX.js → en-RKTHI3YA.js} +1 -1
  23. package/dist/prod/subset-shared.chunk.js +1 -1
  24. package/dist/prod/subset-worker.chunk.js +1 -1
  25. package/dist/types/common/src/colors.d.ts +1 -0
  26. package/dist/types/common/src/constants.d.ts +11 -1
  27. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  28. package/dist/types/common/src/font-metadata.d.ts +4 -2
  29. package/dist/types/common/src/index.d.ts +1 -0
  30. package/dist/types/common/src/utility-types.d.ts +5 -0
  31. package/dist/types/common/src/utils.d.ts +22 -5
  32. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +11 -14
  33. package/dist/types/element/src/ShapeCache.d.ts +1 -1
  34. package/dist/types/element/src/align.d.ts +3 -3
  35. package/dist/types/element/src/binding.d.ts +19 -11
  36. package/dist/types/element/src/bounds.d.ts +7 -2
  37. package/dist/types/element/src/collision.d.ts +1 -1
  38. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +40 -35
  39. package/dist/types/element/src/dragElements.d.ts +3 -2
  40. package/dist/types/element/src/duplicate.d.ts +10 -13
  41. package/dist/types/element/src/elbowArrow.d.ts +1 -1
  42. package/dist/types/element/src/flowchart.d.ts +3 -2
  43. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  44. package/dist/types/element/src/frame.d.ts +5 -4
  45. package/dist/types/element/src/heading.d.ts +0 -1
  46. package/dist/types/element/src/index.d.ts +45 -2
  47. package/dist/types/element/src/linearElementEditor.d.ts +19 -31
  48. package/dist/types/element/src/mutateElement.d.ts +10 -2
  49. package/dist/types/element/src/newElement.d.ts +4 -3
  50. package/dist/types/element/src/resizeElements.d.ts +4 -4
  51. package/dist/types/element/src/selection.d.ts +11 -5
  52. package/dist/types/element/src/shapes.d.ts +5 -1
  53. package/dist/types/element/src/sizeHelpers.d.ts +1 -1
  54. package/dist/types/element/src/store.d.ts +227 -0
  55. package/dist/types/element/src/textElement.d.ts +5 -3
  56. package/dist/types/element/src/transformHandles.d.ts +4 -4
  57. package/dist/types/element/src/typeChecks.d.ts +15 -1
  58. package/dist/types/element/src/types.d.ts +14 -1
  59. package/dist/types/element/src/zindex.d.ts +1 -1
  60. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +42 -45
  61. package/dist/types/excalidraw/actions/actionAlign.d.ts +8 -8
  62. package/dist/types/excalidraw/actions/actionBoundText.d.ts +28 -30
  63. package/dist/types/excalidraw/actions/actionCanvas.d.ts +438 -275
  64. package/dist/types/excalidraw/actions/actionClipboard.d.ts +86 -92
  65. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +14 -15
  66. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +40 -43
  67. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -4
  68. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  69. package/dist/types/excalidraw/actions/actionElementLink.d.ts +14 -15
  70. package/dist/types/excalidraw/actions/actionElementLock.d.ts +43 -47
  71. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +14 -15
  72. package/dist/types/excalidraw/actions/actionExport.d.ts +219 -228
  73. package/dist/types/excalidraw/actions/actionFinalize.d.ts +73 -36
  74. package/dist/types/excalidraw/actions/actionFlip.d.ts +4 -4
  75. package/dist/types/excalidraw/actions/actionFrame.d.ts +100 -104
  76. package/dist/types/excalidraw/actions/actionGroup.d.ts +34 -36
  77. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -2
  78. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +506 -14
  79. package/dist/types/excalidraw/actions/actionLink.d.ts +14 -15
  80. package/dist/types/excalidraw/actions/actionMenu.d.ts +42 -45
  81. package/dist/types/excalidraw/actions/actionNavigate.d.ts +27 -29
  82. package/dist/types/excalidraw/actions/actionProperties.d.ts +207 -214
  83. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +16 -17
  84. package/dist/types/excalidraw/actions/actionStyles.d.ts +18 -19
  85. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +16 -17
  86. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +16 -17
  87. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +16 -189
  88. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  89. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +16 -18
  90. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +16 -18
  91. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +16 -18
  92. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  93. package/dist/types/excalidraw/actions/types.d.ts +4 -3
  94. package/dist/types/excalidraw/animated-trail.d.ts +7 -1
  95. package/dist/types/excalidraw/appState.d.ts +40 -30
  96. package/dist/types/excalidraw/components/App.d.ts +30 -12
  97. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -0
  98. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  99. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -1
  100. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  101. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
  102. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -3
  103. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -3
  104. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -2
  105. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  106. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  107. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  108. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  109. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +4 -3
  110. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  111. package/dist/types/excalidraw/components/Range.d.ts +3 -3
  112. package/dist/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  113. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  114. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  115. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  116. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +1 -1
  117. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  118. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  119. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +1 -1
  120. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  121. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +1 -1
  122. package/dist/types/excalidraw/components/Stats/Position.d.ts +1 -1
  123. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
  124. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  125. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +1 -0
  126. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +3 -2
  127. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -1
  128. package/dist/types/excalidraw/components/icons.d.ts +4 -0
  129. package/dist/types/excalidraw/components/shapes.d.ts +1 -1
  130. package/dist/types/excalidraw/data/blob.d.ts +1 -1
  131. package/dist/types/excalidraw/data/transform.d.ts +1 -1
  132. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  133. package/dist/types/excalidraw/eraser/index.d.ts +14 -0
  134. package/dist/types/excalidraw/fonts/Fonts.d.ts +1 -1
  135. package/dist/types/excalidraw/history.d.ts +14 -22
  136. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  137. package/dist/types/excalidraw/index.d.ts +9 -9
  138. package/dist/types/excalidraw/lasso/index.d.ts +16 -0
  139. package/dist/types/excalidraw/lasso/utils.d.ts +12 -0
  140. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -1
  141. package/dist/types/excalidraw/scene/Renderer.d.ts +1 -1
  142. package/dist/types/excalidraw/scene/export.d.ts +1 -1
  143. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  144. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  145. package/dist/types/excalidraw/scene/types.d.ts +2 -0
  146. package/dist/types/excalidraw/snapping.d.ts +2 -2
  147. package/dist/types/excalidraw/types.d.ts +30 -7
  148. package/dist/types/excalidraw/visualdebug.d.ts +1 -1
  149. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +3 -1
  150. package/dist/types/math/src/curve.d.ts +2 -0
  151. package/dist/types/math/src/point.d.ts +1 -1
  152. package/dist/types/math/src/polygon.d.ts +1 -0
  153. package/dist/types/math/src/segment.d.ts +1 -1
  154. package/dist/types/math/src/types.d.ts +1 -0
  155. package/dist/types/math/src/vector.d.ts +4 -0
  156. package/dist/types/utils/src/bbox.d.ts +1 -1
  157. package/dist/types/utils/src/index.d.ts +1 -1
  158. package/dist/types/utils/src/withinBounds.d.ts +1 -1
  159. package/history.ts +186 -0
  160. package/package.json +9 -4
  161. package/dist/dev/chunk-56C7N44U.js.map +0 -7
  162. package/dist/dev/chunk-DGCWVQGA.js.map +0 -7
  163. package/dist/dev/chunk-HQHB2BE4.js +0 -7
  164. package/dist/dev/chunk-HQHB2BE4.js.map +0 -7
  165. package/dist/prod/chunk-BUJ2ENHZ.js +0 -31
  166. package/dist/prod/chunk-C3FOHAIA.js +0 -7
  167. package/dist/prod/data/image-MI7OQWUS.js +0 -1
  168. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  169. package/dist/types/excalidraw/store.d.ts +0 -129
  170. /package/dist/dev/data/{image-BLSI3C2P.js.map → image-JTJWA4BG.js.map} +0 -0
  171. /package/dist/dev/locales/{en-AAITTNRF.js.map → en-PIB5PD3P.js.map} +0 -0
@@ -1,15 +1,15 @@
1
1
  /// <reference types="react" />
2
- import { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
2
+ import { LinearElementEditor } from "@excalidraw/element";
3
3
  import type { Arrowhead, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawLinearElement } from "@excalidraw/element/types";
4
4
  import type { AppClassProperties, AppState, Primitive } from "../types";
5
5
  export declare const changeProperty: (elements: readonly ExcalidrawElement[], appState: AppState, callback: (element: ExcalidrawElement) => ExcalidrawElement, includeBoundText?: boolean) => ExcalidrawElement[];
6
- export declare const getFormValue: <T extends Primitive>(elements: readonly ExcalidrawElement[], appState: AppState, getAttribute: (element: ExcalidrawElement) => T, isRelevantElement: true | ((element: ExcalidrawElement) => boolean), defaultValue: T | ((isSomeElementSelected: boolean) => T)) => T;
6
+ export declare const getFormValue: <T extends Primitive>(elements: readonly ExcalidrawElement[], app: AppClassProperties, getAttribute: (element: ExcalidrawElement) => T, isRelevantElement: true | ((element: ExcalidrawElement) => boolean), defaultValue: T | ((isSomeElementSelected: boolean) => T)) => T;
7
7
  export declare const actionChangeStrokeColor: {
8
8
  name: "changeStrokeColor";
9
9
  label: string;
10
10
  trackEvent: false;
11
11
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
12
- PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
12
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
13
13
  } & {
14
14
  keyTest?: undefined;
15
15
  };
@@ -17,8 +17,16 @@ export declare const actionChangeBackgroundColor: {
17
17
  name: "changeBackgroundColor";
18
18
  label: string;
19
19
  trackEvent: false;
20
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
21
- PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
20
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
21
+ appState: any;
22
+ captureUpdate: "EVENTUALLY";
23
+ elements?: undefined;
24
+ } | {
25
+ elements: ExcalidrawElement[];
26
+ appState: any;
27
+ captureUpdate: "IMMEDIATELY";
28
+ };
29
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
22
30
  } & {
23
31
  keyTest?: undefined;
24
32
  };
@@ -48,7 +56,7 @@ export declare const actionChangeFillStyle: {
48
56
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
49
57
  isBindingEnabled: boolean;
50
58
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
51
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
59
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
52
60
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
53
61
  frameRendering: {
54
62
  enabled: boolean;
@@ -63,6 +71,7 @@ export declare const actionChangeFillStyle: {
63
71
  activeTool: {
64
72
  lastActiveTool: import("../types").ActiveTool | null;
65
73
  locked: boolean;
74
+ fromSelection: boolean;
66
75
  } & import("../types").ActiveTool;
67
76
  penMode: boolean;
68
77
  penDetected: boolean;
@@ -95,7 +104,7 @@ export declare const actionChangeFillStyle: {
95
104
  zoom: Readonly<{
96
105
  value: import("../types").NormalizedZoomValue;
97
106
  }>;
98
- openMenu: "shape" | "canvas" | null;
107
+ openMenu: "canvas" | "shape" | null;
99
108
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
100
109
  openSidebar: {
101
110
  name: string;
@@ -178,7 +187,7 @@ export declare const actionChangeFillStyle: {
178
187
  data: import("../charts").Spreadsheet;
179
188
  };
180
189
  pendingImageElementId: string | null;
181
- showHyperlinkPopup: false | "editor" | "info";
190
+ showHyperlinkPopup: false | "info" | "editor";
182
191
  selectedLinearElement: LinearElementEditor | null;
183
192
  snapLines: readonly import("../snapping").SnapLine[];
184
193
  originSnapOffset: {
@@ -190,20 +199,18 @@ export declare const actionChangeFillStyle: {
190
199
  followedBy: Set<import("../types").SocketId>;
191
200
  isCropping: boolean;
192
201
  croppingElementId: string | null;
193
- searchMatches: readonly {
194
- id: string;
195
- focus: boolean;
196
- matchedLines: {
197
- offsetX: number;
198
- offsetY: number;
199
- width: number;
200
- height: number;
201
- }[];
202
- }[];
202
+ searchMatches: Readonly<{
203
+ focusedId: string | null;
204
+ matches: readonly import("../types").SearchMatch[];
205
+ }> | null;
206
+ activeLockedId: string | null;
207
+ lockedMultiSelections: {
208
+ [groupId: string]: true;
209
+ };
203
210
  };
204
211
  captureUpdate: "IMMEDIATELY";
205
212
  };
206
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
213
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
207
214
  } & {
208
215
  keyTest?: undefined;
209
216
  };
@@ -233,7 +240,7 @@ export declare const actionChangeStrokeWidth: {
233
240
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
234
241
  isBindingEnabled: boolean;
235
242
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
236
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
243
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
237
244
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
238
245
  frameRendering: {
239
246
  enabled: boolean;
@@ -248,6 +255,7 @@ export declare const actionChangeStrokeWidth: {
248
255
  activeTool: {
249
256
  lastActiveTool: import("../types").ActiveTool | null;
250
257
  locked: boolean;
258
+ fromSelection: boolean;
251
259
  } & import("../types").ActiveTool;
252
260
  penMode: boolean;
253
261
  penDetected: boolean;
@@ -280,7 +288,7 @@ export declare const actionChangeStrokeWidth: {
280
288
  zoom: Readonly<{
281
289
  value: import("../types").NormalizedZoomValue;
282
290
  }>;
283
- openMenu: "shape" | "canvas" | null;
291
+ openMenu: "canvas" | "shape" | null;
284
292
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
285
293
  openSidebar: {
286
294
  name: string;
@@ -363,7 +371,7 @@ export declare const actionChangeStrokeWidth: {
363
371
  data: import("../charts").Spreadsheet;
364
372
  };
365
373
  pendingImageElementId: string | null;
366
- showHyperlinkPopup: false | "editor" | "info";
374
+ showHyperlinkPopup: false | "info" | "editor";
367
375
  selectedLinearElement: LinearElementEditor | null;
368
376
  snapLines: readonly import("../snapping").SnapLine[];
369
377
  originSnapOffset: {
@@ -375,20 +383,18 @@ export declare const actionChangeStrokeWidth: {
375
383
  followedBy: Set<import("../types").SocketId>;
376
384
  isCropping: boolean;
377
385
  croppingElementId: string | null;
378
- searchMatches: readonly {
379
- id: string;
380
- focus: boolean;
381
- matchedLines: {
382
- offsetX: number;
383
- offsetY: number;
384
- width: number;
385
- height: number;
386
- }[];
387
- }[];
386
+ searchMatches: Readonly<{
387
+ focusedId: string | null;
388
+ matches: readonly import("../types").SearchMatch[];
389
+ }> | null;
390
+ activeLockedId: string | null;
391
+ lockedMultiSelections: {
392
+ [groupId: string]: true;
393
+ };
388
394
  };
389
395
  captureUpdate: "IMMEDIATELY";
390
396
  };
391
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
397
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
392
398
  } & {
393
399
  keyTest?: undefined;
394
400
  };
@@ -418,7 +424,7 @@ export declare const actionChangeSloppiness: {
418
424
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
419
425
  isBindingEnabled: boolean;
420
426
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
421
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
427
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
422
428
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
423
429
  frameRendering: {
424
430
  enabled: boolean;
@@ -433,6 +439,7 @@ export declare const actionChangeSloppiness: {
433
439
  activeTool: {
434
440
  lastActiveTool: import("../types").ActiveTool | null;
435
441
  locked: boolean;
442
+ fromSelection: boolean;
436
443
  } & import("../types").ActiveTool;
437
444
  penMode: boolean;
438
445
  penDetected: boolean;
@@ -465,7 +472,7 @@ export declare const actionChangeSloppiness: {
465
472
  zoom: Readonly<{
466
473
  value: import("../types").NormalizedZoomValue;
467
474
  }>;
468
- openMenu: "shape" | "canvas" | null;
475
+ openMenu: "canvas" | "shape" | null;
469
476
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
470
477
  openSidebar: {
471
478
  name: string;
@@ -548,7 +555,7 @@ export declare const actionChangeSloppiness: {
548
555
  data: import("../charts").Spreadsheet;
549
556
  };
550
557
  pendingImageElementId: string | null;
551
- showHyperlinkPopup: false | "editor" | "info";
558
+ showHyperlinkPopup: false | "info" | "editor";
552
559
  selectedLinearElement: LinearElementEditor | null;
553
560
  snapLines: readonly import("../snapping").SnapLine[];
554
561
  originSnapOffset: {
@@ -560,20 +567,18 @@ export declare const actionChangeSloppiness: {
560
567
  followedBy: Set<import("../types").SocketId>;
561
568
  isCropping: boolean;
562
569
  croppingElementId: string | null;
563
- searchMatches: readonly {
564
- id: string;
565
- focus: boolean;
566
- matchedLines: {
567
- offsetX: number;
568
- offsetY: number;
569
- width: number;
570
- height: number;
571
- }[];
572
- }[];
570
+ searchMatches: Readonly<{
571
+ focusedId: string | null;
572
+ matches: readonly import("../types").SearchMatch[];
573
+ }> | null;
574
+ activeLockedId: string | null;
575
+ lockedMultiSelections: {
576
+ [groupId: string]: true;
577
+ };
573
578
  };
574
579
  captureUpdate: "IMMEDIATELY";
575
580
  };
576
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
581
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
577
582
  } & {
578
583
  keyTest?: undefined;
579
584
  };
@@ -603,7 +608,7 @@ export declare const actionChangeStrokeStyle: {
603
608
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
604
609
  isBindingEnabled: boolean;
605
610
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
606
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
611
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
607
612
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
608
613
  frameRendering: {
609
614
  enabled: boolean;
@@ -618,6 +623,7 @@ export declare const actionChangeStrokeStyle: {
618
623
  activeTool: {
619
624
  lastActiveTool: import("../types").ActiveTool | null;
620
625
  locked: boolean;
626
+ fromSelection: boolean;
621
627
  } & import("../types").ActiveTool;
622
628
  penMode: boolean;
623
629
  penDetected: boolean;
@@ -650,7 +656,7 @@ export declare const actionChangeStrokeStyle: {
650
656
  zoom: Readonly<{
651
657
  value: import("../types").NormalizedZoomValue;
652
658
  }>;
653
- openMenu: "shape" | "canvas" | null;
659
+ openMenu: "canvas" | "shape" | null;
654
660
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
655
661
  openSidebar: {
656
662
  name: string;
@@ -733,7 +739,7 @@ export declare const actionChangeStrokeStyle: {
733
739
  data: import("../charts").Spreadsheet;
734
740
  };
735
741
  pendingImageElementId: string | null;
736
- showHyperlinkPopup: false | "editor" | "info";
742
+ showHyperlinkPopup: false | "info" | "editor";
737
743
  selectedLinearElement: LinearElementEditor | null;
738
744
  snapLines: readonly import("../snapping").SnapLine[];
739
745
  originSnapOffset: {
@@ -745,20 +751,18 @@ export declare const actionChangeStrokeStyle: {
745
751
  followedBy: Set<import("../types").SocketId>;
746
752
  isCropping: boolean;
747
753
  croppingElementId: string | null;
748
- searchMatches: readonly {
749
- id: string;
750
- focus: boolean;
751
- matchedLines: {
752
- offsetX: number;
753
- offsetY: number;
754
- width: number;
755
- height: number;
756
- }[];
757
- }[];
754
+ searchMatches: Readonly<{
755
+ focusedId: string | null;
756
+ matches: readonly import("../types").SearchMatch[];
757
+ }> | null;
758
+ activeLockedId: string | null;
759
+ lockedMultiSelections: {
760
+ [groupId: string]: true;
761
+ };
758
762
  };
759
763
  captureUpdate: "IMMEDIATELY";
760
764
  };
761
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
765
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
762
766
  } & {
763
767
  keyTest?: undefined;
764
768
  };
@@ -788,7 +792,7 @@ export declare const actionChangeOpacity: {
788
792
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
789
793
  isBindingEnabled: boolean;
790
794
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
791
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
795
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
792
796
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
793
797
  frameRendering: {
794
798
  enabled: boolean;
@@ -803,6 +807,7 @@ export declare const actionChangeOpacity: {
803
807
  activeTool: {
804
808
  lastActiveTool: import("../types").ActiveTool | null;
805
809
  locked: boolean;
810
+ fromSelection: boolean;
806
811
  } & import("../types").ActiveTool;
807
812
  penMode: boolean;
808
813
  penDetected: boolean;
@@ -835,7 +840,7 @@ export declare const actionChangeOpacity: {
835
840
  zoom: Readonly<{
836
841
  value: import("../types").NormalizedZoomValue;
837
842
  }>;
838
- openMenu: "shape" | "canvas" | null;
843
+ openMenu: "canvas" | "shape" | null;
839
844
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
840
845
  openSidebar: {
841
846
  name: string;
@@ -918,7 +923,7 @@ export declare const actionChangeOpacity: {
918
923
  data: import("../charts").Spreadsheet;
919
924
  };
920
925
  pendingImageElementId: string | null;
921
- showHyperlinkPopup: false | "editor" | "info";
926
+ showHyperlinkPopup: false | "info" | "editor";
922
927
  selectedLinearElement: LinearElementEditor | null;
923
928
  snapLines: readonly import("../snapping").SnapLine[];
924
929
  originSnapOffset: {
@@ -930,20 +935,18 @@ export declare const actionChangeOpacity: {
930
935
  followedBy: Set<import("../types").SocketId>;
931
936
  isCropping: boolean;
932
937
  croppingElementId: string | null;
933
- searchMatches: readonly {
934
- id: string;
935
- focus: boolean;
936
- matchedLines: {
937
- offsetX: number;
938
- offsetY: number;
939
- width: number;
940
- height: number;
941
- }[];
942
- }[];
938
+ searchMatches: Readonly<{
939
+ focusedId: string | null;
940
+ matches: readonly import("../types").SearchMatch[];
941
+ }> | null;
942
+ activeLockedId: string | null;
943
+ lockedMultiSelections: {
944
+ [groupId: string]: true;
945
+ };
943
946
  };
944
947
  captureUpdate: "IMMEDIATELY";
945
948
  };
946
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
949
+ PanelComponent: ({ app, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
947
950
  } & {
948
951
  keyTest?: undefined;
949
952
  };
@@ -973,7 +976,7 @@ export declare const actionChangeFontSize: {
973
976
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
974
977
  isBindingEnabled: boolean;
975
978
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
976
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
979
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
977
980
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
978
981
  frameRendering: {
979
982
  enabled: boolean;
@@ -988,6 +991,7 @@ export declare const actionChangeFontSize: {
988
991
  activeTool: {
989
992
  lastActiveTool: import("../types").ActiveTool | null;
990
993
  locked: boolean;
994
+ fromSelection: boolean;
991
995
  } & import("../types").ActiveTool;
992
996
  penMode: boolean;
993
997
  penDetected: boolean;
@@ -1020,7 +1024,7 @@ export declare const actionChangeFontSize: {
1020
1024
  zoom: Readonly<{
1021
1025
  value: import("../types").NormalizedZoomValue;
1022
1026
  }>;
1023
- openMenu: "shape" | "canvas" | null;
1027
+ openMenu: "canvas" | "shape" | null;
1024
1028
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1025
1029
  openSidebar: {
1026
1030
  name: string;
@@ -1103,7 +1107,7 @@ export declare const actionChangeFontSize: {
1103
1107
  data: import("../charts").Spreadsheet;
1104
1108
  };
1105
1109
  pendingImageElementId: string | null;
1106
- showHyperlinkPopup: false | "editor" | "info";
1110
+ showHyperlinkPopup: false | "info" | "editor";
1107
1111
  selectedLinearElement: LinearElementEditor | null;
1108
1112
  snapLines: readonly import("../snapping").SnapLine[];
1109
1113
  originSnapOffset: {
@@ -1115,16 +1119,14 @@ export declare const actionChangeFontSize: {
1115
1119
  followedBy: Set<import("../types").SocketId>;
1116
1120
  isCropping: boolean;
1117
1121
  croppingElementId: string | null;
1118
- searchMatches: readonly {
1119
- id: string;
1120
- focus: boolean;
1121
- matchedLines: {
1122
- offsetX: number;
1123
- offsetY: number;
1124
- width: number;
1125
- height: number;
1126
- }[];
1127
- }[];
1122
+ searchMatches: Readonly<{
1123
+ focusedId: string | null;
1124
+ matches: readonly import("../types").SearchMatch[];
1125
+ }> | null;
1126
+ activeLockedId: string | null;
1127
+ lockedMultiSelections: {
1128
+ [groupId: string]: true;
1129
+ };
1128
1130
  };
1129
1131
  captureUpdate: "IMMEDIATELY";
1130
1132
  };
@@ -1159,7 +1161,7 @@ export declare const actionDecreaseFontSize: {
1159
1161
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1160
1162
  isBindingEnabled: boolean;
1161
1163
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
1162
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
1164
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1163
1165
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1164
1166
  frameRendering: {
1165
1167
  enabled: boolean;
@@ -1174,6 +1176,7 @@ export declare const actionDecreaseFontSize: {
1174
1176
  activeTool: {
1175
1177
  lastActiveTool: import("../types").ActiveTool | null;
1176
1178
  locked: boolean;
1179
+ fromSelection: boolean;
1177
1180
  } & import("../types").ActiveTool;
1178
1181
  penMode: boolean;
1179
1182
  penDetected: boolean;
@@ -1206,7 +1209,7 @@ export declare const actionDecreaseFontSize: {
1206
1209
  zoom: Readonly<{
1207
1210
  value: import("../types").NormalizedZoomValue;
1208
1211
  }>;
1209
- openMenu: "shape" | "canvas" | null;
1212
+ openMenu: "canvas" | "shape" | null;
1210
1213
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1211
1214
  openSidebar: {
1212
1215
  name: string;
@@ -1289,7 +1292,7 @@ export declare const actionDecreaseFontSize: {
1289
1292
  data: import("../charts").Spreadsheet;
1290
1293
  };
1291
1294
  pendingImageElementId: string | null;
1292
- showHyperlinkPopup: false | "editor" | "info";
1295
+ showHyperlinkPopup: false | "info" | "editor";
1293
1296
  selectedLinearElement: LinearElementEditor | null;
1294
1297
  snapLines: readonly import("../snapping").SnapLine[];
1295
1298
  originSnapOffset: {
@@ -1301,22 +1304,20 @@ export declare const actionDecreaseFontSize: {
1301
1304
  followedBy: Set<import("../types").SocketId>;
1302
1305
  isCropping: boolean;
1303
1306
  croppingElementId: string | null;
1304
- searchMatches: readonly {
1305
- id: string;
1306
- focus: boolean;
1307
- matchedLines: {
1308
- offsetX: number;
1309
- offsetY: number;
1310
- width: number;
1311
- height: number;
1312
- }[];
1313
- }[];
1307
+ searchMatches: Readonly<{
1308
+ focusedId: string | null;
1309
+ matches: readonly import("../types").SearchMatch[];
1310
+ }> | null;
1311
+ activeLockedId: string | null;
1312
+ lockedMultiSelections: {
1313
+ [groupId: string]: true;
1314
+ };
1314
1315
  };
1315
1316
  captureUpdate: "IMMEDIATELY";
1316
1317
  };
1317
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1318
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1318
1319
  } & {
1319
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1320
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1320
1321
  };
1321
1322
  export declare const actionIncreaseFontSize: {
1322
1323
  name: "increaseFontSize";
@@ -1345,7 +1346,7 @@ export declare const actionIncreaseFontSize: {
1345
1346
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1346
1347
  isBindingEnabled: boolean;
1347
1348
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
1348
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
1349
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1349
1350
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1350
1351
  frameRendering: {
1351
1352
  enabled: boolean;
@@ -1360,6 +1361,7 @@ export declare const actionIncreaseFontSize: {
1360
1361
  activeTool: {
1361
1362
  lastActiveTool: import("../types").ActiveTool | null;
1362
1363
  locked: boolean;
1364
+ fromSelection: boolean;
1363
1365
  } & import("../types").ActiveTool;
1364
1366
  penMode: boolean;
1365
1367
  penDetected: boolean;
@@ -1392,7 +1394,7 @@ export declare const actionIncreaseFontSize: {
1392
1394
  zoom: Readonly<{
1393
1395
  value: import("../types").NormalizedZoomValue;
1394
1396
  }>;
1395
- openMenu: "shape" | "canvas" | null;
1397
+ openMenu: "canvas" | "shape" | null;
1396
1398
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1397
1399
  openSidebar: {
1398
1400
  name: string;
@@ -1475,7 +1477,7 @@ export declare const actionIncreaseFontSize: {
1475
1477
  data: import("../charts").Spreadsheet;
1476
1478
  };
1477
1479
  pendingImageElementId: string | null;
1478
- showHyperlinkPopup: false | "editor" | "info";
1480
+ showHyperlinkPopup: false | "info" | "editor";
1479
1481
  selectedLinearElement: LinearElementEditor | null;
1480
1482
  snapLines: readonly import("../snapping").SnapLine[];
1481
1483
  originSnapOffset: {
@@ -1487,22 +1489,20 @@ export declare const actionIncreaseFontSize: {
1487
1489
  followedBy: Set<import("../types").SocketId>;
1488
1490
  isCropping: boolean;
1489
1491
  croppingElementId: string | null;
1490
- searchMatches: readonly {
1491
- id: string;
1492
- focus: boolean;
1493
- matchedLines: {
1494
- offsetX: number;
1495
- offsetY: number;
1496
- width: number;
1497
- height: number;
1498
- }[];
1499
- }[];
1492
+ searchMatches: Readonly<{
1493
+ focusedId: string | null;
1494
+ matches: readonly import("../types").SearchMatch[];
1495
+ }> | null;
1496
+ activeLockedId: string | null;
1497
+ lockedMultiSelections: {
1498
+ [groupId: string]: true;
1499
+ };
1500
1500
  };
1501
1501
  captureUpdate: "IMMEDIATELY";
1502
1502
  };
1503
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1503
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1504
1504
  } & {
1505
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1505
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1506
1506
  };
1507
1507
  export declare const actionChangeFontFamily: {
1508
1508
  name: "changeFontFamily";
@@ -1510,8 +1510,8 @@ export declare const actionChangeFontFamily: {
1510
1510
  trackEvent: false;
1511
1511
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1512
1512
  appState: {
1513
- currentHoveredFontFamily: number | null;
1514
1513
  currentItemFontFamily: number;
1514
+ currentHoveredFontFamily: number | null;
1515
1515
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1516
1516
  contextMenu: {
1517
1517
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -1531,7 +1531,7 @@ export declare const actionChangeFontFamily: {
1531
1531
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1532
1532
  isBindingEnabled: boolean;
1533
1533
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
1534
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
1534
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1535
1535
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1536
1536
  frameRendering: {
1537
1537
  enabled: boolean;
@@ -1546,6 +1546,7 @@ export declare const actionChangeFontFamily: {
1546
1546
  activeTool: {
1547
1547
  lastActiveTool: import("../types").ActiveTool | null;
1548
1548
  locked: boolean;
1549
+ fromSelection: boolean;
1549
1550
  } & import("../types").ActiveTool;
1550
1551
  penMode: boolean;
1551
1552
  penDetected: boolean;
@@ -1577,7 +1578,7 @@ export declare const actionChangeFontFamily: {
1577
1578
  zoom: Readonly<{
1578
1579
  value: import("../types").NormalizedZoomValue;
1579
1580
  }>;
1580
- openMenu: "shape" | "canvas" | null;
1581
+ openMenu: "canvas" | "shape" | null;
1581
1582
  openSidebar: {
1582
1583
  name: string;
1583
1584
  tab?: string | undefined;
@@ -1659,7 +1660,7 @@ export declare const actionChangeFontFamily: {
1659
1660
  data: import("../charts").Spreadsheet;
1660
1661
  };
1661
1662
  pendingImageElementId: string | null;
1662
- showHyperlinkPopup: false | "editor" | "info";
1663
+ showHyperlinkPopup: false | "info" | "editor";
1663
1664
  selectedLinearElement: LinearElementEditor | null;
1664
1665
  snapLines: readonly import("../snapping").SnapLine[];
1665
1666
  originSnapOffset: {
@@ -1671,23 +1672,21 @@ export declare const actionChangeFontFamily: {
1671
1672
  followedBy: Set<import("../types").SocketId>;
1672
1673
  isCropping: boolean;
1673
1674
  croppingElementId: string | null;
1674
- searchMatches: readonly {
1675
- id: string;
1676
- focus: boolean;
1677
- matchedLines: {
1678
- offsetX: number;
1679
- offsetY: number;
1680
- width: number;
1681
- height: number;
1682
- }[];
1683
- }[];
1675
+ searchMatches: Readonly<{
1676
+ focusedId: string | null;
1677
+ matches: readonly import("../types").SearchMatch[];
1678
+ }> | null;
1679
+ activeLockedId: string | null;
1680
+ lockedMultiSelections: {
1681
+ [groupId: string]: true;
1682
+ };
1684
1683
  };
1685
1684
  captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
1686
1685
  } | {
1687
1686
  elements: ExcalidrawElement[];
1688
1687
  appState: {
1689
- currentHoveredFontFamily: number | null;
1690
1688
  currentItemFontFamily: number;
1689
+ currentHoveredFontFamily: number | null;
1691
1690
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1692
1691
  contextMenu: {
1693
1692
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -1707,7 +1706,7 @@ export declare const actionChangeFontFamily: {
1707
1706
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1708
1707
  isBindingEnabled: boolean;
1709
1708
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
1710
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
1709
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1711
1710
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1712
1711
  frameRendering: {
1713
1712
  enabled: boolean;
@@ -1722,6 +1721,7 @@ export declare const actionChangeFontFamily: {
1722
1721
  activeTool: {
1723
1722
  lastActiveTool: import("../types").ActiveTool | null;
1724
1723
  locked: boolean;
1724
+ fromSelection: boolean;
1725
1725
  } & import("../types").ActiveTool;
1726
1726
  penMode: boolean;
1727
1727
  penDetected: boolean;
@@ -1753,7 +1753,7 @@ export declare const actionChangeFontFamily: {
1753
1753
  zoom: Readonly<{
1754
1754
  value: import("../types").NormalizedZoomValue;
1755
1755
  }>;
1756
- openMenu: "shape" | "canvas" | null;
1756
+ openMenu: "canvas" | "shape" | null;
1757
1757
  openSidebar: {
1758
1758
  name: string;
1759
1759
  tab?: string | undefined;
@@ -1835,7 +1835,7 @@ export declare const actionChangeFontFamily: {
1835
1835
  data: import("../charts").Spreadsheet;
1836
1836
  };
1837
1837
  pendingImageElementId: string | null;
1838
- showHyperlinkPopup: false | "editor" | "info";
1838
+ showHyperlinkPopup: false | "info" | "editor";
1839
1839
  selectedLinearElement: LinearElementEditor | null;
1840
1840
  snapLines: readonly import("../snapping").SnapLine[];
1841
1841
  originSnapOffset: {
@@ -1847,16 +1847,14 @@ export declare const actionChangeFontFamily: {
1847
1847
  followedBy: Set<import("../types").SocketId>;
1848
1848
  isCropping: boolean;
1849
1849
  croppingElementId: string | null;
1850
- searchMatches: readonly {
1851
- id: string;
1852
- focus: boolean;
1853
- matchedLines: {
1854
- offsetX: number;
1855
- offsetY: number;
1856
- width: number;
1857
- height: number;
1858
- }[];
1859
- }[];
1850
+ searchMatches: Readonly<{
1851
+ focusedId: string | null;
1852
+ matches: readonly import("../types").SearchMatch[];
1853
+ }> | null;
1854
+ activeLockedId: string | null;
1855
+ lockedMultiSelections: {
1856
+ [groupId: string]: true;
1857
+ };
1860
1858
  };
1861
1859
  captureUpdate: "NEVER";
1862
1860
  };
@@ -1890,7 +1888,7 @@ export declare const actionChangeTextAlign: {
1890
1888
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1891
1889
  isBindingEnabled: boolean;
1892
1890
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
1893
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
1891
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1894
1892
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1895
1893
  frameRendering: {
1896
1894
  enabled: boolean;
@@ -1905,6 +1903,7 @@ export declare const actionChangeTextAlign: {
1905
1903
  activeTool: {
1906
1904
  lastActiveTool: import("../types").ActiveTool | null;
1907
1905
  locked: boolean;
1906
+ fromSelection: boolean;
1908
1907
  } & import("../types").ActiveTool;
1909
1908
  penMode: boolean;
1910
1909
  penDetected: boolean;
@@ -1937,7 +1936,7 @@ export declare const actionChangeTextAlign: {
1937
1936
  zoom: Readonly<{
1938
1937
  value: import("../types").NormalizedZoomValue;
1939
1938
  }>;
1940
- openMenu: "shape" | "canvas" | null;
1939
+ openMenu: "canvas" | "shape" | null;
1941
1940
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1942
1941
  openSidebar: {
1943
1942
  name: string;
@@ -2020,7 +2019,7 @@ export declare const actionChangeTextAlign: {
2020
2019
  data: import("../charts").Spreadsheet;
2021
2020
  };
2022
2021
  pendingImageElementId: string | null;
2023
- showHyperlinkPopup: false | "editor" | "info";
2022
+ showHyperlinkPopup: false | "info" | "editor";
2024
2023
  selectedLinearElement: LinearElementEditor | null;
2025
2024
  snapLines: readonly import("../snapping").SnapLine[];
2026
2025
  originSnapOffset: {
@@ -2032,16 +2031,14 @@ export declare const actionChangeTextAlign: {
2032
2031
  followedBy: Set<import("../types").SocketId>;
2033
2032
  isCropping: boolean;
2034
2033
  croppingElementId: string | null;
2035
- searchMatches: readonly {
2036
- id: string;
2037
- focus: boolean;
2038
- matchedLines: {
2039
- offsetX: number;
2040
- offsetY: number;
2041
- width: number;
2042
- height: number;
2043
- }[];
2044
- }[];
2034
+ searchMatches: Readonly<{
2035
+ focusedId: string | null;
2036
+ matches: readonly import("../types").SearchMatch[];
2037
+ }> | null;
2038
+ activeLockedId: string | null;
2039
+ lockedMultiSelections: {
2040
+ [groupId: string]: true;
2041
+ };
2045
2042
  };
2046
2043
  captureUpdate: "IMMEDIATELY";
2047
2044
  };
@@ -2076,7 +2073,7 @@ export declare const actionChangeVerticalAlign: {
2076
2073
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2077
2074
  isBindingEnabled: boolean;
2078
2075
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
2079
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
2076
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
2080
2077
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2081
2078
  frameRendering: {
2082
2079
  enabled: boolean;
@@ -2091,6 +2088,7 @@ export declare const actionChangeVerticalAlign: {
2091
2088
  activeTool: {
2092
2089
  lastActiveTool: import("../types").ActiveTool | null;
2093
2090
  locked: boolean;
2091
+ fromSelection: boolean;
2094
2092
  } & import("../types").ActiveTool;
2095
2093
  penMode: boolean;
2096
2094
  penDetected: boolean;
@@ -2124,7 +2122,7 @@ export declare const actionChangeVerticalAlign: {
2124
2122
  zoom: Readonly<{
2125
2123
  value: import("../types").NormalizedZoomValue;
2126
2124
  }>;
2127
- openMenu: "shape" | "canvas" | null;
2125
+ openMenu: "canvas" | "shape" | null;
2128
2126
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2129
2127
  openSidebar: {
2130
2128
  name: string;
@@ -2207,7 +2205,7 @@ export declare const actionChangeVerticalAlign: {
2207
2205
  data: import("../charts").Spreadsheet;
2208
2206
  };
2209
2207
  pendingImageElementId: string | null;
2210
- showHyperlinkPopup: false | "editor" | "info";
2208
+ showHyperlinkPopup: false | "info" | "editor";
2211
2209
  selectedLinearElement: LinearElementEditor | null;
2212
2210
  snapLines: readonly import("../snapping").SnapLine[];
2213
2211
  originSnapOffset: {
@@ -2219,16 +2217,14 @@ export declare const actionChangeVerticalAlign: {
2219
2217
  followedBy: Set<import("../types").SocketId>;
2220
2218
  isCropping: boolean;
2221
2219
  croppingElementId: string | null;
2222
- searchMatches: readonly {
2223
- id: string;
2224
- focus: boolean;
2225
- matchedLines: {
2226
- offsetX: number;
2227
- offsetY: number;
2228
- width: number;
2229
- height: number;
2230
- }[];
2231
- }[];
2220
+ searchMatches: Readonly<{
2221
+ focusedId: string | null;
2222
+ matches: readonly import("../types").SearchMatch[];
2223
+ }> | null;
2224
+ activeLockedId: string | null;
2225
+ lockedMultiSelections: {
2226
+ [groupId: string]: true;
2227
+ };
2232
2228
  };
2233
2229
  captureUpdate: "IMMEDIATELY";
2234
2230
  };
@@ -2262,7 +2258,7 @@ export declare const actionChangeRoundness: {
2262
2258
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2263
2259
  isBindingEnabled: boolean;
2264
2260
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
2265
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
2261
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
2266
2262
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2267
2263
  frameRendering: {
2268
2264
  enabled: boolean;
@@ -2277,6 +2273,7 @@ export declare const actionChangeRoundness: {
2277
2273
  activeTool: {
2278
2274
  lastActiveTool: import("../types").ActiveTool | null;
2279
2275
  locked: boolean;
2276
+ fromSelection: boolean;
2280
2277
  } & import("../types").ActiveTool;
2281
2278
  penMode: boolean;
2282
2279
  penDetected: boolean;
@@ -2309,7 +2306,7 @@ export declare const actionChangeRoundness: {
2309
2306
  zoom: Readonly<{
2310
2307
  value: import("../types").NormalizedZoomValue;
2311
2308
  }>;
2312
- openMenu: "shape" | "canvas" | null;
2309
+ openMenu: "canvas" | "shape" | null;
2313
2310
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2314
2311
  openSidebar: {
2315
2312
  name: string;
@@ -2392,7 +2389,7 @@ export declare const actionChangeRoundness: {
2392
2389
  data: import("../charts").Spreadsheet;
2393
2390
  };
2394
2391
  pendingImageElementId: string | null;
2395
- showHyperlinkPopup: false | "editor" | "info";
2392
+ showHyperlinkPopup: false | "info" | "editor";
2396
2393
  selectedLinearElement: LinearElementEditor | null;
2397
2394
  snapLines: readonly import("../snapping").SnapLine[];
2398
2395
  originSnapOffset: {
@@ -2404,20 +2401,18 @@ export declare const actionChangeRoundness: {
2404
2401
  followedBy: Set<import("../types").SocketId>;
2405
2402
  isCropping: boolean;
2406
2403
  croppingElementId: string | null;
2407
- searchMatches: readonly {
2408
- id: string;
2409
- focus: boolean;
2410
- matchedLines: {
2411
- offsetX: number;
2412
- offsetY: number;
2413
- width: number;
2414
- height: number;
2415
- }[];
2416
- }[];
2404
+ searchMatches: Readonly<{
2405
+ focusedId: string | null;
2406
+ matches: readonly import("../types").SearchMatch[];
2407
+ }> | null;
2408
+ activeLockedId: string | null;
2409
+ lockedMultiSelections: {
2410
+ [groupId: string]: true;
2411
+ };
2417
2412
  };
2418
2413
  captureUpdate: "IMMEDIATELY";
2419
2414
  };
2420
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
2415
+ PanelComponent: ({ elements, appState, updateData, app, renderAction }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
2421
2416
  } & {
2422
2417
  keyTest?: undefined;
2423
2418
  };
@@ -2449,7 +2444,7 @@ export declare const actionChangeArrowhead: {
2449
2444
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2450
2445
  isBindingEnabled: boolean;
2451
2446
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
2452
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
2447
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
2453
2448
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2454
2449
  frameRendering: {
2455
2450
  enabled: boolean;
@@ -2464,6 +2459,7 @@ export declare const actionChangeArrowhead: {
2464
2459
  activeTool: {
2465
2460
  lastActiveTool: import("../types").ActiveTool | null;
2466
2461
  locked: boolean;
2462
+ fromSelection: boolean;
2467
2463
  } & import("../types").ActiveTool;
2468
2464
  penMode: boolean;
2469
2465
  penDetected: boolean;
@@ -2497,7 +2493,7 @@ export declare const actionChangeArrowhead: {
2497
2493
  zoom: Readonly<{
2498
2494
  value: import("../types").NormalizedZoomValue;
2499
2495
  }>;
2500
- openMenu: "shape" | "canvas" | null;
2496
+ openMenu: "canvas" | "shape" | null;
2501
2497
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2502
2498
  openSidebar: {
2503
2499
  name: string;
@@ -2580,7 +2576,7 @@ export declare const actionChangeArrowhead: {
2580
2576
  data: import("../charts").Spreadsheet;
2581
2577
  };
2582
2578
  pendingImageElementId: string | null;
2583
- showHyperlinkPopup: false | "editor" | "info";
2579
+ showHyperlinkPopup: false | "info" | "editor";
2584
2580
  selectedLinearElement: LinearElementEditor | null;
2585
2581
  snapLines: readonly import("../snapping").SnapLine[];
2586
2582
  originSnapOffset: {
@@ -2592,20 +2588,18 @@ export declare const actionChangeArrowhead: {
2592
2588
  followedBy: Set<import("../types").SocketId>;
2593
2589
  isCropping: boolean;
2594
2590
  croppingElementId: string | null;
2595
- searchMatches: readonly {
2596
- id: string;
2597
- focus: boolean;
2598
- matchedLines: {
2599
- offsetX: number;
2600
- offsetY: number;
2601
- width: number;
2602
- height: number;
2603
- }[];
2604
- }[];
2591
+ searchMatches: Readonly<{
2592
+ focusedId: string | null;
2593
+ matches: readonly import("../types").SearchMatch[];
2594
+ }> | null;
2595
+ activeLockedId: string | null;
2596
+ lockedMultiSelections: {
2597
+ [groupId: string]: true;
2598
+ };
2605
2599
  };
2606
2600
  captureUpdate: "IMMEDIATELY";
2607
2601
  };
2608
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
2602
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
2609
2603
  } & {
2610
2604
  keyTest?: undefined;
2611
2605
  };
@@ -2635,7 +2629,7 @@ export declare const actionChangeArrowType: {
2635
2629
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2636
2630
  isBindingEnabled: boolean;
2637
2631
  startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
2638
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
2632
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
2639
2633
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2640
2634
  frameRendering: {
2641
2635
  enabled: boolean;
@@ -2650,6 +2644,7 @@ export declare const actionChangeArrowType: {
2650
2644
  activeTool: {
2651
2645
  lastActiveTool: import("../types").ActiveTool | null;
2652
2646
  locked: boolean;
2647
+ fromSelection: boolean;
2653
2648
  } & import("../types").ActiveTool;
2654
2649
  penMode: boolean;
2655
2650
  penDetected: boolean;
@@ -2682,7 +2677,7 @@ export declare const actionChangeArrowType: {
2682
2677
  zoom: Readonly<{
2683
2678
  value: import("../types").NormalizedZoomValue;
2684
2679
  }>;
2685
- openMenu: "shape" | "canvas" | null;
2680
+ openMenu: "canvas" | "shape" | null;
2686
2681
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2687
2682
  openSidebar: {
2688
2683
  name: string;
@@ -2765,7 +2760,7 @@ export declare const actionChangeArrowType: {
2765
2760
  data: import("../charts").Spreadsheet;
2766
2761
  };
2767
2762
  pendingImageElementId: string | null;
2768
- showHyperlinkPopup: false | "editor" | "info";
2763
+ showHyperlinkPopup: false | "info" | "editor";
2769
2764
  selectedLinearElement: LinearElementEditor | null;
2770
2765
  snapLines: readonly import("../snapping").SnapLine[];
2771
2766
  originSnapOffset: {
@@ -2777,20 +2772,18 @@ export declare const actionChangeArrowType: {
2777
2772
  followedBy: Set<import("../types").SocketId>;
2778
2773
  isCropping: boolean;
2779
2774
  croppingElementId: string | null;
2780
- searchMatches: readonly {
2781
- id: string;
2782
- focus: boolean;
2783
- matchedLines: {
2784
- offsetX: number;
2785
- offsetY: number;
2786
- width: number;
2787
- height: number;
2788
- }[];
2789
- }[];
2775
+ searchMatches: Readonly<{
2776
+ focusedId: string | null;
2777
+ matches: readonly import("../types").SearchMatch[];
2778
+ }> | null;
2779
+ activeLockedId: string | null;
2780
+ lockedMultiSelections: {
2781
+ [groupId: string]: true;
2782
+ };
2790
2783
  };
2791
2784
  captureUpdate: "IMMEDIATELY";
2792
2785
  };
2793
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
2786
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
2794
2787
  } & {
2795
2788
  keyTest?: undefined;
2796
2789
  };