@excalidraw/math 0.18.0-f0063e113 → 0.18.0-f87f6d086

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 (43) hide show
  1. package/dist/types/common/src/constants.d.ts +1 -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 +17 -5
  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 +7 -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 +0 -13
  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 +5 -3
  37. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  38. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  39. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  40. package/dist/types/excalidraw/index.d.ts +2 -1
  41. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  42. package/dist/types/excalidraw/types.d.ts +5 -4
  43. package/package.json +6 -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.
@@ -177,6 +186,7 @@ export declare class ElementsDelta implements DeltaContainer<SceneElementsMap> {
177
186
  */
178
187
  applyLatestChanges(prevElements: SceneElementsMap, nextElements: SceneElementsMap, modifierOptions?: "deleted" | "inserted"): ElementsDelta;
179
188
  applyTo(elements: SceneElementsMap, snapshot?: StoreSnapshot["elements"], options?: ApplyToOptions): [SceneElementsMap, boolean];
189
+ squash(delta: ElementsDelta): this;
180
190
  private static createApplier;
181
191
  private static createGetter;
182
192
  private static applyDelta;
@@ -203,6 +213,7 @@ export declare class ElementsDelta implements DeltaContainer<SceneElementsMap> {
203
213
  * should be rebound (if possible) with the current element ~ bindings should be bidirectional.
204
214
  */
205
215
  private static rebindAffected;
216
+ static redrawElements(nextElements: SceneElementsMap, changedElements: Map<string, OrderedExcalidrawElement>): SceneElementsMap;
206
217
  private static redrawTextBoundingBoxes;
207
218
  private static redrawBoundArrows;
208
219
  private static reorderElements;
@@ -212,5 +223,6 @@ export declare class ElementsDelta implements DeltaContainer<SceneElementsMap> {
212
223
  */
213
224
  private static postProcess;
214
225
  private static stripIrrelevantProps;
226
+ private static stripVersionProps;
215
227
  }
216
228
  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("../../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;
@@ -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("../../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;
@@ -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;
@@ -40,7 +40,6 @@ export declare const actionSelectAllElementsInFrame: {
40
40
  editingFrame: string | null;
41
41
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
42
42
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
43
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
44
43
  activeTool: {
45
44
  lastActiveTool: import("../types").ActiveTool | null;
46
45
  locked: boolean;
@@ -229,7 +228,6 @@ export declare const actionRemoveAllElementsFromFrame: {
229
228
  editingFrame: string | null;
230
229
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
231
230
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
232
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
233
231
  activeTool: {
234
232
  lastActiveTool: import("../types").ActiveTool | null;
235
233
  locked: boolean;
@@ -416,7 +414,6 @@ export declare const actionupdateFrameRendering: {
416
414
  editingFrame: string | null;
417
415
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
418
416
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
419
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
420
417
  activeTool: {
421
418
  lastActiveTool: import("../types").ActiveTool | null;
422
419
  locked: boolean;
@@ -608,7 +605,6 @@ export declare const actionSetFrameAsActiveTool: {
608
605
  editingFrame: string | null;
609
606
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
610
607
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
611
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
612
608
  penMode: boolean;
613
609
  penDetected: boolean;
614
610
  exportBackground: boolean;
@@ -50,7 +50,6 @@ export declare const actionGroup: {
50
50
  editingFrame: string | null;
51
51
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
52
52
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
53
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
54
53
  activeTool: {
55
54
  lastActiveTool: import("../types").ActiveTool | null;
56
55
  locked: boolean;
@@ -242,7 +241,6 @@ export declare const actionUngroup: {
242
241
  editingFrame: string | null;
243
242
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
244
243
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
245
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
246
244
  activeTool: {
247
245
  lastActiveTool: import("../types").ActiveTool | null;
248
246
  locked: boolean;
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { LinearElementEditor } from "@excalidraw/element";
3
2
  import type { ExcalidrawLinearElement } from "@excalidraw/element/types";
4
3
  export declare const actionToggleLinearEditor: {
5
4
  name: "toggleLinearEditor";
@@ -12,7 +11,39 @@ export declare const actionToggleLinearEditor: {
12
11
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
13
12
  perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties): {
14
13
  appState: {
15
- editingLinearElement: LinearElementEditor | null;
14
+ selectedLinearElement: {
15
+ isEditing: boolean;
16
+ elementId: string & {
17
+ _brand: "excalidrawLinearElementId";
18
+ };
19
+ selectedPointsIndices: readonly number[] | null;
20
+ pointerDownState: Readonly<{
21
+ prevSelectedPointsIndices: readonly number[] | null;
22
+ lastClickedPoint: number;
23
+ lastClickedIsEndPoint: boolean;
24
+ origin: Readonly<{
25
+ x: number;
26
+ y: number;
27
+ }> | null;
28
+ segmentMidpoint: {
29
+ value: import("@excalidraw/math").GlobalPoint | null;
30
+ index: number | null;
31
+ added: boolean;
32
+ };
33
+ }>;
34
+ isDragging: boolean;
35
+ lastUncommittedPoint: import("@excalidraw/math").LocalPoint | null;
36
+ pointerOffset: Readonly<{
37
+ x: number;
38
+ y: number;
39
+ }>;
40
+ startBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
41
+ endBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
42
+ hoverPointIndex: number;
43
+ segmentMidPointHoveredCoords: import("@excalidraw/math").GlobalPoint | null;
44
+ elbowed: boolean;
45
+ customLineAngle: number | null;
46
+ };
16
47
  contextMenu: {
17
48
  items: import("../components/ContextMenu").ContextMenuItems;
18
49
  top: number;
@@ -162,7 +193,6 @@ export declare const actionToggleLinearEditor: {
162
193
  data: import("../charts").Spreadsheet;
163
194
  };
164
195
  showHyperlinkPopup: false | "editor" | "info";
165
- selectedLinearElement: LinearElementEditor | null;
166
196
  snapLines: readonly import("../snapping").SnapLine[];
167
197
  originSnapOffset: {
168
198
  x: number;
@@ -37,7 +37,6 @@ export declare const actionLink: {
37
37
  editingFrame: string | null;
38
38
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
39
39
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
40
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
41
40
  activeTool: {
42
41
  lastActiveTool: import("../types").ActiveTool | null;
43
42
  locked: boolean;
@@ -37,7 +37,6 @@ export declare const actionToggleCanvasMenu: {
37
37
  editingFrame: string | null;
38
38
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
39
39
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
40
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
41
40
  activeTool: {
42
41
  lastActiveTool: import("../types").ActiveTool | null;
43
42
  locked: boolean;
@@ -221,7 +220,6 @@ export declare const actionToggleEditMenu: {
221
220
  editingFrame: string | null;
222
221
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
223
222
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
224
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
225
223
  activeTool: {
226
224
  lastActiveTool: import("../types").ActiveTool | null;
227
225
  locked: boolean;
@@ -410,7 +408,6 @@ export declare const actionShortcuts: {
410
408
  editingFrame: string | null;
411
409
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
412
410
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
413
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
414
411
  activeTool: {
415
412
  lastActiveTool: import("../types").ActiveTool | null;
416
413
  locked: boolean;
@@ -39,7 +39,6 @@ export declare const actionGoToCollaborator: {
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;
@@ -216,7 +215,6 @@ export declare const actionGoToCollaborator: {
216
215
  editingFrame: string | null;
217
216
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
218
217
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
219
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
220
218
  activeTool: {
221
219
  lastActiveTool: import("../types").ActiveTool | null;
222
220
  locked: boolean;
@@ -67,7 +67,6 @@ export declare const actionChangeFillStyle: {
67
67
  editingFrame: string | null;
68
68
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
69
69
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
70
- editingLinearElement: LinearElementEditor | null;
71
70
  activeTool: {
72
71
  lastActiveTool: import("../types").ActiveTool | null;
73
72
  locked: boolean;
@@ -250,7 +249,6 @@ export declare const actionChangeStrokeWidth: {
250
249
  editingFrame: string | null;
251
250
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
252
251
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
253
- editingLinearElement: LinearElementEditor | null;
254
252
  activeTool: {
255
253
  lastActiveTool: import("../types").ActiveTool | null;
256
254
  locked: boolean;
@@ -433,7 +431,6 @@ export declare const actionChangeSloppiness: {
433
431
  editingFrame: string | null;
434
432
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
435
433
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
436
- editingLinearElement: LinearElementEditor | null;
437
434
  activeTool: {
438
435
  lastActiveTool: import("../types").ActiveTool | null;
439
436
  locked: boolean;
@@ -616,7 +613,6 @@ export declare const actionChangeStrokeStyle: {
616
613
  editingFrame: string | null;
617
614
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
618
615
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
619
- editingLinearElement: LinearElementEditor | null;
620
616
  activeTool: {
621
617
  lastActiveTool: import("../types").ActiveTool | null;
622
618
  locked: boolean;
@@ -799,7 +795,6 @@ export declare const actionChangeOpacity: {
799
795
  editingFrame: string | null;
800
796
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
801
797
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
802
- editingLinearElement: LinearElementEditor | null;
803
798
  activeTool: {
804
799
  lastActiveTool: import("../types").ActiveTool | null;
805
800
  locked: boolean;
@@ -982,7 +977,6 @@ export declare const actionChangeFontSize: {
982
977
  editingFrame: string | null;
983
978
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
984
979
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
985
- editingLinearElement: LinearElementEditor | null;
986
980
  activeTool: {
987
981
  lastActiveTool: import("../types").ActiveTool | null;
988
982
  locked: boolean;
@@ -1166,7 +1160,6 @@ export declare const actionDecreaseFontSize: {
1166
1160
  editingFrame: string | null;
1167
1161
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1168
1162
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1169
- editingLinearElement: LinearElementEditor | null;
1170
1163
  activeTool: {
1171
1164
  lastActiveTool: import("../types").ActiveTool | null;
1172
1165
  locked: boolean;
@@ -1350,7 +1343,6 @@ export declare const actionIncreaseFontSize: {
1350
1343
  editingFrame: string | null;
1351
1344
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1352
1345
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1353
- editingLinearElement: LinearElementEditor | null;
1354
1346
  activeTool: {
1355
1347
  lastActiveTool: import("../types").ActiveTool | null;
1356
1348
  locked: boolean;
@@ -1534,7 +1526,6 @@ export declare const actionChangeFontFamily: {
1534
1526
  editingFrame: string | null;
1535
1527
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1536
1528
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1537
- editingLinearElement: LinearElementEditor | null;
1538
1529
  activeTool: {
1539
1530
  lastActiveTool: import("../types").ActiveTool | null;
1540
1531
  locked: boolean;
@@ -1708,7 +1699,6 @@ export declare const actionChangeFontFamily: {
1708
1699
  editingFrame: string | null;
1709
1700
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1710
1701
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1711
- editingLinearElement: LinearElementEditor | null;
1712
1702
  activeTool: {
1713
1703
  lastActiveTool: import("../types").ActiveTool | null;
1714
1704
  locked: boolean;
@@ -1889,7 +1879,6 @@ export declare const actionChangeTextAlign: {
1889
1879
  editingFrame: string | null;
1890
1880
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1891
1881
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1892
- editingLinearElement: LinearElementEditor | null;
1893
1882
  activeTool: {
1894
1883
  lastActiveTool: import("../types").ActiveTool | null;
1895
1884
  locked: boolean;
@@ -2073,7 +2062,6 @@ export declare const actionChangeVerticalAlign: {
2073
2062
  editingFrame: string | null;
2074
2063
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2075
2064
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2076
- editingLinearElement: LinearElementEditor | null;
2077
2065
  activeTool: {
2078
2066
  lastActiveTool: import("../types").ActiveTool | null;
2079
2067
  locked: boolean;
@@ -2257,7 +2245,6 @@ export declare const actionChangeRoundness: {
2257
2245
  editingFrame: string | null;
2258
2246
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2259
2247
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2260
- editingLinearElement: LinearElementEditor | null;
2261
2248
  activeTool: {
2262
2249
  lastActiveTool: import("../types").ActiveTool | null;
2263
2250
  locked: boolean;
@@ -2442,7 +2429,6 @@ export declare const actionChangeArrowhead: {
2442
2429
  editingFrame: string | null;
2443
2430
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2444
2431
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2445
- editingLinearElement: LinearElementEditor | null;
2446
2432
  activeTool: {
2447
2433
  lastActiveTool: import("../types").ActiveTool | null;
2448
2434
  locked: boolean;
@@ -2626,7 +2612,6 @@ export declare const actionChangeArrowType: {
2626
2612
  editingFrame: string | null;
2627
2613
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2628
2614
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2629
- editingLinearElement: LinearElementEditor | null;
2630
2615
  activeTool: {
2631
2616
  lastActiveTool: import("../types").ActiveTool | null;
2632
2617
  locked: boolean;
@@ -48,7 +48,6 @@ export declare const actionSelectAll: {
48
48
  editingFrame: string | null;
49
49
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
50
50
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
51
- editingLinearElement: LinearElementEditor | null;
52
51
  activeTool: {
53
52
  lastActiveTool: import("../types").ActiveTool | null;
54
53
  locked: boolean;
@@ -41,7 +41,6 @@ export declare const actionCopyStyles: {
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;
@@ -43,7 +43,6 @@ export declare const actionToggleGridMode: {
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
  activeTool: {
48
47
  lastActiveTool: import("../types").ActiveTool | null;
49
48
  locked: boolean;
@@ -41,7 +41,6 @@ export declare const actionToggleObjectsSnapMode: {
41
41
  editingFrame: string | null;
42
42
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
43
43
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
44
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
45
44
  activeTool: {
46
45
  lastActiveTool: import("../types").ActiveTool | null;
47
46
  locked: boolean;
@@ -47,7 +47,6 @@ export declare const actionToggleSearchMenu: {
47
47
  editingFrame: string | null;
48
48
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
49
49
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
50
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
51
50
  activeTool: {
52
51
  lastActiveTool: import("../types").ActiveTool | null;
53
52
  locked: boolean;
@@ -43,7 +43,6 @@ export declare const actionToggleStats: {
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
  activeTool: {
48
47
  lastActiveTool: import("../types").ActiveTool | null;
49
48
  locked: boolean;
@@ -40,7 +40,6 @@ export declare const actionToggleViewMode: {
40
40
  editingFrame: string | null;
41
41
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
42
42
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
43
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
44
43
  activeTool: {
45
44
  lastActiveTool: import("../types").ActiveTool | null;
46
45
  locked: boolean;
@@ -40,7 +40,6 @@ export declare const actionToggleZenMode: {
40
40
  editingFrame: string | null;
41
41
  elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
42
42
  editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
43
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
44
43
  activeTool: {
45
44
  lastActiveTool: import("../types").ActiveTool | null;
46
45
  locked: boolean;
@@ -28,7 +28,3 @@ export declare const ExitZenModeAction: ({ actionManager, showExitZenModeBtn, }:
28
28
  actionManager: ActionManager;
29
29
  showExitZenModeBtn: boolean;
30
30
  }) => import("react/jsx-runtime").JSX.Element;
31
- export declare const FinalizeAction: ({ renderAction, className, }: {
32
- renderAction: ActionManager["renderAction"];
33
- className?: string | undefined;
34
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
3
- import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate } from "@excalidraw/element";
4
- import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "@excalidraw/element/types";
3
+ import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
4
+ import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, OrderedExcalidrawElement, SceneElementsMap } from "@excalidraw/element/types";
5
5
  import type { Mutable } from "@excalidraw/common/utility-types";
6
6
  import { ActionManager } from "../actions/manager";
7
7
  import { AnimationFrameHandler } from "../animation-frame-handler";
@@ -78,6 +78,7 @@ declare class App extends React.Component<AppProps, AppState> {
78
78
  /** embeds that have been inserted to DOM (as a perf optim, we don't want to
79
79
  * insert to DOM before user initially scrolls to them) */
80
80
  private initializedEmbeds;
81
+ private handleToastClose;
81
82
  private elementsPendingErasure;
82
83
  flowChartCreator: FlowChartCreator;
83
84
  private flowChartNavigator;
@@ -264,7 +265,7 @@ declare class App extends React.Component<AppProps, AppState> {
264
265
  private toggleOverscrollBehavior;
265
266
  render(): import("react/jsx-runtime").JSX.Element;
266
267
  focusContainer: AppClassProperties["focusContainer"];
267
- getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
268
+ getSceneElementsIncludingDeleted: () => readonly OrderedExcalidrawElement[];
268
269
  getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
269
270
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
270
271
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
@@ -396,6 +397,7 @@ declare class App extends React.Component<AppProps, AppState> {
396
397
  */
397
398
  captureUpdate?: SceneData["captureUpdate"];
398
399
  }) => void;
400
+ applyDeltas: (deltas: [StoreDelta, ...StoreDelta[]], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
399
401
  mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
400
402
  private triggerRender;
401
403
  /**
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const Ellipsify: ({ children, ...rest }: {
3
+ children: React.ReactNode;
4
+ } & import("react").HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
@@ -3,4 +3,5 @@ import type { MakeBrand } from "@excalidraw/common/utility-types";
3
3
  import type { AppState } from "../types";
4
4
  export type ReconciledExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"ReconciledElement">;
5
5
  export type RemoteExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"RemoteExcalidrawElement">;
6
+ export declare const shouldDiscardRemoteElement: (localAppState: AppState, local: OrderedExcalidrawElement | undefined, remote: RemoteExcalidrawElement) => boolean;
6
7
  export declare const reconcileElements: (localElements: readonly OrderedExcalidrawElement[], remoteElements: readonly RemoteExcalidrawElement[], localAppState: AppState) => ReconciledExcalidrawElement[];
@@ -1,4 +1,4 @@
1
- import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
1
+ import type { ExcalidrawArrowElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawSelectionElement, ExcalidrawTextElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
3
  import type { ImportedDataState } from "./types";
4
4
  type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
@@ -8,14 +8,19 @@ export type RestoredDataState = {
8
8
  appState: RestoredAppState;
9
9
  files: BinaryFiles;
10
10
  };
11
+ export declare const restoreElement: (element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>, opts?: {
12
+ deleteInvisibleElements?: boolean;
13
+ }) => ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | ExcalidrawArrowElement | null;
11
14
  export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
12
15
  refreshDimensions?: boolean;
13
16
  repairBindings?: boolean;
17
+ deleteInvisibleElements?: boolean;
14
18
  } | undefined) => OrderedExcalidrawElement[];
15
19
  export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
16
20
  export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
17
21
  refreshDimensions?: boolean;
18
22
  repairBindings?: boolean;
23
+ deleteInvisibleElements?: boolean;
19
24
  }) => RestoredDataState;
20
25
  export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
21
26
  export {};
@@ -12,7 +12,7 @@ export { getSceneVersion, hashElementsVersion, hashString, getNonDeletedElements
12
12
  export { getTextFromElements } from "@excalidraw/element";
13
13
  export { isInvisiblySmallElement } from "@excalidraw/element";
14
14
  export { defaultLang, useI18n, languages } from "./i18n";
15
- export { restore, restoreAppState, restoreElements, restoreLibraryItems, } from "./data/restore";
15
+ export { restore, restoreAppState, restoreElement, restoreElements, restoreLibraryItems, } from "./data/restore";
16
16
  export { reconcileElements } from "./data/reconcile";
17
17
  export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
18
18
  export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
@@ -29,6 +29,7 @@ export { Sidebar } from "./components/Sidebar/Sidebar";
29
29
  export { Button } from "./components/Button";
30
30
  export { Footer };
31
31
  export { MainMenu };
32
+ export { Ellipsify } from "./components/Ellipsify";
32
33
  export { useDevice } from "./components/App";
33
34
  export { WelcomeScreen };
34
35
  export { LiveCollaborationTrigger };
@@ -1,4 +1,7 @@
1
- import type { StaticSceneRenderConfig } from "../scene/types";
1
+ import type { ExcalidrawFrameLikeElement } from "@excalidraw/element/types";
2
+ import type { StaticCanvasRenderConfig, StaticSceneRenderConfig } from "../scene/types";
3
+ import type { StaticCanvasAppState } from "../types";
4
+ export declare const frameClip: (frame: ExcalidrawFrameLikeElement, context: CanvasRenderingContext2D, renderConfig: StaticCanvasRenderConfig, appState: StaticCanvasAppState) => void;
2
5
  /** throttled to animation framerate */
3
6
  export declare const renderStaticSceneThrottled: {
4
7
  (config: StaticSceneRenderConfig): void;
@@ -129,7 +129,6 @@ export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
129
129
  }>;
130
130
  export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
131
131
  activeEmbeddable: AppState["activeEmbeddable"];
132
- editingLinearElement: AppState["editingLinearElement"];
133
132
  selectionElement: AppState["selectionElement"];
134
133
  selectedGroupIds: AppState["selectedGroupIds"];
135
134
  selectedLinearElement: AppState["selectedLinearElement"];
@@ -156,8 +155,10 @@ export type ObservedElementsAppState = {
156
155
  editingGroupId: AppState["editingGroupId"];
157
156
  selectedElementIds: AppState["selectedElementIds"];
158
157
  selectedGroupIds: AppState["selectedGroupIds"];
159
- editingLinearElementId: LinearElementEditor["elementId"] | null;
160
- selectedLinearElementId: LinearElementEditor["elementId"] | null;
158
+ selectedLinearElement: {
159
+ elementId: LinearElementEditor["elementId"];
160
+ isEditing: boolean;
161
+ } | null;
161
162
  croppingElementId: AppState["croppingElementId"];
162
163
  lockedMultiSelections: AppState["lockedMultiSelections"];
163
164
  activeLockedId: AppState["activeLockedId"];
@@ -211,7 +212,6 @@ export interface AppState {
211
212
  * set when a new text is created or when an existing text is being edited
212
213
  */
213
214
  editingTextElement: NonDeletedExcalidrawElement | null;
214
- editingLinearElement: LinearElementEditor | null;
215
215
  activeTool: {
216
216
  /**
217
217
  * indicates a previous tool we should revert back to if we deselect the
@@ -618,6 +618,7 @@ export type PointerDownState = Readonly<{
618
618
  export type UnsubscribeCallback = () => void;
619
619
  export interface ExcalidrawImperativeAPI {
620
620
  updateScene: InstanceType<typeof App>["updateScene"];
621
+ applyDeltas: InstanceType<typeof App>["applyDeltas"];
621
622
  mutateElement: InstanceType<typeof App>["mutateElement"];
622
623
  updateLibrary: InstanceType<typeof Library>["updateLibrary"];
623
624
  resetScene: InstanceType<typeof App>["resetScene"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excalidraw/math",
3
- "version": "0.18.0-f0063e113",
3
+ "version": "0.18.0-f87f6d086",
4
4
  "type": "module",
5
5
  "types": "./dist/types/math/src/index.d.ts",
6
6
  "main": "./dist/prod/index.js",
@@ -13,7 +13,10 @@
13
13
  "default": "./dist/prod/index.js"
14
14
  },
15
15
  "./*": {
16
- "types": "./dist/types/math/src/*.d.ts"
16
+ "types": "./dist/types/math/src/*.d.ts",
17
+ "development": "./dist/dev/index.js",
18
+ "production": "./dist/prod/index.js",
19
+ "default": "./dist/prod/index.js"
17
20
  }
18
21
  },
19
22
  "files": [
@@ -58,6 +61,6 @@
58
61
  "build:esm": "rimraf dist && node ../../scripts/buildBase.js && yarn gen:types"
59
62
  },
60
63
  "dependencies": {
61
- "@excalidraw/common": "0.18.0-f0063e113"
64
+ "@excalidraw/common": "0.18.0-f87f6d086"
62
65
  }
63
66
  }