@excalidraw/math 0.18.0-ab0255f → 0.18.0-abeeaeb

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 (50) hide show
  1. package/dist/types/common/src/colors.d.ts +5 -7
  2. package/dist/types/element/src/sortElements.d.ts +10 -0
  3. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +15 -6
  4. package/dist/types/excalidraw/actions/actionBoundText.d.ts +10 -4
  5. package/dist/types/excalidraw/actions/actionCanvas.d.ts +35 -14
  6. package/dist/types/excalidraw/actions/actionClipboard.d.ts +10 -4
  7. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +5 -2
  8. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +15 -6
  9. package/dist/types/excalidraw/actions/actionDeselect.d.ts +5 -2
  10. package/dist/types/excalidraw/actions/actionElementLink.d.ts +5 -2
  11. package/dist/types/excalidraw/actions/actionElementLock.d.ts +10 -4
  12. package/dist/types/excalidraw/actions/actionExport.d.ts +10 -4
  13. package/dist/types/excalidraw/actions/actionFrame.d.ts +15 -6
  14. package/dist/types/excalidraw/actions/actionGroup.d.ts +11 -5
  15. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +5 -2
  16. package/dist/types/excalidraw/actions/actionLink.d.ts +5 -2
  17. package/dist/types/excalidraw/actions/actionMenu.d.ts +5 -2
  18. package/dist/types/excalidraw/actions/actionProperties.d.ts +10 -4
  19. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +5 -2
  20. package/dist/types/excalidraw/actions/actionStyles.d.ts +5 -2
  21. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +5 -2
  22. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +5 -2
  23. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +5 -2
  24. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +5 -2
  25. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +5 -2
  26. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +5 -2
  27. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +5 -2
  28. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +5 -2
  29. package/dist/types/excalidraw/appState.d.ts +5 -0
  30. package/dist/types/excalidraw/components/App.bucketFill.d.ts +14 -0
  31. package/dist/types/excalidraw/components/App.cursor.d.ts +2 -3
  32. package/dist/types/excalidraw/components/App.d.ts +12 -5
  33. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +6 -2
  34. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  35. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -1
  36. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +4 -2
  37. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  38. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  39. package/dist/types/excalidraw/components/ColorPicker/topPicksDnD.d.ts +31 -0
  40. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  41. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  42. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  43. package/dist/types/excalidraw/components/icons.d.ts +3 -0
  44. package/dist/types/excalidraw/data/blob.d.ts +10 -4
  45. package/dist/types/excalidraw/data/json.d.ts +5 -2
  46. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  47. package/dist/types/excalidraw/types.d.ts +47 -4
  48. package/dist/types/excalidraw/viewport.d.ts +5 -2
  49. package/package.json +2 -2
  50. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
@@ -1,4 +1,5 @@
1
1
  export declare const applyDarkModeFilter: (color: string, enable?: boolean) => string;
2
+ export declare const removeDarkModeFilter: (color: string) => string;
2
3
  export type ColorTuple = readonly [string, string, string, string, string];
