@excalidraw/excalidraw 0.18.0-a18b139 → 0.18.0-a30e1b2

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 (97) hide show
  1. package/dist/dev/{chunk-X3RYHLJU.js → chunk-CARD3WJZ.js} +9 -4
  2. package/dist/dev/chunk-CARD3WJZ.js.map +7 -0
  3. package/dist/dev/{chunk-U3G3LY5D.js → chunk-ETWEPOFC.js} +7284 -6864
  4. package/dist/dev/chunk-ETWEPOFC.js.map +7 -0
  5. package/dist/dev/{chunk-MJMGTOVG.js → chunk-RS23HYC4.js} +2 -2
  6. package/dist/dev/data/{image-Y366K5SN.js → image-AYLHSOBV.js} +3 -3
  7. package/dist/dev/index.css +43 -2
  8. package/dist/dev/index.css.map +3 -3
  9. package/dist/dev/index.js +2959 -1807
  10. package/dist/dev/index.js.map +4 -4
  11. package/dist/dev/locales/{en-CKWC2GMK.js → en-E3O5XSXJ.js} +2 -2
  12. package/dist/dev/subset-shared.chunk.js +1 -1
  13. package/dist/dev/subset-worker.chunk.js +1 -1
  14. package/dist/prod/chunk-6BSJPDKJ.js +33 -0
  15. package/dist/prod/{chunk-IUH5AXLB.js → chunk-FGHASORR.js} +4 -4
  16. package/dist/prod/{chunk-VQA74LVG.js → chunk-SBKTMZM7.js} +1 -1
  17. package/dist/prod/data/image-VAYKYPXV.js +1 -0
  18. package/dist/prod/index.css +1 -1
  19. package/dist/prod/index.js +19 -18
  20. package/dist/prod/locales/{en-SBO6ZHT2.js → en-44IKVKYT.js} +1 -1
  21. package/dist/prod/subset-shared.chunk.js +1 -1
  22. package/dist/prod/subset-worker.chunk.js +1 -1
  23. package/dist/types/common/src/constants.d.ts +2 -0
  24. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  25. package/dist/types/common/src/font-metadata.d.ts +4 -2
  26. package/dist/types/common/src/index.d.ts +1 -0
  27. package/dist/types/common/src/utility-types.d.ts +5 -0
  28. package/dist/types/common/src/utils.d.ts +9 -0
  29. package/dist/types/element/src/binding.d.ts +10 -2
  30. package/dist/types/element/src/bounds.d.ts +1 -1
  31. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +40 -35
  32. package/dist/types/element/src/frame.d.ts +1 -0
  33. package/dist/types/element/src/index.d.ts +2 -2
  34. package/dist/types/element/src/linearElementEditor.d.ts +3 -7
  35. package/dist/types/element/src/newElement.d.ts +2 -2
  36. package/dist/types/element/src/store.d.ts +227 -0
  37. package/dist/types/element/src/transformHandles.d.ts +2 -2
  38. package/dist/types/element/src/typeChecks.d.ts +3 -0
  39. package/dist/types/element/src/types.d.ts +7 -0
  40. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +18 -36
  41. package/dist/types/excalidraw/actions/actionAlign.d.ts +8 -8
  42. package/dist/types/excalidraw/actions/actionBoundText.d.ts +12 -24
  43. package/dist/types/excalidraw/actions/actionCanvas.d.ts +107 -185
  44. package/dist/types/excalidraw/actions/actionClipboard.d.ts +39 -75
  45. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +6 -12
  46. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +19 -37
  47. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -4
  48. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  49. package/dist/types/excalidraw/actions/actionElementLink.d.ts +5 -11
  50. package/dist/types/excalidraw/actions/actionElementLock.d.ts +14 -26
  51. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +6 -12
  52. package/dist/types/excalidraw/actions/actionExport.d.ts +81 -135
  53. package/dist/types/excalidraw/actions/actionFinalize.d.ts +13 -25
  54. package/dist/types/excalidraw/actions/actionFlip.d.ts +4 -4
  55. package/dist/types/excalidraw/actions/actionFrame.d.ts +26 -50
  56. package/dist/types/excalidraw/actions/actionGroup.d.ts +16 -28
  57. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -2
  58. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +6 -12
  59. package/dist/types/excalidraw/actions/actionLink.d.ts +8 -14
  60. package/dist/types/excalidraw/actions/actionMenu.d.ts +19 -37
  61. package/dist/types/excalidraw/actions/actionNavigate.d.ts +12 -24
  62. package/dist/types/excalidraw/actions/actionProperties.d.ts +96 -186
  63. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +8 -14
  64. package/dist/types/excalidraw/actions/actionStyles.d.ts +10 -16
  65. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +8 -14
  66. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +8 -14
  67. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +7 -186
  68. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  69. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +8 -14
  70. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +8 -14
  71. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +8 -14
  72. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  73. package/dist/types/excalidraw/actions/types.d.ts +3 -3
  74. package/dist/types/excalidraw/appState.d.ts +14 -14
  75. package/dist/types/excalidraw/components/App.d.ts +5 -3
  76. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +49 -0
  77. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  78. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -8
  79. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  80. package/dist/types/excalidraw/history.d.ts +14 -22
  81. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  82. package/dist/types/excalidraw/index.d.ts +1 -1
  83. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -1
  84. package/dist/types/excalidraw/types.d.ts +11 -3
  85. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +3 -1
  86. package/dist/types/math/src/curve.d.ts +2 -0
  87. package/dist/types/math/src/vector.d.ts +4 -0
  88. package/history.ts +68 -94
  89. package/package.json +3 -3
  90. package/dist/dev/chunk-U3G3LY5D.js.map +0 -7
  91. package/dist/dev/chunk-X3RYHLJU.js.map +0 -7
  92. package/dist/prod/chunk-PUQLEN73.js +0 -33
  93. package/dist/prod/data/image-WY2VMQLG.js +0 -1
  94. package/dist/types/excalidraw/store.d.ts +0 -129
  95. /package/dist/dev/{chunk-MJMGTOVG.js.map → chunk-RS23HYC4.js.map} +0 -0
  96. /package/dist/dev/data/{image-Y366K5SN.js.map → image-AYLHSOBV.js.map} +0 -0
  97. /package/dist/dev/locales/{en-CKWC2GMK.js.map → en-E3O5XSXJ.js.map} +0 -0
