@excalidraw/element 0.18.0-4a5c9e9 → 0.18.0-4ce38fb

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 (218) hide show
  1. package/dist/dev/index.js +11944 -8172
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +21 -20
  4. package/dist/types/common/src/colors.d.ts +23 -1
  5. package/dist/types/common/src/constants.d.ts +66 -7
  6. package/dist/types/common/src/keys.d.ts +4 -0
  7. package/dist/types/common/src/points.d.ts +1 -1
  8. package/dist/types/common/src/random.d.ts +7 -0
  9. package/dist/types/common/src/utils.d.ts +6 -43
  10. package/dist/types/element/src/Scene.d.ts +7 -5
  11. package/dist/types/element/src/align.d.ts +2 -2
  12. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  13. package/dist/types/element/src/arrows/focus.d.ts +5 -2
  14. package/dist/types/element/src/binding.d.ts +28 -13
  15. package/dist/types/element/src/bounds.d.ts +22 -7
  16. package/dist/types/element/src/bucketFill.d.ts +110 -0
  17. package/dist/types/element/src/collision.d.ts +14 -5
  18. package/dist/types/element/src/comparisons.d.ts +8 -5
  19. package/dist/types/element/src/convertToShape.d.ts +23 -0
  20. package/dist/types/element/src/delta.d.ts +23 -1
  21. package/dist/types/element/src/distribute.d.ts +2 -2
  22. package/dist/types/element/src/dragElements.d.ts +27 -0
  23. package/dist/types/element/src/duplicate.d.ts +64 -3
  24. package/dist/types/element/src/embeddable.d.ts +2 -2
  25. package/dist/types/element/src/flowchart.d.ts +11 -7
  26. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  27. package/dist/types/element/src/frame.d.ts +11 -10
  28. package/dist/types/element/src/groups.d.ts +9 -9
  29. package/dist/types/element/src/index.d.ts +6 -1
  30. package/dist/types/element/src/linearElementEditor.d.ts +27 -10
  31. package/dist/types/element/src/listMarker.d.ts +34 -0
  32. package/dist/types/element/src/mutateElement.d.ts +1 -1
  33. package/dist/types/element/src/newElement.d.ts +53 -3
  34. package/dist/types/element/src/renderElement.d.ts +21 -7
  35. package/dist/types/element/src/resizeElements.d.ts +2 -2
  36. package/dist/types/element/src/selection.d.ts +6 -6
  37. package/dist/types/element/src/shape.d.ts +27 -1
  38. package/dist/types/element/src/sizeHelpers.d.ts +6 -0
  39. package/dist/types/element/src/sortElements.d.ts +10 -0
  40. package/dist/types/element/src/stickyNote.d.ts +183 -0
  41. package/dist/types/element/src/textElement.d.ts +20 -9
  42. package/dist/types/element/src/transform.d.ts +26 -7
  43. package/dist/types/element/src/typeChecks.d.ts +29 -27
  44. package/dist/types/element/src/types.d.ts +43 -7
  45. package/dist/types/element/src/utils.d.ts +15 -4
  46. package/dist/types/element/src/visualdebug.d.ts +1 -2
  47. package/dist/types/element/src/zindex.d.ts +2 -2
  48. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +87 -18
  49. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  50. package/dist/types/excalidraw/actions/actionBoundText.d.ts +58 -12
  51. package/dist/types/excalidraw/actions/actionCanvas.d.ts +265 -940
  52. package/dist/types/excalidraw/actions/actionClipboard.d.ts +58 -12
  53. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +29 -6
  54. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +89 -19
  55. package/dist/types/excalidraw/actions/actionDeselect.d.ts +30 -7
  56. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  57. package/dist/types/excalidraw/actions/actionElementLink.d.ts +29 -6
  58. package/dist/types/excalidraw/actions/actionElementLock.d.ts +59 -13
  59. package/dist/types/excalidraw/actions/actionExport.d.ts +60 -14
  60. package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
  61. package/dist/types/excalidraw/actions/actionFrame.d.ts +150 -203
  62. package/dist/types/excalidraw/actions/actionGroup.d.ts +73 -27
  63. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +84 -9
  64. package/dist/types/excalidraw/actions/actionLink.d.ts +30 -7
  65. package/dist/types/excalidraw/actions/actionMenu.d.ts +29 -6
  66. package/dist/types/excalidraw/actions/actionProperties.d.ts +96 -34
  67. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +34 -11
  68. package/dist/types/excalidraw/actions/actionStyles.d.ts +30 -7
  69. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  70. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +30 -7
  71. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +33 -11
  72. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +30 -7
  73. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +30 -7
  74. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +33 -11
  75. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  76. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleShowHints.d.ts} +45 -19
  77. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +30 -7
  78. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +31 -8
  79. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +30 -7
  80. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  81. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  82. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  83. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  84. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  85. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  86. package/dist/types/excalidraw/appState.d.ts +30 -6
  87. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  88. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  89. package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
  90. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  91. package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
  92. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  93. package/dist/types/excalidraw/components/App.d.ts +301 -93
  94. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  95. package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
  96. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  97. package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
  98. package/dist/types/excalidraw/components/App.text.d.ts +146 -0
  99. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  100. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  101. package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
  102. package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
  103. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  104. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  105. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
  106. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  107. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  108. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  109. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  110. package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
  111. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  112. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  113. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  114. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  115. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  116. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  117. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
  118. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
  119. package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
  120. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  121. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  122. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  123. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  124. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  125. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
  126. package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
  127. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  128. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  129. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  130. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  131. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  132. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  133. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  134. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  135. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  136. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  137. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  138. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  139. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  140. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  141. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  142. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  143. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  144. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  145. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  146. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
  147. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
  148. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  149. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  150. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  151. package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
  152. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
  153. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
  154. package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
  155. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  156. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  157. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
  158. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  159. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  160. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  161. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  162. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  163. package/dist/types/excalidraw/components/icons.d.ts +7 -1
  164. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +10 -4
  165. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  166. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  167. package/dist/types/excalidraw/data/blob.d.ts +62 -16
  168. package/dist/types/excalidraw/data/index.d.ts +4 -4
  169. package/dist/types/excalidraw/data/json.d.ts +37 -14
  170. package/dist/types/excalidraw/data/library.d.ts +1 -1
  171. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  172. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  173. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  174. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  175. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  176. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
  177. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  178. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  179. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  180. package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
  181. package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
  182. package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
  183. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +2 -4
  184. package/dist/types/excalidraw/scene/Renderer.d.ts +489 -20
  185. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  186. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  187. package/dist/types/excalidraw/scene/types.d.ts +7 -4
  188. package/dist/types/excalidraw/snapping.d.ts +7 -7
  189. package/dist/types/excalidraw/types.d.ts +531 -29
  190. package/dist/types/excalidraw/viewport.d.ts +302 -0
  191. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +13 -3
  192. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  193. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  194. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  195. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  196. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  197. package/dist/types/math/src/constants.d.ts +0 -1
  198. package/dist/types/math/src/curve.d.ts +23 -13
  199. package/dist/types/math/src/index.d.ts +1 -0
  200. package/dist/types/math/src/pca.d.ts +79 -0
  201. package/dist/types/math/src/point.d.ts +1 -0
  202. package/dist/types/math/src/polygon.d.ts +25 -1
  203. package/dist/types/math/src/segment.d.ts +6 -0
  204. package/dist/types/utils/src/export.d.ts +4 -3
  205. package/dist/types/utils/src/index.d.ts +1 -2
  206. package/dist/types/utils/src/shape.d.ts +2 -2
  207. package/package.json +4 -3
  208. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  209. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  210. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  211. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
  212. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  213. package/dist/types/excalidraw/components/shapes.d.ts +0 -263
  214. package/dist/types/excalidraw/cursor.d.ts +0 -5
  215. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  216. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  217. package/dist/types/utils/src/bbox.d.ts +0 -9
  218. 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,14 @@ 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