3
4
  export type ColorPaletteCustom = {
4
5
  [key: string]: ColorTuple | string;
@@ -28,6 +29,10 @@ export declare const COLOR_PALETTE: {
28
29
  };
29
30
  export type ColorPalette = typeof COLOR_PALETTE;
30
31
  export type ColorPickerColor = keyof typeof COLOR_PALETTE;
32
+ /** number of slots in the color-picker top-picks strip — the strip layout is
33
+ * sized for exactly this many swatches, and pick customization (replace /
34
+ * reorder) preserves it */
35
+ export declare const COLOR_TOP_PICKS_SLOTS = 5;
31
36
  export declare const DEFAULT_ELEMENT_STROKE_PICKS: ColorTuple;
32
37
  export declare const DEFAULT_ELEMENT_BACKGROUND_PICKS: ColorTuple;
33
38
  export declare const BUCKET_FILL_BACKGROUND_PICKS: ColorTuple;
@@ -66,13 +71,6 @@ export declare const DEFAULT_ELEMENT_BACKGROUND_COLOR_PALETTE: {
66
71
  readonly black: "#1e1e1e";
67
72
  readonly bronze: readonly ["#f8f1ee", "#eaddd7", "#d2bab0", "#a18072", "#846358"];
68
73
  };
69
- /**
70
- * The color the bucket fill tool actually fills with: the shared
71
- * `currentItemBackgroundColor`, falling back to green when that is
72
- * transparent (the tool's picker doesn't offer transparent, but the shared
73
- * state can hold it from the generic shape picker).
74
- */
75
- export declare const getBucketFillBackgroundColor: (backgroundColor: string) => string;
76
74
  export declare const getAllColorsSpecificShade: (index: 0 | 1 | 2 | 3 | 4) => ("#fff5f5" | "#ffc9c9" | "#ff8787" | "#fa5252" | "#e03131" | "#fff0f6" | "#fcc2d7" | "#f783ac" | "#e64980" | "#c2255c" | "#f8f0fc" | "#eebefa" | "#da77f2" | "#be4bdb" | "#9c36b5" | "#f3f0ff" | "#d0bfff" | "#9775fa" | "#7950f2" | "#6741d9" | "#e7f5ff" | "#a5d8ff" | "#4dabf7" | "#228be6" | "#1971c2" | "#e3fafc" | "#99e9f2" | "#3bc9db" | "#15aabf" | "#0c8599" | "#e6fcf5" | "#96f2d7" | "#38d9a9" | "#12b886" | "#099268" | "#ebfbee" | "#b2f2bb" | "#69db7c" | "#40c057" | "#2f9e44" | "#fff9db" | "#ffec99" | "#ffd43b" | "#fab005" | "#f08c00" | "#fff4e6" | "#ffd8a8" | "#ffa94d" | "#fd7e14" | "#e8590c")[];
77
75
  export declare const rgbToHex: (r: number, g: number, b: number, a?: number) => string;
78
76
  /**
@@ -1,2 +1,12 @@
1
1
  import type { ExcalidrawElement } from "./types";
2
+ /**
3
+ * In theory, when we have text elements bound to a container, they
4
+ * should be right after the container element in the elements array.
5
+ * However, this is not guaranteed due to old and potential future bugs.
6
+ *
7
+ * This function sorts containers and their bound texts together. It prefers
8
+ * original z-index of container (i.e. it moves bound text elements after
9
+ * containers).
10
+ */
11
+ export declare const normalizeBoundElementsOrder: <T extends ExcalidrawElement>(elements: readonly T[]) => readonly T[];
2
12
  export declare const normalizeElementOrder: (elements: readonly ExcalidrawElement[]) => readonly ExcalidrawElement[];
@@ -152,8 +152,6 @@ export declare const actionAddToLibrary: {
152
152
  y: number;
153
153
  } | null;
154
154
  objectsSnapModeEnabled: boolean;
155
- userToFollow: import("../types").UserToFollow | null;
156
- followedBy: Set<import("../types").SocketId>;
157
155
  isCropping: boolean;
158
156
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
159
157
  searchMatches: Readonly<{
@@ -165,6 +163,11 @@ export declare const actionAddToLibrary: {
165
163
  [groupId: string]: true;
166
164
  };
167
165
  bindMode: import("@excalidraw/element/types").BindMode;
166
+ colorTopPicks: {
167
+ elementStroke: readonly string[] | null;
168
+ elementBackground: readonly string[] | null;
169
+ bucketFill: readonly string[] | null;
170
+ };
168
171
  };
169
172
  } | {
170
173
  captureUpdate: "EVENTUALLY";
@@ -317,8 +320,6 @@ export declare const actionAddToLibrary: {
317
320
  y: number;
318
321
  } | null;
319
322
  objectsSnapModeEnabled: boolean;
320
- userToFollow: import("../types").UserToFollow | null;
321
- followedBy: Set<import("../types").SocketId>;
322
323
  isCropping: boolean;
323
324
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
324
325
  searchMatches: Readonly<{
@@ -330,6 +331,11 @@ export declare const actionAddToLibrary: {
330
331
  [groupId: string]: true;
331
332
  };
332
333
  bindMode: import("@excalidraw/element/types").BindMode;
334
+ colorTopPicks: {
335
+ elementStroke: readonly string[] | null;
336
+ elementBackground: readonly string[] | null;
337
+ bucketFill: readonly string[] | null;
338
+ };
333
339
  };
334
340
  }> | {
335
341
  captureUpdate: "EVENTUALLY";
@@ -482,8 +488,6 @@ export declare const actionAddToLibrary: {
482
488
  y: number;
483
489
  } | null;
484
490
  objectsSnapModeEnabled: boolean;
485
- userToFollow: import("../types").UserToFollow | null;
486
- followedBy: Set<import("../types").SocketId>;
487
491
  isCropping: boolean;
488
492
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
489
493
  searchMatches: Readonly<{
@@ -495,6 +499,11 @@ export declare const actionAddToLibrary: {
495
499
  [groupId: string]: true;
496
500
  };
497
501
  bindMode: import("@excalidraw/element/types").BindMode;
502
+ colorTopPicks: {
503
+ elementStroke: readonly string[] | null;
504
+ elementBackground: readonly string[] | null;
505
+ bucketFill: readonly string[] | null;
506
+ };
498
507
  };
499
508
  };
