@excalidraw/excalidraw 0.18.0-6fc8502 → 0.18.0-7b8a5f54c

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 (175) hide show
  1. package/dist/dev/chunk-CP5DND7P.js +7 -0
  2. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  3. package/dist/dev/chunk-CRKRRBMD.js +5677 -0
  4. package/dist/dev/chunk-CRKRRBMD.js.map +7 -0
  5. package/dist/dev/{chunk-X3RYHLJU.js → chunk-QF5FRM6O.js} +15 -5
  6. package/dist/dev/chunk-QF5FRM6O.js.map +7 -0
  7. package/dist/dev/data/{image-NKFINVKH.js → image-IWGLHPIX.js} +3 -3
  8. package/dist/dev/index.css +104 -22
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +15051 -15792
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{en-CKWC2GMK.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-HHV2PJKY.js +4 -0
  17. package/dist/prod/chunk-I4UNSFV6.js +12 -0
  18. package/dist/prod/data/image-4SM4COIL.js +1 -0
  19. package/dist/prod/index.css +1 -1
  20. package/dist/prod/index.js +25 -17
  21. package/dist/prod/locales/{en-SBO6ZHT2.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 +23 -3
  25. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  26. package/dist/types/common/src/font-metadata.d.ts +4 -2
  27. package/dist/types/common/src/index.d.ts +1 -0
  28. package/dist/types/common/src/utility-types.d.ts +5 -0
  29. package/dist/types/common/src/utils.d.ts +17 -1
  30. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +16 -15
  31. package/dist/types/element/src/align.d.ts +4 -3
  32. package/dist/types/element/src/binding.d.ts +26 -16
  33. package/dist/types/element/src/bounds.d.ts +13 -5
  34. package/dist/types/element/src/collision.d.ts +18 -12
  35. package/dist/types/element/src/cropElement.d.ts +1 -1
  36. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +77 -40
  37. package/dist/types/element/src/distance.d.ts +2 -2
  38. package/dist/types/element/src/distribute.d.ts +2 -1
  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 +9 -3
  44. package/dist/types/element/src/frame.d.ts +5 -4
  45. package/dist/types/element/src/groups.d.ts +1 -0
  46. package/dist/types/element/src/index.d.ts +43 -2
  47. package/dist/types/element/src/linearElementEditor.d.ts +23 -36
  48. package/dist/types/element/src/mutateElement.d.ts +11 -3
  49. package/dist/types/element/src/newElement.d.ts +4 -3
  50. package/dist/types/element/src/resizeElements.d.ts +5 -4
  51. package/dist/types/element/src/selection.d.ts +11 -5
  52. package/dist/types/element/src/shape.d.ts +42 -0
  53. package/dist/types/element/src/sizeHelpers.d.ts +2 -2
  54. package/dist/types/element/src/store.d.ts +236 -0
  55. package/dist/types/element/src/textElement.d.ts +5 -3
  56. package/dist/types/element/src/typeChecks.d.ts +19 -1
  57. package/dist/types/element/src/types.d.ts +15 -2
  58. package/dist/types/element/src/utils.d.ts +16 -6
  59. package/dist/types/element/src/zindex.d.ts +1 -1
  60. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +39 -51
  61. package/dist/types/excalidraw/actions/actionBoundText.d.ts +26 -34
  62. package/dist/types/excalidraw/actions/actionCanvas.d.ts +175 -227
  63. package/dist/types/excalidraw/actions/actionClipboard.d.ts +78 -100
  64. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +13 -17
  65. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +39 -50
  66. package/dist/types/excalidraw/actions/actionElementLink.d.ts +12 -16
  67. package/dist/types/excalidraw/actions/actionElementLock.d.ts +41 -50
  68. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +13 -17
  69. package/dist/types/excalidraw/actions/actionExport.d.ts +127 -163
  70. package/dist/types/excalidraw/actions/actionFinalize.d.ts +73 -40
  71. package/dist/types/excalidraw/actions/actionFrame.d.ts +99 -115
  72. package/dist/types/excalidraw/actions/actionGroup.d.ts +26 -34
  73. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -2
  74. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +538 -18
  75. package/dist/types/excalidraw/actions/actionLink.d.ts +12 -16
  76. package/dist/types/excalidraw/actions/actionMenu.d.ts +36 -48
  77. package/dist/types/excalidraw/actions/actionNavigate.d.ts +25 -33
  78. package/dist/types/excalidraw/actions/actionProperties.d.ts +203 -255
  79. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +13 -17
  80. package/dist/types/excalidraw/actions/actionStyles.d.ts +13 -17
  81. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +13 -17
  82. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +13 -17
  83. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +12 -189
  84. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  85. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +13 -17
  86. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +13 -17
  87. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +13 -17
  88. package/dist/types/excalidraw/actions/types.d.ts +4 -3
  89. package/dist/types/excalidraw/appState.d.ts +19 -10
  90. package/dist/types/excalidraw/components/Actions.d.ts +0 -4
  91. package/dist/types/excalidraw/components/App.d.ts +34 -22
  92. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -0
  93. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  94. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -1
  95. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  96. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -3
  97. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -3
  98. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -2
  99. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  100. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  101. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  102. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  103. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +4 -3
  104. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  105. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  106. package/dist/types/excalidraw/components/Range.d.ts +3 -3
  107. package/dist/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  108. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  109. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  110. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  111. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +12 -2
  112. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  113. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  114. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +1 -1
  115. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  116. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +1 -1
  117. package/dist/types/excalidraw/components/Stats/Position.d.ts +1 -1
  118. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
  119. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  120. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +1 -0
  121. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +3 -2
  122. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -1
  123. package/dist/types/excalidraw/components/icons.d.ts +3 -0
  124. package/dist/types/excalidraw/components/shapes.d.ts +1 -1
  125. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  126. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  127. package/dist/types/excalidraw/data/transform.d.ts +1 -1
  128. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  129. package/dist/types/excalidraw/eraser/index.d.ts +12 -0
  130. package/dist/types/excalidraw/fonts/Fonts.d.ts +1 -1
  131. package/dist/types/excalidraw/history.d.ts +30 -22
  132. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  133. package/dist/types/excalidraw/index.d.ts +11 -10
  134. package/dist/types/excalidraw/lasso/index.d.ts +1 -0
  135. package/dist/types/excalidraw/lasso/utils.d.ts +3 -3
  136. package/dist/types/excalidraw/renderer/helpers.d.ts +7 -2
  137. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  138. package/dist/types/excalidraw/scene/Renderer.d.ts +1 -2
  139. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  140. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  141. package/dist/types/excalidraw/scene/types.d.ts +2 -0
  142. package/dist/types/excalidraw/snapping.d.ts +2 -2
  143. package/dist/types/excalidraw/types.d.ts +35 -14
  144. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +3 -1
  145. package/dist/types/math/src/angle.d.ts +2 -0
  146. package/dist/types/math/src/constants.d.ts +3 -0
  147. package/dist/types/math/src/curve.d.ts +34 -0
  148. package/dist/types/math/src/index.d.ts +1 -0
  149. package/dist/types/math/src/point.d.ts +1 -1
  150. package/dist/types/math/src/rectangle.d.ts +2 -0
  151. package/dist/types/math/src/types.d.ts +1 -0
  152. package/dist/types/math/src/vector.d.ts +8 -2
  153. package/dist/types/utils/src/bbox.d.ts +1 -1
  154. package/dist/types/utils/src/index.d.ts +1 -1
  155. package/dist/types/utils/src/withinBounds.d.ts +1 -1
  156. package/history.ts +146 -109
  157. package/package.json +12 -9
  158. package/dist/dev/chunk-H7XJ5UVD.js +0 -7
  159. package/dist/dev/chunk-H7XJ5UVD.js.map +0 -7
  160. package/dist/dev/chunk-KYBDXI6F.js +0 -18739
  161. package/dist/dev/chunk-KYBDXI6F.js.map +0 -7
  162. package/dist/dev/chunk-X3RYHLJU.js.map +0 -7
  163. package/dist/prod/chunk-CAN5RS4P.js +0 -31
  164. package/dist/prod/chunk-IUH5AXLB.js +0 -12
  165. package/dist/prod/chunk-KJYFYP64.js +0 -7
  166. package/dist/prod/data/image-5XD47O4X.js +0 -1
  167. package/dist/types/element/src/Shape.d.ts +0 -17
  168. package/dist/types/element/src/ShapeCache.d.ts +0 -25
  169. package/dist/types/element/src/shapes.d.ts +0 -23
  170. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  171. package/dist/types/excalidraw/store.d.ts +0 -129
  172. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  173. package/dist/types/utils/src/collision.d.ts +0 -8
  174. /package/dist/dev/data/{image-NKFINVKH.js.map → image-IWGLHPIX.js.map} +0 -0
  175. /package/dist/dev/locales/{en-CKWC2GMK.js.map → en-SMAPCEOQ.js.map} +0 -0
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
3
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
4
3
  import type { AppClassProperties, AppState } from "../types";
5
4
  export declare const actionDeleteSelected: {
@@ -13,7 +12,7 @@ export declare const actionDeleteSelected: {
13
12
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: any, app: AppClassProperties) => false | {
14
13
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
15
14
  appState: {
16
- editingLinearElement: null;
15
+ selectedLinearElement: null;
17
16
  contextMenu: {
18
17
  items: import("../components/ContextMenu").ContextMenuItems;
19
18
  top: number;
@@ -24,7 +23,7 @@ export declare const actionDeleteSelected: {
24
23
  errorMessage: import("react").ReactNode;
25
24
  activeEmbeddable: {
26
25
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
27
- state: "hover" | "active";
26
+ state: "active" | "hover";
28
27
  } | null;
29
28
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
30
29
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -32,7 +31,7 @@ export declare const actionDeleteSelected: {
32
31
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
32
  isBindingEnabled: boolean;
34
33
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
35
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
34
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
36
35
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
37
36
  frameRendering: {
38
37
  enabled: boolean;
@@ -80,7 +79,7 @@ export declare const actionDeleteSelected: {
80
79
  zoom: Readonly<{
81
80
  value: import("../types").NormalizedZoomValue;
82
81
  }>;
83
- openMenu: "shape" | "canvas" | null;
82
+ openMenu: "canvas" | "shape" | null;
84
83
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
85
84
  openSidebar: {
86
85
  name: string;
@@ -90,7 +89,7 @@ export declare const actionDeleteSelected: {
90
89
  name: "imageExport" | "help" | "jsonExport";
91
90
  } | {
92
91
  name: "ttd";
93
- tab: "text-to-diagram" | "mermaid";
92
+ tab: "mermaid" | "text-to-diagram";
94
93
  } | {
95
94
  name: "commandPalette";
96
95
  } | {
@@ -162,9 +161,7 @@ export declare const actionDeleteSelected: {
162
161
  shown: true;
163
162
  data: import("../charts").Spreadsheet;
164
163
  };
165
- pendingImageElementId: string | null;
166
164
  showHyperlinkPopup: false | "editor" | "info";
167
- selectedLinearElement: LinearElementEditor | null;
168
165
  snapLines: readonly import("../snapping").SnapLine[];
169
166
  originSnapOffset: {
170
167
  x: number;
@@ -175,22 +172,20 @@ export declare const actionDeleteSelected: {
175
172
  followedBy: Set<import("../types").SocketId>;
176
173
  isCropping: boolean;
177
174
  croppingElementId: string | null;
178
- searchMatches: readonly {
179
- id: string;
180
- focus: boolean;
181
- matchedLines: {
182
- offsetX: number;
183
- offsetY: number;
184
- width: number;
185
- height: number;
186
- }[];
187
- }[];
175
+ searchMatches: Readonly<{
176
+ focusedId: string | null;
177
+ matches: readonly import("../types").SearchMatch[];
178
+ }> | null;
179
+ activeLockedId: string | null;
180
+ lockedMultiSelections: {
181
+ [groupId: string]: true;
182
+ };
188
183
  };
189
184
  captureUpdate: "IMMEDIATELY";
190
185
  } | {
191
186
  elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
192
187
  appState: {
193
- editingLinearElement: {
188
+ selectedLinearElement: {
194
189
  selectedPointsIndices: number[];
195
190
  startBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
196
191
  endBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
@@ -220,6 +215,8 @@ export declare const actionDeleteSelected: {
220
215
  hoverPointIndex: number;
221
216
  segmentMidPointHoveredCoords: import("@excalidraw/math").GlobalPoint | null;
222
217
  elbowed: boolean;
218
+ customLineAngle: number | null;
219
+ isEditing: boolean;
223
220
  };
224
221
  contextMenu: {
225
222
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -231,7 +228,7 @@ export declare const actionDeleteSelected: {
231
228
  errorMessage: import("react").ReactNode;
232
229
  activeEmbeddable: {
233
230
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
234
- state: "hover" | "active";
231
+ state: "active" | "hover";
235
232
  } | null;
236
233
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
237
234
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -239,7 +236,7 @@ export declare const actionDeleteSelected: {
239
236
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
240
237
  isBindingEnabled: boolean;
241
238
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
242
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
239
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
243
240
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
244
241
  frameRendering: {
245
242
  enabled: boolean;
@@ -287,7 +284,7 @@ export declare const actionDeleteSelected: {
287
284
  zoom: Readonly<{
288
285
  value: import("../types").NormalizedZoomValue;
289
286
  }>;
290
- openMenu: "shape" | "canvas" | null;
287
+ openMenu: "canvas" | "shape" | null;
291
288
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
292
289
  openSidebar: {
293
290
  name: string;
@@ -297,7 +294,7 @@ export declare const actionDeleteSelected: {
297
294
  name: "imageExport" | "help" | "jsonExport";
298
295
  } | {
299
296
  name: "ttd";
300
- tab: "text-to-diagram" | "mermaid";
297
+ tab: "mermaid" | "text-to-diagram";
301
298
  } | {
302
299
  name: "commandPalette";
303
300
  } | {
@@ -369,9 +366,7 @@ export declare const actionDeleteSelected: {
369
366
  shown: true;
370
367
  data: import("../charts").Spreadsheet;
371
368
  };
372
- pendingImageElementId: string | null;
373
369
  showHyperlinkPopup: false | "editor" | "info";
374
- selectedLinearElement: LinearElementEditor | null;
375
370
  snapLines: readonly import("../snapping").SnapLine[];
376
371
  originSnapOffset: {
377
372
  x: number;
@@ -382,16 +377,14 @@ export declare const actionDeleteSelected: {
382
377
  followedBy: Set<import("../types").SocketId>;
383
378
  isCropping: boolean;
384
379
  croppingElementId: string | null;
385
- searchMatches: readonly {
386
- id: string;
387
- focus: boolean;
388
- matchedLines: {
389
- offsetX: number;
390
- offsetY: number;
391
- width: number;
392
- height: number;
393
- }[];
394
- }[];
380
+ searchMatches: Readonly<{
381
+ focusedId: string | null;
382
+ matches: readonly import("../types").SearchMatch[];
383
+ }> | null;
384
+ activeLockedId: string | null;
385
+ lockedMultiSelections: {
386
+ [groupId: string]: true;
387
+ };
395
388
  };
396
389
  captureUpdate: "IMMEDIATELY";
397
390
  } | {
@@ -425,7 +418,7 @@ export declare const actionDeleteSelected: {
425
418
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
426
419
  isBindingEnabled: boolean;
427
420
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
428
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
421
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
429
422
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
430
423
  frameRendering: {
431
424
  enabled: boolean;
@@ -436,7 +429,6 @@ export declare const actionDeleteSelected: {
436
429
  editingFrame: string | null;
437
430
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
438
431
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
439
- editingLinearElement: LinearElementEditor | null;
440
432
  penMode: boolean;
441
433
  penDetected: boolean;
442
434
  exportBackground: boolean;
@@ -469,7 +461,7 @@ export declare const actionDeleteSelected: {
469
461
  zoom: Readonly<{
470
462
  value: import("../types").NormalizedZoomValue;
471
463
  }>;
472
- openMenu: "shape" | "canvas" | null;
464
+ openMenu: "canvas" | "shape" | null;
473
465
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
474
466
  openSidebar: {
475
467
  name: string;
@@ -479,7 +471,7 @@ export declare const actionDeleteSelected: {
479
471
  name: "imageExport" | "help" | "jsonExport";
480
472
  } | {
481
473
  name: "ttd";
482
- tab: "text-to-diagram" | "mermaid";
474
+ tab: "mermaid" | "text-to-diagram";
483
475
  } | {
484
476
  name: "commandPalette";
485
477
  } | {
@@ -544,7 +536,6 @@ export declare const actionDeleteSelected: {
544
536
  shown: true;
545
537
  data: import("../charts").Spreadsheet;
546
538
  };
547
- pendingImageElementId: string | null;
548
539
  showHyperlinkPopup: false | "editor" | "info";
549
540
  snapLines: readonly import("../snapping").SnapLine[];
550
541
  originSnapOffset: {
@@ -556,16 +547,14 @@ export declare const actionDeleteSelected: {
556
547
  followedBy: Set<import("../types").SocketId>;
557
548
  isCropping: boolean;
558
549
  croppingElementId: string | null;
559
- searchMatches: readonly {
560
- id: string;
561
- focus: boolean;
562
- matchedLines: {
563
- offsetX: number;
564
- offsetY: number;
565
- width: number;
566
- height: number;
567
- }[];
568
- }[];
550
+ searchMatches: Readonly<{
551
+ focusedId: string | null;
552
+ matches: readonly import("../types").SearchMatch[];
553
+ }> | null;
554
+ activeLockedId: string | null;
555
+ lockedMultiSelections: {
556
+ [groupId: string]: true;
557
+ };
569
558
  };
570
559
  captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
571
560
  };
@@ -51,7 +51,7 @@ export declare const actionLinkToElement: {
51
51
  errorMessage: import("react").ReactNode;
52
52
  activeEmbeddable: {
53
53
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
54
- state: "hover" | "active";
54
+ state: "active" | "hover";
55
55
  } | null;
56
56
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
57
57
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -59,7 +59,7 @@ export declare const actionLinkToElement: {
59
59
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
60
60
  isBindingEnabled: boolean;
61
61
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
62
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
62
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
63
63
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
64
64
  frameRendering: {
65
65
  enabled: boolean;
@@ -70,7 +70,6 @@ export declare const actionLinkToElement: {
70
70
  editingFrame: string | null;
71
71
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
72
72
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
73
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
74
73
  activeTool: {
75
74
  lastActiveTool: import("../types").ActiveTool | null;
76
75
  locked: boolean;
@@ -108,7 +107,7 @@ export declare const actionLinkToElement: {
108
107
  zoom: Readonly<{
109
108
  value: import("../types").NormalizedZoomValue;
110
109
  }>;
111
- openMenu: "shape" | "canvas" | null;
110
+ openMenu: "canvas" | "shape" | null;
112
111
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
113
112
  openSidebar: {
114
113
  name: string;
@@ -179,9 +178,8 @@ export declare const actionLinkToElement: {
179
178
  shown: true;
180
179
  data: import("../charts").Spreadsheet;
181
180
  };
182
- pendingImageElementId: string | null;
183
181
  showHyperlinkPopup: false | "editor" | "info";
184
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
182
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
185
183
  snapLines: readonly import("../snapping").SnapLine[];
186
184
  originSnapOffset: {
187
185
  x: number;
@@ -192,16 +190,14 @@ export declare const actionLinkToElement: {
192
190
  followedBy: Set<import("../types").SocketId>;
193
191
  isCropping: boolean;
194
192
  croppingElementId: string | null;
195
- searchMatches: readonly {
196
- id: string;
197
- focus: boolean;
198
- matchedLines: {
199
- offsetX: number;
200
- offsetY: number;
201
- width: number;
202
- height: number;
203
- }[];
204
- }[];
193
+ searchMatches: Readonly<{
194
+ focusedId: string | null;
195
+ matches: readonly import("../types").SearchMatch[];
196
+ }> | null;
197
+ activeLockedId: string | null;
198
+ lockedMultiSelections: {
199
+ [groupId: string]: true;
200
+ };
205
201
  };
206
202
  captureUpdate: "IMMEDIATELY";
207
203
  elements?: undefined;
@@ -1,17 +1,28 @@
1
1
  /// <reference types="react" />
2
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
3
+ import type { AppState } from "../types";
3
4
  export declare const actionToggleElementLock: {
4
5
  name: "toggleElementLock";
5
- label: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.elementLock.unlock" | "labels.elementLock.lock" | "labels.elementLock.lockAll" | "labels.elementLock.unlockAll";
6
+ label: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, app: import("../types").AppClassProperties) => "labels.elementLock.lock" | "labels.elementLock.unlock";
6
7
  icon: (appState: import("../types").UIAppState, elements: readonly ExcalidrawElement[]) => import("react/jsx-runtime").JSX.Element;
7
8
  trackEvent: {
8
9
  category: "element";
9
10
  };
10
- predicate: (elements: readonly ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
11
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => false | {
11
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
12
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => false | {
12
13
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
13
14
  appState: {
14
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
15
+ selectedElementIds: Readonly<{
16
+ [id: string]: true;
17
+ }>;
18
+ selectedGroupIds: {
19
+ [groupId: string]: boolean;
20
+ };
21
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
22
+ lockedMultiSelections: {
23
+ [x: string]: true;
24
+ };
25
+ activeLockedId: string | null;
15
26
  contextMenu: {
16
27
  items: import("../components/ContextMenu").ContextMenuItems;
17
28
  top: number;
@@ -22,7 +33,7 @@ export declare const actionToggleElementLock: {
22
33
  errorMessage: import("react").ReactNode;
23
34
  activeEmbeddable: {
24
35
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
25
- state: "hover" | "active";
36
+ state: "active" | "hover";
26
37
  } | null;
27
38
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
28
39
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -30,7 +41,7 @@ export declare const actionToggleElementLock: {
30
41
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
31
42
  isBindingEnabled: boolean;
32
43
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
44
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
34
45
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
35
46
  frameRendering: {
36
47
  enabled: boolean;
@@ -41,7 +52,6 @@ export declare const actionToggleElementLock: {
41
52
  editingFrame: string | null;
42
53
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
43
54
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
44
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
45
55
  activeTool: {
46
56
  lastActiveTool: import("../types").ActiveTool | null;
47
57
  locked: boolean;
@@ -79,7 +89,7 @@ export declare const actionToggleElementLock: {
79
89
  zoom: Readonly<{
80
90
  value: import("../types").NormalizedZoomValue;
81
91
  }>;
82
- openMenu: "shape" | "canvas" | null;
92
+ openMenu: "canvas" | "shape" | null;
83
93
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
84
94
  openSidebar: {
85
95
  name: string;
@@ -89,7 +99,7 @@ export declare const actionToggleElementLock: {
89
99
  name: "imageExport" | "help" | "jsonExport";
90
100
  } | {
91
101
  name: "ttd";
92
- tab: "text-to-diagram" | "mermaid";
102
+ tab: "mermaid" | "text-to-diagram";
93
103
  } | {
94
104
  name: "commandPalette";
95
105
  } | {
@@ -98,9 +108,6 @@ export declare const actionToggleElementLock: {
98
108
  } | null;
99
109
  defaultSidebarDockedPreference: boolean;
100
110
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
101
- selectedElementIds: Readonly<{
102
- [id: string]: true;
103
- }>;
104
111
  hoveredElementIds: Readonly<{
105
112
  [id: string]: true;
106
113
  }>;
@@ -120,9 +127,6 @@ export declare const actionToggleElementLock: {
120
127
  gridStep: number;
121
128
  gridModeEnabled: boolean;
122
129
  viewModeEnabled: boolean;
123
- selectedGroupIds: {
124
- [groupId: string]: boolean;
125
- };
126
130
  editingGroupId: string | null;
127
131
  width: number;
128
132
  height: number;
@@ -161,7 +165,6 @@ export declare const actionToggleElementLock: {
161
165
  shown: true;
162
166
  data: import("../charts").Spreadsheet;
163
167
  };
164
- pendingImageElementId: string | null;
165
168
  showHyperlinkPopup: false | "editor" | "info";
166
169
  snapLines: readonly import("../snapping").SnapLine[];
167
170
  originSnapOffset: {
@@ -173,22 +176,16 @@ export declare const actionToggleElementLock: {
173
176
  followedBy: Set<import("../types").SocketId>;
174
177
  isCropping: boolean;
175
178
  croppingElementId: string | null;
176
- searchMatches: readonly {
177
- id: string;
178
- focus: boolean;
179
- matchedLines: {
180
- offsetX: number;
181
- offsetY: number;
182
- width: number;
183
- height: number;
184
- }[];
185
- }[];
179
+ searchMatches: Readonly<{
180
+ focusedId: string | null;
181
+ matches: readonly import("../types").SearchMatch[];
182
+ }> | null;
186
183
  };
187
184
  captureUpdate: "IMMEDIATELY";
188
185
  };
189
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean;
186
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean;
190
187
  } & {
191
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
188
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
192
189
  };
193
190
  export declare const actionUnlockAllElements: {
194
191
  name: "unlockAllElements";
@@ -197,13 +194,18 @@ export declare const actionUnlockAllElements: {
197
194
  };
198
195
  viewMode: false;
199
196
  icon: import("react/jsx-runtime").JSX.Element;
200
- predicate: (elements: readonly ExcalidrawElement[], appState: import("../types").AppState) => boolean;
201
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
197
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
198
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>) => {
202
199
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
203
200
  appState: {
204
201
  selectedElementIds: {
205
202
  [k: string]: true;
206
203
  };
204
+ selectedGroupIds: {
205
+ [groupId: string]: boolean;
206
+ };
207
+ lockedMultiSelections: {};
208
+ activeLockedId: null;
207
209
  contextMenu: {
208
210
  items: import("../components/ContextMenu").ContextMenuItems;
209
211
  top: number;
@@ -214,7 +216,7 @@ export declare const actionUnlockAllElements: {
214
216
  errorMessage: import("react").ReactNode;
215
217
  activeEmbeddable: {
216
218
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
217
- state: "hover" | "active";
219
+ state: "active" | "hover";
218
220
  } | null;
219
221
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
220
222
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -222,7 +224,7 @@ export declare const actionUnlockAllElements: {
222
224
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
223
225
  isBindingEnabled: boolean;
224
226
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
225
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
227
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
226
228
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
227
229
  frameRendering: {
228
230
  enabled: boolean;
@@ -233,7 +235,6 @@ export declare const actionUnlockAllElements: {
233
235
  editingFrame: string | null;
234
236
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
235
237
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
236
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
237
238
  activeTool: {
238
239
  lastActiveTool: import("../types").ActiveTool | null;
239
240
  locked: boolean;
@@ -271,7 +272,7 @@ export declare const actionUnlockAllElements: {
271
272
  zoom: Readonly<{
272
273
  value: import("../types").NormalizedZoomValue;
273
274
  }>;
274
- openMenu: "shape" | "canvas" | null;
275
+ openMenu: "canvas" | "shape" | null;
275
276
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
276
277
  openSidebar: {
277
278
  name: string;
@@ -281,7 +282,7 @@ export declare const actionUnlockAllElements: {
281
282
  name: "imageExport" | "help" | "jsonExport";
282
283
  } | {
283
284
  name: "ttd";
284
- tab: "text-to-diagram" | "mermaid";
285
+ tab: "mermaid" | "text-to-diagram";
285
286
  } | {
286
287
  name: "commandPalette";
287
288
  } | {
@@ -309,9 +310,6 @@ export declare const actionUnlockAllElements: {
309
310
  gridStep: number;
310
311
  gridModeEnabled: boolean;
311
312
  viewModeEnabled: boolean;
312
- selectedGroupIds: {
313
- [groupId: string]: boolean;
314
- };
315
313
  editingGroupId: string | null;
316
314
  width: number;
317
315
  height: number;
@@ -350,9 +348,8 @@ export declare const actionUnlockAllElements: {
350
348
  shown: true;
351
349
  data: import("../charts").Spreadsheet;
352
350
  };
353
- pendingImageElementId: string | null;
354
351
  showHyperlinkPopup: false | "editor" | "info";
355
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
352
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
356
353
  snapLines: readonly import("../snapping").SnapLine[];
357
354
  originSnapOffset: {
358
355
  x: number;
@@ -363,16 +360,10 @@ export declare const actionUnlockAllElements: {
363
360
  followedBy: Set<import("../types").SocketId>;
364
361
  isCropping: boolean;
365
362
  croppingElementId: string | null;
366
- searchMatches: readonly {
367
- id: string;
368
- focus: boolean;
369
- matchedLines: {
370
- offsetX: number;
371
- offsetY: number;
372
- width: number;
373
- height: number;
374
- }[];
375
- }[];
363
+ searchMatches: Readonly<{
364
+ focusedId: string | null;
365
+ matches: readonly import("../types").SearchMatch[];
366
+ }> | null;
376
367
  };
377
368
  captureUpdate: "IMMEDIATELY";
378
369
  };
@@ -24,7 +24,7 @@ export declare const actionSetEmbeddableAsActiveTool: {
24
24
  errorMessage: import("react").ReactNode;
25
25
  activeEmbeddable: {
26
26
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
27
- state: "hover" | "active";
27
+ state: "active" | "hover";
28
28
  } | null;
29
29
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
30
30
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -32,7 +32,7 @@ export declare const actionSetEmbeddableAsActiveTool: {
32
32
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
33
  isBindingEnabled: boolean;
34
34
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
35
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
35
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
36
36
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
37
37
  frameRendering: {
38
38
  enabled: boolean;
@@ -43,7 +43,6 @@ export declare const actionSetEmbeddableAsActiveTool: {
43
43
  editingFrame: string | null;
44
44
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
45
45
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
46
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
47
46
  penMode: boolean;
48
47
  penDetected: boolean;
49
48
  exportBackground: boolean;
@@ -76,7 +75,7 @@ export declare const actionSetEmbeddableAsActiveTool: {
76
75
  zoom: Readonly<{
77
76
  value: import("../types").NormalizedZoomValue;
78
77
  }>;
79
- openMenu: "shape" | "canvas" | null;
78
+ openMenu: "canvas" | "shape" | null;
80
79
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
81
80
  openSidebar: {
82
81
  name: string;
@@ -86,7 +85,7 @@ export declare const actionSetEmbeddableAsActiveTool: {
86
85
  name: "imageExport" | "help" | "jsonExport";
87
86
  } | {
88
87
  name: "ttd";
89
- tab: "text-to-diagram" | "mermaid";
88
+ tab: "mermaid" | "text-to-diagram";
90
89
  } | {
91
90
  name: "commandPalette";
92
91
  } | {
@@ -158,9 +157,8 @@ export declare const actionSetEmbeddableAsActiveTool: {
158
157
  shown: true;
159
158
  data: import("../charts").Spreadsheet;
160
159
  };
161
- pendingImageElementId: string | null;
162
160
  showHyperlinkPopup: false | "editor" | "info";
163
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
161
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
164
162
  snapLines: readonly import("../snapping").SnapLine[];
165
163
  originSnapOffset: {
166
164
  x: number;
@@ -171,16 +169,14 @@ export declare const actionSetEmbeddableAsActiveTool: {
171
169
  followedBy: Set<import("../types").SocketId>;
172
170
  isCropping: boolean;
173
171
  croppingElementId: string | null;
174
- searchMatches: readonly {
175
- id: string;
176
- focus: boolean;
177
- matchedLines: {
178
- offsetX: number;
179
- offsetY: number;
180
- width: number;
181
- height: number;
182
- }[];
183
- }[];
172
+ searchMatches: Readonly<{
173
+ focusedId: string | null;
174
+ matches: readonly import("../types").SearchMatch[];
175
+ }> | null;
176
+ activeLockedId: string | null;
177
+ lockedMultiSelections: {
178
+ [groupId: string]: true;
179
+ };
184
180
  };
185
181
  captureUpdate: "EVENTUALLY";
186
182
  };