+ stickyNoteStroke: readonly string[] | null;
34
+ stickyNoteBackground: readonly string[] | null;
35
+ };
36
+ fontTopPicks: readonly number[] | null;
31
37
  activeTool: {
32
38
  lastActiveTool: import("../types").ActiveTool | null;
33
39
  locked: boolean;
@@ -56,7 +62,7 @@ export declare const actionClearCanvas: {
56
62
  name: "settings";
57
63
  } | {
58
64
  name: "elementLinkSelector";
59
- sourceElementId: ExcalidrawElement["id"];
65
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
60
66
  } | {
61
67
  name: "charts";
62
68
  data: import("../charts").Spreadsheet;
@@ -84,16 +90,27 @@ export declare const actionClearCanvas: {
84
90
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
85
91
  midPoint?: import("@excalidraw/math").GlobalPoint;
86
92
  } | null;
93
+ textToolHover: {
94
+ type: "text";
95
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
96
+ } | {
97
+ type: "container";
98
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
99
+ } | {
100
+ type: "arrow";
101
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
102
+ anchor: "start" | "end" | "label";
103
+ } | null;
87
104
  isRotating: boolean;
88
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
105
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
89
106
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
90
107
  snapLines: readonly import("../snapping").SnapLine[];
91
108
  zenModeEnabled: boolean;
92
109
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
93
110
  isCropping: boolean;
94
- croppingElementId: ExcalidrawElement["id"] | null;
111
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
95
112
  searchMatches: Readonly<{
96
- focusedId: ExcalidrawElement["id"] | null;
113
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
97
114
  matches: readonly import("../types").SearchMatch[];
98
115
  }> | null;
99
116
  activeLockedId: string | null;
@@ -113,20 +130,25 @@ export declare const actionClearCanvas: {
113
130
  isLoading: boolean;
114
131
  errorMessage: React.ReactNode;
115
132
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
133
+ boxSelectionMode: import("../types").BoxSelectionMode;
116
134
  bindingPreference: "enabled" | "disabled";
117
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
118
- editingFrame: string | null;
135
+ showHints: boolean;
136
+ inputDevice: import("../types").InputDevice;
137
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
119
138
  preferredSelectionTool: {
120
139
  type: "selection" | "lasso";
121
140
  initialized: boolean;
122
141
  };
123
142
  exportWithDarkMode: boolean;
124
143
  currentItemStrokeColor: string;
144
+ currentItemStickynoteStrokeColor: string;
145
+ currentItemStickynoteBackgroundColor: string;
125
146
  currentItemBackgroundColor: string;
126
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
127
- currentItemStrokeWidth: number;
128
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
147
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
148
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
149
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
129
150
  currentItemRoughness: number;
151
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
130
152
  currentItemOpacity: number;
131
153
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
132
154
  currentItemFontSize: number;
@@ -135,6 +157,7 @@ export declare const actionClearCanvas: {
135
157
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
136
158
  currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
137
159
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
160
+ scrollConstraints: import("../types").ScrollConstraints | null;
138
161
  cursorButton: "up" | "down";
139
162
  scrolledOutside: boolean;
140
163
  isResizing: boolean;
@@ -162,8 +185,6 @@ export declare const actionClearCanvas: {
162
185
  y: number;
163
186
  } | null;
164
187
  objectsSnapModeEnabled: boolean;
165
- userToFollow: import("../types").UserToFollow | null;
166
- followedBy: Set<import("../types").SocketId>;
167
188
  lockedMultiSelections: {
168
189
  [groupId: string]: true;
169
190
  };
@@ -177,18 +198,17 @@ export declare const actionZoomIn: {
177
198
  name: "zoomIn";
178
199
  label: string;
179
200
  viewMode: true;
201
+ navigation: true;
180
202
  icon: import("react/jsx-runtime").JSX.Element;
181
203
  trackEvent: {
182
204
  category: "canvas";
183
205
  };
206
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
184
207
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
185
208
  appState: {
186
- userToFollow: null;
209
+ zoom: import("../types").Zoom;
187
210
  scrollX: number;
188
211
  scrollY: number;
189
- zoom: {
190
- value: import("../types").NormalizedZoomValue;
191
- };
192
212
  contextMenu: {
193
213
  items: import("../components/ContextMenu").ContextMenuItems;
194
214
  top: number;
@@ -206,13 +226,26 @@ export declare const actionZoomIn: {
206
226
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
207
227
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
208
228
  isBindingEnabled: boolean;
229
+ boxSelectionMode: import("../types").BoxSelectionMode;
209
230
  bindingPreference: "enabled" | "disabled";
210
231
  isMidpointSnappingEnabled: boolean;
211
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
232
+ showHints: boolean;
233
+ inputDevice: import("../types").InputDevice;
212
234
  suggestedBinding: {
213
235
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
214
236
  midPoint?: import("@excalidraw/math").GlobalPoint;
215
237
  } | null;
238
+ textToolHover: {
239
+ type: "text";
240
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
241
+ } | {
242
+ type: "container";
243
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
244
+ } | {
245
+ type: "arrow";
246
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
247
+ anchor: "start" | "end" | "label";
248
+ } | null;
216
249
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
217
250
  frameRendering: {
218
251
  enabled: boolean;
@@ -220,8 +253,8 @@ export declare const actionZoomIn: {
220
253
  outline: boolean;
221
254
  clip: boolean;
222
255
  };
223
- editingFrame: string | null;
224
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
256
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
257
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
225
258
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
226
259
  activeTool: {
227
260
  lastActiveTool: import("../types").ActiveTool | null;
@@ -239,11 +272,14 @@ export declare const actionZoomIn: {
239
272
  exportWithDarkMode: boolean;
240
273
  exportScale: number;
241
274
  currentItemStrokeColor: string;
275
+ currentItemStickynoteStrokeColor: string;
276
+ currentItemStickynoteBackgroundColor: string;
242
277
  currentItemBackgroundColor: string;
243
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
244
- currentItemStrokeWidth: number;
245
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
278
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
279
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
280
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
246
281
  currentItemRoughness: number;
282
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
247
283
  currentItemOpacity: number;
248
284
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
249
285
  currentItemFontSize: number;
@@ -254,6 +290,7 @@ export declare const actionZoomIn: {
254
290
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
255
291
  currentItemArrowType: "sharp" | "round" | "elbow";
256
292
  viewBackgroundColor: string;
293
+ scrollConstraints: import("../types").ScrollConstraints | null;
257
294
  cursorButton: "up" | "down";
258
295
  scrolledOutside: boolean;
259
296
  name: string | null;
@@ -276,7 +313,7 @@ export declare const actionZoomIn: {
276
313
  name: "settings";
277
314
  } | {
278
315
  name: "elementLinkSelector";
279
- sourceElementId: ExcalidrawElement["id"];
316
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
280
317
  } | {
281
318
  name: "charts";
282
319
  data: import("../charts").Spreadsheet;
@@ -328,11 +365,10 @@ export declare const actionZoomIn: {
328
365
  y: number;
329
366
  } | null;
330
367
  objectsSnapModeEnabled: boolean;
331
- followedBy: Set<import("../types").SocketId>;
332
368
  isCropping: boolean;
333
- croppingElementId: ExcalidrawElement["id"] | null;
369
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
334
370
  searchMatches: Readonly<{
335
- focusedId: ExcalidrawElement["id"] | null;
371
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
336
372
  matches: readonly import("../types").SearchMatch[];
337
373
  }> | null;
338
374
  activeLockedId: string | null;
@@ -340,10 +376,18 @@ export declare const actionZoomIn: {
340
376
  [groupId: string]: true;
341
377
  };
342
378
  bindMode: import("@excalidraw/element/types").BindMode;
379
+ colorTopPicks: {
380
+ elementStroke: readonly string[] | null;
381
+ elementBackground: readonly string[] | null;
382
+ bucketFill: readonly string[] | null;
383
+ stickyNoteStroke: readonly string[] | null;
384
+ stickyNoteBackground: readonly string[] | null;
385
+ };
386
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
343
387
  };
344
388
  captureUpdate: "EVENTUALLY";
345
389
  };
346
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
390
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
347
391
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
348
392
  } & {
349
393
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -353,17 +397,16 @@ export declare const actionZoomOut: {
353
397
  label: string;
354
398
  icon: import("react/jsx-runtime").JSX.Element;
355
399
  viewMode: true;
400
+ navigation: true;
356
401
  trackEvent: {
357
402
  category: "canvas";
358
403
  };
404
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
359
405
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
360
406
  appState: {
361
- userToFollow: null;
407
+ zoom: import("../types").Zoom;
362
408
  scrollX: number;
363
409
  scrollY: number;
364
- zoom: {
365
- value: import("../types").NormalizedZoomValue;
366
- };
367
410
  contextMenu: {
368
411
  items: import("../components/ContextMenu").ContextMenuItems;
369
412
  top: number;
@@ -381,13 +424,26 @@ export declare const actionZoomOut: {
381
424
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
382
425
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
383
426
  isBindingEnabled: boolean;
427
+ boxSelectionMode: import("../types").BoxSelectionMode;
384
428
  bindingPreference: "enabled" | "disabled";
385
429
  isMidpointSnappingEnabled: boolean;
386
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
430
+ showHints: boolean;
431
+ inputDevice: import("../types").InputDevice;
387
432
  suggestedBinding: {
388
433
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
389
434
  midPoint?: import("@excalidraw/math").GlobalPoint;
390
435
  } | null;
436
+ textToolHover: {
437
+ type: "text";
438
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
439
+ } | {
440
+ type: "container";
441
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
442
+ } | {
443
+ type: "arrow";
444
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
445
+ anchor: "start" | "end" | "label";
446
+ } | null;
391
447
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
392
448
  frameRendering: {
393
449
  enabled: boolean;
@@ -395,8 +451,8 @@ export declare const actionZoomOut: {
395
451
  outline: boolean;
396
452
  clip: boolean;
397
453
  };
398
- editingFrame: string | null;
399
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
454
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
455
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
400
456
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
401
457
  activeTool: {
402
458
  lastActiveTool: import("../types").ActiveTool | null;
@@ -414,11 +470,14 @@ export declare const actionZoomOut: {
414
470
  exportWithDarkMode: boolean;
415
471
  exportScale: number;
416
472
  currentItemStrokeColor: string;
473
+ currentItemStickynoteStrokeColor: string;
474
+ currentItemStickynoteBackgroundColor: string;
417
475
  currentItemBackgroundColor: string;
418
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
419
- currentItemStrokeWidth: number;
420
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
476
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
477
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
478
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
421
479
  currentItemRoughness: number;
480
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
422
481
  currentItemOpacity: number;
423
482
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
424
483
  currentItemFontSize: number;
@@ -429,6 +488,7 @@ export declare const actionZoomOut: {
429
488
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
430
489
  currentItemArrowType: "sharp" | "round" | "elbow";
431
490
  viewBackgroundColor: string;
491
+ scrollConstraints: import("../types").ScrollConstraints | null;
432
492
  cursorButton: "up" | "down";
433
493
  scrolledOutside: boolean;
434
494
  name: string | null;
@@ -451,7 +511,7 @@ export declare const actionZoomOut: {
451
511
  name: "settings";
452
512
  } | {
453
513
  name: "elementLinkSelector";
454
- sourceElementId: ExcalidrawElement["id"];
514
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
455
515
  } | {
456
516
  name: "charts";
457
517
  data: import("../charts").Spreadsheet;
@@ -503,11 +563,10 @@ export declare const actionZoomOut: {
503
563
  y: number;
504
564
  } | null;
505
565
  objectsSnapModeEnabled: boolean;
506
- followedBy: Set<import("../types").SocketId>;
507
566
  isCropping: boolean;
508
- croppingElementId: ExcalidrawElement["id"] | null;
567
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
509
568
  searchMatches: Readonly<{
510
- focusedId: ExcalidrawElement["id"] | null;
569
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
511
570
  matches: readonly import("../types").SearchMatch[];
512
571
  }> | null;
513
572
  activeLockedId: string | null;
@@ -515,10 +574,18 @@ export declare const actionZoomOut: {
515
574
  [groupId: string]: true;
516
575
  };
517
576
  bindMode: import("@excalidraw/element/types").BindMode;
577
+ colorTopPicks: {
578
+ elementStroke: readonly string[] | null;
579
+ elementBackground: readonly string[] | null;
580
+ bucketFill: readonly string[] | null;
581
+ stickyNoteStroke: readonly string[] | null;
582
+ stickyNoteBackground: readonly string[] | null;
583
+ };
584
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
518
585
  };
519
586
  captureUpdate: "EVENTUALLY";
520
587
  };
521
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
588
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
522
589
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
523
590
  } & {
524
591
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -528,17 +595,16 @@ export declare const actionResetZoom: {
528
595
  label: string;
529
596
  icon: import("react/jsx-runtime").JSX.Element;
530
597
  viewMode: true;
598
+ navigation: true;
531
599
  trackEvent: {
532
600
  category: "canvas";
533
601
  };
602
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
534
603
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
535
604
  appState: {
536
- userToFollow: null;
605
+ zoom: import("../types").Zoom;
537
606
  scrollX: number;
538
607
  scrollY: number;
539
- zoom: {
540
- value: import("../types").NormalizedZoomValue;
541
- };
542
608
  contextMenu: {
543
609
  items: import("../components/ContextMenu").ContextMenuItems;
544
610
  top: number;
@@ -556,13 +622,26 @@ export declare const actionResetZoom: {
556
622
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
557
623
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
558
624
  isBindingEnabled: boolean;
625
+ boxSelectionMode: import("../types").BoxSelectionMode;
559
626
  bindingPreference: "enabled" | "disabled";
560
627
  isMidpointSnappingEnabled: boolean;
561
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
628
+ showHints: boolean;
629
+ inputDevice: import("../types").InputDevice;
562
630
  suggestedBinding: {
563
631
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
564
632
  midPoint?: import("@excalidraw/math").GlobalPoint;
565
633
  } | null;
634
+ textToolHover: {
635
+ type: "text";
636
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
637
+ } | {
638
+ type: "container";
639
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
640
+ } | {
641
+ type: "arrow";
642
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
643
+ anchor: "start" | "end" | "label";
644
+ } | null;
566
645
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
567
646
  frameRendering: {
568
647
  enabled: boolean;
@@ -570,8 +649,8 @@ export declare const actionResetZoom: {
570
649
  outline: boolean;
571
650
  clip: boolean;
572
651
  };
573
- editingFrame: string | null;
574
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
652
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
653
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
575
654
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
576
655
  activeTool: {
577
656
  lastActiveTool: import("../types").ActiveTool | null;
@@ -589,11 +668,14 @@ export declare const actionResetZoom: {
589
668
  exportWithDarkMode: boolean;
590
669
  exportScale: number;
591
670
  currentItemStrokeColor: string;
671
+ currentItemStickynoteStrokeColor: string;
672
+ currentItemStickynoteBackgroundColor: string;
592
673
  currentItemBackgroundColor: string;
593
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
594
- currentItemStrokeWidth: number;
595
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
674
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
675
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
676
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
596
677
  currentItemRoughness: number;
678
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
597
679
  currentItemOpacity: number;
598
680
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
599
681
  currentItemFontSize: number;
@@ -604,6 +686,7 @@ export declare const actionResetZoom: {
604
686
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
605
687
  currentItemArrowType: "sharp" | "round" | "elbow";
606
688
  viewBackgroundColor: string;
689
+ scrollConstraints: import("../types").ScrollConstraints | null;
607
690
  cursorButton: "up" | "down";
608
691
  scrolledOutside: boolean;
609
692
  name: string | null;
@@ -626,7 +709,7 @@ export declare const actionResetZoom: {
626
709
  name: "settings";
627
710
  } | {
628
711
  name: "elementLinkSelector";
629
- sourceElementId: ExcalidrawElement["id"];
712
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
630
713
  } | {
631
714
  name: "charts";
632
715
  data: import("../charts").Spreadsheet;
@@ -678,11 +761,10 @@ export declare const actionResetZoom: {
678
761
  y: number;
679
762
  } | null;
680
763
  objectsSnapModeEnabled: boolean;
681
- followedBy: Set<import("../types").SocketId>;
682
764
  isCropping: boolean;
683
- croppingElementId: ExcalidrawElement["id"] | null;
765
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
684
766
  searchMatches: Readonly<{
685
- focusedId: ExcalidrawElement["id"] | null;
767
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
686
768
  matches: readonly import("../types").SearchMatch[];
687
769
  }> | null;
688
770
  activeLockedId: string | null;
@@ -690,372 +772,37 @@ export declare const actionResetZoom: {
690
772
  [groupId: string]: true;
691
773
  };
692
774
  bindMode: import("@excalidraw/element/types").BindMode;
775
+ colorTopPicks: {
776
+ elementStroke: readonly string[] | null;
777
+ elementBackground: readonly string[] | null;
778
+ bucketFill: readonly string[] | null;
779
+ stickyNoteStroke: readonly string[] | null;
780
+ stickyNoteBackground: readonly string[] | null;
781
+ };
782
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
693
783
  };
694
784
  captureUpdate: "EVENTUALLY";
695
785
  };
696
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
786
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
697
787
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
698
788
  } & {
699
789
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
700
790
  };
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
791
  export declare const actionZoomToFitSelectionInViewport: {
1046
792
  name: "zoomToFitSelectionInViewport";
1047
793
  label: string;
1048
794
  icon: import("react/jsx-runtime").JSX.Element;
795
+ viewMode: true;
796
+ navigation: true;
1049
797
  trackEvent: {
1050
798
  category: "canvas";
1051
799
  };
800
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1052
801
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1053
802
  appState: {
803
+ zoom: import("../types").Zoom;
1054
804
  scrollX: number;
1055
805
  scrollY: number;
1056
- zoom: {
1057
- value: import("../types").NormalizedZoomValue;
1058
- };
1059
806
  contextMenu: {
1060
807
  items: import("../components/ContextMenu").ContextMenuItems;
1061
808
  top: number;
@@ -1073,13 +820,26 @@ export declare const actionZoomToFitSelectionInViewport: {
1073
820
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1074
821
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1075
822
  isBindingEnabled: boolean;
823
+ boxSelectionMode: import("../types").BoxSelectionMode;
1076
824
  bindingPreference: "enabled" | "disabled";
1077
825
  isMidpointSnappingEnabled: boolean;
1078
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
826
+ showHints: boolean;
827
+ inputDevice: import("../types").InputDevice;
1079
828
  suggestedBinding: {
1080
829
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1081
830
  midPoint?: import("@excalidraw/math").GlobalPoint;
1082
831
  } | null;
832
+ textToolHover: {
833
+ type: "text";
834
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
835
+ } | {
836
+ type: "container";
837
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
838
+ } | {
839
+ type: "arrow";
840
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
841
+ anchor: "start" | "end" | "label";
842
+ } | null;
1083
843
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1084
844
  frameRendering: {
1085
845
  enabled: boolean;
@@ -1087,8 +847,8 @@ export declare const actionZoomToFitSelectionInViewport: {
1087
847
  outline: boolean;
1088
848
  clip: boolean;
1089
849
  };
1090
- editingFrame: string | null;
1091
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
850
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
851
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1092
852
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1093
853
  activeTool: {
1094
854
  lastActiveTool: import("../types").ActiveTool | null;
@@ -1106,11 +866,14 @@ export declare const actionZoomToFitSelectionInViewport: {
1106
866
  exportWithDarkMode: boolean;
1107
867
  exportScale: number;
1108
868
  currentItemStrokeColor: string;
869
+ currentItemStickynoteStrokeColor: string;
870
+ currentItemStickynoteBackgroundColor: string;
1109
871
  currentItemBackgroundColor: string;
1110
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1111
- currentItemStrokeWidth: number;
1112
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
872
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
873
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
874
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1113
875
  currentItemRoughness: number;
876
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1114
877
  currentItemOpacity: number;
1115
878
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1116
879
  currentItemFontSize: number;
@@ -1121,6 +884,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1121
884
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1122
885
  currentItemArrowType: "sharp" | "round" | "elbow";
1123
886
  viewBackgroundColor: string;
887
+ scrollConstraints: import("../types").ScrollConstraints | null;
1124
888
  cursorButton: "up" | "down";
1125
889
  scrolledOutside: boolean;
1126
890
  name: string | null;
@@ -1143,7 +907,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1143
907
  name: "settings";
1144
908
  } | {
1145
909
  name: "elementLinkSelector";
1146
- sourceElementId: ExcalidrawElement["id"];
910
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1147
911
  } | {
1148
912
  name: "charts";
1149
913
  data: import("../charts").Spreadsheet;
@@ -1195,12 +959,10 @@ export declare const actionZoomToFitSelectionInViewport: {
1195
959
  y: number;
1196
960
  } | null;
1197
961
  objectsSnapModeEnabled: boolean;
1198
- userToFollow: import("../types").UserToFollow | null;
1199
- followedBy: Set<import("../types").SocketId>;
1200
962
  isCropping: boolean;
1201
- croppingElementId: ExcalidrawElement["id"] | null;
963
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1202
964
  searchMatches: Readonly<{
1203
- focusedId: ExcalidrawElement["id"] | null;
965
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1204
966
  matches: readonly import("../types").SearchMatch[];
1205
967
  }> | null;
1206
968
  activeLockedId: string | null;
@@ -1208,6 +970,14 @@ export declare const actionZoomToFitSelectionInViewport: {
1208
970
  [groupId: string]: true;
1209
971
  };
1210
972
  bindMode: import("@excalidraw/element/types").BindMode;
973
+ colorTopPicks: {
974
+ elementStroke: readonly string[] | null;
975
+ elementBackground: readonly string[] | null;
976
+ bucketFill: readonly string[] | null;
977
+ stickyNoteStroke: readonly string[] | null;
978
+ stickyNoteBackground: readonly string[] | null;
979
+ };
980
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
1211
981
  };
1212
982
  captureUpdate: "EVENTUALLY";
1213
983
  };
@@ -1219,16 +989,17 @@ export declare const actionZoomToFitSelection: {
1219
989
  name: "zoomToFitSelection";
1220
990
  label: string;
1221
991
  icon: import("react/jsx-runtime").JSX.Element;
992
+ viewMode: true;
993
+ navigation: true;
1222
994
  trackEvent: {
1223
995
  category: "canvas";
1224
996
  };
997
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1225
998
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1226
999
  appState: {
1000
+ zoom: import("../types").Zoom;
1227
1001
  scrollX: number;
1228
1002
  scrollY: number;
1229
- zoom: {
1230
- value: import("../types").NormalizedZoomValue;
1231
- };
1232
1003
  contextMenu: {
1233
1004
  items: import("../components/ContextMenu").ContextMenuItems;
1234
1005
  top: number;
@@ -1246,13 +1017,26 @@ export declare const actionZoomToFitSelection: {
1246
1017
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1247
1018
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1248
1019
  isBindingEnabled: boolean;
1020
+ boxSelectionMode: import("../types").BoxSelectionMode;
1249
1021
  bindingPreference: "enabled" | "disabled";
1250
1022
  isMidpointSnappingEnabled: boolean;
1251
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1023
+ showHints: boolean;
1024
+ inputDevice: import("../types").InputDevice;
1252
1025
  suggestedBinding: {
1253
1026
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1254
1027
  midPoint?: import("@excalidraw/math").GlobalPoint;
1255
1028
  } | null;
1029
+ textToolHover: {
1030
+ type: "text";
1031
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1032
+ } | {
1033
+ type: "container";
1034
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1035
+ } | {
1036
+ type: "arrow";
1037
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
1038
+ anchor: "start" | "end" | "label";
1039
+ } | null;
1256
1040
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1257
1041
  frameRendering: {
1258
1042
  enabled: boolean;
@@ -1260,8 +1044,8 @@ export declare const actionZoomToFitSelection: {
1260
1044
  outline: boolean;
1261
1045
  clip: boolean;
1262
1046
  };
1263
- editingFrame: string | null;
1264
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1047
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
1048
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1265
1049
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1266
1050
  activeTool: {
1267
1051
  lastActiveTool: import("../types").ActiveTool | null;
@@ -1279,11 +1063,14 @@ export declare const actionZoomToFitSelection: {
1279
1063
  exportWithDarkMode: boolean;
1280
1064
  exportScale: number;
1281
1065
  currentItemStrokeColor: string;
1066
+ currentItemStickynoteStrokeColor: string;
1067
+ currentItemStickynoteBackgroundColor: string;
1282
1068
  currentItemBackgroundColor: string;
1283
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1284
- currentItemStrokeWidth: number;
1285
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1069
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
1070
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
1071
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1286
1072
  currentItemRoughness: number;
1073
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1287
1074
  currentItemOpacity: number;
1288
1075
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1289
1076
  currentItemFontSize: number;
@@ -1294,6 +1081,7 @@ export declare const actionZoomToFitSelection: {
1294
1081
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1295
1082
  currentItemArrowType: "sharp" | "round" | "elbow";
1296
1083
  viewBackgroundColor: string;
1084
+ scrollConstraints: import("../types").ScrollConstraints | null;
1297
1085
  cursorButton: "up" | "down";
1298
1086
  scrolledOutside: boolean;
1299
1087
  name: string | null;
@@ -1316,7 +1104,7 @@ export declare const actionZoomToFitSelection: {
1316
1104
  name: "settings";
1317
1105
  } | {
1318
1106
  name: "elementLinkSelector";
1319
- sourceElementId: ExcalidrawElement["id"];
1107
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1320
1108
  } | {
1321
1109
  name: "charts";
1322
1110
  data: import("../charts").Spreadsheet;
@@ -1368,12 +1156,10 @@ export declare const actionZoomToFitSelection: {
1368
1156
  y: number;
1369
1157
  } | null;
1370
1158
  objectsSnapModeEnabled: boolean;
1371
- userToFollow: import("../types").UserToFollow | null;
1372
- followedBy: Set<import("../types").SocketId>;
1373
1159
  isCropping: boolean;
1374
- croppingElementId: ExcalidrawElement["id"] | null;
1160
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1375
1161
  searchMatches: Readonly<{
1376
- focusedId: ExcalidrawElement["id"] | null;
1162
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1377
1163
  matches: readonly import("../types").SearchMatch[];
1378
1164
  }> | null;
1379
1165
  activeLockedId: string | null;
@@ -1381,6 +1167,14 @@ export declare const actionZoomToFitSelection: {
1381
1167
  [groupId: string]: true;
1382
1168
  };
1383
1169
  bindMode: import("@excalidraw/element/types").BindMode;
1170
+ colorTopPicks: {
1171
+ elementStroke: readonly string[] | null;
1172
+ elementBackground: readonly string[] | null;
1173
+ bucketFill: readonly string[] | null;
1174
+ stickyNoteStroke: readonly string[] | null;
1175
+ stickyNoteBackground: readonly string[] | null;
1176
+ };
1177
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
1384
1178
  };
1385
1179
  captureUpdate: "EVENTUALLY";
1386
1180
  };
@@ -1393,16 +1187,16 @@ export declare const actionZoomToFit: {
1393
1187
  label: string;
1394
1188
  icon: import("react/jsx-runtime").JSX.Element;
1395
1189
  viewMode: true;
1190
+ navigation: true;
1396
1191
  trackEvent: {
1397
1192
  category: "canvas";
1398
1193
  };
1194
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1399
1195
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1400
1196
  appState: {
1197
+ zoom: import("../types").Zoom;
1401
1198
  scrollX: number;
1402
1199
  scrollY: number;
1403
- zoom: {
1404
- value: import("../types").NormalizedZoomValue;
1405
- };
1406
1200
  contextMenu: {
1407
1201
  items: import("../components/ContextMenu").ContextMenuItems;
1408
1202
  top: number;
@@ -1420,13 +1214,26 @@ export declare const actionZoomToFit: {
1420
1214
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1421
1215
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1422
1216
  isBindingEnabled: boolean;
1217
+ boxSelectionMode: import("../types").BoxSelectionMode;
1423
1218
  bindingPreference: "enabled" | "disabled";
1424
1219
  isMidpointSnappingEnabled: boolean;
1425
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1220
+ showHints: boolean;
1221
+ inputDevice: import("../types").InputDevice;
1426
1222
  suggestedBinding: {
1427
1223
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1428
1224
  midPoint?: import("@excalidraw/math").GlobalPoint;
1429
1225
  } | null;
1226
+ textToolHover: {
1227
+ type: "text";
1228
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1229
+ } | {
1230
+ type: "container";
1231
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1232
+ } | {
1233
+ type: "arrow";
1234
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
1235
+ anchor: "start" | "end" | "label";
1236
+ } | null;
1430
1237
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1431
1238
  frameRendering: {
1432
1239
  enabled: boolean;
@@ -1434,8 +1241,8 @@ export declare const actionZoomToFit: {
1434
1241
  outline: boolean;
1435
1242
  clip: boolean;
1436
1243
  };
1437
- editingFrame: string | null;
1438
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1244
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
1245
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1439
1246
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1440
1247
  activeTool: {
1441
1248
  lastActiveTool: import("../types").ActiveTool | null;
@@ -1453,11 +1260,14 @@ export declare const actionZoomToFit: {
1453
1260
  exportWithDarkMode: boolean;
1454
1261
  exportScale: number;
1455
1262
  currentItemStrokeColor: string;
1263
+ currentItemStickynoteStrokeColor: string;
1264
+ currentItemStickynoteBackgroundColor: string;
1456
1265
  currentItemBackgroundColor: string;
1457
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1458
- currentItemStrokeWidth: number;
1459
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1266
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
1267
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
1268
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1460
1269
  currentItemRoughness: number;
1270
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1461
1271
  currentItemOpacity: number;
1462
1272
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1463
1273
  currentItemFontSize: number;
@@ -1468,6 +1278,7 @@ export declare const actionZoomToFit: {
1468
1278
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1469
1279
  currentItemArrowType: "sharp" | "round" | "elbow";
1470
1280
  viewBackgroundColor: string;
1281
+ scrollConstraints: import("../types").ScrollConstraints | null;
1471
1282
  cursorButton: "up" | "down";
1472
1283
  scrolledOutside: boolean;
1473
1284
  name: string | null;
@@ -1490,7 +1301,7 @@ export declare const actionZoomToFit: {
1490
1301
  name: "settings";
1491
1302
  } | {
1492
1303
  name: "elementLinkSelector";
1493
- sourceElementId: ExcalidrawElement["id"];
1304
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1494
1305
  } | {
1495
1306
  name: "charts";
1496
1307
  data: import("../charts").Spreadsheet;
@@ -1542,12 +1353,10 @@ export declare const actionZoomToFit: {
1542
1353
  y: number;
1543
1354
  } | null;
1544
1355
  objectsSnapModeEnabled: boolean;
1545
- userToFollow: import("../types").UserToFollow | null;
1546
- followedBy: Set<import("../types").SocketId>;
1547
1356
  isCropping: boolean;
1548
- croppingElementId: ExcalidrawElement["id"] | null;
1357
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1549
1358
  searchMatches: Readonly<{
1550
- focusedId: ExcalidrawElement["id"] | null;
1359
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1551
1360
  matches: readonly import("../types").SearchMatch[];
1552
1361
  }> | null;
1553
1362
  activeLockedId: string | null;
@@ -1555,6 +1364,14 @@ export declare const actionZoomToFit: {
1555
1364
  [groupId: string]: true;
1556
1365
  };
1557
1366
  bindMode: import("@excalidraw/element/types").BindMode;
1367
+ colorTopPicks: {
1368
+ elementStroke: readonly string[] | null;
1369
+ elementBackground: readonly string[] | null;
1370
+ bucketFill: readonly string[] | null;
1371
+ stickyNoteStroke: readonly string[] | null;
1372
+ stickyNoteBackground: readonly string[] | null;
1373
+ };
1374
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
1558
1375
  };
1559
1376
  captureUpdate: "EVENTUALLY";
1560
1377
  };
@@ -1563,497 +1380,5 @@ export declare const actionZoomToFit: {
1563
1380
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1564
1381
  };
1565
1382
  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;
1383
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
2059
1384
  };