500
509
  label: string;
@@ -174,8 +174,6 @@ export declare const actionBindText: {
174
174
  y: number;
175
175
  } | null;
176
176
  objectsSnapModeEnabled: boolean;
177
- userToFollow: import("../types").UserToFollow | null;
178
- followedBy: Set<import("../types").SocketId>;
179
177
  isCropping: boolean;
180
178
  croppingElementId: ExcalidrawElement["id"] | null;
181
179
  searchMatches: Readonly<{
@@ -187,6 +185,11 @@ export declare const actionBindText: {
187
185
  [groupId: string]: true;
188
186
  };
189
187
  bindMode: import("@excalidraw/element/types").BindMode;
188
+ colorTopPicks: {
189
+ elementStroke: readonly string[] | null;
190
+ elementBackground: readonly string[] | null;
191
+ bucketFill: readonly string[] | null;
192
+ };
190
193
  };
191
194
  captureUpdate: "IMMEDIATELY";
192
195
  };
@@ -351,8 +354,6 @@ export declare const actionWrapTextInContainer: {
351
354
  y: number;
352
355
  } | null;
353
356
  objectsSnapModeEnabled: boolean;
354
- userToFollow: import("../types").UserToFollow | null;
355
- followedBy: Set<import("../types").SocketId>;
356
357
  isCropping: boolean;
357
358
  croppingElementId: ExcalidrawElement["id"] | null;
358
359
  searchMatches: Readonly<{
@@ -364,6 +365,11 @@ export declare const actionWrapTextInContainer: {
364
365
  [groupId: string]: true;
365
366
  };
366
367
  bindMode: import("@excalidraw/element/types").BindMode;
368
+ colorTopPicks: {
369
+ elementStroke: readonly string[] | null;
370
+ elementBackground: readonly string[] | null;
371
+ bucketFill: readonly string[] | null;
372
+ };
367
373
  };
368
374
  captureUpdate: "IMMEDIATELY";
369
375
  };
@@ -26,6 +26,11 @@ export declare const actionClearCanvas: {
26
26
  open: boolean;
27
27
  panels: number;
28
28
  };
