@excalidraw/excalidraw 0.18.0-c4c0649 → 0.18.0-c65b684e9

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 (128) hide show
  1. package/dist/dev/chunk-65CT75SH.js +5668 -0
  2. package/dist/dev/chunk-65CT75SH.js.map +7 -0
  3. package/dist/dev/chunk-CP5DND7P.js +7 -0
  4. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  5. package/dist/dev/{chunk-JCUIYZXF.js → chunk-QF5FRM6O.js} +6 -2
  6. package/dist/dev/chunk-QF5FRM6O.js.map +7 -0
  7. package/dist/dev/data/{image-SLEZBMLG.js → image-G3ZXYWE6.js} +3 -3
  8. package/dist/dev/index.css +51 -20
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +6832 -4278
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{en-ZDTPSZNL.js → en-SMAPCEOQ.js} +2 -2
  13. package/dist/dev/subset-shared.chunk.js +1 -1
  14. package/dist/dev/subset-worker.chunk.js +1 -1
  15. package/dist/prod/chunk-A66AFZZU.js +7 -0
  16. package/dist/prod/{chunk-GCFVWREF.js → chunk-I4UNSFV6.js} +4 -4
  17. package/dist/prod/chunk-YZO7PSYQ.js +4 -0
  18. package/dist/prod/data/image-53OPA26C.js +1 -0
  19. package/dist/prod/index.css +1 -1
  20. package/dist/prod/index.js +25 -18
  21. package/dist/prod/locales/{en-MHZ26NAR.js → en-TYY6KWIJ.js} +1 -1
  22. package/dist/prod/subset-shared.chunk.js +1 -1
  23. package/dist/prod/subset-worker.chunk.js +1 -1
  24. package/dist/types/common/src/constants.d.ts +19 -3
  25. package/dist/types/common/src/utils.d.ts +3 -5
  26. package/dist/types/element/src/Scene.d.ts +1 -1
  27. package/dist/types/element/src/align.d.ts +2 -1
  28. package/dist/types/element/src/binding.d.ts +10 -7
  29. package/dist/types/element/src/bounds.d.ts +11 -3
  30. package/dist/types/element/src/collision.d.ts +18 -12
  31. package/dist/types/element/src/cropElement.d.ts +1 -1
  32. package/dist/types/element/src/delta.d.ts +37 -7
  33. package/dist/types/element/src/distance.d.ts +2 -2
  34. package/dist/types/element/src/distribute.d.ts +2 -1
  35. package/dist/types/element/src/fractionalIndex.d.ts +8 -2
  36. package/dist/types/element/src/frame.d.ts +2 -2
  37. package/dist/types/element/src/groups.d.ts +1 -0
  38. package/dist/types/element/src/index.d.ts +1 -3
  39. package/dist/types/element/src/linearElementEditor.d.ts +14 -23
  40. package/dist/types/element/src/mutateElement.d.ts +1 -1
  41. package/dist/types/element/src/newElement.d.ts +2 -1
  42. package/dist/types/element/src/resizeElements.d.ts +1 -0
  43. package/dist/types/element/src/selection.d.ts +1 -1
  44. package/dist/types/element/src/shape.d.ts +42 -0
  45. package/dist/types/element/src/sizeHelpers.d.ts +2 -1
  46. package/dist/types/element/src/store.d.ts +13 -8
  47. package/dist/types/element/src/transformHandles.d.ts +4 -4
  48. package/dist/types/element/src/typeChecks.d.ts +15 -1
  49. package/dist/types/element/src/types.d.ts +8 -3
  50. package/dist/types/element/src/utils.d.ts +16 -6
  51. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +21 -15
  52. package/dist/types/excalidraw/actions/actionAlign.d.ts +8 -8
  53. package/dist/types/excalidraw/actions/actionBoundText.d.ts +14 -10
  54. package/dist/types/excalidraw/actions/actionCanvas.d.ts +193 -154
  55. package/dist/types/excalidraw/actions/actionClipboard.d.ts +50 -36
  56. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +7 -5
  57. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +27 -20
  58. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -4
  59. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  60. package/dist/types/excalidraw/actions/actionElementLink.d.ts +6 -4
  61. package/dist/types/excalidraw/actions/actionElementLock.d.ts +29 -26
  62. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +7 -5
  63. package/dist/types/excalidraw/actions/actionExport.d.ts +147 -129
  64. package/dist/types/excalidraw/actions/actionFinalize.d.ts +65 -20
  65. package/dist/types/excalidraw/actions/actionFlip.d.ts +4 -4
  66. package/dist/types/excalidraw/actions/actionFrame.d.ts +78 -70
  67. package/dist/types/excalidraw/actions/actionGroup.d.ts +20 -16
  68. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +533 -7
  69. package/dist/types/excalidraw/actions/actionLink.d.ts +8 -6
  70. package/dist/types/excalidraw/actions/actionMenu.d.ts +22 -16
  71. package/dist/types/excalidraw/actions/actionNavigate.d.ts +14 -10
  72. package/dist/types/excalidraw/actions/actionProperties.d.ts +119 -81
  73. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +10 -8
  74. package/dist/types/excalidraw/actions/actionStyles.d.ts +11 -9
  75. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +9 -7
  76. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +9 -7
  77. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +8 -6
  78. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +9 -7
  79. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +9 -7
  80. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +9 -7
  81. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  82. package/dist/types/excalidraw/actions/types.d.ts +2 -1
  83. package/dist/types/excalidraw/appState.d.ts +29 -20
  84. package/dist/types/excalidraw/components/Actions.d.ts +0 -4
  85. package/dist/types/excalidraw/components/App.d.ts +14 -16
  86. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -0
  87. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  88. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  89. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +11 -1
  90. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  91. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -0
  92. package/dist/types/excalidraw/components/icons.d.ts +2 -0
  93. package/dist/types/excalidraw/components/shapes.d.ts +1 -1
  94. package/dist/types/excalidraw/data/blob.d.ts +1 -1
  95. package/dist/types/excalidraw/eraser/index.d.ts +0 -2
  96. package/dist/types/excalidraw/history.d.ts +21 -5
  97. package/dist/types/excalidraw/index.d.ts +1 -0
  98. package/dist/types/excalidraw/lasso/index.d.ts +1 -0
  99. package/dist/types/excalidraw/lasso/utils.d.ts +2 -1
  100. package/dist/types/excalidraw/renderer/helpers.d.ts +4 -4
  101. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  102. package/dist/types/excalidraw/scene/Renderer.d.ts +0 -1
  103. package/dist/types/excalidraw/types.d.ts +11 -7
  104. package/dist/types/math/src/angle.d.ts +2 -0
  105. package/dist/types/math/src/constants.d.ts +3 -0
  106. package/dist/types/math/src/curve.d.ts +32 -0
  107. package/dist/types/math/src/index.d.ts +1 -0
  108. package/dist/types/math/src/point.d.ts +1 -1
  109. package/dist/types/math/src/rectangle.d.ts +2 -0
  110. package/dist/types/math/src/vector.d.ts +4 -2
  111. package/history.ts +108 -45
  112. package/package.json +12 -9
  113. package/dist/dev/chunk-HNRFOURL.js +0 -23482
  114. package/dist/dev/chunk-HNRFOURL.js.map +0 -7
  115. package/dist/dev/chunk-JCUIYZXF.js.map +0 -7
  116. package/dist/dev/chunk-VKWYDXFZ.js +0 -7
  117. package/dist/dev/chunk-VKWYDXFZ.js.map +0 -7
  118. package/dist/prod/chunk-G6SRO7HP.js +0 -7
  119. package/dist/prod/chunk-M3D5LUUK.js +0 -33
  120. package/dist/prod/data/image-PMKVN4IF.js +0 -1
  121. package/dist/types/element/src/Shape.d.ts +0 -17
  122. package/dist/types/element/src/ShapeCache.d.ts +0 -25
  123. package/dist/types/element/src/shapes.d.ts +0 -23
  124. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  125. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  126. package/dist/types/utils/src/collision.d.ts +0 -8
  127. /package/dist/dev/data/{image-SLEZBMLG.js.map → image-G3ZXYWE6.js.map} +0 -0
  128. /package/dist/dev/locales/{en-ZDTPSZNL.js.map → en-SMAPCEOQ.js.map} +0 -0