@@ -21,7 +21,7 @@ export declare const actionSelectAllElementsInFrame: {
21
21
  errorMessage: import("react").ReactNode;
22
22
  activeEmbeddable: {
23
23
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
24
- state: "hover" | "active";
24
+ state: "active" | "hover";
25
25
  } | null;
26
26
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
27
27
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -88,7 +88,7 @@ export declare const actionSelectAllElementsInFrame: {
88
88
  name: "imageExport" | "help" | "jsonExport";
89
89
  } | {
90
90
  name: "ttd";
91
- tab: "text-to-diagram" | "mermaid";
91
+ tab: "mermaid" | "text-to-diagram";
92
92
  } | {
93
93
  name: "commandPalette";
94
94
  } | {
@@ -170,16 +170,10 @@ export declare const actionSelectAllElementsInFrame: {
170
170
  followedBy: Set<import("../types").SocketId>;
171
171
  isCropping: boolean;
172
172
  croppingElementId: string | null;
173
- searchMatches: readonly {
174
- id: string;
175
- focus: boolean;
176
- matchedLines: {
177
- offsetX: number;
178
- offsetY: number;
179
- width: number;
180
- height: number;
181
- }[];
182
- }[];
173
+ searchMatches: Readonly<{
174
+ focusedId: string | null;
175
+ matches: readonly import("../types").SearchMatch[];
176
+ }> | null;
183
177
  };
184
178
  captureUpdate: "IMMEDIATELY";
185
179
  } | {
@@ -213,7 +207,7 @@ export declare const actionRemoveAllElementsFromFrame: {
213
207
  errorMessage: import("react").ReactNode;
214
208
  activeEmbeddable: {
215
209
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
216
- state: "hover" | "active";
210
+ state: "active" | "hover";
217
211
  } | null;
218
212
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
219
213
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -280,7 +274,7 @@ export declare const actionRemoveAllElementsFromFrame: {
280
274
  name: "imageExport" | "help" | "jsonExport";
281
275
  } | {
282
276
  name: "ttd";
283
- tab: "text-to-diagram" | "mermaid";
277
+ tab: "mermaid" | "text-to-diagram";
284
278
  } | {
285
279
  name: "commandPalette";
286
280
  } | {
@@ -362,16 +356,10 @@ export declare const actionRemoveAllElementsFromFrame: {
362
356
  followedBy: Set<import("../types").SocketId>;
363
357
  isCropping: boolean;
364
358
  croppingElementId: string | null;
365
- searchMatches: readonly {
366
- id: string;
367
- focus: boolean;
368
- matchedLines: {
369
- offsetX: number;
370
- offsetY: number;
371
- width: number;
372
- height: number;
373
- }[];
374
- }[];
359
+ searchMatches: Readonly<{
360
+ focusedId: string | null;
361
+ matches: readonly import("../types").SearchMatch[];
362
+ }> | null;
375
363
  };
376
364
  captureUpdate: "IMMEDIATELY";
377
365
  } | {
@@ -409,7 +397,7 @@ export declare const actionupdateFrameRendering: {
409
397
  errorMessage: import("react").ReactNode;
410
398
  activeEmbeddable: {
411
399
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
412
- state: "hover" | "active";
400
+ state: "active" | "hover";
413
401
  } | null;
414
402
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
415
403
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -470,7 +458,7 @@ export declare const actionupdateFrameRendering: {
470
458
  name: "imageExport" | "help" | "jsonExport";
471
459
  } | {
472
460
  name: "ttd";
473
- tab: "text-to-diagram" | "mermaid";
461
+ tab: "mermaid" | "text-to-diagram";
474
462
  } | {
475
463
  name: "commandPalette";
476
464
  } | {
@@ -555,16 +543,10 @@ export declare const actionupdateFrameRendering: {
555
543
  followedBy: Set<import("../types").SocketId>;
556
544
  isCropping: boolean;
557
545
  croppingElementId: string | null;
558
- searchMatches: readonly {
559
- id: string;
560
- focus: boolean;
561
- matchedLines: {
562
- offsetX: number;
563
- offsetY: number;
564
- width: number;
565
- height: number;
566
- }[];
567
- }[];
546
+ searchMatches: Readonly<{
547
+ focusedId: string | null;
548
+ matches: readonly import("../types").SearchMatch[];
549
+ }> | null;
568
550
  };
569
551
  captureUpdate: "EVENTUALLY";
570
552
  };
@@ -598,7 +580,7 @@ export declare const actionSetFrameAsActiveTool: {
598
580
  errorMessage: import("react").ReactNode;
599
581
  activeEmbeddable: {
600
582
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
601
- state: "hover" | "active";
583
+ state: "active" | "hover";
602
584
  } | null;
603
585
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
604
586
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -660,7 +642,7 @@ export declare const actionSetFrameAsActiveTool: {
660
642
  name: "imageExport" | "help" | "jsonExport";
661
643
  } | {
662
644
  name: "ttd";
663
- tab: "text-to-diagram" | "mermaid";
645
+ tab: "mermaid" | "text-to-diagram";
664
646
  } | {
665
647
  name: "commandPalette";
666
648
  } | {
@@ -745,22 +727,16 @@ export declare const actionSetFrameAsActiveTool: {
745
727
  followedBy: Set<import("../types").SocketId>;
746
728
  isCropping: boolean;
747
729
  croppingElementId: string | null;
748
- searchMatches: readonly {
749
- id: string;
750
- focus: boolean;
751
- matchedLines: {
752
- offsetX: number;
753
- offsetY: number;
754
- width: number;
755
- height: number;
756
- }[];
757
- }[];
730
+ searchMatches: Readonly<{
731
+ focusedId: string | null;
732
+ matches: readonly import("../types").SearchMatch[];
733
+ }> | null;
758
734
  };
759
735
  captureUpdate: "EVENTUALLY";
760
736
  };
761
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
737
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
762
738
  } & {
763
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
739
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
764
740
  };
765
741
  export declare const actionWrapSelectionInFrame: {
766
742
  name: "wrapSelectionInFrame";
@@ -31,7 +31,7 @@ export declare const actionGroup: {
31
31
  errorMessage: import("react").ReactNode;
32
32
  activeEmbeddable: {
33
33
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
34
- state: "hover" | "active";
34
+ state: "active" | "hover";
35
35
  } | null;
36
36
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
37
37
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -98,7 +98,7 @@ export declare const actionGroup: {
98
98
  name: "imageExport" | "help" | "jsonExport";
99
99
  } | {
100
100
  name: "ttd";
101
- tab: "text-to-diagram" | "mermaid";
101
+ tab: "mermaid" | "text-to-diagram";
102
102
  } | {
103
103
  name: "commandPalette";
104
104
  } | {
@@ -176,25 +176,19 @@ export declare const actionGroup: {
176
176
  followedBy: Set<import("../types").SocketId>;
177
177
  isCropping: boolean;
178
178
  croppingElementId: string | null;
179
- searchMatches: readonly {
180
- id: string;
181
- focus: boolean;
182
- matchedLines: {
183
- offsetX: number;
184
- offsetY: number;
185
- width: number;
186
- height: number;
187
- }[];
188
- }[];
179
+ searchMatches: Readonly<{
180
+ focusedId: string | null;
181
+ matches: readonly import("../types").SearchMatch[];
182
+ }> | null;
189
183
  };
190
184
  elements: OrderedExcalidrawElement[];
191
185
  captureUpdate: "IMMEDIATELY";
192
186
  };
193
187
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
194
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
188
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
195
189
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
196
190
  } & {
197
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
191
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
198
192
  };
199
193
  export declare const actionUngroup: {
200
194
  name: "ungroup";
@@ -226,7 +220,7 @@ export declare const actionUngroup: {
226
220
  errorMessage: import("react").ReactNode;
227
221
  activeEmbeddable: {
228
222
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
229
- state: "hover" | "active";
223
+ state: "active" | "hover";
230
224
  } | null;
231
225
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
232
226
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -293,7 +287,7 @@ export declare const actionUngroup: {
293
287
  name: "imageExport" | "help" | "jsonExport";
294
288
  } | {
295
289
  name: "ttd";
296
- tab: "text-to-diagram" | "mermaid";
290
+ tab: "mermaid" | "text-to-diagram";
297
291
  } | {
298
292
  name: "commandPalette";
299
293
  } | {
@@ -371,23 +365,17 @@ export declare const actionUngroup: {
371
365
  followedBy: Set<import("../types").SocketId>;
372
366
  isCropping: boolean;
373
367
  croppingElementId: string | null;
374
- searchMatches: readonly {
375
- id: string;
376
- focus: boolean;
377
- matchedLines: {
378
- offsetX: number;
379
- offsetY: number;
380
- width: number;
381
- height: number;
382
- }[];
383
- }[];
368
+ searchMatches: Readonly<{
369
+ focusedId: string | null;
370
+ matches: readonly import("../types").SearchMatch[];
371
+ }> | null;
384
372
  };
385
373
  elements: OrderedExcalidrawElement[];
386
374
  captureUpdate: "IMMEDIATELY";
387
375
  };
388
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
376
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
389
377
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
390
378
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
391
379
  } & {
392
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
380
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
393
381
  };
@@ -1,7 +1,6 @@
1
1
  import type { History } from "../history";
2
- import type { Store } from "../store";
3
2
  import type { Action } from "./types";
4
- type ActionCreator = (history: History, store: Store) => Action;
3
+ type ActionCreator = (history: History) => Action;
5
4
  export declare const createUndoAction: ActionCreator;
6
5
  export declare const createRedoAction: ActionCreator;
7
6
  export {};
@@ -23,7 +23,7 @@ export declare const actionToggleLinearEditor: {
23
23
  errorMessage: import("react").ReactNode;
24
24
  activeEmbeddable: {
25
25
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
26
- state: "hover" | "active";
26
+ state: "active" | "hover";
27
27
  } | null;
28
28
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
29
29
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -89,7 +89,7 @@ export declare const actionToggleLinearEditor: {
89
89
  name: "imageExport" | "help" | "jsonExport";
90
90
  } | {
91
91
  name: "ttd";
92
- tab: "text-to-diagram" | "mermaid";
92
+ tab: "mermaid" | "text-to-diagram";
93
93
  } | {
94
94
  name: "commandPalette";
95
95
  } | {
@@ -174,16 +174,10 @@ export declare const actionToggleLinearEditor: {
174
174
  followedBy: Set<import("../types").SocketId>;
175
175
  isCropping: boolean;
176
176
  croppingElementId: string | null;
177
- searchMatches: readonly {
178
- id: string;
179
- focus: boolean;
180
- matchedLines: {
181
- offsetX: number;
182
- offsetY: number;
183
- width: number;
184
- height: number;
185
- }[];
186
- }[];
177
+ searchMatches: Readonly<{
178
+ focusedId: string | null;
179
+ matches: readonly import("../types").SearchMatch[];
180
+ }> | null;
187
181
  };
188
182
  captureUpdate: "IMMEDIATELY";
189
183
  };
@@ -18,7 +18,7 @@ export declare const actionLink: {
18
18
  errorMessage: import("react").ReactNode;
19
19
  activeEmbeddable: {
20
20
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
21
- state: "hover" | "active";
21
+ state: "active" | "hover";
22
22
  } | null;
23
23
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
24
24
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -84,7 +84,7 @@ export declare const actionLink: {
84
84
  name: "imageExport" | "help" | "jsonExport";
85
85
  } | {
86
86
  name: "ttd";
87
- tab: "text-to-diagram" | "mermaid";
87
+ tab: "mermaid" | "text-to-diagram";
88
88
  } | {
89
89
  name: "commandPalette";
90
90
  } | {
@@ -168,16 +168,10 @@ export declare const actionLink: {
168
168
  followedBy: Set<import("../types").SocketId>;
169
169
  isCropping: boolean;
170
170
  croppingElementId: string | null;
171
- searchMatches: readonly {
172
- id: string;
173
- focus: boolean;
174
- matchedLines: {
175
- offsetX: number;
176
- offsetY: number;
177
- width: number;
178
- height: number;
179
- }[];
180
- }[];
171
+ searchMatches: Readonly<{
172
+ focusedId: string | null;
173
+ matches: readonly import("../types").SearchMatch[];
174
+ }> | null;
181
175
  };
182
176
  captureUpdate: "IMMEDIATELY";
183
177
  };
@@ -185,9 +179,9 @@ export declare const actionLink: {
185
179
  category: "hyperlink";
186
180
  action: string;
187
181
  };
188
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
182
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
189
183
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
190
184
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
191
185
  } & {
192
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
186
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
193
187
  };
@@ -18,7 +18,7 @@ export declare const actionToggleCanvasMenu: {
18
18
  errorMessage: import("react").ReactNode;
19
19
  activeEmbeddable: {
20
20
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
21
- state: "hover" | "active";
21
+ state: "active" | "hover";
22
22
  } | null;
23
23
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
24
24
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -84,7 +84,7 @@ export declare const actionToggleCanvasMenu: {
84
84
  name: "imageExport" | "help" | "jsonExport";
85
85
  } | {
86
86
  name: "ttd";
87
- tab: "text-to-diagram" | "mermaid";
87
+ tab: "mermaid" | "text-to-diagram";
88
88
  } | {
89
89
  name: "commandPalette";
90
90
  } | {
@@ -169,16 +169,10 @@ export declare const actionToggleCanvasMenu: {
169
169
  followedBy: Set<import("../types").SocketId>;
170
170
  isCropping: boolean;
171
171
  croppingElementId: string | null;
172
- searchMatches: readonly {
173
- id: string;
174
- focus: boolean;
175
- matchedLines: {
176
- offsetX: number;
177
- offsetY: number;
178
- width: number;
179
- height: number;
180
- }[];
181
- }[];
172
+ searchMatches: Readonly<{
173
+ focusedId: string | null;
174
+ matches: readonly import("../types").SearchMatch[];
175
+ }> | null;
182
176
  };
183
177
  captureUpdate: "EVENTUALLY";
184
178
  };
@@ -205,7 +199,7 @@ export declare const actionToggleEditMenu: {
205
199
  errorMessage: import("react").ReactNode;
206
200
  activeEmbeddable: {
207
201
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
208
- state: "hover" | "active";
202
+ state: "active" | "hover";
209
203
  } | null;
210
204
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
211
205
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -271,7 +265,7 @@ export declare const actionToggleEditMenu: {
271
265
  name: "imageExport" | "help" | "jsonExport";
272
266
  } | {
273
267
  name: "ttd";
274
- tab: "text-to-diagram" | "mermaid";
268
+ tab: "mermaid" | "text-to-diagram";
275
269
  } | {
276
270
  name: "commandPalette";
277
271
  } | {
@@ -356,16 +350,10 @@ export declare const actionToggleEditMenu: {
356
350
  followedBy: Set<import("../types").SocketId>;
357
351
  isCropping: boolean;
358
352
  croppingElementId: string | null;
359
- searchMatches: readonly {
360
- id: string;
361
- focus: boolean;
362
- matchedLines: {
363
- offsetX: number;
364
- offsetY: number;
365
- width: number;
366
- height: number;
367
- }[];
368
- }[];
353
+ searchMatches: Readonly<{
354
+ focusedId: string | null;
355
+ matches: readonly import("../types").SearchMatch[];
356
+ }> | null;
369
357
  };
370
358
  captureUpdate: "EVENTUALLY";
371
359
  };
@@ -397,7 +385,7 @@ export declare const actionShortcuts: {
397
385
  errorMessage: import("react").ReactNode;
398
386
  activeEmbeddable: {
399
387
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
400
- state: "hover" | "active";
388
+ state: "active" | "hover";
401
389
  } | null;
402
390
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
403
391
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -538,20 +526,14 @@ export declare const actionShortcuts: {
538
526
  followedBy: Set<import("../types").SocketId>;
539
527
  isCropping: boolean;
540
528
  croppingElementId: string | null;
541
- searchMatches: readonly {
542
- id: string;
543
- focus: boolean;
544
- matchedLines: {
545
- offsetX: number;
546
- offsetY: number;
547
- width: number;
548
- height: number;
549
- }[];
550
- }[];
529
+ searchMatches: Readonly<{
530
+ focusedId: string | null;
531
+ matches: readonly import("../types").SearchMatch[];
532
+ }> | null;
551
533
  };
552
534
  captureUpdate: "EVENTUALLY";
553
535
  };
554
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
536
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
555
537
  } & {
556
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
538
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
557
539
  };
@@ -20,7 +20,7 @@ export declare const actionGoToCollaborator: {
20
20
  errorMessage: import("react").ReactNode;
21
21
  activeEmbeddable: {
22
22
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
23
- state: "hover" | "active";
23
+ state: "active" | "hover";
24
24
  } | null;
25
25
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
26
26
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -87,7 +87,7 @@ export declare const actionGoToCollaborator: {
87
87
  name: "imageExport" | "help" | "jsonExport";
88
88
  } | {
89
89
  name: "ttd";
90
- tab: "text-to-diagram" | "mermaid";
90
+ tab: "mermaid" | "text-to-diagram";
91
91
  } | {
92
92
  name: "commandPalette";
93
93
  } | {
@@ -171,16 +171,10 @@ export declare const actionGoToCollaborator: {
171
171
  followedBy: Set<import("../types").SocketId>;
172
172
  isCropping: boolean;
173
173
  croppingElementId: string | null;
174
- searchMatches: readonly {
175
- id: string;
176
- focus: boolean;
177
- matchedLines: {
178
- offsetX: number;
179
- offsetY: number;
180
- width: number;
181
- height: number;
182
- }[];
183
- }[];
174
+ searchMatches: Readonly<{
175
+ focusedId: string | null;
176
+ matches: readonly import("../types").SearchMatch[];
177
+ }> | null;
184
178
  };
185
179
  captureUpdate: "EVENTUALLY";
186
180
  } | {
@@ -200,7 +194,7 @@ export declare const actionGoToCollaborator: {
200
194
  errorMessage: import("react").ReactNode;
201
195
  activeEmbeddable: {
202
196
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
203
- state: "hover" | "active";
197
+ state: "active" | "hover";
204
198
  } | null;
205
199
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
206
200
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -266,7 +260,7 @@ export declare const actionGoToCollaborator: {
266
260
  name: "imageExport" | "help" | "jsonExport";
267
261
  } | {
268
262
  name: "ttd";
269
- tab: "text-to-diagram" | "mermaid";
263
+ tab: "mermaid" | "text-to-diagram";
270
264
  } | {
271
265
  name: "commandPalette";
272
266
  } | {
@@ -350,16 +344,10 @@ export declare const actionGoToCollaborator: {
350
344
  followedBy: Set<import("../types").SocketId>;
351
345
  isCropping: boolean;
352
346
  croppingElementId: string | null;
353
- searchMatches: readonly {
354
- id: string;
355
- focus: boolean;
356
- matchedLines: {
357
- offsetX: number;
358
- offsetY: number;
359
- width: number;
360
- height: number;
361
- }[];
362
- }[];
347
+ searchMatches: Readonly<{
348
+ focusedId: string | null;
349
+ matches: readonly import("../types").SearchMatch[];
350
+ }> | null;
363
351
  };
364
352
  captureUpdate: "EVENTUALLY";
365
353
  };