29
+ colorTopPicks: {
30
+ elementStroke: readonly string[] | null;
31
+ elementBackground: readonly string[] | null;
32
+ bucketFill: readonly string[] | null;
33
+ };
29
34
  activeTool: {
30
35
  lastActiveTool: import("../types").ActiveTool | null;
31
36
  locked: boolean;
@@ -166,8 +171,6 @@ export declare const actionClearCanvas: {
166
171
  y: number;
167
172
  } | null;
168
173
  objectsSnapModeEnabled: boolean;
169
- userToFollow: import("../types").UserToFollow | null;
170
- followedBy: Set<import("../types").SocketId>;
171
174
  lockedMultiSelections: {
172
175
  [groupId: string]: true;
173
176
  };
@@ -189,7 +192,6 @@ export declare const actionZoomIn: {
189
192
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
190
193
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
191
194
  appState: {
192
- userToFollow: null;
193
195
  zoom: import("../types").Zoom;
194
196
  scrollX: number;
195
197
  scrollY: number;
@@ -338,7 +340,6 @@ export declare const actionZoomIn: {
338
340
  y: number;
339
341
  } | null;
340
342
  objectsSnapModeEnabled: boolean;
341
- followedBy: Set<import("../types").SocketId>;
342
343
  isCropping: boolean;
343
344
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
344
345
  searchMatches: Readonly<{
@@ -350,6 +351,11 @@ export declare const actionZoomIn: {
350
351
  [groupId: string]: true;
351
352
  };
352
353
  bindMode: import("@excalidraw/element/types").BindMode;
354
+ colorTopPicks: {
355
+ elementStroke: readonly string[] | null;
356
+ elementBackground: readonly string[] | null;
357
+ bucketFill: readonly string[] | null;
358
+ };
353
359
  };
354
360
  captureUpdate: "EVENTUALLY";
355
361
  };
@@ -370,7 +376,6 @@ export declare const actionZoomOut: {
370
376
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
371
377
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
372
378
  appState: {
373
- userToFollow: null;
374
379
  zoom: import("../types").Zoom;
375
380
  scrollX: number;
376
381
  scrollY: number;
@@ -519,7 +524,6 @@ export declare const actionZoomOut: {
519
524
  y: number;
520
525
  } | null;
521
526
  objectsSnapModeEnabled: boolean;
522
- followedBy: Set<import("../types").SocketId>;
523
527
  isCropping: boolean;
524
528
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
525
529
  searchMatches: Readonly<{
@@ -531,6 +535,11 @@ export declare const actionZoomOut: {
531
535
  [groupId: string]: true;
532
536
  };
533
537
  bindMode: import("@excalidraw/element/types").BindMode;
538
+ colorTopPicks: {
539
+ elementStroke: readonly string[] | null;
540
+ elementBackground: readonly string[] | null;
541
+ bucketFill: readonly string[] | null;
542
+ };
534
543
  };
535
544
  captureUpdate: "EVENTUALLY";
536
545
  };
@@ -551,7 +560,6 @@ export declare const actionResetZoom: {
551
560
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
552
561
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
553
562
  appState: {
554
- userToFollow: null;
555
563
  zoom: import("../types").Zoom;
556
564
  scrollX: number;
557
565
  scrollY: number;
@@ -700,7 +708,6 @@ export declare const actionResetZoom: {
700
708
  y: number;
701
709
  } | null;
702
710
  objectsSnapModeEnabled: boolean;
703
- followedBy: Set<import("../types").SocketId>;
704
711
  isCropping: boolean;
705
712
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
706
713
  searchMatches: Readonly<{
@@ -712,6 +719,11 @@ export declare const actionResetZoom: {
712
719
  [groupId: string]: true;
713
720
  };
714
721
  bindMode: import("@excalidraw/element/types").BindMode;
722
+ colorTopPicks: {
723
+ elementStroke: readonly string[] | null;
724
+ elementBackground: readonly string[] | null;
725
+ bucketFill: readonly string[] | null;
726
+ };
715
727
  };
716
728
  captureUpdate: "EVENTUALLY";
717
729
  };
@@ -880,8 +892,6 @@ export declare const actionZoomToFitSelectionInViewport: {
880
892
  y: number;
881
893
  } | null;
882
894
  objectsSnapModeEnabled: boolean;
883
- userToFollow: import("../types").UserToFollow | null;
884
- followedBy: Set<import("../types").SocketId>;
885
895
  isCropping: boolean;
886
896
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
887
897
  searchMatches: Readonly<{
@@ -893,6 +903,11 @@ export declare const actionZoomToFitSelectionInViewport: {
893
903
  [groupId: string]: true;
894
904
  };
895
905
  bindMode: import("@excalidraw/element/types").BindMode;
906
+ colorTopPicks: {
907
+ elementStroke: readonly string[] | null;
908
+ elementBackground: readonly string[] | null;
909
+ bucketFill: readonly string[] | null;
910
+ };
896
911
  };
897
912
  captureUpdate: "EVENTUALLY";
898
913
  };
@@ -1060,8 +1075,6 @@ export declare const actionZoomToFitSelection: {
1060
1075
  y: number;
1061
1076
  } | null;
1062
1077
  objectsSnapModeEnabled: boolean;
1063
- userToFollow: import("../types").UserToFollow | null;
1064
- followedBy: Set<import("../types").SocketId>;
1065
1078
  isCropping: boolean;
1066
1079
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1067
1080
  searchMatches: Readonly<{
@@ -1073,6 +1086,11 @@ export declare const actionZoomToFitSelection: {
1073
1086
  [groupId: string]: true;
1074
1087
  };
1075
1088
  bindMode: import("@excalidraw/element/types").BindMode;
1089
+ colorTopPicks: {
1090
+ elementStroke: readonly string[] | null;
1091
+ elementBackground: readonly string[] | null;
1092
+ bucketFill: readonly string[] | null;
1093
+ };
1076
1094
  };
1077
1095
  captureUpdate: "EVENTUALLY";
1078
1096
  };
@@ -1240,8 +1258,6 @@ export declare const actionZoomToFit: {
1240
1258
  y: number;
1241
1259
  } | null;
1242
1260
  objectsSnapModeEnabled: boolean;
1243
- userToFollow: import("../types").UserToFollow | null;
1244
- followedBy: Set<import("../types").SocketId>;
1245
1261
  isCropping: boolean;
1246
1262
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1247
1263
  searchMatches: Readonly<{
@@ -1253,6 +1269,11 @@ export declare const actionZoomToFit: {
1253
1269
  [groupId: string]: true;
1254
1270
  };
1255
1271
  bindMode: import("@excalidraw/element/types").BindMode;
1272
+ colorTopPicks: {
1273
+ elementStroke: readonly string[] | null;
1274
+ elementBackground: readonly string[] | null;
1275
+ bucketFill: readonly string[] | null;
1276
+ };
1256
1277
  };
1257
1278
  captureUpdate: "EVENTUALLY";
1258
1279
  };
@@ -158,8 +158,6 @@ export declare const actionPaste: {
158
158
  y: number;
159
159
  } | null;
160
160
  objectsSnapModeEnabled: boolean;
161
- userToFollow: import("../types").UserToFollow | null;
162
- followedBy: Set<import("../types").SocketId>;
163
161
  isCropping: boolean;
164
162
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
165
163
  searchMatches: Readonly<{
@@ -171,6 +169,11 @@ export declare const actionPaste: {
171
169
  [groupId: string]: true;
172
170
  };
173
171
  bindMode: import("@excalidraw/element/types").BindMode;
172
+ colorTopPicks: {
173
+ elementStroke: readonly string[] | null;
174
+ elementBackground: readonly string[] | null;
175
+ bucketFill: readonly string[] | null;
176
+ };
174
177
  };
175
178
  } | {
176
179
  captureUpdate: "EVENTUALLY";
@@ -373,8 +376,6 @@ export declare const actionCopyAsPng: {
373
376
  y: number;
374
377
  } | null;
375
378
  objectsSnapModeEnabled: boolean;
376
- userToFollow: import("../types").UserToFollow | null;
377
- followedBy: Set<import("../types").SocketId>;
378
379
  isCropping: boolean;
379
380
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
380
381
  searchMatches: Readonly<{
@@ -386,6 +387,11 @@ export declare const actionCopyAsPng: {
386
387
  [groupId: string]: true;
387
388
  };
388
389
  bindMode: import("@excalidraw/element/types").BindMode;
390
+ colorTopPicks: {
391
+ elementStroke: readonly string[] | null;
392
+ elementBackground: readonly string[] | null;
393
+ bucketFill: readonly string[] | null;
394
+ };
389
395
  };
390
396
  captureUpdate: "EVENTUALLY";
391
397
  }>;
