@excalidraw/element 0.18.0-f0063e113 → 0.18.0-f5d54ac5a

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 (46) hide show
  1. package/dist/dev/index.js +373 -145
  2. package/dist/dev/index.js.map +3 -3
  3. package/dist/prod/index.js +12 -12
  4. package/dist/types/common/src/constants.d.ts +1 -0
  5. package/dist/types/element/src/Scene.d.ts +6 -2
  6. package/dist/types/element/src/align.d.ts +2 -1
  7. package/dist/types/element/src/delta.d.ts +18 -5
  8. package/dist/types/element/src/distribute.d.ts +2 -1
  9. package/dist/types/element/src/groups.d.ts +1 -0
  10. package/dist/types/element/src/linearElementEditor.d.ts +2 -1
  11. package/dist/types/element/src/store.d.ts +7 -2
  12. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +0 -3
  13. package/dist/types/excalidraw/actions/actionBoundText.d.ts +0 -2
  14. package/dist/types/excalidraw/actions/actionCanvas.d.ts +0 -13
  15. package/dist/types/excalidraw/actions/actionClipboard.d.ts +3 -8
  16. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +0 -1
  17. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +3 -6
  18. package/dist/types/excalidraw/actions/actionElementLink.d.ts +0 -1
  19. package/dist/types/excalidraw/actions/actionElementLock.d.ts +0 -2
  20. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -1
  21. package/dist/types/excalidraw/actions/actionExport.d.ts +0 -9
  22. package/dist/types/excalidraw/actions/actionFinalize.d.ts +2 -3
  23. package/dist/types/excalidraw/actions/actionFrame.d.ts +0 -4
  24. package/dist/types/excalidraw/actions/actionGroup.d.ts +0 -2
  25. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +33 -3
  26. package/dist/types/excalidraw/actions/actionLink.d.ts +0 -1
  27. package/dist/types/excalidraw/actions/actionMenu.d.ts +0 -3
  28. package/dist/types/excalidraw/actions/actionNavigate.d.ts +0 -2
  29. package/dist/types/excalidraw/actions/actionProperties.d.ts +0 -15
  30. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +0 -1
  31. package/dist/types/excalidraw/actions/actionStyles.d.ts +0 -1
  32. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +0 -1
  33. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +0 -1
  34. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +0 -1
  35. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +0 -1
  36. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +0 -1
  37. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +0 -1
  38. package/dist/types/excalidraw/components/Actions.d.ts +0 -4
  39. package/dist/types/excalidraw/components/App.d.ts +5 -3
  40. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  41. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  42. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  43. package/dist/types/excalidraw/index.d.ts +2 -1
  44. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  45. package/dist/types/excalidraw/types.d.ts +5 -4
  46. package/package.json +7 -3
@@ -12,6 +12,7 @@ export declare const supportsResizeObserver: boolean;
12
12
  export declare const APP_NAME = "Excalidraw";
13
13
  export declare const TEXT_AUTOWRAP_THRESHOLD = 36;
14
14
  export declare const DRAGGING_THRESHOLD = 10;
15
+ export declare const MINIMUM_ARROW_SIZE = 20;
15
16
  export declare const LINE_CONFIRM_THRESHOLD = 8;
16
17
  export declare const ELEMENT_SHIFT_TRANSLATE_AMOUNT = 5;
17
18
  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
  */
