@excalidraw/math 0.18.0-f0063e113 → 0.18.0-f29e9df

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 (44) hide show
  1. package/dist/types/common/src/constants.d.ts +2 -0
  2. package/dist/types/element/src/Scene.d.ts +6 -2
  3. package/dist/types/element/src/align.d.ts +2 -1
  4. package/dist/types/element/src/delta.d.ts +16 -4
  5. package/dist/types/element/src/distribute.d.ts +2 -1
  6. package/dist/types/element/src/groups.d.ts +1 -0
  7. package/dist/types/element/src/linearElementEditor.d.ts +2 -1
  8. package/dist/types/element/src/store.d.ts +8 -2
  9. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +0 -3
  10. package/dist/types/excalidraw/actions/actionBoundText.d.ts +0 -2
  11. package/dist/types/excalidraw/actions/actionCanvas.d.ts +15 -14
  12. package/dist/types/excalidraw/actions/actionClipboard.d.ts +3 -8
  13. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +0 -1
  14. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +3 -6
  15. package/dist/types/excalidraw/actions/actionElementLink.d.ts +0 -1
  16. package/dist/types/excalidraw/actions/actionElementLock.d.ts +0 -2
  17. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -1
  18. package/dist/types/excalidraw/actions/actionExport.d.ts +0 -9
  19. package/dist/types/excalidraw/actions/actionFinalize.d.ts +2 -3
  20. package/dist/types/excalidraw/actions/actionFrame.d.ts +0 -4
  21. package/dist/types/excalidraw/actions/actionGroup.d.ts +0 -2
  22. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +33 -3
  23. package/dist/types/excalidraw/actions/actionLink.d.ts +0 -1
  24. package/dist/types/excalidraw/actions/actionMenu.d.ts +0 -3
  25. package/dist/types/excalidraw/actions/actionNavigate.d.ts +0 -2
  26. package/dist/types/excalidraw/actions/actionProperties.d.ts +0 -15
  27. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +0 -1
  28. package/dist/types/excalidraw/actions/actionStyles.d.ts +0 -1
  29. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +0 -1
  30. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +0 -1
  31. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +0 -1
  32. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +0 -1
  33. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +0 -1
  34. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +0 -1
  35. package/dist/types/excalidraw/components/Actions.d.ts +0 -4
  36. package/dist/types/excalidraw/components/App.d.ts +8 -2
  37. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  38. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  39. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  40. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  41. package/dist/types/excalidraw/index.d.ts +2 -1
  42. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  43. package/dist/types/excalidraw/types.d.ts +7 -4
  44. package/package.json +6 -3
@@ -8,10 +8,12 @@ export declare const isChrome: boolean;
8
8
  export declare const isSafari: boolean;
9
9
  export declare const isIOS: boolean;
10
10
  export declare const isBrave: () => boolean;
11
+ export declare const isMobile: boolean;
11
12
  export declare const supportsResizeObserver: boolean;
12
13
  export declare const APP_NAME = "Excalidraw";
13
14
  export declare const TEXT_AUTOWRAP_THRESHOLD = 36;
14
15
  export declare const DRAGGING_THRESHOLD = 10;
16
+ export declare const MINIMUM_ARROW_SIZE = 20;
15
17
  export declare const LINE_CONFIRM_THRESHOLD = 8;
16
18
  export declare const ELEMENT_SHIFT_TRANSLATE_AMOUNT = 5;
17
19
  export declare const ELEMENT_TRANSLATE_AMOUNT = 1;
