@excalidraw/element 0.18.0-d2463f87d → 0.18.0-dda3affcb

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 (45) hide show
  1. package/dist/dev/index.js +225 -110
  2. package/dist/dev/index.js.map +3 -3
  3. package/dist/prod/index.js +11 -11
  4. package/dist/types/common/src/constants.d.ts +1 -0
  5. package/dist/types/element/src/align.d.ts +2 -1
  6. package/dist/types/element/src/delta.d.ts +12 -2
  7. package/dist/types/element/src/distribute.d.ts +2 -1
  8. package/dist/types/element/src/groups.d.ts +1 -0
  9. package/dist/types/element/src/linearElementEditor.d.ts +2 -1
  10. package/dist/types/element/src/store.d.ts +2 -1
  11. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +0 -3
  12. package/dist/types/excalidraw/actions/actionBoundText.d.ts +0 -2
  13. package/dist/types/excalidraw/actions/actionCanvas.d.ts +0 -13
  14. package/dist/types/excalidraw/actions/actionClipboard.d.ts +3 -8
  15. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +0 -1
  16. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +3 -6
  17. package/dist/types/excalidraw/actions/actionElementLink.d.ts +0 -1
  18. package/dist/types/excalidraw/actions/actionElementLock.d.ts +0 -2
  19. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -1
  20. package/dist/types/excalidraw/actions/actionExport.d.ts +0 -9
  21. package/dist/types/excalidraw/actions/actionFinalize.d.ts +2 -3
  22. package/dist/types/excalidraw/actions/actionFrame.d.ts +0 -4
  23. package/dist/types/excalidraw/actions/actionGroup.d.ts +0 -2
  24. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +33 -3
  25. package/dist/types/excalidraw/actions/actionLink.d.ts +0 -1
  26. package/dist/types/excalidraw/actions/actionMenu.d.ts +0 -3
  27. package/dist/types/excalidraw/actions/actionNavigate.d.ts +0 -2
  28. package/dist/types/excalidraw/actions/actionProperties.d.ts +0 -15
  29. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +0 -1
  30. package/dist/types/excalidraw/actions/actionStyles.d.ts +0 -1
  31. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +0 -1
  32. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +0 -1
  33. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +0 -1
  34. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +0 -1
  35. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +0 -1
  36. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +0 -1
  37. package/dist/types/excalidraw/components/Actions.d.ts +0 -4
  38. package/dist/types/excalidraw/components/App.d.ts +1 -0
  39. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  40. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  41. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  42. package/dist/types/excalidraw/index.d.ts +2 -1
  43. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  44. package/dist/types/excalidraw/types.d.ts +4 -4
  45. package/package.json +3 -3
@@ -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("../../math/src").GlobalPoint | null;
30
+ index: number | null;
31
+ added: boolean;
32
+ };
33
+ }>;
34
+ isDragging: boolean;
35
+ lastUncommittedPoint: import("../../math/src").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("../../math/src").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("@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;
@@ -37,7 +37,6 @@ export declare const actionToggleCanvasMenu: {
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;
@@ -221,7 +220,6 @@ export declare const actionToggleEditMenu: {
221
220
  editingFrame: string | null;
222
221
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
223
222
  editingTextElement: import("@excalidraw/element/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("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
412
410
  editingTextElement: import("@excalidraw/element/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("@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;
@@ -216,7 +215,6 @@ export declare const actionGoToCollaborator: {
216
215
  editingFrame: string | null;
217
216
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
218
217
  editingTextElement: import("@excalidraw/element/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("@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
  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("@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;
@@ -47,7 +47,6 @@ export declare const actionToggleSearchMenu: {
47
47
  editingFrame: string | null;
48
48
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
49
49
  editingTextElement: import("@excalidraw/element/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("@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
  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("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").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;
@@ -40,7 +40,6 @@ export declare const actionToggleZenMode: {
40
40
  editingFrame: string | null;
41
41
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").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;
@@ -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;
@@ -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;
@@ -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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excalidraw/element",
3
- "version": "0.18.0-d2463f87d",
3
+ "version": "0.18.0-dda3affcb",
4
4
  "type": "module",
5
5
  "types": "./dist/types/element/src/index.d.ts",
6
6
  "main": "./dist/prod/index.js",
@@ -57,7 +57,7 @@
57
57
  "build:esm": "rimraf dist && node ../../scripts/buildBase.js && yarn gen:types"
58
58
  },
59
59
  "dependencies": {
60
- "@excalidraw/common": "0.18.0-d2463f87d",
61
- "@excalidraw/math": "0.18.0-d2463f87d"
60
+ "@excalidraw/common": "0.18.0-dda3affcb",
61
+ "@excalidraw/math": "0.18.0-dda3affcb"
62
62
  }
63
63
  }