@@ -101,19 +105,25 @@ export interface DeltaContainer<T> {
101
105
  *
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
- applyTo(previous: T, ...options: unknown[]): [T, boolean];
108
+ applyTo(previous: T, ...options: unknown[]): [T, boolean, ...unknown[]];
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;
@@ -212,5 +224,6 @@ export declare class ElementsDelta implements DeltaContainer<SceneElementsMap> {
212
224
  */
213
225
  private static postProcess;
214
226
  private static stripIrrelevantProps;
227
+ private static stripVersionProps;
215
228
  }
216
229
  export {};
@@ -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 delta into the current instance.
175
+ */
176
+ squash(delta: StoreDelta): this;
172
177
  /**
173
178
  * Inverse store delta, creates new instance of `StoreDelta`.
174
179
  */
@@ -176,7 +181,7 @@ 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
  */
@@ -39,7 +39,6 @@ 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 | 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("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
209
208
  editingTextElement: import("@excalidraw/element/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("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
382
380
  editingTextElement: import("@excalidraw/element/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;
@@ -243,7 +242,6 @@ export declare const actionZoomIn: {
243
242
  editingFrame: string | null;
244
243
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
245
244
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
246
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
247
245
  activeTool: {
248
246
  lastActiveTool: import("../types").ActiveTool | null;
249
247
  locked: boolean;
@@ -430,7 +428,6 @@ export declare const actionZoomOut: {
430
428
  editingFrame: string | null;
431
429
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
432
430
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
433
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
434
431
  activeTool: {
435
432
  lastActiveTool: import("../types").ActiveTool | null;
436
433
  locked: boolean;
@@ -617,7 +614,6 @@ export declare const actionResetZoom: {
617
614
  editingFrame: string | null;
618
615
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
619
616
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
620
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
621
617
  activeTool: {
622
618
  lastActiveTool: import("../types").ActiveTool | null;
623
619
  locked: boolean;
@@ -810,7 +806,6 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
810
806
  editingFrame: string | null;
811
807
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
812
808
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
813
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
814
809
  activeTool: {
815
810
  lastActiveTool: import("../types").ActiveTool | null;
816
811
  locked: boolean;
@@ -999,7 +994,6 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
999
994
  editingFrame: string | null;
1000
995
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1001
996
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1002
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1003
997
  activeTool: {
1004
998
  lastActiveTool: import("../types").ActiveTool | null;
1005
999
  locked: boolean;
@@ -1180,7 +1174,6 @@ export declare const actionZoomToFitSelectionInViewport: {
1180
1174
  editingFrame: string | null;
1181
1175
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1182
1176
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1183
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1184
1177
  activeTool: {
1185
1178
  lastActiveTool: import("../types").ActiveTool | null;
1186
1179
  locked: boolean;
@@ -1365,7 +1358,6 @@ export declare const actionZoomToFitSelection: {
1365
1358
  editingFrame: string | null;
1366
1359
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1367
1360
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1368
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1369
1361
  activeTool: {
1370
1362
  lastActiveTool: import("../types").ActiveTool | null;
1371
1363
  locked: boolean;
@@ -1551,7 +1543,6 @@ export declare const actionZoomToFit: {
1551
1543
  editingFrame: string | null;
1552
1544
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1553
1545
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1554
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1555
1546
  activeTool: {
1556
1547
  lastActiveTool: import("../types").ActiveTool | null;
1557
1548
  locked: boolean;
@@ -1734,7 +1725,6 @@ export declare const actionToggleTheme: {
1734
1725
  editingFrame: string | null;
1735
1726
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1736
1727
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1737
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1738
1728
  activeTool: {
1739
1729
  lastActiveTool: import("../types").ActiveTool | null;
1740
1730
  locked: boolean;
@@ -1922,7 +1912,6 @@ export declare const actionToggleEraserTool: {
1922
1912
  editingFrame: string | null;
1923
1913
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1924
1914
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1925
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1926
1915
  penMode: boolean;
1927
1916
  penDetected: boolean;
1928
1917
  exportBackground: boolean;
@@ -2100,7 +2089,6 @@ export declare const actionToggleLassoTool: {
2100
2089
  editingFrame: string | null;
2101
2090
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2102
2091
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2103
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2104
2092
  penMode: boolean;
2105
2093
  penDetected: boolean;
2106
2094
  exportBackground: boolean;
@@ -2278,7 +2266,6 @@ export declare const actionToggleHandTool: {
2278
2266
  editingFrame: string | null;
2279
2267
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2280
2268
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2281
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2282
2269
  penMode: boolean;
2283
2270
  penDetected: boolean;
2284
2271
  exportBackground: boolean;
@@ -38,7 +38,6 @@ export declare const actionCopy: {
38
38
  editingFrame: string | null;
39
39
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
40
40
  editingTextElement: import("@excalidraw/element/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("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
227
226
  editingTextElement: import("@excalidraw/element/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("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, event: ClipboardEvent | null, app: import("../types").AppClassProperties) => false | {
385
383
  elements: import("@excalidraw/element/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("@excalidraw/element/types").OrderedExcalidrawElement[];
560
557
  appState: {
561
- editingLinearElement: {
558
+ selectedLinearElement: {
562
559
  selectedPointsIndices: number[];
563
560
  startBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
564
561
  endBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
@@ -589,6 +586,7 @@ export declare const actionCut: {
589
586
  segmentMidPointHoveredCoords: import("../../math/src").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("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
804
801
  editingTextElement: import("@excalidraw/element/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("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
1009
1005
  editingTextElement: import("@excalidraw/element/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("../../math/src").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("@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 | 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("@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 | null;
47
46
  penMode: boolean;
48
47
  penDetected: boolean;
49
48
  exportBackground: boolean;
@@ -37,7 +37,6 @@ export declare const actionChangeProjectName: {
37
37
  editingFrame: string | null;
38
38
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
39
39
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
40
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
41
40
  activeTool: {
42
41
  lastActiveTool: import("../types").ActiveTool | null;
43
42
  locked: boolean;
@@ -222,7 +221,6 @@ export declare const actionChangeExportScale: {
222
221
  editingFrame: string | null;
223
222
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
224
223
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
225
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
226
224
  activeTool: {
227
225
  lastActiveTool: import("../types").ActiveTool | null;
228
226
  locked: boolean;
@@ -407,7 +405,6 @@ export declare const actionChangeExportBackground: {
407
405
  editingFrame: string | null;
408
406
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
409
407
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
410
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
411
408
  activeTool: {
412
409
  lastActiveTool: import("../types").ActiveTool | null;
413
410
  locked: boolean;
@@ -592,7 +589,6 @@ export declare const actionChangeExportEmbedScene: {
592
589
  editingFrame: string | null;
593
590
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
594
591
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
595
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
596
592
  activeTool: {
597
593
  lastActiveTool: import("../types").ActiveTool | null;
598
594
  locked: boolean;
@@ -782,7 +778,6 @@ export declare const actionSaveToActiveFile: {
782
778
  editingFrame: string | null;
783
779
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
784
780
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
785
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
786
781
  activeTool: {
787
782
  lastActiveTool: import("../types").ActiveTool | null;
788
783
  locked: boolean;
@@ -970,7 +965,6 @@ export declare const actionSaveFileToDisk: {
970
965
  editingFrame: string | null;
971
966
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
972
967
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
973
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
974
968
  activeTool: {
975
969
  lastActiveTool: import("../types").ActiveTool | null;
976
970
  locked: boolean;
@@ -1148,7 +1142,6 @@ export declare const actionLoadScene: {
1148
1142
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1149
1143
  state: "active" | "hover";
1150
1144
  } | null;
1151
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1152
1145
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1153
1146
  selectedGroupIds: {
1154
1147
  [groupId: string]: boolean;
@@ -1313,7 +1306,6 @@ export declare const actionLoadScene: {
1313
1306
  editingFrame: string | null;
1314
1307
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
1315
1308
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1316
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1317
1309
  activeTool: {
1318
1310
  lastActiveTool: import("../types").ActiveTool | null;
1319
1311
  locked: boolean;
@@ -1500,7 +1492,6 @@ export declare const actionExportWithDarkMode: {
1500
1492
  editingFrame: string | null;
1501
1493
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
1502
1494
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1503
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1504
1495
  activeTool: {
1505
1496
  lastActiveTool: import("../types").ActiveTool | null;
1506
1497
  locked: boolean;
@@ -41,6 +41,7 @@ export declare const actionFinalize: {
41
41
  segmentMidPointHoveredCoords: import("@excalidraw/math").GlobalPoint | null;
42
42
  elbowed: boolean;
43
43
  customLineAngle: number | null;
44
+ isEditing: boolean;
44
45
  };
45
46
  suggestedBindings: never[];
46
47
  };
@@ -49,7 +50,7 @@ export declare const actionFinalize: {
49
50
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[] | undefined;
50
51
  appState: {
51
52
  cursorButton: "up";
52
- editingLinearElement: null;
53
+ selectedLinearElement: LinearElementEditor;
53
54
  contextMenu: {
54
55
  items: import("../components/ContextMenu").ContextMenuItems;
55
56
  top: number;
@@ -198,7 +199,6 @@ export declare const actionFinalize: {
198
199
  data: import("../charts").Spreadsheet;
199
200
  };
200
201
  showHyperlinkPopup: false | "editor" | "info";
201
- selectedLinearElement: LinearElementEditor | null;
202
202
  snapLines: readonly import("../snapping").SnapLine[];
203
203
  originSnapOffset: {
204
204
  x: number;
@@ -258,7 +258,6 @@ export declare const actionFinalize: {
258
258
  };
259
259
  editingFrame: string | null;
260
260
  elementsToHighlight: NonDeleted<ExcalidrawElement>[] | null;
261
- editingLinearElement: LinearElementEditor | null;
262
261
  penMode: boolean;
263
262
  penDetected: boolean;
264
263
  exportBackground: boolean;