@@ -159,8 +159,6 @@ export declare const actionToggleCropEditor: {
159
159
  y: number;
160
160
  } | null;
161
161
  objectsSnapModeEnabled: boolean;
162
- userToFollow: import("../types").UserToFollow | null;
163
- followedBy: Set<import("../types").SocketId>;
164
162
  searchMatches: Readonly<{
165
163
  focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
166
164
  matches: readonly import("../types").SearchMatch[];
@@ -170,6 +168,11 @@ export declare const actionToggleCropEditor: {
170
168
  [groupId: string]: true;
171
169
  };
172
170
  bindMode: import("@excalidraw/element/types").BindMode;
171
+ colorTopPicks: {
172
+ elementStroke: readonly string[] | null;
173
+ elementBackground: readonly string[] | null;
174
+ bucketFill: readonly string[] | null;
175
+ };
173
176
  };
174
177
  captureUpdate: "IMMEDIATELY";
175
178
  };
@@ -159,8 +159,6 @@ export declare const actionDeleteSelected: {
159
159
  y: number;
160
160
  } | null;
161
161
  objectsSnapModeEnabled: boolean;
162
- userToFollow: import("../types").UserToFollow | null;
163
- followedBy: Set<import("../types").SocketId>;
164
162
  isCropping: boolean;
