@excalidraw/math 0.18.0-a9ca16e → 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 (184) hide show
  1. package/dist/dev/index.js +297 -99
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +1 -1
  4. package/dist/types/common/src/colors.d.ts +15 -1
  5. package/dist/types/common/src/constants.d.ts +12 -7
  6. package/dist/types/common/src/keys.d.ts +2 -0
  7. package/dist/types/common/src/points.d.ts +1 -1
  8. package/dist/types/common/src/utils.d.ts +1 -43
  9. package/dist/types/element/src/Scene.d.ts +6 -4
  10. package/dist/types/element/src/align.d.ts +2 -2
  11. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  12. package/dist/types/element/src/arrows/focus.d.ts +5 -2
  13. package/dist/types/element/src/binding.d.ts +17 -8
  14. package/dist/types/element/src/bounds.d.ts +22 -7
  15. package/dist/types/element/src/bucketFill.d.ts +110 -0
  16. package/dist/types/element/src/collision.d.ts +1 -1
  17. package/dist/types/element/src/comparisons.d.ts +5 -4
  18. package/dist/types/element/src/convertToShape.d.ts +23 -0
  19. package/dist/types/element/src/distribute.d.ts +2 -2
  20. package/dist/types/element/src/dragElements.d.ts +27 -0
  21. package/dist/types/element/src/duplicate.d.ts +4 -3
  22. package/dist/types/element/src/embeddable.d.ts +2 -2
  23. package/dist/types/element/src/flowchart.d.ts +7 -7
  24. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  25. package/dist/types/element/src/frame.d.ts +9 -8
  26. package/dist/types/element/src/groups.d.ts +9 -9
  27. package/dist/types/element/src/index.d.ts +4 -1
  28. package/dist/types/element/src/linearElementEditor.d.ts +17 -10
  29. package/dist/types/element/src/newElement.d.ts +14 -0
  30. package/dist/types/element/src/renderElement.d.ts +0 -3
  31. package/dist/types/element/src/resizeElements.d.ts +2 -2
  32. package/dist/types/element/src/selection.d.ts +6 -6
  33. package/dist/types/element/src/shape.d.ts +13 -1
  34. package/dist/types/element/src/sortElements.d.ts +10 -0
  35. package/dist/types/element/src/textElement.d.ts +12 -9
  36. package/dist/types/element/src/transform.d.ts +2 -2
  37. package/dist/types/element/src/typeChecks.d.ts +26 -25
  38. package/dist/types/element/src/types.d.ts +8 -1
  39. package/dist/types/element/src/utils.d.ts +1 -1
  40. package/dist/types/element/src/zindex.d.ts +2 -2
  41. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +45 -18
  42. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  43. package/dist/types/excalidraw/actions/actionBoundText.d.ts +30 -12
  44. package/dist/types/excalidraw/actions/actionCanvas.d.ts +167 -940
  45. package/dist/types/excalidraw/actions/actionClipboard.d.ts +30 -12
  46. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +15 -6
  47. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +47 -19
  48. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionDeselect.d.ts} +29 -35
  49. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  50. package/dist/types/excalidraw/actions/actionElementLink.d.ts +15 -6
  51. package/dist/types/excalidraw/actions/actionElementLock.d.ts +31 -13
  52. package/dist/types/excalidraw/actions/actionExport.d.ts +32 -14
  53. package/dist/types/excalidraw/actions/actionFrame.d.ts +57 -202
  54. package/dist/types/excalidraw/actions/actionGroup.d.ts +45 -27
  55. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +19 -8
  56. package/dist/types/excalidraw/actions/actionLink.d.ts +16 -7
  57. package/dist/types/excalidraw/actions/actionMenu.d.ts +15 -6
  58. package/dist/types/excalidraw/actions/actionProperties.d.ts +60 -30
  59. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +20 -11
  60. package/dist/types/excalidraw/actions/actionStyles.d.ts +15 -6
  61. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  62. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +16 -7
  63. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +19 -11
  64. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +16 -7
  65. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +16 -7
  66. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +19 -11
  67. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  68. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +16 -7
  69. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +17 -8
  70. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +16 -7
  71. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  72. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  73. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  74. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  75. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  76. package/dist/types/excalidraw/appState.d.ts +12 -5
  77. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  78. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  79. package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
  80. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  81. package/dist/types/excalidraw/components/App.cursor.d.ts +30 -0
  82. package/dist/types/excalidraw/components/App.d.ts +363 -66
  83. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  84. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  85. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  86. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  87. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  88. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -1
  89. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  90. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  91. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  92. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  93. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  94. package/dist/types/excalidraw/components/ColorPicker/topPicksDnD.d.ts +31 -0
  95. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  96. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  97. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  98. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  99. package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
  100. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  101. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  102. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  103. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  104. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  105. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  106. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  107. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  108. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  109. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  110. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  111. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  112. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  113. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  114. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  115. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  116. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  117. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  118. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  119. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  120. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  121. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  122. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  123. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
  124. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
  125. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  126. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  127. package/dist/types/excalidraw/components/Tools.d.ts +146 -0
  128. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  129. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  130. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
  131. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  132. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  133. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  134. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  135. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  136. package/dist/types/excalidraw/components/icons.d.ts +6 -1
  137. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +8 -4
  138. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  139. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  140. package/dist/types/excalidraw/data/blob.d.ts +34 -16
  141. package/dist/types/excalidraw/data/index.d.ts +4 -4
  142. package/dist/types/excalidraw/data/json.d.ts +23 -14
  143. package/dist/types/excalidraw/data/library.d.ts +1 -1
  144. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  145. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  146. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  147. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  148. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  149. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  150. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  151. package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
  152. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +1 -3
  153. package/dist/types/excalidraw/scene/Renderer.d.ts +426 -19
  154. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  155. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  156. package/dist/types/excalidraw/scene/types.d.ts +4 -3
  157. package/dist/types/excalidraw/snapping.d.ts +7 -7
  158. package/dist/types/excalidraw/types.d.ts +415 -23
  159. package/dist/types/excalidraw/viewport.d.ts +275 -0
  160. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -3
  161. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  162. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  163. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  164. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  165. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  166. package/dist/types/math/src/constants.d.ts +0 -1
  167. package/dist/types/math/src/curve.d.ts +4 -1
  168. package/dist/types/math/src/index.d.ts +1 -0
  169. package/dist/types/math/src/pca.d.ts +79 -0
  170. package/dist/types/math/src/point.d.ts +1 -0
  171. package/dist/types/math/src/polygon.d.ts +25 -1
  172. package/dist/types/utils/src/export.d.ts +3 -3
  173. package/dist/types/utils/src/index.d.ts +1 -2
  174. package/package.json +2 -2
  175. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  176. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  177. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  178. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
  179. package/dist/types/excalidraw/components/shapes.d.ts +0 -263
  180. package/dist/types/excalidraw/cursor.d.ts +0 -5
  181. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  182. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  183. package/dist/types/utils/src/bbox.d.ts +0 -9
  184. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -1,8 +1,6 @@
1
- import { type SceneBounds } from "@excalidraw/element";
2
- import type { ExcalidrawElement } from "@excalidraw/element/types";
3
- import type { AppState, Offsets } from "../types";
1
+ import type { AppState } from "../types";
4
2
  export declare const actionChangeViewBackgroundColor: import("./types").Action<Partial<AppState>> & {
5
- keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
3
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
6
4
  };
