@excalidraw/excalidraw 0.18.0-6fc8502 → 0.18.0-864353b

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 (164) hide show
  1. package/dist/dev/{chunk-X3RYHLJU.js → chunk-7YMZV3TY.js} +14 -4
  2. package/dist/dev/chunk-7YMZV3TY.js.map +7 -0
  3. package/dist/dev/chunk-BBNNHA7I.js +7 -0
  4. package/dist/dev/chunk-BBNNHA7I.js.map +7 -0
  5. package/dist/dev/{chunk-KYBDXI6F.js → chunk-LL55DS44.js} +15037 -10099
  6. package/dist/dev/chunk-LL55DS44.js.map +7 -0
  7. package/dist/dev/data/{image-NKFINVKH.js → image-OFYK7EOY.js} +3 -3
  8. package/dist/dev/index.css +100 -22
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +3531 -6486
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{en-CKWC2GMK.js → en-KIY5SGI3.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-F44EGBV2.js +33 -0
  16. package/dist/prod/{chunk-IUH5AXLB.js → chunk-OUULIERA.js} +4 -4
  17. package/dist/prod/chunk-UH6Q3EIV.js +7 -0
  18. package/dist/prod/data/image-CUOH64HE.js +1 -0
  19. package/dist/prod/index.css +1 -1
  20. package/dist/prod/index.js +18 -17
  21. package/dist/prod/locales/{en-SBO6ZHT2.js → en-GCLCIHXH.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 +11 -1
  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 +22 -4
  30. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +11 -14
  31. package/dist/types/element/src/ShapeCache.d.ts +1 -1
  32. package/dist/types/element/src/align.d.ts +3 -3
  33. package/dist/types/element/src/binding.d.ts +19 -12
  34. package/dist/types/element/src/bounds.d.ts +2 -2
  35. package/dist/types/element/src/collision.d.ts +1 -1
  36. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +40 -35
  37. package/dist/types/element/src/dragElements.d.ts +3 -2
  38. package/dist/types/element/src/duplicate.d.ts +10 -13
  39. package/dist/types/element/src/elbowArrow.d.ts +1 -1
  40. package/dist/types/element/src/flowchart.d.ts +3 -2
  41. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  42. package/dist/types/element/src/frame.d.ts +5 -4
  43. package/dist/types/element/src/index.d.ts +45 -2
  44. package/dist/types/element/src/linearElementEditor.d.ts +20 -31
  45. package/dist/types/element/src/mutateElement.d.ts +10 -2
  46. package/dist/types/element/src/newElement.d.ts +4 -3
  47. package/dist/types/element/src/resizeElements.d.ts +4 -4
  48. package/dist/types/element/src/selection.d.ts +11 -5
  49. package/dist/types/element/src/shapes.d.ts +5 -1
  50. package/dist/types/element/src/sizeHelpers.d.ts +2 -2
  51. package/dist/types/element/src/store.d.ts +227 -0
  52. package/dist/types/element/src/textElement.d.ts +5 -3
  53. package/dist/types/element/src/transformHandles.d.ts +4 -4
  54. package/dist/types/element/src/typeChecks.d.ts +15 -1
  55. package/dist/types/element/src/types.d.ts +14 -1
  56. package/dist/types/element/src/zindex.d.ts +1 -1
  57. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +39 -45
  58. package/dist/types/excalidraw/actions/actionAlign.d.ts +8 -8
  59. package/dist/types/excalidraw/actions/actionBoundText.d.ts +26 -30
  60. package/dist/types/excalidraw/actions/actionCanvas.d.ts +262 -288
  61. package/dist/types/excalidraw/actions/actionClipboard.d.ts +81 -92
  62. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +13 -15
  63. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +38 -43
  64. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -4
  65. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  66. package/dist/types/excalidraw/actions/actionElementLink.d.ts +13 -15
  67. package/dist/types/excalidraw/actions/actionElementLock.d.ts +41 -46
  68. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +13 -15
  69. package/dist/types/excalidraw/actions/actionExport.d.ts +210 -228
  70. package/dist/types/excalidraw/actions/actionFinalize.d.ts +72 -36
  71. package/dist/types/excalidraw/actions/actionFlip.d.ts +4 -4
  72. package/dist/types/excalidraw/actions/actionFrame.d.ts +96 -104
  73. package/dist/types/excalidraw/actions/actionGroup.d.ts +32 -36
  74. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -2
  75. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +505 -14
  76. package/dist/types/excalidraw/actions/actionLink.d.ts +13 -15
  77. package/dist/types/excalidraw/actions/actionMenu.d.ts +39 -45
  78. package/dist/types/excalidraw/actions/actionNavigate.d.ts +25 -29
  79. package/dist/types/excalidraw/actions/actionProperties.d.ts +192 -214
  80. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +15 -17
  81. package/dist/types/excalidraw/actions/actionStyles.d.ts +17 -19
  82. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +15 -17
  83. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +15 -17
  84. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +15 -190
  85. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  86. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +15 -17
  87. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +15 -17
  88. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +15 -17
  89. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  90. package/dist/types/excalidraw/actions/types.d.ts +4 -3
  91. package/dist/types/excalidraw/appState.d.ts +38 -29
  92. package/dist/types/excalidraw/components/App.d.ts +24 -11
  93. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -0
  94. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  95. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -1
  96. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  97. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -3
  98. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -3
  99. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -2
  100. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  101. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  102. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  103. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  104. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +4 -3
  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 +1 -1
  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/blob.d.ts +1 -1
  126. package/dist/types/excalidraw/data/transform.d.ts +1 -1
  127. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  128. package/dist/types/excalidraw/eraser/index.d.ts +14 -0
  129. package/dist/types/excalidraw/fonts/Fonts.d.ts +1 -1
  130. package/dist/types/excalidraw/history.d.ts +14 -22
  131. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  132. package/dist/types/excalidraw/index.d.ts +9 -9
  133. package/dist/types/excalidraw/lasso/index.d.ts +1 -0
  134. package/dist/types/excalidraw/lasso/utils.d.ts +1 -2
  135. package/dist/types/excalidraw/renderer/helpers.d.ts +7 -2
  136. package/dist/types/excalidraw/scene/Renderer.d.ts +1 -1
  137. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  138. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  139. package/dist/types/excalidraw/scene/types.d.ts +2 -0
  140. package/dist/types/excalidraw/snapping.d.ts +2 -2
  141. package/dist/types/excalidraw/types.d.ts +28 -6
  142. package/dist/types/excalidraw/visualdebug.d.ts +1 -1
  143. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +3 -1
  144. package/dist/types/math/src/angle.d.ts +2 -0
  145. package/dist/types/math/src/curve.d.ts +2 -0
  146. package/dist/types/math/src/point.d.ts +1 -1
  147. package/dist/types/math/src/types.d.ts +1 -0
  148. package/dist/types/math/src/vector.d.ts +4 -0
  149. package/dist/types/utils/src/bbox.d.ts +1 -1
  150. package/dist/types/utils/src/index.d.ts +1 -1
  151. package/dist/types/utils/src/withinBounds.d.ts +1 -1
  152. package/history.ts +68 -94
  153. package/package.json +3 -3
  154. package/dist/dev/chunk-H7XJ5UVD.js +0 -7
  155. package/dist/dev/chunk-H7XJ5UVD.js.map +0 -7
  156. package/dist/dev/chunk-KYBDXI6F.js.map +0 -7
  157. package/dist/dev/chunk-X3RYHLJU.js.map +0 -7
  158. package/dist/prod/chunk-CAN5RS4P.js +0 -31
  159. package/dist/prod/chunk-KJYFYP64.js +0 -7
  160. package/dist/prod/data/image-5XD47O4X.js +0 -1
  161. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  162. package/dist/types/excalidraw/store.d.ts +0 -129
  163. /package/dist/dev/data/{image-NKFINVKH.js.map → image-OFYK7EOY.js.map} +0 -0
  164. /package/dist/dev/locales/{en-CKWC2GMK.js.map → en-KIY5SGI3.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import type { ElementOrToolType } from "@excalidraw/excalidraw/types";
2
2
  import type { MarkNonNullable } from "@excalidraw/common/utility-types";
3
3
  import type { Bounds } from "./bounds";
4
- import type { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeElement, ExcalidrawIframeLikeElement, ExcalidrawMagicFrameElement, ExcalidrawArrowElement, ExcalidrawElbowArrowElement, PointBinding, FixedPointBinding, ExcalidrawFlowchartNodeElement } from "./types";
4
+ import type { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeElement, ExcalidrawIframeLikeElement, ExcalidrawMagicFrameElement, ExcalidrawArrowElement, ExcalidrawElbowArrowElement, ExcalidrawLineElement, PointBinding, FixedPointBinding, ExcalidrawFlowchartNodeElement, ExcalidrawLinearElementSubType } from "./types";
5
5
  export declare const isInitializedImageElement: (element: ExcalidrawElement | null) => element is InitializedExcalidrawImageElement;
6
6
  export declare const isImageElement: (element: ExcalidrawElement | null) => element is ExcalidrawImageElement;
7
7
  export declare const isEmbeddableElement: (element: ExcalidrawElement | null | undefined) => element is ExcalidrawEmbeddableElement;
@@ -14,8 +14,11 @@ export declare const isFrameLikeElement: (element: ExcalidrawElement | null) =>
14
14
  export declare const isFreeDrawElement: (element?: ExcalidrawElement | null) => element is ExcalidrawFreeDrawElement;
15
15
  export declare const isFreeDrawElementType: (elementType: ExcalidrawElementType) => boolean;
16
16
  export declare const isLinearElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
17
+ export declare const isLineElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLineElement;
17
18
  export declare const isArrowElement: (element?: ExcalidrawElement | null) => element is ExcalidrawArrowElement;
18
19
  export declare const isElbowArrow: (element?: ExcalidrawElement) => element is ExcalidrawElbowArrowElement;
20
+ export declare const isSharpArrow: (element?: ExcalidrawElement) => element is ExcalidrawArrowElement;
21
+ export declare const isCurvedArrow: (element?: ExcalidrawElement) => element is ExcalidrawArrowElement;
19
22
  export declare const isLinearElementType: (elementType: ElementOrToolType) => boolean;
20
23
  export declare const isBindingElement: (element?: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawLinearElement;
21
24
  export declare const isBindingElementType: (elementType: ElementOrToolType) => boolean;
@@ -27,6 +30,7 @@ export declare const isExcalidrawElement: (element: any) => element is Excalidra
27
30
  export declare const isFlowchartNodeElement: (element: ExcalidrawElement) => element is ExcalidrawFlowchartNodeElement;
28
31
  export declare const hasBoundTextElement: (element: ExcalidrawElement | null) => element is MarkNonNullable<ExcalidrawBindableElement, "boundElements">;
29
32
  export declare const isBoundToContainer: (element: ExcalidrawElement | null) => element is ExcalidrawTextElementWithContainer;
33
+ export declare const isArrowBoundToElement: (element: ExcalidrawArrowElement) => boolean;
30
34
  export declare const isUsingAdaptiveRadius: (type: string) => boolean;
31
35
  export declare const isUsingProportionalRadius: (type: string) => boolean;
32
36
  export declare const canApplyRoundnessTypeToElement: (roundnessType: RoundnessType, element: ExcalidrawElement) => boolean;
@@ -37,3 +41,13 @@ export declare const getDefaultRoundnessTypeForElement: (element: ExcalidrawElem
37
41
  } | null;
38
42
  export declare const isFixedPointBinding: (binding: PointBinding | FixedPointBinding) => binding is FixedPointBinding;
39
43
  export declare const isBounds: (box: unknown) => box is Bounds;
44
+ export declare const getLinearElementSubType: (element: ExcalidrawLinearElement) => ExcalidrawLinearElementSubType;
45
+ /**
46
+ * Checks if current element points meet all the conditions for polygon=true
47
+ * (this isn't a element type check, for that use isLineElement).
48
+ *
49
+ * If you want to check if points *can* be turned into a polygon, use
50
+ * canBecomePolygon(points).
51
+ */
52
+ export declare const isValidPolygon: (points: ExcalidrawLineElement["points"]) => boolean;
53
+ export declare const canBecomePolygon: (points: ExcalidrawLineElement["points"]) => boolean;
@@ -205,6 +205,11 @@ export type PointBinding = {
205
205
  export type FixedPointBinding = Merge<PointBinding, {
206
206
  fixedPoint: FixedPoint;
207
207
  }>;
208
+ type Index = number;
209
+ export type PointsPositionUpdates = Map<Index, {
210
+ point: LocalPoint;
211
+ isDragging?: boolean;
212
+ }>;
208
213
  export type Arrowhead = "arrow" | "bar" | "dot" | "circle" | "circle_outline" | "triangle" | "triangle_outline" | "diamond" | "diamond_outline" | "crowfoot_one" | "crowfoot_many" | "crowfoot_one_or_many";
209
214
  export type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
210
215
  type: "line" | "arrow";
@@ -215,10 +220,14 @@ export type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
215
220
  startArrowhead: Arrowhead | null;
216
221
  endArrowhead: Arrowhead | null;
217
222
  }>;
223
+ export type ExcalidrawLineElement = ExcalidrawLinearElement & Readonly<{
224
+ type: "line";
225
+ polygon: boolean;
226
+ }>;
218
227
  export type FixedSegment = {
219
228
  start: LocalPoint;
220
229
  end: LocalPoint;
221
- index: number;
230
+ index: Index;
222
231
  };
223
232
  export type ExcalidrawArrowElement = ExcalidrawLinearElement & Readonly<{
224
233
  type: "arrow";
@@ -279,4 +288,8 @@ export type SceneElementsMap = Map<ExcalidrawElement["id"], Ordered<ExcalidrawEl
279
288
  */
280
289
  export type NonDeletedSceneElementsMap = Map<ExcalidrawElement["id"], Ordered<NonDeletedExcalidrawElement>> & MakeBrand<"NonDeletedSceneElementsMap">;
281
290
  export type ElementsMapOrArray = readonly ExcalidrawElement[] | Readonly<ElementsMap>;
291
+ export type ExcalidrawLinearElementSubType = "line" | "sharpArrow" | "curvedArrow" | "elbowArrow";
292
+ export type ConvertibleGenericTypes = "rectangle" | "diamond" | "ellipse";
293
+ export type ConvertibleLinearTypes = ExcalidrawLinearElementSubType;
294
+ export type ConvertibleTypes = ConvertibleGenericTypes | ConvertibleLinearTypes;
282
295
  export {};
@@ -1,5 +1,5 @@
1
1
  import type { AppState } from "@excalidraw/excalidraw/types";
2
- import type Scene from "@excalidraw/excalidraw/scene/Scene";
2
+ import type { Scene } from "./Scene";
3
3
  import type { ExcalidrawElement } from "./types";
4
4
  export declare const moveOneLeft: (allElements: readonly ExcalidrawElement[], appState: AppState, scene: Scene) => readonly ExcalidrawElement[];
5
5
  export declare const moveOneRight: (allElements: readonly ExcalidrawElement[], appState: AppState, scene: Scene) => readonly ExcalidrawElement[];
@@ -28,7 +28,7 @@ export declare const actionAddToLibrary: {
28
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
29
  isBindingEnabled: boolean;
30
30
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
31
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
32
32
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
33
33
  frameRendering: {
34
34
  enabled: boolean;
@@ -39,7 +39,7 @@ export declare const actionAddToLibrary: {
39
39
  editingFrame: string | null;
40
40
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
41
41
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
42
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
42
+ editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
43
43
  activeTool: {
44
44
  lastActiveTool: import("../types").ActiveTool | null;
45
45
  locked: boolean;
@@ -77,7 +77,7 @@ export declare const actionAddToLibrary: {
77
77
  zoom: Readonly<{
78
78
  value: import("../types").NormalizedZoomValue;
79
79
  }>;
80
- openMenu: "shape" | "canvas" | null;
80
+ openMenu: "canvas" | "shape" | null;
81
81
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
82
82
  openSidebar: {
83
83
  name: string;
@@ -155,8 +155,8 @@ export declare const actionAddToLibrary: {
155
155
  data: import("../charts").Spreadsheet;
156
156
  };
157
157
  pendingImageElementId: string | null;
158
- showHyperlinkPopup: false | "editor" | "info";
159
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
158
+ showHyperlinkPopup: false | "info" | "editor";
159
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
160
160
  snapLines: readonly import("../snapping").SnapLine[];
161
161
  originSnapOffset: {
162
162
  x: number;
@@ -167,16 +167,14 @@ export declare const actionAddToLibrary: {
167
167
  followedBy: Set<import("../types").SocketId>;
168
168
  isCropping: boolean;
169
169
  croppingElementId: string | null;
170
- searchMatches: readonly {
171
- id: string;
172
- focus: boolean;
173
- matchedLines: {
174
- offsetX: number;
175
- offsetY: number;
176
- width: number;
177
- height: number;
178
- }[];
179
- }[];
170
+ searchMatches: Readonly<{
171
+ focusedId: string | null;
172
+ matches: readonly import("../types").SearchMatch[];
173
+ }> | null;
174
+ activeLockedId: string | null;
175
+ lockedMultiSelections: {
176
+ [groupId: string]: true;
177
+ };
180
178
  };
181
179
  } | {
182
180
  captureUpdate: "EVENTUALLY";
@@ -199,7 +197,7 @@ export declare const actionAddToLibrary: {
199
197
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
200
198
  isBindingEnabled: boolean;
201
199
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
202
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
200
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
203
201
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
204
202
  frameRendering: {
205
203
  enabled: boolean;
@@ -210,7 +208,7 @@ export declare const actionAddToLibrary: {
210
208
  editingFrame: string | null;
211
209
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
212
210
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
213
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
211
+ editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
214
212
  activeTool: {
215
213
  lastActiveTool: import("../types").ActiveTool | null;
216
214
  locked: boolean;
@@ -248,7 +246,7 @@ export declare const actionAddToLibrary: {
248
246
  zoom: Readonly<{
249
247
  value: import("../types").NormalizedZoomValue;
250
248
  }>;
251
- openMenu: "shape" | "canvas" | null;
249
+ openMenu: "canvas" | "shape" | null;
252
250
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
253
251
  openSidebar: {
254
252
  name: string;
@@ -331,8 +329,8 @@ export declare const actionAddToLibrary: {
331
329
  data: import("../charts").Spreadsheet;
332
330
  };
333
331
  pendingImageElementId: string | null;
334
- showHyperlinkPopup: false | "editor" | "info";
335
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
332
+ showHyperlinkPopup: false | "info" | "editor";
333
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
336
334
  snapLines: readonly import("../snapping").SnapLine[];
337
335
  originSnapOffset: {
338
336
  x: number;
@@ -343,16 +341,14 @@ export declare const actionAddToLibrary: {
343
341
  followedBy: Set<import("../types").SocketId>;
344
342
  isCropping: boolean;
345
343
  croppingElementId: string | null;
346
- searchMatches: readonly {
347
- id: string;
348
- focus: boolean;
349
- matchedLines: {
350
- offsetX: number;
351
- offsetY: number;
352
- width: number;
353
- height: number;
354
- }[];
355
- }[];
344
+ searchMatches: Readonly<{
345
+ focusedId: string | null;
346
+ matches: readonly import("../types").SearchMatch[];
347
+ }> | null;
348
+ activeLockedId: string | null;
349
+ lockedMultiSelections: {
350
+ [groupId: string]: true;
351
+ };
356
352
  };
357
353
  }> | {
358
354
  captureUpdate: "EVENTUALLY";
@@ -375,7 +371,7 @@ export declare const actionAddToLibrary: {
375
371
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
376
372
  isBindingEnabled: boolean;
377
373
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
378
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
374
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
379
375
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
380
376
  frameRendering: {
381
377
  enabled: boolean;
@@ -386,7 +382,7 @@ export declare const actionAddToLibrary: {
386
382
  editingFrame: string | null;
387
383
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
388
384
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
389
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
385
+ editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
390
386
  activeTool: {
391
387
  lastActiveTool: import("../types").ActiveTool | null;
392
388
  locked: boolean;
@@ -424,7 +420,7 @@ export declare const actionAddToLibrary: {
424
420
  zoom: Readonly<{
425
421
  value: import("../types").NormalizedZoomValue;
426
422
  }>;
427
- openMenu: "shape" | "canvas" | null;
423
+ openMenu: "canvas" | "shape" | null;
428
424
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
429
425
  openSidebar: {
430
426
  name: string;
@@ -507,8 +503,8 @@ export declare const actionAddToLibrary: {
507
503
  data: import("../charts").Spreadsheet;
508
504
  };
509
505
  pendingImageElementId: string | null;
510
- showHyperlinkPopup: false | "editor" | "info";
511
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
506
+ showHyperlinkPopup: false | "info" | "editor";
507
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
512
508
  snapLines: readonly import("../snapping").SnapLine[];
513
509
  originSnapOffset: {
514
510
  x: number;
@@ -519,16 +515,14 @@ export declare const actionAddToLibrary: {
519
515
  followedBy: Set<import("../types").SocketId>;
520
516
  isCropping: boolean;
521
517
  croppingElementId: string | null;
522
- searchMatches: readonly {
523
- id: string;
524
- focus: boolean;
525
- matchedLines: {
526
- offsetX: number;
527
- offsetY: number;
528
- width: number;
529
- height: number;
530
- }[];
531
- }[];
518
+ searchMatches: Readonly<{
519
+ focusedId: string | null;
520
+ matches: readonly import("../types").SearchMatch[];
521
+ }> | null;
522
+ activeLockedId: string | null;
523
+ lockedMultiSelections: {
524
+ [groupId: string]: true;
525
+ };
532
526
  };
533
527
  };
534
528
  label: string;
@@ -15,10 +15,10 @@ export declare const actionAlignTop: {
15
15
  elements: ExcalidrawElement[];
16
16
  captureUpdate: "IMMEDIATELY";
17
17
  };
18
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
18
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
19
19
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
20
20
  } & {
21
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
21
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
22
22
  };
23
23
  export declare const actionAlignBottom: {
24
24
  name: "alignBottom";
@@ -33,10 +33,10 @@ export declare const actionAlignBottom: {
33
33
  elements: ExcalidrawElement[];
34
34
  captureUpdate: "IMMEDIATELY";
35
35
  };
36
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
36
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
37
37
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
38
38
  } & {
39
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
39
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
40
40
  };
41
41
  export declare const actionAlignLeft: {
42
42
  name: "alignLeft";
@@ -51,10 +51,10 @@ export declare const actionAlignLeft: {
51
51
  elements: ExcalidrawElement[];
52
52
  captureUpdate: "IMMEDIATELY";
53
53
  };
54
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
54
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
55
55
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
56
56
  } & {
57
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
57
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
58
58
  };
59
59
  export declare const actionAlignRight: {
60
60
  name: "alignRight";
@@ -69,10 +69,10 @@ export declare const actionAlignRight: {
69
69
  elements: ExcalidrawElement[];
70
70
  captureUpdate: "IMMEDIATELY";
71
71
  };
72
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
72
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
73
73
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
74
74
  } & {
75
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
75
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
76
76
  };
77
77
  export declare const actionAlignVerticallyCentered: {
78
78
  name: "alignVerticallyCentered";
@@ -48,7 +48,7 @@ export declare const actionBindText: {
48
48
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
49
49
  isBindingEnabled: boolean;
50
50
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
51
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
51
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
52
52
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
53
53
  frameRendering: {
54
54
  enabled: boolean;
@@ -59,7 +59,7 @@ export declare const actionBindText: {
59
59
  editingFrame: string | null;
60
60
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
61
61
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
62
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
62
+ editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
63
63
  activeTool: {
64
64
  lastActiveTool: import("../types").ActiveTool | null;
65
65
  locked: boolean;
@@ -97,7 +97,7 @@ export declare const actionBindText: {
97
97
  zoom: Readonly<{
98
98
  value: import("../types").NormalizedZoomValue;
99
99
  }>;
100
- openMenu: "shape" | "canvas" | null;
100
+ openMenu: "canvas" | "shape" | null;
101
101
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
102
102
  openSidebar: {
103
103
  name: string;
@@ -177,8 +177,8 @@ export declare const actionBindText: {
177
177
  data: import("../charts").Spreadsheet;
178
178
  };
179
179
  pendingImageElementId: string | null;
180
- showHyperlinkPopup: false | "editor" | "info";
181
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
180
+ showHyperlinkPopup: false | "info" | "editor";
181
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
182
182
  snapLines: readonly import("../snapping").SnapLine[];
183
183
  originSnapOffset: {
184
184
  x: number;
@@ -189,16 +189,14 @@ export declare const actionBindText: {
189
189
  followedBy: Set<import("../types").SocketId>;
190
190
  isCropping: boolean;
191
191
  croppingElementId: string | null;
192
- searchMatches: readonly {
193
- id: string;
194
- focus: boolean;
195
- matchedLines: {
196
- offsetX: number;
197
- offsetY: number;
198
- width: number;
199
- height: number;
200
- }[];
201
- }[];
192
+ searchMatches: Readonly<{
193
+ focusedId: string | null;
194
+ matches: readonly import("../types").SearchMatch[];
195
+ }> | null;
196
+ activeLockedId: string | null;
197
+ lockedMultiSelections: {
198
+ [groupId: string]: true;
199
+ };
202
200
  };
203
201
  captureUpdate: "IMMEDIATELY";
204
202
  };
@@ -236,7 +234,7 @@ export declare const actionWrapTextInContainer: {
236
234
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
237
235
  isBindingEnabled: boolean;
238
236
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
239
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
237
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
240
238
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
241
239
  frameRendering: {
242
240
  enabled: boolean;
@@ -247,7 +245,7 @@ export declare const actionWrapTextInContainer: {
247
245
  editingFrame: string | null;
248
246
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
249
247
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
250
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
248
+ editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
251
249
  activeTool: {
252
250
  lastActiveTool: import("../types").ActiveTool | null;
253
251
  locked: boolean;
@@ -285,7 +283,7 @@ export declare const actionWrapTextInContainer: {
285
283
  zoom: Readonly<{
286
284
  value: import("../types").NormalizedZoomValue;
287
285
  }>;
288
- openMenu: "shape" | "canvas" | null;
286
+ openMenu: "canvas" | "shape" | null;
289
287
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
290
288
  openSidebar: {
291
289
  name: string;
@@ -365,8 +363,8 @@ export declare const actionWrapTextInContainer: {
365
363
  data: import("../charts").Spreadsheet;
366
364
  };
367
365
  pendingImageElementId: string | null;
368
- showHyperlinkPopup: false | "editor" | "info";
369
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
366
+ showHyperlinkPopup: false | "info" | "editor";
367
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
370
368
  snapLines: readonly import("../snapping").SnapLine[];
371
369
  originSnapOffset: {
372
370
  x: number;
@@ -377,16 +375,14 @@ export declare const actionWrapTextInContainer: {
377
375
  followedBy: Set<import("../types").SocketId>;
378
376
  isCropping: boolean;
379
377
  croppingElementId: string | null;
380
- searchMatches: readonly {
381
- id: string;
382
- focus: boolean;
383
- matchedLines: {
384
- offsetX: number;
385
- offsetY: number;
386
- width: number;
387
- height: number;
388
- }[];
389
- }[];
378
+ searchMatches: Readonly<{
379
+ focusedId: string | null;
380
+ matches: readonly import("../types").SearchMatch[];
381
+ }> | null;
382
+ activeLockedId: string | null;
383
+ lockedMultiSelections: {
384
+ [groupId: string]: true;
385
+ };
390
386
  };
391
387
  captureUpdate: "IMMEDIATELY";
392
388
  };