@@ -19,7 +19,7 @@ export declare const actionCopy: {
19
19
  isLoading: boolean;
20
20
  activeEmbeddable: {
21
21
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
22
- state: "hover" | "active";
22
+ state: "active" | "hover";
23
23
  } | null;
24
24
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
25
25
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -38,7 +38,6 @@ export declare const actionCopy: {
38
38
  editingFrame: string | null;
39
39
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
40
40
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
41
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
42
41
  activeTool: {
43
42
  lastActiveTool: import("../types").ActiveTool | null;
44
43
  locked: boolean;
@@ -86,7 +85,7 @@ export declare const actionCopy: {
86
85
  name: "imageExport" | "help" | "jsonExport";
87
86
  } | {
88
87
  name: "ttd";
89
- tab: "text-to-diagram" | "mermaid";
88
+ tab: "mermaid" | "text-to-diagram";
90
89
  } | {
91
90
  name: "commandPalette";
92
91
  } | {
@@ -158,8 +157,7 @@ export declare const actionCopy: {
158
157
  shown: true;
159
158
  data: import("../charts").Spreadsheet;
160
159
  };
161
- pendingImageElementId: string | null;
162
- showHyperlinkPopup: false | "info" | "editor";
160
+ showHyperlinkPopup: false | "editor" | "info";
163
161
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
164
162
  snapLines: readonly import("../snapping").SnapLine[];
165
163
  originSnapOffset: {
@@ -175,6 +173,10 @@ export declare const actionCopy: {
175
173
  focusedId: string | null;
176
174
  matches: readonly import("../types").SearchMatch[];
177
175
  }> | null;
176
+ activeLockedId: string | null;
177
+ lockedMultiSelections: {
178
+ [groupId: string]: true;
179
+ };
178
180
  };
179
181
  } | {
180
182
  captureUpdate: "EVENTUALLY";
@@ -203,7 +205,7 @@ export declare const actionPaste: {
203
205
  isLoading: boolean;
204
206
  activeEmbeddable: {
205
207
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
206
- state: "hover" | "active";
208
+ state: "active" | "hover";
207
209
  } | null;
208
210
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
209
211
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -222,7 +224,6 @@ export declare const actionPaste: {
222
224
  editingFrame: string | null;
223
225
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
224
226
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
225
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
226
227
  activeTool: {
227
228
  lastActiveTool: import("../types").ActiveTool | null;
228
229
  locked: boolean;
@@ -270,7 +271,7 @@ export declare const actionPaste: {
270
271
  name: "imageExport" | "help" | "jsonExport";
271
272
  } | {
272
273
  name: "ttd";
273
- tab: "text-to-diagram" | "mermaid";
274
+ tab: "mermaid" | "text-to-diagram";
274
275
  } | {
275
276
  name: "commandPalette";
276
277
  } | {
@@ -342,8 +343,7 @@ export declare const actionPaste: {
342
343
  shown: true;
343
344
  data: import("../charts").Spreadsheet;
344
345
  };
345
- pendingImageElementId: string | null;
346
- showHyperlinkPopup: false | "info" | "editor";
346
+ showHyperlinkPopup: false | "editor" | "info";
347
347
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
348
348
  snapLines: readonly import("../snapping").SnapLine[];
349
349
  originSnapOffset: {
@@ -359,6 +359,10 @@ export declare const actionPaste: {
359
359
  focusedId: string | null;
360
360
  matches: readonly import("../types").SearchMatch[];
361
361
  }> | null;
362
+ activeLockedId: string | null;
363
+ lockedMultiSelections: {
364
+ [groupId: string]: true;
365
+ };
362
366
  };
363
367
  } | {
364
368
  captureUpdate: "EVENTUALLY";
@@ -378,7 +382,7 @@ export declare const actionCut: {
378
382
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, event: ClipboardEvent | null, app: import("../types").AppClassProperties) => false | {
379
383
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
380
384
  appState: {
381
- editingLinearElement: null;
385
+ selectedLinearElement: null;
382
386
  contextMenu: {
383
387
  items: import("../components/ContextMenu").ContextMenuItems;
384
388
  top: number;
@@ -389,7 +393,7 @@ export declare const actionCut: {
389
393
  errorMessage: import("react").ReactNode;
390
394
  activeEmbeddable: {
391
395
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
392
- state: "hover" | "active";
396
+ state: "active" | "hover";
393
397
  } | null;
394
398
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
395
399
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -455,7 +459,7 @@ export declare const actionCut: {
455
459
  name: "imageExport" | "help" | "jsonExport";
456
460
  } | {
457
461
  name: "ttd";
458
- tab: "text-to-diagram" | "mermaid";
462
+ tab: "mermaid" | "text-to-diagram";
459
463
  } | {
460
464
  name: "commandPalette";
461
465
  } | {
@@ -527,9 +531,7 @@ export declare const actionCut: {
527
531
  shown: true;
528
532
  data: import("../charts").Spreadsheet;
529
533
  };
530
- pendingImageElementId: string | null;
531
- showHyperlinkPopup: false | "info" | "editor";
532
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
534
+ showHyperlinkPopup: false | "editor" | "info";
533
535
  snapLines: readonly import("../snapping").SnapLine[];
534
536
  originSnapOffset: {
535
537
  x: number;
@@ -544,12 +546,16 @@ export declare const actionCut: {
544
546
  focusedId: string | null;
545
547
  matches: readonly import("../types").SearchMatch[];
546
548
  }> | null;
549
+ activeLockedId: string | null;
550
+ lockedMultiSelections: {
551
+ [groupId: string]: true;
552
+ };
547
553
  };
548
554
  captureUpdate: "IMMEDIATELY";
549
555
  } | {
550
556
  elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
551
557
  appState: {
552
- editingLinearElement: {
558
+ selectedLinearElement: {
553
559
  selectedPointsIndices: number[];
554
560
  startBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
555
561
  endBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
@@ -579,6 +585,8 @@ export declare const actionCut: {
579
585
  hoverPointIndex: number;
580
586
  segmentMidPointHoveredCoords: import("@excalidraw/math").GlobalPoint | null;
581
587
  elbowed: boolean;
588
+ customLineAngle: number | null;
589
+ isEditing: boolean;
582
590
  };
583
591
  contextMenu: {
584
592
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -590,7 +598,7 @@ export declare const actionCut: {
590
598
  errorMessage: import("react").ReactNode;
591
599
  activeEmbeddable: {
592
600
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
593
- state: "hover" | "active";
601
+ state: "active" | "hover";
594
602
  } | null;
595
603
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
596
604
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -656,7 +664,7 @@ export declare const actionCut: {
656
664
  name: "imageExport" | "help" | "jsonExport";
657
665
  } | {
658
666
  name: "ttd";
659
- tab: "text-to-diagram" | "mermaid";
667
+ tab: "mermaid" | "text-to-diagram";
660
668
  } | {
661
669
  name: "commandPalette";
662
670
  } | {
@@ -728,9 +736,7 @@ export declare const actionCut: {
728
736
  shown: true;
729
737
  data: import("../charts").Spreadsheet;
730
738
  };
731
- pendingImageElementId: string | null;
732
- showHyperlinkPopup: false | "info" | "editor";
733
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
739
+ showHyperlinkPopup: false | "editor" | "info";
734
740
  snapLines: readonly import("../snapping").SnapLine[];
735
741
  originSnapOffset: {
736
742
  x: number;
@@ -745,6 +751,10 @@ export declare const actionCut: {
745
751
  focusedId: string | null;
746
752
  matches: readonly import("../types").SearchMatch[];
747
753
  }> | null;
754
+ activeLockedId: string | null;
755
+ lockedMultiSelections: {
756
+ [groupId: string]: true;
757
+ };
748
758
  };
749
759
  captureUpdate: "IMMEDIATELY";
750
760
  } | {
@@ -758,13 +768,13 @@ export declare const actionCut: {
758
768
  multiElement: null;
759
769
  activeEmbeddable: null;
760
770
  selectedLinearElement: null;
771
+ editingGroupId: string | null;
761
772
  selectedElementIds: Readonly<{
762
773
  [id: string]: true;
763
774
  }>;
764
775
  selectedGroupIds: {
765
776
  [groupId: string]: boolean;
766
777
  };
767
- editingGroupId: string | null;
768
778
  contextMenu: {
769
779
  items: import("../components/ContextMenu").ContextMenuItems;
770
780
  top: number;
@@ -789,7 +799,6 @@ export declare const actionCut: {
789
799
  editingFrame: string | null;
790
800
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
791
801
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
792
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
793
802
  penMode: boolean;
794
803
  penDetected: boolean;
795
804
  exportBackground: boolean;
@@ -832,7 +841,7 @@ export declare const actionCut: {
832
841
  name: "imageExport" | "help" | "jsonExport";
833
842
  } | {
834
843
  name: "ttd";
835
- tab: "text-to-diagram" | "mermaid";
844
+ tab: "mermaid" | "text-to-diagram";
836
845
  } | {
837
846
  name: "commandPalette";
838
847
  } | {
@@ -897,8 +906,7 @@ export declare const actionCut: {
897
906
  shown: true;
898
907
  data: import("../charts").Spreadsheet;
899
908
  };
900
- pendingImageElementId: string | null;
901
- showHyperlinkPopup: false | "info" | "editor";
909
+ showHyperlinkPopup: false | "editor" | "info";
902
910
  snapLines: readonly import("../snapping").SnapLine[];
903
911
  originSnapOffset: {
904
912
  x: number;
@@ -913,12 +921,16 @@ export declare const actionCut: {
913
921
  focusedId: string | null;
914
922
  matches: readonly import("../types").SearchMatch[];
915
923
  }> | null;
924
+ activeLockedId: string | null;
925
+ lockedMultiSelections: {
926
+ [groupId: string]: true;
927
+ };
916
928
  };
917
929
  captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
918
930
  };
919
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
931
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
920
932
  } & {
921
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
933
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
922
934
  };
923
935
  export declare const actionCopyAsSvg: {
924
936
  name: "copyAsSvg";
@@ -972,7 +984,7 @@ export declare const actionCopyAsPng: {
972
984
  isLoading: boolean;
973
985
  activeEmbeddable: {
974
986
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
975
- state: "hover" | "active";
987
+ state: "active" | "hover";
976
988
  } | null;
977
989
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
978
990
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -991,7 +1003,6 @@ export declare const actionCopyAsPng: {
991
1003
  editingFrame: string | null;
992
1004
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
993
1005
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
994
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
995
1006
  activeTool: {
996
1007
  lastActiveTool: import("../types").ActiveTool | null;
997
1008
  locked: boolean;
@@ -1039,7 +1050,7 @@ export declare const actionCopyAsPng: {
1039
1050
  name: "imageExport" | "help" | "jsonExport";
1040
1051
  } | {
1041
1052
  name: "ttd";
1042
- tab: "text-to-diagram" | "mermaid";
1053
+ tab: "mermaid" | "text-to-diagram";
1043
1054
  } | {
1044
1055
  name: "commandPalette";
1045
1056
  } | {
@@ -1111,8 +1122,7 @@ export declare const actionCopyAsPng: {
1111
1122
  shown: true;
1112
1123
  data: import("../charts").Spreadsheet;
1113
1124
  };
1114
- pendingImageElementId: string | null;
1115
- showHyperlinkPopup: false | "info" | "editor";
1125
+ showHyperlinkPopup: false | "editor" | "info";
1116
1126
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1117
1127
  snapLines: readonly import("../snapping").SnapLine[];
1118
1128
  originSnapOffset: {
@@ -1128,14 +1138,18 @@ export declare const actionCopyAsPng: {
1128
1138
  focusedId: string | null;
1129
1139
  matches: readonly import("../types").SearchMatch[];
1130
1140
  }> | null;
1141
+ activeLockedId: string | null;
1142
+ lockedMultiSelections: {
1143
+ [groupId: string]: true;
1144
+ };
1131
1145
  };
1132
1146
  captureUpdate: "EVENTUALLY";
1133
1147
  }>;
1134
1148
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[]) => boolean;
1135
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1149
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1136
1150
  keywords: string[];
1137
1151
  } & {
1138
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1152
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1139
1153
  };
1140
1154
  export declare const copyText: {
1141
1155
  name: "copyText";
@@ -22,7 +22,7 @@ export declare const actionToggleCropEditor: {
22
22
  errorMessage: import("react").ReactNode;
23
23
  activeEmbeddable: {
24
24
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
25
- state: "hover" | "active";
25
+ state: "active" | "hover";
26
26
  } | null;
27
27
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
28
28
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -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;
@@ -89,7 +88,7 @@ export declare const actionToggleCropEditor: {
89
88
  name: "imageExport" | "help" | "jsonExport";
90
89
  } | {
91
90
  name: "ttd";
92
- tab: "text-to-diagram" | "mermaid";
91
+ tab: "mermaid" | "text-to-diagram";
93
92
  } | {
94
93
  name: "commandPalette";
95
94
  } | {
@@ -161,8 +160,7 @@ export declare const actionToggleCropEditor: {
161
160
  shown: true;
162
161
  data: import("../charts").Spreadsheet;
163
162
  };
164
- pendingImageElementId: string | null;
165
- showHyperlinkPopup: false | "info" | "editor";
163
+ showHyperlinkPopup: false | "editor" | "info";
166
164
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
167
165
  snapLines: readonly import("../snapping").SnapLine[];
168
166
  originSnapOffset: {
@@ -176,6 +174,10 @@ export declare const actionToggleCropEditor: {
176
174
  focusedId: string | null;
177
175
  matches: readonly import("../types").SearchMatch[];
178
176
  }> | null;
177
+ activeLockedId: string | null;
178
+ lockedMultiSelections: {
179
+ [groupId: string]: true;
180
+ };
179
181
  };
180
182
  captureUpdate: "IMMEDIATELY";
181
183
  };
@@ -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;
@@ -24,7 +23,7 @@ export declare const actionDeleteSelected: {
24
23
  errorMessage: import("react").ReactNode;
25
24
  activeEmbeddable: {
26
25
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
27
- state: "hover" | "active";
26
+ state: "active" | "hover";
28
27
  } | null;
29
28
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
30
29
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -90,7 +89,7 @@ export declare const actionDeleteSelected: {
90
89
  name: "imageExport" | "help" | "jsonExport";
91
90
  } | {
92
91
  name: "ttd";
93
- tab: "text-to-diagram" | "mermaid";
92
+ tab: "mermaid" | "text-to-diagram";
94
93
  } | {
95
94
  name: "commandPalette";
96
95
  } | {
@@ -162,9 +161,7 @@ export declare const actionDeleteSelected: {
162
161
  shown: true;
163
162
  data: import("../charts").Spreadsheet;
164
163
  };
165
- pendingImageElementId: string | null;
166
- showHyperlinkPopup: false | "info" | "editor";
167
- selectedLinearElement: LinearElementEditor | null;
164
+ showHyperlinkPopup: false | "editor" | "info";
168
165
  snapLines: readonly import("../snapping").SnapLine[];
169
166
  originSnapOffset: {
170
167
  x: number;
@@ -179,12 +176,16 @@ export declare const actionDeleteSelected: {
179
176
  focusedId: string | null;
180
177
  matches: readonly import("../types").SearchMatch[];
181
178
  }> | null;
179
+ activeLockedId: string | null;
180
+ lockedMultiSelections: {
181
+ [groupId: string]: true;
182
+ };
182
183
  };
183
184
  captureUpdate: "IMMEDIATELY";
184
185
  } | {
185
186
  elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
186
187
  appState: {
187
- editingLinearElement: {
188
+ selectedLinearElement: {
188
189
  selectedPointsIndices: number[];
189
190
  startBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
190
191
  endBindingElement: import("@excalidraw/element/types").ExcalidrawBindableElement | "keep" | null;
@@ -214,6 +215,8 @@ export declare const actionDeleteSelected: {
214
215
  hoverPointIndex: number;
215
216
  segmentMidPointHoveredCoords: import("@excalidraw/math").GlobalPoint | null;
216
217
  elbowed: boolean;
218
+ customLineAngle: number | null;
219
+ isEditing: boolean;
217
220
  };
218
221
  contextMenu: {
219
222
  items: import("../components/ContextMenu").ContextMenuItems;
@@ -225,7 +228,7 @@ export declare const actionDeleteSelected: {
225
228
  errorMessage: import("react").ReactNode;
226
229
  activeEmbeddable: {
227
230
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
228
- state: "hover" | "active";
231
+ state: "active" | "hover";
229
232
  } | null;
230
233
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
231
234
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -291,7 +294,7 @@ export declare const actionDeleteSelected: {
291
294
  name: "imageExport" | "help" | "jsonExport";
292
295
  } | {
293
296
  name: "ttd";
294
- tab: "text-to-diagram" | "mermaid";
297
+ tab: "mermaid" | "text-to-diagram";
295
298
  } | {
296
299
  name: "commandPalette";
297
300
  } | {
@@ -363,9 +366,7 @@ export declare const actionDeleteSelected: {
363
366
  shown: true;
364
367
  data: import("../charts").Spreadsheet;
365
368
  };
366
- pendingImageElementId: string | null;
367
- showHyperlinkPopup: false | "info" | "editor";
368
- selectedLinearElement: LinearElementEditor | null;
369
+ showHyperlinkPopup: false | "editor" | "info";
369
370
  snapLines: readonly import("../snapping").SnapLine[];
370
371
  originSnapOffset: {
371
372
  x: number;
@@ -380,6 +381,10 @@ export declare const actionDeleteSelected: {
380
381
  focusedId: string | null;
381
382
  matches: readonly import("../types").SearchMatch[];
382
383
  }> | null;
384
+ activeLockedId: string | null;
385
+ lockedMultiSelections: {
386
+ [groupId: string]: true;
387
+ };
383
388
  };
384
389
  captureUpdate: "IMMEDIATELY";
385
390
  } | {
@@ -393,13 +398,13 @@ export declare const actionDeleteSelected: {
393
398
  multiElement: null;
394
399
  activeEmbeddable: null;
395
400
  selectedLinearElement: null;
401
+ editingGroupId: string | null;
396
402
  selectedElementIds: Readonly<{
397
403
  [id: string]: true;
398
404
  }>;
399
405
  selectedGroupIds: {
400
406
  [groupId: string]: boolean;
401
407
  };
402
- editingGroupId: string | null;
403
408
  contextMenu: {
404
409
  items: import("../components/ContextMenu").ContextMenuItems;
405
410
  top: number;
@@ -424,7 +429,6 @@ export declare const actionDeleteSelected: {
424
429
  editingFrame: string | null;
425
430
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
426
431
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
427
- editingLinearElement: LinearElementEditor | null;
428
432
  penMode: boolean;
429
433
  penDetected: boolean;
430
434
  exportBackground: boolean;
@@ -467,7 +471,7 @@ export declare const actionDeleteSelected: {
467
471
  name: "imageExport" | "help" | "jsonExport";
468
472
  } | {
469
473
  name: "ttd";
470
- tab: "text-to-diagram" | "mermaid";
474
+ tab: "mermaid" | "text-to-diagram";
471
475
  } | {
472
476
  name: "commandPalette";
473
477
  } | {
@@ -532,8 +536,7 @@ export declare const actionDeleteSelected: {
532
536
  shown: true;
533
537
  data: import("../charts").Spreadsheet;
534
538
  };
535
- pendingImageElementId: string | null;
536
- showHyperlinkPopup: false | "info" | "editor";
539
+ showHyperlinkPopup: false | "editor" | "info";
537
540
  snapLines: readonly import("../snapping").SnapLine[];
538
541
  originSnapOffset: {
539
542
  x: number;
@@ -548,11 +551,15 @@ export declare const actionDeleteSelected: {
548
551
  focusedId: string | null;
549
552
  matches: readonly import("../types").SearchMatch[];
550
553
  }> | null;
554
+ activeLockedId: string | null;
555
+ lockedMultiSelections: {
556
+ [groupId: string]: true;
557
+ };
551
558
  };
552
559
  captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
553
560
  };
554
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
561
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
555
562
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
556
563
  } & {
557
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean) | undefined;
564
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean) | undefined;
558
565
  };
@@ -12,10 +12,10 @@ export declare const distributeHorizontally: {
12
12
  elements: ExcalidrawElement[];
13
13
  captureUpdate: "IMMEDIATELY";
14
14
  };
15
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
15
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
16
16
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
17
17
  } & {
18
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
18
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
19
19
  };
20
20
  export declare const distributeVertically: {
21
21
  name: "distributeVertically";
@@ -28,8 +28,8 @@ export declare const distributeVertically: {
28
28
  elements: ExcalidrawElement[];
29
29
  captureUpdate: "IMMEDIATELY";
30
30
  };
31
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
31
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
32
32
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
33
33
  } & {
34
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
34
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
35
35
  };
@@ -11,8 +11,8 @@ export declare const actionDuplicateSelection: {
11
11
  appState: import("../types").AppState;
12
12
  captureUpdate: "IMMEDIATELY";
13
13
  };
14
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
14
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
15
15
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
16
16
  } & {
17
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
17
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
18
18
  };
@@ -51,7 +51,7 @@ export declare const actionLinkToElement: {
51
51
  errorMessage: import("react").ReactNode;
52
52
  activeEmbeddable: {
53
53
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
54
- state: "hover" | "active";
54
+ state: "active" | "hover";
55
55
  } | null;
56
56
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
57
57
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -70,7 +70,6 @@ export declare const actionLinkToElement: {
70
70
  editingFrame: string | null;
71
71
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
72
72
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
73
- editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
74
73
  activeTool: {
75
74
  lastActiveTool: import("../types").ActiveTool | null;
76
75
  locked: boolean;
@@ -179,8 +178,7 @@ export declare const actionLinkToElement: {
179
178
  shown: true;
180
179
  data: import("../charts").Spreadsheet;
181
180
  };
182
- pendingImageElementId: string | null;
183
- showHyperlinkPopup: false | "info" | "editor";
181
+ showHyperlinkPopup: false | "editor" | "info";
184
182
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
185
183
  snapLines: readonly import("../snapping").SnapLine[];
186
184
  originSnapOffset: {
@@ -196,6 +194,10 @@ export declare const actionLinkToElement: {
196
194
  focusedId: string | null;
197
195
  matches: readonly import("../types").SearchMatch[];
198
196
  }> | null;
197
+ activeLockedId: string | null;
198
+ lockedMultiSelections: {
199
+ [groupId: string]: true;
200
+ };
199
201
  };
200
202
  captureUpdate: "IMMEDIATELY";
201
203
  elements?: undefined;