165
163
  croppingElementId: ExcalidrawElement["id"] | null;
166
164
  searchMatches: Readonly<{
@@ -172,6 +170,11 @@ export declare const actionDeleteSelected: {
172
170
  [groupId: string]: true;
173
171
  };
174
172
  bindMode: import("@excalidraw/element/types").BindMode;
173
+ colorTopPicks: {
174
+ elementStroke: readonly string[] | null;
175
+ elementBackground: readonly string[] | null;
176
+ bucketFill: readonly string[] | null;
177
+ };
175
178
  };
176
179
  captureUpdate: "IMMEDIATELY";
177
180
  } | {
@@ -358,8 +361,6 @@ export declare const actionDeleteSelected: {
358
361
  y: number;
359
362
  } | null;
360
363
  objectsSnapModeEnabled: boolean;
361
- userToFollow: import("../types").UserToFollow | null;
362
- followedBy: Set<import("../types").SocketId>;
363
364
  isCropping: boolean;
364
365
  croppingElementId: ExcalidrawElement["id"] | null;
365
366
  searchMatches: Readonly<{
@@ -371,6 +372,11 @@ export declare const actionDeleteSelected: {
371
372
  [groupId: string]: true;
372
373
  };
373
374
  bindMode: import("@excalidraw/element/types").BindMode;
375
+ colorTopPicks: {
376
+ elementStroke: readonly string[] | null;
377
+ elementBackground: readonly string[] | null;
378
+ bucketFill: readonly string[] | null;
379
+ };
374
380
  };
375
381
  captureUpdate: "IMMEDIATELY";
376
382
  } | {
@@ -517,8 +523,6 @@ export declare const actionDeleteSelected: {
517
523
  y: number;
518
524
  } | null;
519
525
  objectsSnapModeEnabled: boolean;
520
- userToFollow: import("../types").UserToFollow | null;
521
- followedBy: Set<import("../types").SocketId>;
522
526
  isCropping: boolean;
523
527
  croppingElementId: ExcalidrawElement["id"] | null;
524
528
  searchMatches: Readonly<{
@@ -530,6 +534,11 @@ export declare const actionDeleteSelected: {
530
534
  [groupId: string]: true;
531
535
  };
532
536
  bindMode: import("@excalidraw/element/types").BindMode;
537
+ colorTopPicks: {
538
+ elementStroke: readonly string[] | null;
539
+ elementBackground: readonly string[] | null;
540
+ bucketFill: readonly string[] | null;
541
+ };
533
542
  };
534
543
  captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
535
544
  };
@@ -140,8 +140,6 @@ export declare const actionDeselect: {
140
140
  y: number;
141
141
  } | null;
142
142
  objectsSnapModeEnabled: boolean;
143
- userToFollow: import("../types").UserToFollow | null;
144
- followedBy: Set<import("../types").SocketId>;
145
143
  isCropping: boolean;