@@ -27,7 +27,9 @@ export declare class Scene {
27
27
  getElementsMapIncludingDeleted(): Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
28
28
  getNonDeletedElements(): readonly Ordered<NonDeletedExcalidrawElement>[];
29
29
  getFramesIncludingDeleted(): readonly ExcalidrawFrameLikeElement[];
30
- constructor(elements?: ElementsMapOrArray | null);
30
+ constructor(elements?: ElementsMapOrArray | null, options?: {
31
+ skipValidation?: true;
32
+ });
31
33
  getSelectedElements(opts: {
32
34
  selectedElementIds: AppState["selectedElementIds"];
33
35
  /**
@@ -55,7 +57,9 @@ export declare class Scene {
55
57
  * @returns whether a change was made
56
58
  */
57
59
  mapElements(iteratee: (element: ExcalidrawElement) => ExcalidrawElement): boolean;
58
- replaceAllElements(nextElements: ElementsMapOrArray): void;
60
+ replaceAllElements(nextElements: ElementsMapOrArray, options?: {
61
+ skipValidation?: true;
62
+ }): void;
59
63
  triggerUpdate(): void;
60
64
  onUpdate(cb: SceneStateCallback): SceneStateCallbackRemover;
61
65
  destroy(): void;
@@ -1,7 +1,8 @@
1
+ import type { AppState } from "@excalidraw/excalidraw/types";
1
2
  import type { Scene } from "./Scene";
2
3
  import type { ExcalidrawElement } from "./types";
3
4
  export interface Alignment {
4
5
  position: "start" | "center" | "end";
5
6
  axis: "x" | "y";
6
7
  }
7
- export declare const alignElements: (selectedElements: ExcalidrawElement[], alignment: Alignment, scene: Scene) => ExcalidrawElement[];
8
+ export declare const alignElements: (selectedElements: ExcalidrawElement[], alignment: Alignment, scene: Scene, appState: Readonly<AppState>) => ExcalidrawElement[];
@@ -29,12 +29,16 @@ export declare class Delta<T> {
29
29
  }>(prevObject: T, nextObject: T, modifier?: (partial: Partial<T>) => Partial<T>, postProcess?: (deleted: Partial<T>, inserted: Partial<T>) => [Partial<T>, Partial<T>]): Delta<T>;
30
30
  static empty(): Delta<unknown>;
31
31
  static isEmpty<T>(delta: Delta<T>): boolean;
32
+ /**
33
+ * Merges two deltas into a new one.
34
+ */
35
+ static merge<T>(delta1: Delta<T>, delta2: Delta<T>, delta3?: Delta<T>): Delta<T>;
32
36
  /**
33
37
  * Merges deleted and inserted object partials.
34
38
  */
35
39
  static mergeObjects<T extends {
36
40
  [key: string]: unknown;
37
- }>(prev: T, added: T, removed: T): T;
41
+ }>(prev: T, added: T, removed?: T): T;
38
42
  /**
39
43
  * Merges deleted and inserted array partials.
40
44
  */
@@ -102,18 +106,24 @@ export interface DeltaContainer<T> {
102
106
  * @returns a tuple of the next object `T` with applied `Delta`s, and `boolean`, indicating whether the applied deltas resulted in a visible change.
103
107
  */
104
108
  applyTo(previous: T, ...options: unknown[]): [T, boolean];
109
+ /**
110
+ * Squashes the current delta with the given one.
111
+ */
112
+ squash(delta: DeltaContainer<T>): this;
105
113
  /**
106
114
  * Checks whether all `Delta`s are empty.
107
115
  */
108
116
  isEmpty(): boolean;
109
117
  }
110
118
  export declare class AppStateDelta implements DeltaContainer<AppState> {
111
- readonly delta: Delta<ObservedAppState>;
119
+ delta: Delta<ObservedAppState>;
112
120
  private constructor();
121
+ static create(delta: Delta<ObservedAppState>): AppStateDelta;
113
122
  static calculate<T extends ObservedAppState>(prevAppState: T, nextAppState: T): AppStateDelta;
114
123
  static restore(appStateDeltaDTO: DTO<AppStateDelta>): AppStateDelta;
115
124
  static empty(): AppStateDelta;
116
125
  inverse(): AppStateDelta;
126
+ squash(delta: AppStateDelta): this;
117
127
  applyTo(appState: AppState, nextElements: SceneElementsMap): [AppState, boolean];
118
128
  isEmpty(): boolean;
119
129
  /**
@@ -122,7 +132,6 @@ export declare class AppStateDelta implements DeltaContainer<AppState> {
122
132
  * @returns `true` if a visible change is found, `false` otherwise.
123
133
  */
124
134
  private filterInvisibleChanges;
125
- private static convertToAppStateKey;
126
135
  private static filterSelectedElements;
127
136
  private static filterSelectedGroups;
128
137
  private static stripElementsProps;
@@ -136,7 +145,7 @@ export declare class AppStateDelta implements DeltaContainer<AppState> {
136
145
  }
137
146
  type ElementPartial<TElement extends ExcalidrawElement = ExcalidrawElement> = Omit<Partial<Ordered<TElement>>, "id" | "updated" | "seed">;
138
147
  export type ApplyToOptions = {
139
- excludedProperties: Set<keyof ElementPartial>;
148
+ excludedProperties?: Set<keyof ElementPartial>;
140
149
  };
141
150
  /**
142
151
  * Elements change is a low level primitive to capture a change between two sets of elements.
@@ -155,6 +164,7 @@ export declare class ElementsDelta implements DeltaContainer<SceneElementsMap> {
155
164
  private static satisfiesRemoval;
156
165
  private static satisfiesUpdate;
157
166
  private static satisfiesCommmonInvariants;
167
+ private static satisfiesUniqueInvariants;
158
168
  private static validate;
159
169
  /**
160
170
  * Calculates the `Delta`s between the previous and next set of elements.
@@ -177,6 +187,7 @@ export declare class ElementsDelta implements DeltaContainer<SceneElementsMap> {
177
187
  */
178
188
  applyLatestChanges(prevElements: SceneElementsMap, nextElements: SceneElementsMap, modifierOptions?: "deleted" | "inserted"): ElementsDelta;
179
189
  applyTo(elements: SceneElementsMap, snapshot?: StoreSnapshot["elements"], options?: ApplyToOptions): [SceneElementsMap, boolean];
190
+ squash(delta: ElementsDelta): this;
180
191
  private static createApplier;
181
192
  private static createGetter;
182
193
  private static applyDelta;
@@ -203,6 +214,7 @@ export declare class ElementsDelta implements DeltaContainer<SceneElementsMap> {
203
214
  * should be rebound (if possible) with the current element ~ bindings should be bidirectional.
204
215
  */
205
216
  private static rebindAffected;
217
+ static redrawElements(nextElements: SceneElementsMap, changedElements: Map<string, OrderedExcalidrawElement>): SceneElementsMap;
206
218
  private static redrawTextBoundingBoxes;
207
219
  private static redrawBoundArrows;
208
220
  private static reorderElements;
@@ -1,6 +1,7 @@
1
+ import type { AppState } from "@excalidraw/excalidraw/types";
1
2
  import type { ElementsMap, ExcalidrawElement } from "./types";
2
3
  export interface Distribution {
3
4
  space: "between";
4
5
  axis: "x" | "y";
5
6
  }
6
- export declare const distributeElements: (selectedElements: ExcalidrawElement[], elementsMap: ElementsMap, distribution: Distribution) => ExcalidrawElement[];
7
+ export declare const distributeElements: (selectedElements: ExcalidrawElement[], elementsMap: ElementsMap, distribution: Distribution, appState: Readonly<AppState>) => ExcalidrawElement[];
@@ -31,3 +31,4 @@ export declare const getNonDeletedGroupIds: (elements: ElementsMap) => Set<strin
31
31
  export declare const elementsAreInSameGroup: (elements: readonly ExcalidrawElement[]) => boolean;
32
32
  export declare const isInGroup: (element: NonDeletedExcalidrawElement) => boolean;
33
33
  export declare const getNewGroupIdsForDuplication: (groupIds: ExcalidrawElement["groupIds"], editingGroupId: AppState["editingGroupId"], mapper: (groupId: GroupId) => GroupId) => string[];
34
+ export declare const getSelectedElementsByGroup: (selectedElements: ExcalidrawElement[], elementsMap: ElementsMap, appState: Readonly<AppState>) => ExcalidrawElement[][];
@@ -39,7 +39,8 @@ export declare class LinearElementEditor {
39
39
  readonly segmentMidPointHoveredCoords: GlobalPoint | null;
40
40
  readonly elbowed: boolean;
41
41
  readonly customLineAngle: number | null;
42
- constructor(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap);
42
+ readonly isEditing: boolean;
43
+ constructor(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, isEditing?: boolean);
43
44
  static POINT_HANDLE_SIZE: number;
44
45
  /**
45
46
  * @param id the `elementId` from the instance of this class (so that we can
@@ -3,6 +3,7 @@ import type App from "@excalidraw/excalidraw/components/App";
3
3
  import type { DTO, ValueOf } from "@excalidraw/common/utility-types";
4
4
  import type { AppState, ObservedAppState } from "@excalidraw/excalidraw/types";
5
5
  import { ElementsDelta, AppStateDelta } from "./delta";
6
+ import type { ApplyToOptions } from "./delta";
6
7
  import type { ExcalidrawElement, OrderedExcalidrawElement, SceneElementsMap } from "./types";
7
8
  export declare const CaptureUpdateAction: {
8
9
  /**
@@ -168,7 +169,11 @@ export declare class StoreDelta {
168
169
  /**
169
170
  * Parse and load the delta from the remote payload.
170
171
  */
171
- static load({ id, elements: { added, removed, updated }, }: DTO<StoreDelta>): StoreDelta;
172
+ static load({ id, elements: { added, removed, updated }, appState: { delta: appStateDelta }, }: DTO<StoreDelta>): StoreDelta;
173
+ /**
174
+ * Squash the passed deltas into the aggregated delta instance.
175
+ */
176
+ static squash(...deltas: StoreDelta[]): StoreDelta;
172
177
  /**
173
178
  * Inverse store delta, creates new instance of `StoreDelta`.
174
179
  */
@@ -176,11 +181,12 @@ export declare class StoreDelta {
176
181
  /**
177
182
  * Apply the delta to the passed elements and appState, does not modify the snapshot.
178
183
  */
179
- static applyTo(delta: StoreDelta, elements: SceneElementsMap, appState: AppState): [SceneElementsMap, AppState, boolean];
184
+ static applyTo(delta: StoreDelta, elements: SceneElementsMap, appState: AppState, options?: ApplyToOptions): [SceneElementsMap, AppState, boolean];
180
185
  /**
181
186
  * Apply latest (remote) changes to the delta, creates new instance of `StoreDelta`.
182
187
  */
183
188
  static applyLatestChanges(delta: StoreDelta, prevElements: SceneElementsMap, nextElements: SceneElementsMap, modifierOptions?: "deleted" | "inserted"): StoreDelta;
189
+ static empty(): StoreDelta;
184
190
  isEmpty(): boolean;
185
191
  }
186
192
  /**
@@ -39,7 +39,6 @@ export declare const actionAddToLibrary: {
39
39
  editingFrame: string | null;
40
40
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
41
41
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
42
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
43
42
  activeTool: {
44
43
  lastActiveTool: import("../types").ActiveTool | null;
45
44
  locked: boolean;
@@ -207,7 +206,6 @@ export declare const actionAddToLibrary: {
207
206
  editingFrame: string | null;
208
207
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
209
208
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
210
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
211
209
  activeTool: {
212
210
  lastActiveTool: import("../types").ActiveTool | null;
213
211
  locked: boolean;
@@ -380,7 +378,6 @@ export declare const actionAddToLibrary: {
380
378
  editingFrame: string | null;
381
379
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
382
380
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
383
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
384
381
  activeTool: {
385
382
  lastActiveTool: import("../types").ActiveTool | null;
386
383
  locked: boolean;
@@ -59,7 +59,6 @@ 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 | null;
63
62
  activeTool: {
64
63
  lastActiveTool: import("../types").ActiveTool | null;
65
64
  locked: boolean;
@@ -244,7 +243,6 @@ export declare const actionWrapTextInContainer: {
244
243
  editingFrame: string | null;
245
244
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
246
245
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
247
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
248
246
  activeTool: {
249
247
  lastActiveTool: import("../types").ActiveTool | null;
250
248
  locked: boolean;
@@ -85,7 +85,6 @@ export declare const actionClearCanvas: {
85
85
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
86
86
  state: "active" | "hover";
87
87
  } | null;
88
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
89
88
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
90
89
  selectedGroupIds: {
91
90
  [groupId: string]: boolean;
@@ -162,6 +161,7 @@ export declare const actionClearCanvas: {
162
161
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
163
162
  openSidebar: {
164
163
  name: string;
164
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
165
165
  tab?: string | undefined;
166
166
  } | null;
167
167
  defaultSidebarDockedPreference: boolean;
@@ -243,7 +243,6 @@ export declare const actionZoomIn: {
243
243
  editingFrame: string | null;
244
244
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
245
245
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
246
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
247
246
  activeTool: {
248
247
  lastActiveTool: import("../types").ActiveTool | null;
249
248
  locked: boolean;
@@ -280,6 +279,7 @@ export declare const actionZoomIn: {
280
279
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
281
280
  openSidebar: {
282
281
  name: string;
282
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
283
283
  tab?: string | undefined;
284
284
  } | null;
285
285
  openDialog: {
@@ -430,7 +430,6 @@ export declare const actionZoomOut: {
430
430
  editingFrame: string | null;
431
431
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
432
432
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
433
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
434
433
  activeTool: {
435
434
  lastActiveTool: import("../types").ActiveTool | null;
436
435
  locked: boolean;
@@ -467,6 +466,7 @@ export declare const actionZoomOut: {
467
466
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
468
467
  openSidebar: {
469
468
  name: string;
469
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
470
470
  tab?: string | undefined;
471
471
  } | null;
472
472
  openDialog: {
@@ -617,7 +617,6 @@ export declare const actionResetZoom: {
617
617
  editingFrame: string | null;
618
618
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
619
619
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
620
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
621
620
  activeTool: {
622
621
  lastActiveTool: import("../types").ActiveTool | null;
623
622
  locked: boolean;
@@ -654,6 +653,7 @@ export declare const actionResetZoom: {
654
653
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
655
654
  openSidebar: {
656
655
  name: string;
656
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
657
657
  tab?: string | undefined;
658
658
  } | null;
659
659
  openDialog: {
@@ -810,7 +810,6 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
810
810
  editingFrame: string | null;
811
811
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
812
812
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
813
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
814
813
  activeTool: {
815
814
  lastActiveTool: import("../types").ActiveTool | null;
816
815
  locked: boolean;
@@ -847,6 +846,7 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
847
846
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
848
847
  openSidebar: {
849
848
  name: string;
849
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
850
850
  tab?: string | undefined;
851
851
  } | null;
852
852
  openDialog: {
@@ -999,7 +999,6 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
999
999
  editingFrame: string | null;
1000
1000
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1001
1001
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1002
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1003
1002
  activeTool: {
1004
1003
  lastActiveTool: import("../types").ActiveTool | null;
1005
1004
  locked: boolean;
@@ -1036,6 +1035,7 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1036
1035
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1037
1036
  openSidebar: {
1038
1037
  name: string;
1038
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1039
1039
  tab?: string | undefined;
1040
1040
  } | null;
1041
1041
  openDialog: {
@@ -1180,7 +1180,6 @@ export declare const actionZoomToFitSelectionInViewport: {
1180
1180
  editingFrame: string | null;
1181
1181
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1182
1182
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1183
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1184
1183
  activeTool: {
1185
1184
  lastActiveTool: import("../types").ActiveTool | null;
1186
1185
  locked: boolean;
@@ -1217,6 +1216,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1217
1216
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1218
1217
  openSidebar: {
1219
1218
  name: string;
1219
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1220
1220
  tab?: string | undefined;
1221
1221
  } | null;
1222
1222
  openDialog: {
@@ -1365,7 +1365,6 @@ export declare const actionZoomToFitSelection: {
1365
1365
  editingFrame: string | null;
1366
1366
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1367
1367
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1368
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1369
1368
  activeTool: {
1370
1369
  lastActiveTool: import("../types").ActiveTool | null;
1371
1370
  locked: boolean;
@@ -1402,6 +1401,7 @@ export declare const actionZoomToFitSelection: {
1402
1401
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1403
1402
  openSidebar: {
1404
1403
  name: string;
1404
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1405
1405
  tab?: string | undefined;
1406
1406
  } | null;
1407
1407
  openDialog: {
@@ -1551,7 +1551,6 @@ export declare const actionZoomToFit: {
1551
1551
  editingFrame: string | null;
1552
1552
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1553
1553
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1554
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1555
1554
  activeTool: {
1556
1555
  lastActiveTool: import("../types").ActiveTool | null;
1557
1556
  locked: boolean;
@@ -1588,6 +1587,7 @@ export declare const actionZoomToFit: {
1588
1587
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1589
1588
  openSidebar: {
1590
1589
  name: string;
1590
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1591
1591
  tab?: string | undefined;
1592
1592
  } | null;
1593
1593
  openDialog: {
@@ -1734,7 +1734,6 @@ export declare const actionToggleTheme: {
1734
1734
  editingFrame: string | null;
1735
1735
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1736
1736
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1737
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1738
1737
  activeTool: {
1739
1738
  lastActiveTool: import("../types").ActiveTool | null;
1740
1739
  locked: boolean;
@@ -1776,6 +1775,7 @@ export declare const actionToggleTheme: {
1776
1775
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1777
1776
  openSidebar: {
1778
1777
  name: string;
1778
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1779
1779
  tab?: string | undefined;
1780
1780
  } | null;
1781
1781
  openDialog: {
@@ -1887,7 +1887,7 @@ export declare const actionToggleEraserTool: {
1887
1887
  trackEvent: {
1888
1888
  category: "toolbar";
1889
1889
  };
1890
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>) => {
1890
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1891
1891
  appState: {
1892
1892
  selectedElementIds: {};
1893
1893
  selectedGroupIds: {};
@@ -1922,7 +1922,6 @@ export declare const actionToggleEraserTool: {
1922
1922
  editingFrame: string | null;
1923
1923
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1924
1924
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1925
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1926
1925
  penMode: boolean;
1927
1926
  penDetected: boolean;
1928
1927
  exportBackground: boolean;
@@ -1959,6 +1958,7 @@ export declare const actionToggleEraserTool: {
1959
1958
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1960
1959
  openSidebar: {
1961
1960
  name: string;
1961
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1962
1962
  tab?: string | undefined;
1963
1963
  } | null;
1964
1964
  openDialog: {
@@ -2065,6 +2065,7 @@ export declare const actionToggleLassoTool: {
2065
2065
  trackEvent: {
2066
2066
  category: "toolbar";
2067
2067
  };
2068
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
2068
2069
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
2069
2070
  appState: {
2070
2071
  selectedElementIds: {};
@@ -2100,7 +2101,6 @@ export declare const actionToggleLassoTool: {
2100
2101
  editingFrame: string | null;
2101
2102
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2102
2103
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2103
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2104
2104
  penMode: boolean;
2105
2105
  penDetected: boolean;
2106
2106
  exportBackground: boolean;
@@ -2137,6 +2137,7 @@ export declare const actionToggleLassoTool: {
2137
2137
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2138
2138
  openSidebar: {
2139
2139
  name: string;
2140
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
2140
2141
  tab?: string | undefined;
2141
2142
  } | null;
2142
2143
  openDialog: {
@@ -2278,7 +2279,6 @@ export declare const actionToggleHandTool: {
2278
2279
  editingFrame: string | null;
2279
2280
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2280
2281
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2281
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2282
2282
  penMode: boolean;
2283
2283
  penDetected: boolean;
2284
2284
  exportBackground: boolean;
@@ -2315,6 +2315,7 @@ export declare const actionToggleHandTool: {
2315
2315
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2316
2316
  openSidebar: {
2317
2317
  name: string;
2318
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
2318
2319
  tab?: string | undefined;
2319
2320
  } | null;
2320
2321
  openDialog: {
@@ -38,7 +38,6 @@ export declare const actionCopy: {
38
38
  editingFrame: string | null;
39
39
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
40
40
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
41
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
42
41
  activeTool: {
43
42
  lastActiveTool: import("../types").ActiveTool | null;
44
43
  locked: boolean;
@@ -225,7 +224,6 @@ export declare const actionPaste: {
225
224
  editingFrame: string | null;
226
225
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
227
226
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
228
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
229
227
  activeTool: {
230
228
  lastActiveTool: import("../types").ActiveTool | null;
231
229
  locked: boolean;
@@ -384,7 +382,7 @@ export declare const actionCut: {
384
382
  perform: (elements: readonly import("../../element/src/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, event: ClipboardEvent | null, app: import("../types").AppClassProperties) => false | {
385
383
  elements: import("../../element/src/types").OrderedExcalidrawElement[];
386
384
  appState: {
387
- editingLinearElement: null;
385
+ selectedLinearElement: null;
388
386
  contextMenu: {
389
387
  items: import("../components/ContextMenu").ContextMenuItems;
390
388
  top: number;
@@ -534,7 +532,6 @@ export declare const actionCut: {
534
532
  data: import("../charts").Spreadsheet;
535
533
  };
536
534
  showHyperlinkPopup: false | "editor" | "info";
537
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
538
535
  snapLines: readonly import("../snapping").SnapLine[];
539
536
  originSnapOffset: {
540
537
  x: number;
@@ -558,7 +555,7 @@ export declare const actionCut: {
558
555
  } | {
559
556
  elements: readonly import("../../element/src/types").OrderedExcalidrawElement[];
560
557
  appState: {
561
- editingLinearElement: {
558
+ selectedLinearElement: {
562
559
  selectedPointsIndices: number[];
563
560
  startBindingElement: import("../../element/src/types").ExcalidrawBindableElement | "keep" | null;
564
561
  endBindingElement: import("../../element/src/types").ExcalidrawBindableElement | "keep" | null;
@@ -589,6 +586,7 @@ export declare const actionCut: {
589
586
  segmentMidPointHoveredCoords: import("@excalidraw/math").GlobalPoint | null;
590
587
  elbowed: boolean;
591
588
  customLineAngle: number | null;
589
+ isEditing: boolean;
592
590
  };
593
591
  contextMenu: {
594
592
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -739,7 +737,6 @@ export declare const actionCut: {
739
737
  data: import("../charts").Spreadsheet;
740
738
  };
741
739
  showHyperlinkPopup: false | "editor" | "info";
742
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
743
740
  snapLines: readonly import("../snapping").SnapLine[];
744
741
  originSnapOffset: {
745
742
  x: number;
@@ -802,7 +799,6 @@ export declare const actionCut: {
802
799
  editingFrame: string | null;
803
800
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
804
801
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
805
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
806
802
  penMode: boolean;
807
803
  penDetected: boolean;
808
804
  exportBackground: boolean;
@@ -1007,7 +1003,6 @@ export declare const actionCopyAsPng: {
1007
1003
  editingFrame: string | null;
1008
1004
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
1009
1005
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
1010
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1011
1006
  activeTool: {
1012
1007
  lastActiveTool: import("../types").ActiveTool | null;
1013
1008
  locked: boolean;
@@ -41,7 +41,6 @@ export declare const actionToggleCropEditor: {
41
41
  editingFrame: string | null;
42
42
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
43
43
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
44
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
45
44
  activeTool: {
46
45
  lastActiveTool: import("../types").ActiveTool | null;
47
46
  locked: boolean;
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { LinearElementEditor } from "@excalidraw/element";
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;
@@ -163,7 +162,6 @@ export declare const actionDeleteSelected: {
163
162
  data: import("../charts").Spreadsheet;
164
163
  };
165
164
  showHyperlinkPopup: false | "editor" | "info";
166
- selectedLinearElement: LinearElementEditor | null;
167
165
  snapLines: readonly import("../snapping").SnapLine[];
168
166
  originSnapOffset: {
169
167
  x: number;
@@ -187,7 +185,7 @@ export declare const actionDeleteSelected: {
187
185
  } | {
188
186
  elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
189
187
  appState: {
190
- editingLinearElement: {
188
+ selectedLinearElement: {
191
189
  selectedPointsIndices: number[];
192
190
  startBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
193
191
  endBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
@@ -218,6 +216,7 @@ export declare const actionDeleteSelected: {
218
216
  segmentMidPointHoveredCoords: import("@excalidraw/math").GlobalPoint | null;
219
217
  elbowed: boolean;
220
218
  customLineAngle: number | null;
219
+ isEditing: boolean;
221
220
  };
222
221
  contextMenu: {
223
222
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -368,7 +367,6 @@ export declare const actionDeleteSelected: {
368
367
  data: import("../charts").Spreadsheet;
369
368
  };
370
369
  showHyperlinkPopup: false | "editor" | "info";
371
- selectedLinearElement: LinearElementEditor | null;
372
370
  snapLines: readonly import("../snapping").SnapLine[];
373
371
  originSnapOffset: {
374
372
  x: number;
@@ -431,7 +429,6 @@ export declare const actionDeleteSelected: {
431
429
  editingFrame: string | null;
432
430
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
433
431
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
434
- editingLinearElement: LinearElementEditor | null;
435
432
  penMode: boolean;
436
433
  penDetected: boolean;
437
434
  exportBackground: boolean;
@@ -70,7 +70,6 @@ export declare const actionLinkToElement: {
70
70
  editingFrame: string | null;
71
71
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
72
72
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
73
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
74
73
  activeTool: {
75
74
  lastActiveTool: import("../types").ActiveTool | null;
76
75
  locked: boolean;
@@ -52,7 +52,6 @@ export declare const actionToggleElementLock: {
52
52
  editingFrame: string | null;
53
53
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
54
54
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
55
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
56
55
  activeTool: {
57
56
  lastActiveTool: import("../types").ActiveTool | null;
58
57
  locked: boolean;
@@ -236,7 +235,6 @@ export declare const actionUnlockAllElements: {
236
235
  editingFrame: string | null;
237
236
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
238
237
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
239
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
240
238
  activeTool: {
241
239
  lastActiveTool: import("../types").ActiveTool | null;
242
240
  locked: boolean;
@@ -43,7 +43,6 @@ export declare const actionSetEmbeddableAsActiveTool: {
43
43
  editingFrame: string | null;
44
44
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
45
45
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
46
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
47
46
  penMode: boolean;
48
47
  penDetected: boolean;
49
48
  exportBackground: boolean;