7
5
  export declare const actionClearCanvas: {
8
6
  name: "clearCanvas";
@@ -11,7 +9,7 @@ export declare const actionClearCanvas: {
11
9
  trackEvent: {
12
10
  category: "canvas";
13
11
  };
14
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
12
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
15
13
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
16
14
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
17
15
  appState: {
@@ -28,6 +26,11 @@ export declare const actionClearCanvas: {
28
26
  open: boolean;
29
27
  panels: number;
30
28
  };
29
+ colorTopPicks: {
30
+ elementStroke: readonly string[] | null;
31
+ elementBackground: readonly string[] | null;
32
+ bucketFill: readonly string[] | null;
33
+ };
31
34
  activeTool: {
32
35
  lastActiveTool: import("../types").ActiveTool | null;
33
36
  locked: boolean;
@@ -56,7 +59,7 @@ export declare const actionClearCanvas: {
56
59
  name: "settings";
57
60
  } | {
58
61
  name: "elementLinkSelector";
59
- sourceElementId: ExcalidrawElement["id"];
62
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
60
63
  } | {
61
64
  name: "charts";
62
65
  data: import("../charts").Spreadsheet;
@@ -84,16 +87,20 @@ export declare const actionClearCanvas: {
84
87
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
85
88
  midPoint?: import("@excalidraw/math").GlobalPoint;
86
89
  } | null;
90
+ hoveredArrowTextAnchor: {
91
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
92
+ anchor: "start" | "end" | "label";
93
+ } | null;
87
94
  isRotating: boolean;
88
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
95
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
89
96
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
90
97
  snapLines: readonly import("../snapping").SnapLine[];
91
98
  zenModeEnabled: boolean;
92
99
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
93
100
  isCropping: boolean;
94
- croppingElementId: ExcalidrawElement["id"] | null;
101
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
95
102
  searchMatches: Readonly<{
96
- focusedId: ExcalidrawElement["id"] | null;
103
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
97
104
  matches: readonly import("../types").SearchMatch[];
98
105
  }> | null;
99
106
  activeLockedId: string | null;
@@ -113,9 +120,9 @@ export declare const actionClearCanvas: {
113
120
  isLoading: boolean;
114
121
  errorMessage: React.ReactNode;
115
122
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
123
+ boxSelectionMode: import("../types").BoxSelectionMode;
116
124
  bindingPreference: "enabled" | "disabled";
117
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
118
- editingFrame: string | null;
125
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
119
126
  preferredSelectionTool: {
120
127
  type: "selection" | "lasso";
121
128
  initialized: boolean;
@@ -123,10 +130,11 @@ export declare const actionClearCanvas: {
123
130
  exportWithDarkMode: boolean;
124
131
  currentItemStrokeColor: string;
125
132
  currentItemBackgroundColor: string;
126
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
127
- currentItemStrokeWidth: number;
128
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
133
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
134
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
135
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
129
136
  currentItemRoughness: number;
137
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
130
138
  currentItemOpacity: number;
131
139
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
132
140
  currentItemFontSize: number;
@@ -135,6 +143,7 @@ export declare const actionClearCanvas: {
135
143
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
136
144
  currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
137
145
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
146
+ scrollConstraints: import("../types").ScrollConstraints | null;
138
147
  cursorButton: "up" | "down";
139
148
  scrolledOutside: boolean;
140
149
  isResizing: boolean;
@@ -162,8 +171,6 @@ export declare const actionClearCanvas: {
162
171
  y: number;
163
172
  } | null;
164
173
  objectsSnapModeEnabled: boolean;
165
- userToFollow: import("../types").UserToFollow | null;
166
- followedBy: Set<import("../types").SocketId>;
167
174
  lockedMultiSelections: {
168
175
  [groupId: string]: true;
169
176
  };
@@ -177,18 +184,17 @@ export declare const actionZoomIn: {
177
184
  name: "zoomIn";
178
185
  label: string;
179
186
  viewMode: true;
187
+ navigation: true;
180
188
  icon: import("react/jsx-runtime").JSX.Element;
181
189
  trackEvent: {
182
190
  category: "canvas";
183
191
  };
192
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
184
193
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
185
194
  appState: {
186
- userToFollow: null;
195
+ zoom: import("../types").Zoom;
187
196
  scrollX: number;
188
197
  scrollY: number;
189
- zoom: {
190
- value: import("../types").NormalizedZoomValue;
191
- };
192
198
  contextMenu: {
193
199
  items: import("../components/ContextMenu").ContextMenuItems;
194
200
  top: number;
@@ -206,13 +212,17 @@ export declare const actionZoomIn: {
206
212
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
207
213
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
208
214
  isBindingEnabled: boolean;
215
+ boxSelectionMode: import("../types").BoxSelectionMode;
209
216
  bindingPreference: "enabled" | "disabled";
210
217
  isMidpointSnappingEnabled: boolean;
211
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
212
218
  suggestedBinding: {
213
219
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
214
220
  midPoint?: import("@excalidraw/math").GlobalPoint;
215
221
  } | null;
222
+ hoveredArrowTextAnchor: {
223
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
224
+ anchor: "start" | "end" | "label";
225
+ } | null;
216
226
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
217
227
  frameRendering: {
218
228
  enabled: boolean;
@@ -220,8 +230,8 @@ export declare const actionZoomIn: {
220
230
  outline: boolean;
221
231
  clip: boolean;
222
232
  };
223
- editingFrame: string | null;
224
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
233
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
234
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
225
235
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
226
236
  activeTool: {
227
237
  lastActiveTool: import("../types").ActiveTool | null;
@@ -240,10 +250,11 @@ export declare const actionZoomIn: {
240
250
  exportScale: number;
241
251
  currentItemStrokeColor: string;
242
252
  currentItemBackgroundColor: string;
243
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
244
- currentItemStrokeWidth: number;
245
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
253
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
254
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
255
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
246
256
  currentItemRoughness: number;
257
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
247
258
  currentItemOpacity: number;
248
259
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
249
260
  currentItemFontSize: number;
@@ -254,6 +265,7 @@ export declare const actionZoomIn: {
254
265
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
255
266
  currentItemArrowType: "sharp" | "round" | "elbow";
256
267
  viewBackgroundColor: string;
268
+ scrollConstraints: import("../types").ScrollConstraints | null;
257
269
  cursorButton: "up" | "down";
258
270
  scrolledOutside: boolean;
259
271
  name: string | null;
@@ -276,7 +288,7 @@ export declare const actionZoomIn: {
276
288
  name: "settings";
277
289
  } | {
278
290
  name: "elementLinkSelector";
279
- sourceElementId: ExcalidrawElement["id"];
291
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
280
292
  } | {
281
293
  name: "charts";
282
294
  data: import("../charts").Spreadsheet;
@@ -328,11 +340,10 @@ export declare const actionZoomIn: {
328
340
  y: number;
329
341
  } | null;
330
342
  objectsSnapModeEnabled: boolean;
331
- followedBy: Set<import("../types").SocketId>;
332
343
  isCropping: boolean;
333
- croppingElementId: ExcalidrawElement["id"] | null;
344
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
334
345
  searchMatches: Readonly<{
335
- focusedId: ExcalidrawElement["id"] | null;
346
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
336
347
  matches: readonly import("../types").SearchMatch[];
337
348
  }> | null;
338
349
  activeLockedId: string | null;
@@ -340,10 +351,15 @@ export declare const actionZoomIn: {
340
351
  [groupId: string]: true;
341
352
  };
342
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
+ };
343
359
  };
344
360
  captureUpdate: "EVENTUALLY";
345
361
  };
346
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
362
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
347
363
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
348
364
  } & {
349
365
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -353,17 +369,16 @@ export declare const actionZoomOut: {
353
369
  label: string;
354
370
  icon: import("react/jsx-runtime").JSX.Element;
355
371
  viewMode: true;
372
+ navigation: true;
356
373
  trackEvent: {
357
374
  category: "canvas";
358
375
  };
376
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
359
377
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
360
378
  appState: {
361
- userToFollow: null;
379
+ zoom: import("../types").Zoom;
362
380
  scrollX: number;
363
381
  scrollY: number;
364
- zoom: {
365
- value: import("../types").NormalizedZoomValue;
366
- };
367
382
  contextMenu: {
368
383
  items: import("../components/ContextMenu").ContextMenuItems;
369
384
  top: number;
@@ -381,13 +396,17 @@ export declare const actionZoomOut: {
381
396
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
382
397
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
383
398
  isBindingEnabled: boolean;
399
+ boxSelectionMode: import("../types").BoxSelectionMode;
384
400
  bindingPreference: "enabled" | "disabled";
385
401
  isMidpointSnappingEnabled: boolean;
386
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
387
402
  suggestedBinding: {
388
403
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
389
404
  midPoint?: import("@excalidraw/math").GlobalPoint;
390
405
  } | null;
406
+ hoveredArrowTextAnchor: {
407
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
408
+ anchor: "start" | "end" | "label";
409
+ } | null;
391
410
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
392
411
  frameRendering: {
393
412
  enabled: boolean;
@@ -395,8 +414,8 @@ export declare const actionZoomOut: {
395
414
  outline: boolean;
396
415
  clip: boolean;
397
416
  };
398
- editingFrame: string | null;
399
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
417
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
418
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
400
419
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
401
420
  activeTool: {
402
421
  lastActiveTool: import("../types").ActiveTool | null;
@@ -415,10 +434,11 @@ export declare const actionZoomOut: {
415
434
  exportScale: number;
416
435
  currentItemStrokeColor: string;
417
436
  currentItemBackgroundColor: string;
418
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
419
- currentItemStrokeWidth: number;
420
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
437
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
438
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
439
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
421
440
  currentItemRoughness: number;
441
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
422
442
  currentItemOpacity: number;
423
443
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
424
444
  currentItemFontSize: number;
@@ -429,6 +449,7 @@ export declare const actionZoomOut: {
429
449
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
430
450
  currentItemArrowType: "sharp" | "round" | "elbow";
431
451
  viewBackgroundColor: string;
452
+ scrollConstraints: import("../types").ScrollConstraints | null;
432
453
  cursorButton: "up" | "down";
433
454
  scrolledOutside: boolean;
434
455
  name: string | null;
@@ -451,7 +472,7 @@ export declare const actionZoomOut: {
451
472
  name: "settings";
452
473
  } | {
453
474
  name: "elementLinkSelector";
454
- sourceElementId: ExcalidrawElement["id"];
475
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
455
476
  } | {
456
477
  name: "charts";
457
478
  data: import("../charts").Spreadsheet;
@@ -503,11 +524,10 @@ export declare const actionZoomOut: {
503
524
  y: number;
504
525
  } | null;
505
526
  objectsSnapModeEnabled: boolean;
506
- followedBy: Set<import("../types").SocketId>;
507
527
  isCropping: boolean;
508
- croppingElementId: ExcalidrawElement["id"] | null;
528
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
509
529
  searchMatches: Readonly<{
510
- focusedId: ExcalidrawElement["id"] | null;
530
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
511
531
  matches: readonly import("../types").SearchMatch[];
512
532
  }> | null;
513
533
  activeLockedId: string | null;
@@ -515,10 +535,15 @@ export declare const actionZoomOut: {
515
535
  [groupId: string]: true;
516
536
  };
517
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
+ };
518
543
  };
519
544
  captureUpdate: "EVENTUALLY";
520
545
  };
521
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
546
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
522
547
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
523
548
  } & {
524
549
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -528,17 +553,16 @@ export declare const actionResetZoom: {
528
553
  label: string;
529
554
  icon: import("react/jsx-runtime").JSX.Element;
530
555
  viewMode: true;
556
+ navigation: true;
531
557
  trackEvent: {
532
558
  category: "canvas";
533
559
  };
560
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
534
561
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
535
562
  appState: {
536
- userToFollow: null;
563
+ zoom: import("../types").Zoom;
537
564
  scrollX: number;
538
565
  scrollY: number;
539
- zoom: {
540
- value: import("../types").NormalizedZoomValue;
541
- };
542
566
  contextMenu: {
543
567
  items: import("../components/ContextMenu").ContextMenuItems;
544
568
  top: number;
@@ -556,13 +580,17 @@ export declare const actionResetZoom: {
556
580
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
557
581
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
558
582
  isBindingEnabled: boolean;
583
+ boxSelectionMode: import("../types").BoxSelectionMode;
559
584
  bindingPreference: "enabled" | "disabled";
560
585
  isMidpointSnappingEnabled: boolean;
561
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
562
586
  suggestedBinding: {
563
587
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
564
588
  midPoint?: import("@excalidraw/math").GlobalPoint;
565
589
  } | null;
590
+ hoveredArrowTextAnchor: {
591
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
592
+ anchor: "start" | "end" | "label";
593
+ } | null;
566
594
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
567
595
  frameRendering: {
568
596
  enabled: boolean;
@@ -570,8 +598,8 @@ export declare const actionResetZoom: {
570
598
  outline: boolean;
571
599
  clip: boolean;
572
600
  };
573
- editingFrame: string | null;
574
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
601
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
602
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
575
603
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
576
604
  activeTool: {
577
605
  lastActiveTool: import("../types").ActiveTool | null;
@@ -590,10 +618,11 @@ export declare const actionResetZoom: {
590
618
  exportScale: number;
591
619
  currentItemStrokeColor: string;
592
620
  currentItemBackgroundColor: string;
593
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
594
- currentItemStrokeWidth: number;
595
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
621
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
622
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
623
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
596
624
  currentItemRoughness: number;
625
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
597
626
  currentItemOpacity: number;
598
627
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
599
628
  currentItemFontSize: number;
@@ -604,6 +633,7 @@ export declare const actionResetZoom: {
604
633
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
605
634
  currentItemArrowType: "sharp" | "round" | "elbow";
606
635
  viewBackgroundColor: string;
636
+ scrollConstraints: import("../types").ScrollConstraints | null;
607
637
  cursorButton: "up" | "down";
608
638
  scrolledOutside: boolean;
609
639
  name: string | null;
@@ -626,7 +656,7 @@ export declare const actionResetZoom: {
626
656
  name: "settings";
627
657
  } | {
628
658
  name: "elementLinkSelector";
629
- sourceElementId: ExcalidrawElement["id"];
659
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
630
660
  } | {
631
661
  name: "charts";
632
662
  data: import("../charts").Spreadsheet;
@@ -678,11 +708,10 @@ export declare const actionResetZoom: {
678
708
  y: number;
679
709
  } | null;
680
710
  objectsSnapModeEnabled: boolean;
681
- followedBy: Set<import("../types").SocketId>;
682
711
  isCropping: boolean;
683
- croppingElementId: ExcalidrawElement["id"] | null;
712
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
684
713
  searchMatches: Readonly<{
685
- focusedId: ExcalidrawElement["id"] | null;
714
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
686
715
  matches: readonly import("../types").SearchMatch[];
687
716
  }> | null;
688
717
  activeLockedId: string | null;
@@ -690,372 +719,34 @@ export declare const actionResetZoom: {
690
719
  [groupId: string]: true;
691
720
  };
692
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
+ };
693
727
  };
694
728
  captureUpdate: "EVENTUALLY";
695
729
  };
696
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
730
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
697
731
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
698
732
  } & {
699
733
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
700
734
  };
701
- export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
702
- bounds: SceneBounds;
703
- canvasOffsets?: Offsets;
704
- appState: Readonly<AppState>;
705
- /** whether to fit content to viewport (beyond >100%) */
706
- fitToViewport: boolean;
707
- /** zoom content to cover X of the viewport, when fitToViewport=true */
708
- viewportZoomFactor?: number;
709
- minZoom?: number;
710
- maxZoom?: number;
711
- }) => {
712
- appState: {
713
- scrollX: number;
714
- scrollY: number;
715
- zoom: {
716
- value: import("../types").NormalizedZoomValue;
717
- };
718
- contextMenu: {
719
- items: import("../components/ContextMenu").ContextMenuItems;
720
- top: number;
721
- left: number;
722
- } | null;
723
- showWelcomeScreen: boolean;
724
- isLoading: boolean;
725
- errorMessage: React.ReactNode;
726
- activeEmbeddable: {
727
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
728
- state: "hover" | "active";
729
- } | null;
730
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
731
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
732
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
733
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
734
- isBindingEnabled: boolean;
735
- bindingPreference: "enabled" | "disabled";
736
- isMidpointSnappingEnabled: boolean;
737
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
738
- suggestedBinding: {
739
- element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
740
- midPoint?: import("@excalidraw/math").GlobalPoint;
741
- } | null;
742
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
743
- frameRendering: {
744
- enabled: boolean;
745
- name: boolean;
746
- outline: boolean;
747
- clip: boolean;
748
- };
749
- editingFrame: string | null;
750
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
751
- editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
752
- activeTool: {
753
- lastActiveTool: import("../types").ActiveTool | null;
754
- locked: boolean;
755
- fromSelection: boolean;
756
- } & import("../types").ActiveTool;
757
- preferredSelectionTool: {
758
- type: "selection" | "lasso";
759
- initialized: boolean;
760
- };
761
- penMode: boolean;
762
- penDetected: boolean;
763
- exportBackground: boolean;
764
- exportEmbedScene: boolean;
765
- exportWithDarkMode: boolean;
766
- exportScale: number;
767
- currentItemStrokeColor: string;
768
- currentItemBackgroundColor: string;
769
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
770
- currentItemStrokeWidth: number;
771
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
772
- currentItemRoughness: number;
773
- currentItemOpacity: number;
774
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
775
- currentItemFontSize: number;
776
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
777
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
778
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
779
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
780
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
781
- currentItemArrowType: "sharp" | "round" | "elbow";
782
- viewBackgroundColor: string;
783
- cursorButton: "up" | "down";
784
- scrolledOutside: boolean;
785
- name: string | null;
786
- isResizing: boolean;
787
- isRotating: boolean;
788
- openMenu: "canvas" | null;
789
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
790
- openSidebar: {
791
- name: import("../types").SidebarName;
792
- tab?: import("../types").SidebarTabName;
793
- } | null;
794
- openDialog: null | {
795
- name: "imageExport" | "help" | "jsonExport";
796
- } | {
797
- name: "ttd";
798
- tab: "text-to-diagram" | "mermaid";
799
- } | {
800
- name: "commandPalette";
801
- } | {
802
- name: "settings";
803
- } | {
804
- name: "elementLinkSelector";
805
- sourceElementId: ExcalidrawElement["id"];
806
- } | {
807
- name: "charts";
808
- data: import("../charts").Spreadsheet;
809
- rawText: string;
810
- };
811
- defaultSidebarDockedPreference: boolean;
812
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
813
- selectedElementIds: Readonly<{
814
- [id: string]: true;
815
- }>;
816
- hoveredElementIds: Readonly<{
817
- [id: string]: true;
818
- }>;
819
- previousSelectedElementIds: {
820
- [id: string]: true;
821
- };
822
- selectedElementsAreBeingDragged: boolean;
823
- shouldCacheIgnoreZoom: boolean;
824
- toast: {
825
- message: React.ReactNode;
826
- closable?: boolean;
827
- duration?: number;
828
- } | null;
829
- zenModeEnabled: boolean;
830
- theme: import("@excalidraw/element/types").Theme;
831
- gridSize: number;
832
- gridStep: number;
833
- gridModeEnabled: boolean;
834
- viewModeEnabled: boolean;
835
- selectedGroupIds: {
836
- [groupId: string]: boolean;
837
- };
838
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
839
- width: number;
840
- height: number;
841
- offsetTop: number;
842
- offsetLeft: number;
843
- fileHandle: FileSystemFileHandle | null;
844
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
845
- stats: {
846
- open: boolean;
847
- panels: number;
848
- };
849
- showHyperlinkPopup: false | "info" | "editor";
850
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
851
- snapLines: readonly import("../snapping").SnapLine[];
852
- originSnapOffset: {
853
- x: number;
854
- y: number;
855
- } | null;
856
- objectsSnapModeEnabled: boolean;
857
- userToFollow: import("../types").UserToFollow | null;
858
- followedBy: Set<import("../types").SocketId>;
859
- isCropping: boolean;
860
- croppingElementId: ExcalidrawElement["id"] | null;
861
- searchMatches: Readonly<{
862
- focusedId: ExcalidrawElement["id"] | null;
863
- matches: readonly import("../types").SearchMatch[];
864
- }> | null;
865
- activeLockedId: string | null;
866
- lockedMultiSelections: {
867
- [groupId: string]: true;
868
- };
869
- bindMode: import("@excalidraw/element/types").BindMode;
870
- };
871
- captureUpdate: "EVENTUALLY";
872
- };
873
- export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
874
- canvasOffsets?: Offsets;
875
- targetElements: readonly ExcalidrawElement[];
876
- appState: Readonly<AppState>;
877
- /** whether to fit content to viewport (beyond >100%) */
878
- fitToViewport: boolean;
879
- /** zoom content to cover X of the viewport, when fitToViewport=true */
880
- viewportZoomFactor?: number;
881
- minZoom?: number;
882
- maxZoom?: number;
883
- }) => {
884
- appState: {
885
- scrollX: number;
886
- scrollY: number;
887
- zoom: {
888
- value: import("../types").NormalizedZoomValue;
889
- };
890
- contextMenu: {
891
- items: import("../components/ContextMenu").ContextMenuItems;
892
- top: number;
893
- left: number;
894
- } | null;
895
- showWelcomeScreen: boolean;
896
- isLoading: boolean;
897
- errorMessage: React.ReactNode;
898
- activeEmbeddable: {
899
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
900
- state: "hover" | "active";
901
- } | null;
902
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
903
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
904
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
905
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
906
- isBindingEnabled: boolean;
907
- bindingPreference: "enabled" | "disabled";
908
- isMidpointSnappingEnabled: boolean;
909
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
910
- suggestedBinding: {
911
- element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
912
- midPoint?: import("@excalidraw/math").GlobalPoint;
913
- } | null;
914
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
915
- frameRendering: {
916
- enabled: boolean;
917
- name: boolean;
918
- outline: boolean;
919
- clip: boolean;
920
- };
921
- editingFrame: string | null;
922
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
923
- editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
924
- activeTool: {
925
- lastActiveTool: import("../types").ActiveTool | null;
926
- locked: boolean;
927
- fromSelection: boolean;
928
- } & import("../types").ActiveTool;
929
- preferredSelectionTool: {
930
- type: "selection" | "lasso";
931
- initialized: boolean;
932
- };
933
- penMode: boolean;
934
- penDetected: boolean;
935
- exportBackground: boolean;
936
- exportEmbedScene: boolean;
937
- exportWithDarkMode: boolean;
938
- exportScale: number;
939
- currentItemStrokeColor: string;
940
- currentItemBackgroundColor: string;
941
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
942
- currentItemStrokeWidth: number;
943
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
944
- currentItemRoughness: number;
945
- currentItemOpacity: number;
946
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
947
- currentItemFontSize: number;
948
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
949
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
950
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
951
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
952
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
953
- currentItemArrowType: "sharp" | "round" | "elbow";
954
- viewBackgroundColor: string;
955
- cursorButton: "up" | "down";
956
- scrolledOutside: boolean;
957
- name: string | null;
958
- isResizing: boolean;
959
- isRotating: boolean;
960
- openMenu: "canvas" | null;
961
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
962
- openSidebar: {
963
- name: import("../types").SidebarName;
964
- tab?: import("../types").SidebarTabName;
965
- } | null;
966
- openDialog: null | {
967
- name: "imageExport" | "help" | "jsonExport";
968
- } | {
969
- name: "ttd";
970
- tab: "text-to-diagram" | "mermaid";
971
- } | {
972
- name: "commandPalette";
973
- } | {
974
- name: "settings";
975
- } | {
976
- name: "elementLinkSelector";
977
- sourceElementId: ExcalidrawElement["id"];
978
- } | {
979
- name: "charts";
980
- data: import("../charts").Spreadsheet;
981
- rawText: string;
982
- };
983
- defaultSidebarDockedPreference: boolean;
984
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
985
- selectedElementIds: Readonly<{
986
- [id: string]: true;
987
- }>;
988
- hoveredElementIds: Readonly<{
989
- [id: string]: true;
990
- }>;
991
- previousSelectedElementIds: {
992
- [id: string]: true;
993
- };
994
- selectedElementsAreBeingDragged: boolean;
995
- shouldCacheIgnoreZoom: boolean;
996
- toast: {
997
- message: React.ReactNode;
998
- closable?: boolean;
999
- duration?: number;
1000
- } | null;
1001
- zenModeEnabled: boolean;
1002
- theme: import("@excalidraw/element/types").Theme;
1003
- gridSize: number;
1004
- gridStep: number;
1005
- gridModeEnabled: boolean;
1006
- viewModeEnabled: boolean;
1007
- selectedGroupIds: {
1008
- [groupId: string]: boolean;
1009
- };
1010
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
1011
- width: number;
1012
- height: number;
1013
- offsetTop: number;
1014
- offsetLeft: number;
1015
- fileHandle: FileSystemFileHandle | null;
1016
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1017
- stats: {
1018
- open: boolean;
1019
- panels: number;
1020
- };
1021
- showHyperlinkPopup: false | "info" | "editor";
1022
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1023
- snapLines: readonly import("../snapping").SnapLine[];
1024
- originSnapOffset: {
1025
- x: number;
1026
- y: number;
1027
- } | null;
1028
- objectsSnapModeEnabled: boolean;
1029
- userToFollow: import("../types").UserToFollow | null;
1030
- followedBy: Set<import("../types").SocketId>;
1031
- isCropping: boolean;
1032
- croppingElementId: ExcalidrawElement["id"] | null;
1033
- searchMatches: Readonly<{
1034
- focusedId: ExcalidrawElement["id"] | null;
1035
- matches: readonly import("../types").SearchMatch[];
1036
- }> | null;
1037
- activeLockedId: string | null;
1038
- lockedMultiSelections: {
1039
- [groupId: string]: true;
1040
- };
1041
- bindMode: import("@excalidraw/element/types").BindMode;
1042
- };
1043
- captureUpdate: "EVENTUALLY";
1044
- };
1045
735
  export declare const actionZoomToFitSelectionInViewport: {
1046
736
  name: "zoomToFitSelectionInViewport";
1047
737
  label: string;
1048
738
  icon: import("react/jsx-runtime").JSX.Element;
739
+ viewMode: true;
740
+ navigation: true;
1049
741
  trackEvent: {
1050
742
  category: "canvas";
1051
743
  };
744
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1052
745
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1053
746
  appState: {
747
+ zoom: import("../types").Zoom;
1054
748
  scrollX: number;
1055
749
  scrollY: number;
1056
- zoom: {
1057
- value: import("../types").NormalizedZoomValue;
1058
- };
1059
750
  contextMenu: {
1060
751
  items: import("../components/ContextMenu").ContextMenuItems;
1061
752
  top: number;
@@ -1073,13 +764,17 @@ export declare const actionZoomToFitSelectionInViewport: {
1073
764
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1074
765
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1075
766
  isBindingEnabled: boolean;
767
+ boxSelectionMode: import("../types").BoxSelectionMode;
1076
768
  bindingPreference: "enabled" | "disabled";
1077
769
  isMidpointSnappingEnabled: boolean;
1078
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1079
770
  suggestedBinding: {
1080
771
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1081
772
  midPoint?: import("@excalidraw/math").GlobalPoint;
1082
773
  } | null;
774
+ hoveredArrowTextAnchor: {
775
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
776
+ anchor: "start" | "end" | "label";
777
+ } | null;
1083
778
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1084
779
  frameRendering: {
1085
780
  enabled: boolean;
@@ -1087,8 +782,8 @@ export declare const actionZoomToFitSelectionInViewport: {
1087
782
  outline: boolean;
1088
783
  clip: boolean;
1089
784
  };
1090
- editingFrame: string | null;
1091
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
785
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
786
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1092
787
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1093
788
  activeTool: {
1094
789
  lastActiveTool: import("../types").ActiveTool | null;
@@ -1107,10 +802,11 @@ export declare const actionZoomToFitSelectionInViewport: {
1107
802
  exportScale: number;
1108
803
  currentItemStrokeColor: string;
1109
804
  currentItemBackgroundColor: string;
1110
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1111
- currentItemStrokeWidth: number;
1112
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
805
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
806
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
807
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1113
808
  currentItemRoughness: number;
809
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1114
810
  currentItemOpacity: number;
1115
811
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1116
812
  currentItemFontSize: number;
@@ -1121,6 +817,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1121
817
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1122
818
  currentItemArrowType: "sharp" | "round" | "elbow";
1123
819
  viewBackgroundColor: string;
820
+ scrollConstraints: import("../types").ScrollConstraints | null;
1124
821
  cursorButton: "up" | "down";
1125
822
  scrolledOutside: boolean;
1126
823
  name: string | null;
@@ -1143,7 +840,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1143
840
  name: "settings";
1144
841
  } | {
1145
842
  name: "elementLinkSelector";
1146
- sourceElementId: ExcalidrawElement["id"];
843
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1147
844
  } | {
1148
845
  name: "charts";
1149
846
  data: import("../charts").Spreadsheet;
@@ -1195,12 +892,10 @@ export declare const actionZoomToFitSelectionInViewport: {
1195
892
  y: number;
1196
893
  } | null;
1197
894
  objectsSnapModeEnabled: boolean;
1198
- userToFollow: import("../types").UserToFollow | null;
1199
- followedBy: Set<import("../types").SocketId>;
1200
895
  isCropping: boolean;
1201
- croppingElementId: ExcalidrawElement["id"] | null;
896
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1202
897
  searchMatches: Readonly<{
1203
- focusedId: ExcalidrawElement["id"] | null;
898
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1204
899
  matches: readonly import("../types").SearchMatch[];
1205
900
  }> | null;
1206
901
  activeLockedId: string | null;
@@ -1208,6 +903,11 @@ export declare const actionZoomToFitSelectionInViewport: {
1208
903
  [groupId: string]: true;
1209
904
  };
1210
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
+ };
1211
911
  };
1212
912
  captureUpdate: "EVENTUALLY";
1213
913
  };
@@ -1219,16 +919,17 @@ export declare const actionZoomToFitSelection: {
1219
919
  name: "zoomToFitSelection";
1220
920
  label: string;
1221
921
  icon: import("react/jsx-runtime").JSX.Element;
922
+ viewMode: true;
923
+ navigation: true;
1222
924
  trackEvent: {
1223
925
  category: "canvas";
1224
926
  };
927
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1225
928
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1226
929
  appState: {
930
+ zoom: import("../types").Zoom;
1227
931
  scrollX: number;
1228
932
  scrollY: number;
1229
- zoom: {
1230
- value: import("../types").NormalizedZoomValue;
1231
- };
1232
933
  contextMenu: {
1233
934
  items: import("../components/ContextMenu").ContextMenuItems;
1234
935
  top: number;
@@ -1246,13 +947,17 @@ export declare const actionZoomToFitSelection: {
1246
947
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1247
948
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1248
949
  isBindingEnabled: boolean;
950
+ boxSelectionMode: import("../types").BoxSelectionMode;
1249
951
  bindingPreference: "enabled" | "disabled";
1250
952
  isMidpointSnappingEnabled: boolean;
1251
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1252
953
  suggestedBinding: {
1253
954
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1254
955
  midPoint?: import("@excalidraw/math").GlobalPoint;
1255
956
  } | null;
957
+ hoveredArrowTextAnchor: {
958
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
959
+ anchor: "start" | "end" | "label";
960
+ } | null;
1256
961
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1257
962
  frameRendering: {
1258
963
  enabled: boolean;
@@ -1260,8 +965,8 @@ export declare const actionZoomToFitSelection: {
1260
965
  outline: boolean;
1261
966
  clip: boolean;
1262
967
  };
1263
- editingFrame: string | null;
1264
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
968
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
969
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1265
970
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1266
971
  activeTool: {
1267
972
  lastActiveTool: import("../types").ActiveTool | null;
@@ -1280,10 +985,11 @@ export declare const actionZoomToFitSelection: {
1280
985
  exportScale: number;
1281
986
  currentItemStrokeColor: string;
1282
987
  currentItemBackgroundColor: string;
1283
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1284
- currentItemStrokeWidth: number;
1285
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
988
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
989
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
990
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1286
991
  currentItemRoughness: number;
992
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1287
993
  currentItemOpacity: number;
1288
994
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1289
995
  currentItemFontSize: number;
@@ -1294,6 +1000,7 @@ export declare const actionZoomToFitSelection: {
1294
1000
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1295
1001
  currentItemArrowType: "sharp" | "round" | "elbow";
1296
1002
  viewBackgroundColor: string;
1003
+ scrollConstraints: import("../types").ScrollConstraints | null;
1297
1004
  cursorButton: "up" | "down";
1298
1005
  scrolledOutside: boolean;
1299
1006
  name: string | null;
@@ -1316,7 +1023,7 @@ export declare const actionZoomToFitSelection: {
1316
1023
  name: "settings";
1317
1024
  } | {
1318
1025
  name: "elementLinkSelector";
1319
- sourceElementId: ExcalidrawElement["id"];
1026
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1320
1027
  } | {
1321
1028
  name: "charts";
1322
1029
  data: import("../charts").Spreadsheet;
@@ -1368,12 +1075,10 @@ export declare const actionZoomToFitSelection: {
1368
1075
  y: number;
1369
1076
  } | null;
1370
1077
  objectsSnapModeEnabled: boolean;
1371
- userToFollow: import("../types").UserToFollow | null;
1372
- followedBy: Set<import("../types").SocketId>;
1373
1078
  isCropping: boolean;
1374
- croppingElementId: ExcalidrawElement["id"] | null;
1079
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1375
1080
  searchMatches: Readonly<{
1376
- focusedId: ExcalidrawElement["id"] | null;
1081
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1377
1082
  matches: readonly import("../types").SearchMatch[];
1378
1083
  }> | null;
1379
1084
  activeLockedId: string | null;
@@ -1381,6 +1086,11 @@ export declare const actionZoomToFitSelection: {
1381
1086
  [groupId: string]: true;
1382
1087
  };
1383
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
+ };
1384
1094
  };
1385
1095
  captureUpdate: "EVENTUALLY";
1386
1096
  };
@@ -1393,16 +1103,16 @@ export declare const actionZoomToFit: {
1393
1103
  label: string;
1394
1104
  icon: import("react/jsx-runtime").JSX.Element;
1395
1105
  viewMode: true;
1106
+ navigation: true;
1396
1107
  trackEvent: {
1397
1108
  category: "canvas";
1398
1109
  };
1110
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1399
1111
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1400
1112
  appState: {
1113
+ zoom: import("../types").Zoom;
1401
1114
  scrollX: number;
1402
1115
  scrollY: number;
1403
- zoom: {
1404
- value: import("../types").NormalizedZoomValue;
1405
- };
1406
1116
  contextMenu: {
1407
1117
  items: import("../components/ContextMenu").ContextMenuItems;
1408
1118
  top: number;
@@ -1420,13 +1130,17 @@ export declare const actionZoomToFit: {
1420
1130
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1421
1131
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1422
1132
  isBindingEnabled: boolean;
1133
+ boxSelectionMode: import("../types").BoxSelectionMode;
1423
1134
  bindingPreference: "enabled" | "disabled";
1424
1135
  isMidpointSnappingEnabled: boolean;
1425
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1426
1136
  suggestedBinding: {
1427
1137
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1428
1138
  midPoint?: import("@excalidraw/math").GlobalPoint;
1429
1139
  } | null;
1140
+ hoveredArrowTextAnchor: {
1141
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
1142
+ anchor: "start" | "end" | "label";
1143
+ } | null;
1430
1144
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1431
1145
  frameRendering: {
1432
1146
  enabled: boolean;
@@ -1434,8 +1148,8 @@ export declare const actionZoomToFit: {
1434
1148
  outline: boolean;
1435
1149
  clip: boolean;
1436
1150
  };
1437
- editingFrame: string | null;
1438
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1151
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
1152
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1439
1153
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1440
1154
  activeTool: {
1441
1155
  lastActiveTool: import("../types").ActiveTool | null;
@@ -1454,10 +1168,11 @@ export declare const actionZoomToFit: {
1454
1168
  exportScale: number;
1455
1169
  currentItemStrokeColor: string;
1456
1170
  currentItemBackgroundColor: string;
1457
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1458
- currentItemStrokeWidth: number;
1459
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1171
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
1172
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
1173
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1460
1174
  currentItemRoughness: number;
1175
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1461
1176
  currentItemOpacity: number;
1462
1177
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1463
1178
  currentItemFontSize: number;
@@ -1468,6 +1183,7 @@ export declare const actionZoomToFit: {
1468
1183
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1469
1184
  currentItemArrowType: "sharp" | "round" | "elbow";
1470
1185
  viewBackgroundColor: string;
1186
+ scrollConstraints: import("../types").ScrollConstraints | null;
1471
1187
  cursorButton: "up" | "down";
1472
1188
  scrolledOutside: boolean;
1473
1189
  name: string | null;
@@ -1490,7 +1206,7 @@ export declare const actionZoomToFit: {
1490
1206
  name: "settings";
1491
1207
  } | {
1492
1208
  name: "elementLinkSelector";
1493
- sourceElementId: ExcalidrawElement["id"];
1209
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1494
1210
  } | {
1495
1211
  name: "charts";
1496
1212
  data: import("../charts").Spreadsheet;
@@ -1542,12 +1258,10 @@ export declare const actionZoomToFit: {
1542
1258
  y: number;
1543
1259
  } | null;
1544
1260
  objectsSnapModeEnabled: boolean;
1545
- userToFollow: import("../types").UserToFollow | null;
1546
- followedBy: Set<import("../types").SocketId>;
1547
1261
  isCropping: boolean;
1548
- croppingElementId: ExcalidrawElement["id"] | null;
1262
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1549
1263
  searchMatches: Readonly<{
1550
- focusedId: ExcalidrawElement["id"] | null;
1264
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1551
1265
  matches: readonly import("../types").SearchMatch[];
1552
1266
  }> | null;
1553
1267
  activeLockedId: string | null;
@@ -1555,6 +1269,11 @@ export declare const actionZoomToFit: {
1555
1269
  [groupId: string]: true;
1556
1270
  };
1557
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
+ };
1558
1277
  };
1559
1278
  captureUpdate: "EVENTUALLY";
1560
1279
  };
@@ -1563,497 +1282,5 @@ export declare const actionZoomToFit: {
1563
1282
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1564
1283
  };
1565
1284
  export declare const actionToggleTheme: import("./types").Action<import("@excalidraw/element/types").Theme> & {
1566
- keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
1567
- };
1568
- export declare const actionToggleEraserTool: {
1569
- name: "toggleEraserTool";
1570
- label: string;
1571
- trackEvent: {
1572
- category: "toolbar";
1573
- };
1574
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1575
- appState: {
1576
- selectedElementIds: {};
1577
- selectedGroupIds: {};
1578
- activeEmbeddable: null;
1579
- activeTool: {
1580
- lastActiveTool: import("../types").ActiveTool | null;
1581
- locked: boolean;
1582
- fromSelection: boolean;
1583
- } & import("../types").ActiveTool;
1584
- contextMenu: {
1585
- items: import("../components/ContextMenu").ContextMenuItems;
1586
- top: number;
1587
- left: number;
1588
- } | null;
1589
- showWelcomeScreen: boolean;
1590
- isLoading: boolean;
1591
- errorMessage: React.ReactNode;
1592
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1593
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1594
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1595
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1596
- isBindingEnabled: boolean;
1597
- bindingPreference: "enabled" | "disabled";
1598
- isMidpointSnappingEnabled: boolean;
1599
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1600
- suggestedBinding: {
1601
- element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1602
- midPoint?: import("@excalidraw/math").GlobalPoint;
1603
- } | null;
1604
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1605
- frameRendering: {
1606
- enabled: boolean;
1607
- name: boolean;
1608
- outline: boolean;
1609
- clip: boolean;
1610
- };
1611
- editingFrame: string | null;
1612
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1613
- editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1614
- preferredSelectionTool: {
1615
- type: "selection" | "lasso";
1616
- initialized: boolean;
1617
- };
1618
- penMode: boolean;
1619
- penDetected: boolean;
1620
- exportBackground: boolean;
1621
- exportEmbedScene: boolean;
1622
- exportWithDarkMode: boolean;
1623
- exportScale: number;
1624
- currentItemStrokeColor: string;
1625
- currentItemBackgroundColor: string;
1626
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1627
- currentItemStrokeWidth: number;
1628
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1629
- currentItemRoughness: number;
1630
- currentItemOpacity: number;
1631
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1632
- currentItemFontSize: number;
1633
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1634
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1635
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1636
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1637
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1638
- currentItemArrowType: "sharp" | "round" | "elbow";
1639
- viewBackgroundColor: string;
1640
- scrollX: number;
1641
- scrollY: number;
1642
- cursorButton: "up" | "down";
1643
- scrolledOutside: boolean;
1644
- name: string | null;
1645
- isResizing: boolean;
1646
- isRotating: boolean;
1647
- zoom: import("../types").Zoom;
1648
- openMenu: "canvas" | null;
1649
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1650
- openSidebar: {
1651
- name: import("../types").SidebarName;
1652
- tab?: import("../types").SidebarTabName;
1653
- } | null;
1654
- openDialog: null | {
1655
- name: "imageExport" | "help" | "jsonExport";
1656
- } | {
1657
- name: "ttd";
1658
- tab: "text-to-diagram" | "mermaid";
1659
- } | {
1660
- name: "commandPalette";
1661
- } | {
1662
- name: "settings";
1663
- } | {
1664
- name: "elementLinkSelector";
1665
- sourceElementId: ExcalidrawElement["id"];
1666
- } | {
1667
- name: "charts";
1668
- data: import("../charts").Spreadsheet;
1669
- rawText: string;
1670
- };
1671
- defaultSidebarDockedPreference: boolean;
1672
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1673
- hoveredElementIds: Readonly<{
1674
- [id: string]: true;
1675
- }>;
1676
- previousSelectedElementIds: {
1677
- [id: string]: true;
1678
- };
1679
- selectedElementsAreBeingDragged: boolean;
1680
- shouldCacheIgnoreZoom: boolean;
1681
- toast: {
1682
- message: React.ReactNode;
1683
- closable?: boolean;
1684
- duration?: number;
1685
- } | null;
1686
- zenModeEnabled: boolean;
1687
- theme: import("@excalidraw/element/types").Theme;
1688
- gridSize: number;
1689
- gridStep: number;
1690
- gridModeEnabled: boolean;
1691
- viewModeEnabled: boolean;
1692
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
1693
- width: number;
1694
- height: number;
1695
- offsetTop: number;
1696
- offsetLeft: number;
1697
- fileHandle: FileSystemFileHandle | null;
1698
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1699
- stats: {
1700
- open: boolean;
1701
- panels: number;
1702
- };
1703
- showHyperlinkPopup: false | "info" | "editor";
1704
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1705
- snapLines: readonly import("../snapping").SnapLine[];
1706
- originSnapOffset: {
1707
- x: number;
1708
- y: number;
1709
- } | null;
1710
- objectsSnapModeEnabled: boolean;
1711
- userToFollow: import("../types").UserToFollow | null;
1712
- followedBy: Set<import("../types").SocketId>;
1713
- isCropping: boolean;
1714
- croppingElementId: ExcalidrawElement["id"] | null;
1715
- searchMatches: Readonly<{
1716
- focusedId: ExcalidrawElement["id"] | null;
1717
- matches: readonly import("../types").SearchMatch[];
1718
- }> | null;
1719
- activeLockedId: string | null;
1720
- lockedMultiSelections: {
1721
- [groupId: string]: true;
1722
- };
1723
- bindMode: import("@excalidraw/element/types").BindMode;
1724
- };
1725
- captureUpdate: "IMMEDIATELY";
1726
- };
1727
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1728
- } & {
1729
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1730
- };
1731
- export declare const actionToggleLassoTool: {
1732
- name: "toggleLassoTool";
1733
- label: string;
1734
- icon: import("react/jsx-runtime").JSX.Element;
1735
- trackEvent: {
1736
- category: "toolbar";
1737
- };
1738
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1739
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1740
- appState: {
1741
- selectedElementIds: {};
1742
- selectedGroupIds: {};
1743
- activeEmbeddable: null;
1744
- activeTool: {
1745
- lastActiveTool: import("../types").ActiveTool | null;
1746
- locked: boolean;
1747
- fromSelection: boolean;
1748
- } & import("../types").ActiveTool;
1749
- contextMenu: {
1750
- items: import("../components/ContextMenu").ContextMenuItems;
1751
- top: number;
1752
- left: number;
1753
- } | null;
1754
- showWelcomeScreen: boolean;
1755
- isLoading: boolean;
1756
- errorMessage: React.ReactNode;
1757
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1758
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1759
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1760
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1761
- isBindingEnabled: boolean;
1762
- bindingPreference: "enabled" | "disabled";
1763
- isMidpointSnappingEnabled: boolean;
1764
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1765
- suggestedBinding: {
1766
- element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1767
- midPoint?: import("@excalidraw/math").GlobalPoint;
1768
- } | null;
1769
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1770
- frameRendering: {
1771
- enabled: boolean;
1772
- name: boolean;
1773
- outline: boolean;
1774
- clip: boolean;
1775
- };
1776
- editingFrame: string | null;
1777
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1778
- editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1779
- preferredSelectionTool: {
1780
- type: "selection" | "lasso";
1781
- initialized: boolean;
1782
- };
1783
- penMode: boolean;
1784
- penDetected: boolean;
1785
- exportBackground: boolean;
1786
- exportEmbedScene: boolean;
1787
- exportWithDarkMode: boolean;
1788
- exportScale: number;
1789
- currentItemStrokeColor: string;
1790
- currentItemBackgroundColor: string;
1791
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1792
- currentItemStrokeWidth: number;
1793
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1794
- currentItemRoughness: number;
1795
- currentItemOpacity: number;
1796
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1797
- currentItemFontSize: number;
1798
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1799
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1800
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1801
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1802
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1803
- currentItemArrowType: "sharp" | "round" | "elbow";
1804
- viewBackgroundColor: string;
1805
- scrollX: number;
1806
- scrollY: number;
1807
- cursorButton: "up" | "down";
1808
- scrolledOutside: boolean;
1809
- name: string | null;
1810
- isResizing: boolean;
1811
- isRotating: boolean;
1812
- zoom: import("../types").Zoom;
1813
- openMenu: "canvas" | null;
1814
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1815
- openSidebar: {
1816
- name: import("../types").SidebarName;
1817
- tab?: import("../types").SidebarTabName;
1818
- } | null;
1819
- openDialog: null | {
1820
- name: "imageExport" | "help" | "jsonExport";
1821
- } | {
1822
- name: "ttd";
1823
- tab: "text-to-diagram" | "mermaid";
1824
- } | {
1825
- name: "commandPalette";
1826
- } | {
1827
- name: "settings";
1828
- } | {
1829
- name: "elementLinkSelector";
1830
- sourceElementId: ExcalidrawElement["id"];
1831
- } | {
1832
- name: "charts";
1833
- data: import("../charts").Spreadsheet;
1834
- rawText: string;
1835
- };
1836
- defaultSidebarDockedPreference: boolean;
1837
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1838
- hoveredElementIds: Readonly<{
1839
- [id: string]: true;
1840
- }>;
1841
- previousSelectedElementIds: {
1842
- [id: string]: true;
1843
- };
1844
- selectedElementsAreBeingDragged: boolean;
1845
- shouldCacheIgnoreZoom: boolean;
1846
- toast: {
1847
- message: React.ReactNode;
1848
- closable?: boolean;
1849
- duration?: number;
1850
- } | null;
1851
- zenModeEnabled: boolean;
1852
- theme: import("@excalidraw/element/types").Theme;
1853
- gridSize: number;
1854
- gridStep: number;
1855
- gridModeEnabled: boolean;
1856
- viewModeEnabled: boolean;
1857
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
1858
- width: number;
1859
- height: number;
1860
- offsetTop: number;
1861
- offsetLeft: number;
1862
- fileHandle: FileSystemFileHandle | null;
1863
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1864
- stats: {
1865
- open: boolean;
1866
- panels: number;
1867
- };
1868
- showHyperlinkPopup: false | "info" | "editor";
1869
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1870
- snapLines: readonly import("../snapping").SnapLine[];
1871
- originSnapOffset: {
1872
- x: number;
1873
- y: number;
1874
- } | null;
1875
- objectsSnapModeEnabled: boolean;
1876
- userToFollow: import("../types").UserToFollow | null;
1877
- followedBy: Set<import("../types").SocketId>;
1878
- isCropping: boolean;
1879
- croppingElementId: ExcalidrawElement["id"] | null;
1880
- searchMatches: Readonly<{
1881
- focusedId: ExcalidrawElement["id"] | null;
1882
- matches: readonly import("../types").SearchMatch[];
1883
- }> | null;
1884
- activeLockedId: string | null;
1885
- lockedMultiSelections: {
1886
- [groupId: string]: true;
1887
- };
1888
- bindMode: import("@excalidraw/element/types").BindMode;
1889
- };
1890
- captureUpdate: "NEVER";
1891
- };
1892
- } & {
1893
- keyTest?: undefined;
1894
- };
1895
- export declare const actionToggleHandTool: {
1896
- name: "toggleHandTool";
1897
- label: string;
1898
- trackEvent: {
1899
- category: "toolbar";
1900
- };
1901
- icon: import("react/jsx-runtime").JSX.Element;
1902
- viewMode: false;
1903
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1904
- appState: {
1905
- selectedElementIds: {};
1906
- selectedGroupIds: {};
1907
- activeEmbeddable: null;
1908
- activeTool: {
1909
- lastActiveTool: import("../types").ActiveTool | null;
1910
- locked: boolean;
1911
- fromSelection: boolean;
1912
- } & import("../types").ActiveTool;
1913
- contextMenu: {
1914
- items: import("../components/ContextMenu").ContextMenuItems;
1915
- top: number;
1916
- left: number;
1917
- } | null;
1918
- showWelcomeScreen: boolean;
1919
- isLoading: boolean;
1920
- errorMessage: React.ReactNode;
1921
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1922
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1923
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1924
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1925
- isBindingEnabled: boolean;
1926
- bindingPreference: "enabled" | "disabled";
1927
- isMidpointSnappingEnabled: boolean;
1928
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1929
- suggestedBinding: {
1930
- element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1931
- midPoint?: import("@excalidraw/math").GlobalPoint;
1932
- } | null;
1933
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1934
- frameRendering: {
1935
- enabled: boolean;
1936
- name: boolean;
1937
- outline: boolean;
1938
- clip: boolean;
1939
- };
1940
- editingFrame: string | null;
1941
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1942
- editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1943
- preferredSelectionTool: {
1944
- type: "selection" | "lasso";
1945
- initialized: boolean;
1946
- };
1947
- penMode: boolean;
1948
- penDetected: boolean;
1949
- exportBackground: boolean;
1950
- exportEmbedScene: boolean;
1951
- exportWithDarkMode: boolean;
1952
- exportScale: number;
1953
- currentItemStrokeColor: string;
1954
- currentItemBackgroundColor: string;
1955
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1956
- currentItemStrokeWidth: number;
1957
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1958
- currentItemRoughness: number;
1959
- currentItemOpacity: number;
1960
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1961
- currentItemFontSize: number;
1962
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1963
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1964
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1965
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1966
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1967
- currentItemArrowType: "sharp" | "round" | "elbow";
1968
- viewBackgroundColor: string;
1969
- scrollX: number;
1970
- scrollY: number;
1971
- cursorButton: "up" | "down";
1972
- scrolledOutside: boolean;
1973
- name: string | null;
1974
- isResizing: boolean;
1975
- isRotating: boolean;
1976
- zoom: import("../types").Zoom;
1977
- openMenu: "canvas" | null;
1978
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1979
- openSidebar: {
1980
- name: import("../types").SidebarName;
1981
- tab?: import("../types").SidebarTabName;
1982
- } | null;
1983
- openDialog: null | {
1984
- name: "imageExport" | "help" | "jsonExport";
1985
- } | {
1986
- name: "ttd";
1987
- tab: "text-to-diagram" | "mermaid";
1988
- } | {
1989
- name: "commandPalette";
1990
- } | {
1991
- name: "settings";
1992
- } | {
1993
- name: "elementLinkSelector";
1994
- sourceElementId: ExcalidrawElement["id"];
1995
- } | {
1996
- name: "charts";
1997
- data: import("../charts").Spreadsheet;
1998
- rawText: string;
1999
- };
2000
- defaultSidebarDockedPreference: boolean;
2001
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
2002
- hoveredElementIds: Readonly<{
2003
- [id: string]: true;
2004
- }>;
2005
- previousSelectedElementIds: {
2006
- [id: string]: true;
2007
- };
2008
- selectedElementsAreBeingDragged: boolean;
2009
- shouldCacheIgnoreZoom: boolean;
2010
- toast: {
2011
- message: React.ReactNode;
2012
- closable?: boolean;
2013
- duration?: number;
2014
- } | null;
2015
- zenModeEnabled: boolean;
2016
- theme: import("@excalidraw/element/types").Theme;
2017
- gridSize: number;
2018
- gridStep: number;
2019
- gridModeEnabled: boolean;
2020
- viewModeEnabled: boolean;
2021
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
2022
- width: number;
2023
- height: number;
2024
- offsetTop: number;
2025
- offsetLeft: number;
2026
- fileHandle: FileSystemFileHandle | null;
2027
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
2028
- stats: {
2029
- open: boolean;
2030
- panels: number;
2031
- };
2032
- showHyperlinkPopup: false | "info" | "editor";
2033
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2034
- snapLines: readonly import("../snapping").SnapLine[];
2035
- originSnapOffset: {
2036
- x: number;
2037
- y: number;
2038
- } | null;
2039
- objectsSnapModeEnabled: boolean;
2040
- userToFollow: import("../types").UserToFollow | null;
2041
- followedBy: Set<import("../types").SocketId>;
2042
- isCropping: boolean;
2043
- croppingElementId: ExcalidrawElement["id"] | null;
2044
- searchMatches: Readonly<{
2045
- focusedId: ExcalidrawElement["id"] | null;
2046
- matches: readonly import("../types").SearchMatch[];
2047
- }> | null;
2048
- activeLockedId: string | null;
2049
- lockedMultiSelections: {
2050
- [groupId: string]: true;
2051
- };
2052
- bindMode: import("@excalidraw/element/types").BindMode;
2053
- };
2054
- captureUpdate: "IMMEDIATELY";
2055
- };
2056
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2057
- } & {
2058
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1285
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
2059
1286
  };