146
144
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
147
145
  searchMatches: Readonly<{
@@ -153,6 +151,11 @@ export declare const actionDeselect: {
153
151
  [groupId: string]: true;
154
152
  };
155
153
  bindMode: import("@excalidraw/element/types").BindMode;
154
+ colorTopPicks: {
155
+ elementStroke: readonly string[] | null;
156
+ elementBackground: readonly string[] | null;
157
+ bucketFill: readonly string[] | null;
158
+ };
156
159
  };
157
160
  captureUpdate: "IMMEDIATELY";
158
161
  };
@@ -171,8 +171,6 @@ export declare const actionLinkToElement: {
171
171
  y: number;
172
172
  } | null;
173
173
  objectsSnapModeEnabled: boolean;
174
- userToFollow: import("../types").UserToFollow | null;
175
- followedBy: Set<import("../types").SocketId>;
176
174
  isCropping: boolean;
177
175
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
178
176
  searchMatches: Readonly<{
@@ -184,6 +182,11 @@ export declare const actionLinkToElement: {
184
182
  [groupId: string]: true;
185
183
  };
186
184
  bindMode: import("@excalidraw/element/types").BindMode;
185
+ colorTopPicks: {
186
+ elementStroke: readonly string[] | null;
187
+ elementBackground: readonly string[] | null;
188
+ bucketFill: readonly string[] | null;
189
+ };
187
190
  };
188
191
  captureUpdate: "IMMEDIATELY";
189
192
  elements?: undefined;
@@ -163,8 +163,6 @@ export declare const actionToggleElementLock: {
163
163
  y: number;
164
164
  } | null;
165
165
  objectsSnapModeEnabled: boolean;
166
- userToFollow: import("../types").UserToFollow | null;
167
- followedBy: Set<import("../types").SocketId>;
168
166
  isCropping: boolean;
169
167
  croppingElementId: ExcalidrawElement["id"] | null;
170
168
  searchMatches: Readonly<{
@@ -172,6 +170,11 @@ export declare const actionToggleElementLock: {
172
170
  matches: readonly import("../types").SearchMatch[];
173
171
  }> | null;
174
172
  bindMode: import("@excalidraw/element/types").BindMode;
173
+ colorTopPicks: {
174
+ elementStroke: readonly string[] | null;
175
+ elementBackground: readonly string[] | null;
176
+ bucketFill: readonly string[] | null;
177
+ };
175
178
  };
176
179
  captureUpdate: "IMMEDIATELY";
177
180
  };
@@ -340,8 +343,6 @@ export declare const actionUnlockAllElements: {
340
343
  y: number;
341
344
  } | null;
342
345
  objectsSnapModeEnabled: boolean;
343
- userToFollow: import("../types").UserToFollow | null;
344
- followedBy: Set<import("../types").SocketId>;
345
346
  isCropping: boolean;
346
347
  croppingElementId: ExcalidrawElement["id"] | null;
347
348
  searchMatches: Readonly<{
@@ -349,6 +350,11 @@ export declare const actionUnlockAllElements: {
349
350
  matches: readonly import("../types").SearchMatch[];
350
351
  }> | null;
351
352
  bindMode: import("@excalidraw/element/types").BindMode;
353
+ colorTopPicks: {
354
+ elementStroke: readonly string[] | null;
355
+ elementBackground: readonly string[] | null;
356
+ bucketFill: readonly string[] | null;
357
+ };
352
358
  };
353
359
  captureUpdate: "IMMEDIATELY";
354
360
  };
@@ -234,11 +234,14 @@ export declare const actionLoadScene: {
234
234
  y: number;
235
235
  } | null;
236
236
  objectsSnapModeEnabled: boolean;
237
- userToFollow: import("../types").UserToFollow | null;
238
- followedBy: Set<import("../types").SocketId>;
239
237
  lockedMultiSelections: {
240
238
  [groupId: string]: true;
241
239
  };
240
+ colorTopPicks: {
241
+ elementStroke: readonly string[] | null;
242
+ elementBackground: readonly string[] | null;
243
+ bucketFill: readonly string[] | null;
244
+ };
242
245
  };
243
246
  files: BinaryFiles;
244
247
  captureUpdate: "IMMEDIATELY";
@@ -393,8 +396,6 @@ export declare const actionLoadScene: {
393
396
  y: number;
394
397
  } | null;
395
398
  objectsSnapModeEnabled: boolean;
396
- userToFollow: import("../types").UserToFollow | null;
397
- followedBy: Set<import("../types").SocketId>;
398
399
  isCropping: boolean;
399
400
  croppingElementId: ExcalidrawElement["id"] | null;
400
401
  searchMatches: Readonly<{
@@ -406,6 +407,11 @@ export declare const actionLoadScene: {
406
407
  [groupId: string]: true;
407
408
  };
408
409
  bindMode: import("@excalidraw/element/types").BindMode;
410
+ colorTopPicks: {
411
+ elementStroke: readonly string[] | null;
412
+ elementBackground: readonly string[] | null;
413
+ bucketFill: readonly string[] | null;
414
+ };
409
415
  };
410
416
  files: BinaryFiles;
411
417
  captureUpdate: "EVENTUALLY";
@@ -155,8 +155,6 @@ export declare const actionSelectAllElementsInFrame: {
155
155
  y: number;
156
156
  } | null;
157
157
  objectsSnapModeEnabled: boolean;
158
- userToFollow: import("../types").UserToFollow | null;
159
- followedBy: Set<import("../types").SocketId>;
160
158
  isCropping: boolean;
161
159
  croppingElementId: ExcalidrawElement["id"] | null;
162
160
  searchMatches: Readonly<{
@@ -168,6 +166,11 @@ export declare const actionSelectAllElementsInFrame: {
168
166
  [groupId: string]: true;
169
167
  };
170
168
  bindMode: import("@excalidraw/element/types").BindMode;
169
+ colorTopPicks: {
170
+ elementStroke: readonly string[] | null;
171
+ elementBackground: readonly string[] | null;
172
+ bucketFill: readonly string[] | null;
173
+ };
171
174
  };
172
175
  captureUpdate: "IMMEDIATELY";
173
176
  } | {
@@ -336,8 +339,6 @@ export declare const actionRemoveAllElementsFromFrame: {
336
339
  y: number;
337
340
  } | null;
338
341
  objectsSnapModeEnabled: boolean;
339
- userToFollow: import("../types").UserToFollow | null;
340
- followedBy: Set<import("../types").SocketId>;
341
342
  isCropping: boolean;
342
343
  croppingElementId: ExcalidrawElement["id"] | null;
343
344
  searchMatches: Readonly<{
@@ -349,6 +350,11 @@ export declare const actionRemoveAllElementsFromFrame: {
349
350
  [groupId: string]: true;
350
351
  };
351
352
  bindMode: import("@excalidraw/element/types").BindMode;
353
+ colorTopPicks: {
354
+ elementStroke: readonly string[] | null;
355
+ elementBackground: readonly string[] | null;
356
+ bucketFill: readonly string[] | null;
357
+ };
352
358
  };
353
359
  captureUpdate: "IMMEDIATELY";
354
360
  } | {
@@ -518,8 +524,6 @@ export declare const actionupdateFrameRendering: {
518
524
  y: number;
519
525
  } | null;
520
526
  objectsSnapModeEnabled: boolean;
521
- userToFollow: import("../types").UserToFollow | null;
522
- followedBy: Set<import("../types").SocketId>;
523
527
  isCropping: boolean;
524
528
  croppingElementId: ExcalidrawElement["id"] | null;
525
529
  searchMatches: Readonly<{
@@ -531,6 +535,11 @@ export declare const actionupdateFrameRendering: {
531
535
  [groupId: string]: true;
532
536
  };
533
537
  bindMode: import("@excalidraw/element/types").BindMode;
538
+ colorTopPicks: {
539
+ elementStroke: readonly string[] | null;
540
+ elementBackground: readonly string[] | null;
541
+ bucketFill: readonly string[] | null;
542
+ };
534
543
  };
535
544
  captureUpdate: "EVENTUALLY";
536
545
  };