@excalidraw/math 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 (217) hide show
  1. package/dist/dev/index.js +313 -115
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +1 -1
  4. package/dist/types/common/src/colors.d.ts +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/zindex.d.ts +2 -2
  47. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +87 -18
  48. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  49. package/dist/types/excalidraw/actions/actionBoundText.d.ts +58 -12
  50. package/dist/types/excalidraw/actions/actionCanvas.d.ts +265 -940
  51. package/dist/types/excalidraw/actions/actionClipboard.d.ts +58 -12
  52. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +29 -6
  53. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +89 -19
  54. package/dist/types/excalidraw/actions/actionDeselect.d.ts +30 -7
  55. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  56. package/dist/types/excalidraw/actions/actionElementLink.d.ts +29 -6
  57. package/dist/types/excalidraw/actions/actionElementLock.d.ts +59 -13
  58. package/dist/types/excalidraw/actions/actionExport.d.ts +60 -14
  59. package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
  60. package/dist/types/excalidraw/actions/actionFrame.d.ts +150 -203
  61. package/dist/types/excalidraw/actions/actionGroup.d.ts +73 -27
  62. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +84 -9
  63. package/dist/types/excalidraw/actions/actionLink.d.ts +30 -7
  64. package/dist/types/excalidraw/actions/actionMenu.d.ts +29 -6
  65. package/dist/types/excalidraw/actions/actionProperties.d.ts +96 -34
  66. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +34 -11
  67. package/dist/types/excalidraw/actions/actionStyles.d.ts +30 -7
  68. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  69. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +30 -7
  70. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +33 -11
  71. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +30 -7
  72. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +30 -7
  73. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +33 -11
  74. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  75. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleShowHints.d.ts} +45 -19
  76. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +30 -7
  77. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +31 -8
  78. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +30 -7
  79. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  80. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  81. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  82. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  83. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  84. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  85. package/dist/types/excalidraw/appState.d.ts +30 -6
  86. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  87. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  88. package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
  89. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  90. package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
  91. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  92. package/dist/types/excalidraw/components/App.d.ts +301 -93
  93. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  94. package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
  95. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  96. package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
  97. package/dist/types/excalidraw/components/App.text.d.ts +146 -0
  98. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  99. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  100. package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
  101. package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
  102. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  103. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  104. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
  105. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  106. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  107. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  108. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  109. package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
  110. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  111. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  112. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  113. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  114. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  115. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  116. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
  117. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
  118. package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
  119. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  120. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  121. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  122. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  123. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  124. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
  125. package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
  126. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  127. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  128. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  129. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  130. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  131. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  132. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  133. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  134. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  135. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  136. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  137. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  138. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  139. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  140. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  141. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  142. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  143. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  144. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  145. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
  146. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
  147. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  148. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  149. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  150. package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
  151. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
  152. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
  153. package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
  154. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  155. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  156. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
  157. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  158. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  159. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  160. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  161. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  162. package/dist/types/excalidraw/components/icons.d.ts +7 -1
  163. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +10 -4
  164. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  165. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  166. package/dist/types/excalidraw/data/blob.d.ts +62 -16
  167. package/dist/types/excalidraw/data/index.d.ts +4 -4
  168. package/dist/types/excalidraw/data/json.d.ts +37 -14
  169. package/dist/types/excalidraw/data/library.d.ts +1 -1
  170. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  171. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  172. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  173. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  174. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  175. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
  176. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  177. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  178. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  179. package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
  180. package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
  181. package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
  182. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +2 -4
  183. package/dist/types/excalidraw/scene/Renderer.d.ts +489 -20
  184. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  185. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  186. package/dist/types/excalidraw/scene/types.d.ts +7 -4
  187. package/dist/types/excalidraw/snapping.d.ts +7 -7
  188. package/dist/types/excalidraw/types.d.ts +531 -29
  189. package/dist/types/excalidraw/viewport.d.ts +302 -0
  190. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +13 -3
  191. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  192. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  193. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  194. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  195. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  196. package/dist/types/math/src/constants.d.ts +0 -1
  197. package/dist/types/math/src/curve.d.ts +23 -13
  198. package/dist/types/math/src/index.d.ts +1 -0
  199. package/dist/types/math/src/pca.d.ts +79 -0
  200. package/dist/types/math/src/point.d.ts +1 -0
  201. package/dist/types/math/src/polygon.d.ts +25 -1
  202. package/dist/types/math/src/segment.d.ts +6 -0
  203. package/dist/types/utils/src/export.d.ts +4 -3
  204. package/dist/types/utils/src/index.d.ts +1 -2
  205. package/dist/types/utils/src/shape.d.ts +2 -2
  206. package/package.json +2 -2
  207. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  208. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  209. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  210. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
  211. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  212. package/dist/types/excalidraw/components/shapes.d.ts +0 -263
  213. package/dist/types/excalidraw/cursor.d.ts +0 -5
  214. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  215. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  216. package/dist/types/utils/src/bbox.d.ts +0 -9
  217. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -31,13 +31,26 @@ export declare const actionShortcuts: {
31
31
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
32
32
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
33
  isBindingEnabled: boolean;
34
+ boxSelectionMode: import("../types").BoxSelectionMode;
34
35
  bindingPreference: "enabled" | "disabled";
35
36
  isMidpointSnappingEnabled: boolean;
36
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
37
+ showHints: boolean;
38
+ inputDevice: import("../types").InputDevice;
37
39
  suggestedBinding: {
38
40
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
39
41
  midPoint?: import("@excalidraw/math").GlobalPoint;
40
42
  } | null;
43
+ textToolHover: {
44
+ type: "text";
45
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
46
+ } | {
47
+ type: "container";
48
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
49
+ } | {
50
+ type: "arrow";
51
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
52
+ anchor: "start" | "end" | "label";
53
+ } | null;
41
54
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
42
55
  frameRendering: {
43
56
  enabled: boolean;
@@ -45,8 +58,8 @@ export declare const actionShortcuts: {
45
58
  outline: boolean;
46
59
  clip: boolean;
47
60
  };
48
- editingFrame: string | null;
49
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
61
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
62
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
50
63
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
51
64
  activeTool: {
52
65
  lastActiveTool: import("../types").ActiveTool | null;
@@ -64,11 +77,14 @@ export declare const actionShortcuts: {
64
77
  exportWithDarkMode: boolean;
65
78
  exportScale: number;
66
79
  currentItemStrokeColor: string;
80
+ currentItemStickynoteStrokeColor: string;
81
+ currentItemStickynoteBackgroundColor: string;
67
82
  currentItemBackgroundColor: string;
68
83
  currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
69
- currentItemStrokeWidth: number;
84
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
70
85
  currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
71
86
  currentItemRoughness: number;
87
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
72
88
  currentItemOpacity: number;
73
89
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
74
90
  currentItemFontSize: number;
@@ -81,6 +97,7 @@ export declare const actionShortcuts: {
81
97
  viewBackgroundColor: string;
82
98
  scrollX: number;
83
99
  scrollY: number;
100
+ scrollConstraints: import("../types").ScrollConstraints | null;
84
101
  cursorButton: "up" | "down";
85
102
  scrolledOutside: boolean;
86
103
  name: string | null;
@@ -137,8 +154,6 @@ export declare const actionShortcuts: {
137
154
  y: number;
138
155
  } | null;
139
156
  objectsSnapModeEnabled: boolean;
140
- userToFollow: import("../types").UserToFollow | null;
141
- followedBy: Set<import("../types").SocketId>;
142
157
  isCropping: boolean;
143
158
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
144
159
  searchMatches: Readonly<{
@@ -150,6 +165,14 @@ export declare const actionShortcuts: {
150
165
  [groupId: string]: true;
151
166
  };
152
167
  bindMode: import("@excalidraw/element/types").BindMode;
168
+ colorTopPicks: {
169
+ elementStroke: readonly string[] | null;
170
+ elementBackground: readonly string[] | null;
171
+ bucketFill: readonly string[] | null;
172
+ stickyNoteStroke: readonly string[] | null;
173
+ stickyNoteBackground: readonly string[] | null;
174
+ };
175
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
153
176
  };
154
177
  captureUpdate: "EVENTUALLY";
155
178
  };
@@ -1,23 +1,39 @@
1
+ import { type StrokeWidthKey } from "@excalidraw/common";
1
2
  import { LinearElementEditor } from "@excalidraw/element";
2
- import type { Arrowhead, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawTextElement, FontFamilyValues, TextAlign } from "@excalidraw/element/types";
3
+ import type { Arrowhead, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFreeDrawElement, ExcalidrawLinearElement, ExcalidrawTextElement, FontFamilyValues, StrokeVariability, NonDeleted, NonDeletedExcalidrawElement, TextAlign } from "@excalidraw/element/types";
3
4
  import type { AppClassProperties, AppState, Primitive } from "../types";
4
- export declare const changeProperty: (elements: readonly ExcalidrawElement[], appState: AppState, callback: (element: ExcalidrawElement) => ExcalidrawElement, includeBoundText?: boolean) => ExcalidrawElement[];
5
- export declare const getFormValue: <T extends Primitive>(elements: readonly ExcalidrawElement[], app: AppClassProperties, getAttribute: (element: ExcalidrawElement) => T, elementPredicate: true | ((element: ExcalidrawElement) => boolean), defaultValue: T | ((isSomeElementSelected: boolean) => T)) => T;
6
- export declare const actionChangeStrokeColor: import("./types").Action<Pick<AppState, "currentItemStrokeColor">> & {
5
+ export declare const changeProperty: (elements: readonly ExcalidrawElement[], appState: AppState, callback: (element: NonDeletedExcalidrawElement) => ExcalidrawElement, includeBoundText?: boolean) => (ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawStickyNoteElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | ExcalidrawTextElement | ExcalidrawFreeDrawElement)[];
6
+ export declare const getFormValue: <T extends Primitive>(elements: readonly ExcalidrawElement[], app: AppClassProperties,
7
+ /**
8
+ * input value (usually the element attribute value,
9
+ * but depends on what the action's PanelComponent input expects)
10
+ */
11
+ getValue: (element: ExcalidrawElement) => T, elementPredicate: true | ((element: ExcalidrawElement) => boolean), defaultValue: T | ((isSomeElementSelected: boolean) => T)) => T;
12
+ export declare const actionChangeStrokeColor: import("./types").Action<Partial<AppState> & {
13
+ color?: string;
14
+ }> & {
15
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
16
+ };
17
+ export declare const actionChangeBackgroundColor: import("./types").Action<Partial<AppState> & {
18
+ color?: string;
19
+ }> & {
7
20
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
8
21
  };
9
- export declare const actionChangeBackgroundColor: import("./types").Action<Pick<AppState, "viewBackgroundColor" | "currentItemBackgroundColor">> & {
22
+ export declare const actionChangeBucketFillBackgroundColor: import("./types").Action<Pick<AppState, "currentItemBackgroundColor">> & {
10
23
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
11
24
  };
12
25
  export declare const actionChangeFillStyle: import("./types").Action<import("@excalidraw/element/types").FillStyle> & {
13
26
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
14
27
  };
15
- export declare const actionChangeStrokeWidth: import("./types").Action<number> & {
28
+ export declare const actionChangeStrokeWidth: import("./types").Action<StrokeWidthKey> & {
16
29
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
17
30
  };
18
31
  export declare const actionChangeSloppiness: import("./types").Action<number> & {
19
32
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
20
33
  };
34
+ export declare const actionChangeFreedrawMode: import("./types").Action<StrokeVariability> & {
35
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
36
+ };
21
37
  export declare const actionChangeStrokeStyle: import("./types").Action<import("@excalidraw/element/types").StrokeStyle> & {
22
38
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
23
39
  };
@@ -33,7 +49,7 @@ export declare const actionDecreaseFontSize: {
33
49
  icon: import("react/jsx-runtime").JSX.Element;
34
50
  trackEvent: false;
35
51
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: unknown, app: AppClassProperties) => {
36
- elements: ExcalidrawElement[];
52
+ elements: (ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawStickyNoteElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | ExcalidrawTextElement | ExcalidrawFreeDrawElement)[];
37
53
  appState: {
38
54
  currentItemFontSize: number;
39
55
  contextMenu: {
@@ -45,30 +61,43 @@ export declare const actionDecreaseFontSize: {
45
61
  isLoading: boolean;
46
62
  errorMessage: React.ReactNode;
47
63
  activeEmbeddable: {
48
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
64
+ element: NonDeletedExcalidrawElement;
49
65
  state: "hover" | "active";
50
66
  } | null;
51
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
52
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
53
- multiElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawLinearElement> | null;
54
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
67
+ newElement: NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
68
+ resizingElement: NonDeletedExcalidrawElement | null;
69
+ multiElement: NonDeleted<ExcalidrawLinearElement> | null;
70
+ selectionElement: NonDeletedExcalidrawElement | null;
55
71
  isBindingEnabled: boolean;
72
+ boxSelectionMode: import("../types").BoxSelectionMode;
56
73
  bindingPreference: "enabled" | "disabled";
57
74
  isMidpointSnappingEnabled: boolean;
58
- startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
75
+ showHints: boolean;
76
+ inputDevice: import("../types").InputDevice;
59
77
  suggestedBinding: {
60
- element: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement>;
78
+ element: NonDeleted<ExcalidrawBindableElement>;
61
79
  midPoint?: import("@excalidraw/math").GlobalPoint;
62
80
  } | null;
63
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
81
+ textToolHover: {
82
+ type: "text";
83
+ elementId: ExcalidrawElement["id"];
84
+ } | {
85
+ type: "container";
86
+ elementId: ExcalidrawElement["id"];
87
+ } | {
88
+ type: "arrow";
89
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
90
+ anchor: "start" | "end" | "label";
91
+ } | null;
92
+ frameToHighlight: NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
64
93
  frameRendering: {
65
94
  enabled: boolean;
66
95
  name: boolean;
67
96
  outline: boolean;
68
97
  clip: boolean;
69
98
  };
70
- editingFrame: string | null;
71
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
99
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
100
+ elementsToHighlight: readonly NonDeletedExcalidrawElement[] | null;
72
101
  editingTextElement: ExcalidrawTextElement | null;
73
102
  activeTool: {
74
103
  lastActiveTool: import("../types").ActiveTool | null;
@@ -86,11 +115,14 @@ export declare const actionDecreaseFontSize: {
86
115
  exportWithDarkMode: boolean;
87
116
  exportScale: number;
88
117
  currentItemStrokeColor: string;
118
+ currentItemStickynoteStrokeColor: string;
119
+ currentItemStickynoteBackgroundColor: string;
89
120
  currentItemBackgroundColor: string;
90
121
  currentItemFillStyle: ExcalidrawElement["fillStyle"];
91
- currentItemStrokeWidth: number;
122
+ currentItemStrokeWidthKey: StrokeWidthKey;
92
123
  currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
93
124
  currentItemRoughness: number;
125
+ currentItemStrokeVariability: StrokeVariability;
94
126
  currentItemOpacity: number;
95
127
  currentItemFontFamily: FontFamilyValues;
96
128
  currentItemTextAlign: TextAlign;
@@ -102,6 +134,7 @@ export declare const actionDecreaseFontSize: {
102
134
  viewBackgroundColor: string;
103
135
  scrollX: number;
104
136
  scrollY: number;
137
+ scrollConstraints: import("../types").ScrollConstraints | null;
105
138
  cursorButton: "up" | "down";
106
139
  scrolledOutside: boolean;
107
140
  name: string | null;
@@ -177,8 +210,6 @@ export declare const actionDecreaseFontSize: {
177
210
  y: number;
178
211
  } | null;
179
212
  objectsSnapModeEnabled: boolean;
180
- userToFollow: import("../types").UserToFollow | null;
181
- followedBy: Set<import("../types").SocketId>;
182
213
  isCropping: boolean;
183
214
  croppingElementId: ExcalidrawElement["id"] | null;
184
215
  searchMatches: Readonly<{
@@ -190,6 +221,14 @@ export declare const actionDecreaseFontSize: {
190
221
  [groupId: string]: true;
191
222
  };
192
223
  bindMode: import("@excalidraw/element/types").BindMode;
224
+ colorTopPicks: {
225
+ elementStroke: readonly string[] | null;
226
+ elementBackground: readonly string[] | null;
227
+ bucketFill: readonly string[] | null;
228
+ stickyNoteStroke: readonly string[] | null;
229
+ stickyNoteBackground: readonly string[] | null;
230
+ };
231
+ fontTopPicks: readonly FontFamilyValues[] | null;
193
232
  };
194
233
  captureUpdate: "IMMEDIATELY";
195
234
  };
@@ -203,7 +242,7 @@ export declare const actionIncreaseFontSize: {
203
242
  icon: import("react/jsx-runtime").JSX.Element;
204
243
  trackEvent: false;
205
244
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: unknown, app: AppClassProperties) => {
206
- elements: ExcalidrawElement[];
245
+ elements: (ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawStickyNoteElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | ExcalidrawTextElement | ExcalidrawFreeDrawElement)[];
207
246
  appState: {
208
247
  currentItemFontSize: number;
209
248
  contextMenu: {
@@ -215,30 +254,43 @@ export declare const actionIncreaseFontSize: {
215
254
  isLoading: boolean;
216
255
  errorMessage: React.ReactNode;
217
256
  activeEmbeddable: {
218
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
257
+ element: NonDeletedExcalidrawElement;
219
258
  state: "hover" | "active";
220
259
  } | null;
221
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
222
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
223
- multiElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawLinearElement> | null;
224
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
260
+ newElement: NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
261
+ resizingElement: NonDeletedExcalidrawElement | null;
262
+ multiElement: NonDeleted<ExcalidrawLinearElement> | null;
263
+ selectionElement: NonDeletedExcalidrawElement | null;
225
264
  isBindingEnabled: boolean;
265
+ boxSelectionMode: import("../types").BoxSelectionMode;
226
266
  bindingPreference: "enabled" | "disabled";
227
267
  isMidpointSnappingEnabled: boolean;
228
- startBoundElement: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement> | null;
268
+ showHints: boolean;
269
+ inputDevice: import("../types").InputDevice;
229
270
  suggestedBinding: {
230
- element: import("@excalidraw/element/types").NonDeleted<ExcalidrawBindableElement>;
271
+ element: NonDeleted<ExcalidrawBindableElement>;
231
272
  midPoint?: import("@excalidraw/math").GlobalPoint;
232
273
  } | null;
233
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
274
+ textToolHover: {
275
+ type: "text";
276
+ elementId: ExcalidrawElement["id"];
277
+ } | {
278
+ type: "container";
279
+ elementId: ExcalidrawElement["id"];
280
+ } | {
281
+ type: "arrow";
282
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
283
+ anchor: "start" | "end" | "label";
284
+ } | null;
285
+ frameToHighlight: NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
234
286
  frameRendering: {
235
287
  enabled: boolean;
236
288
  name: boolean;
237
289
  outline: boolean;
238
290
  clip: boolean;
239
291
  };
240
- editingFrame: string | null;
241
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
292
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
293
+ elementsToHighlight: readonly NonDeletedExcalidrawElement[] | null;
242
294
  editingTextElement: ExcalidrawTextElement | null;
243
295
  activeTool: {
244
296
  lastActiveTool: import("../types").ActiveTool | null;
@@ -256,11 +308,14 @@ export declare const actionIncreaseFontSize: {
256
308
  exportWithDarkMode: boolean;
257
309
  exportScale: number;
258
310
  currentItemStrokeColor: string;
311
+ currentItemStickynoteStrokeColor: string;
312
+ currentItemStickynoteBackgroundColor: string;
259
313
  currentItemBackgroundColor: string;
260
314
  currentItemFillStyle: ExcalidrawElement["fillStyle"];
261
- currentItemStrokeWidth: number;
315
+ currentItemStrokeWidthKey: StrokeWidthKey;
262
316
  currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
263
317
  currentItemRoughness: number;
318
+ currentItemStrokeVariability: StrokeVariability;
264
319
  currentItemOpacity: number;
265
320
  currentItemFontFamily: FontFamilyValues;
266
321
  currentItemTextAlign: TextAlign;
@@ -272,6 +327,7 @@ export declare const actionIncreaseFontSize: {
272
327
  viewBackgroundColor: string;
273
328
  scrollX: number;
274
329
  scrollY: number;
330
+ scrollConstraints: import("../types").ScrollConstraints | null;
275
331
  cursorButton: "up" | "down";
276
332
  scrolledOutside: boolean;
277
333
  name: string | null;
@@ -347,8 +403,6 @@ export declare const actionIncreaseFontSize: {
347
403
  y: number;
348
404
  } | null;
349
405
  objectsSnapModeEnabled: boolean;
350
- userToFollow: import("../types").UserToFollow | null;
351
- followedBy: Set<import("../types").SocketId>;
352
406
  isCropping: boolean;
353
407
  croppingElementId: ExcalidrawElement["id"] | null;
354
408
  searchMatches: Readonly<{
@@ -360,6 +414,14 @@ export declare const actionIncreaseFontSize: {
360
414
  [groupId: string]: true;
361
415
  };
362
416
  bindMode: import("@excalidraw/element/types").BindMode;
417
+ colorTopPicks: {
418
+ elementStroke: readonly string[] | null;
419
+ elementBackground: readonly string[] | null;
420
+ bucketFill: readonly string[] | null;
421
+ stickyNoteStroke: readonly string[] | null;
422
+ stickyNoteBackground: readonly string[] | null;
423
+ };
424
+ fontTopPicks: readonly FontFamilyValues[] | null;
363
425
  };
364
426
  captureUpdate: "IMMEDIATELY";
365
427
  };
@@ -1,5 +1,5 @@
1
1
  import { LinearElementEditor } from "@excalidraw/element";
2
- import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { ExcalidrawElement, ExcalidrawLinearElement, NonDeleted } from "@excalidraw/element/types";
3
3
  export declare const actionSelectAll: {
4
4
  name: "selectAll";
5
5
  label: string;
@@ -26,27 +26,40 @@ export declare const actionSelectAll: {
26
26
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
27
27
  state: "hover" | "active";
28
28
  } | null;
29
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
29
+ newElement: NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
30
30
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
31
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
31
+ multiElement: NonDeleted<ExcalidrawLinearElement> | null;
32
32
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
33
  isBindingEnabled: boolean;
34
+ boxSelectionMode: import("../types").BoxSelectionMode;
34
35
  bindingPreference: "enabled" | "disabled";
35
36
  isMidpointSnappingEnabled: boolean;
36
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
37
+ showHints: boolean;
38
+ inputDevice: import("../types").InputDevice;
37
39
  suggestedBinding: {
38
- element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
40
+ element: NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
39
41
  midPoint?: import("@excalidraw/math").GlobalPoint;
40
42
  } | null;
41
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
43
+ textToolHover: {
44
+ type: "text";
45
+ elementId: ExcalidrawElement["id"];
46
+ } | {
47
+ type: "container";
48
+ elementId: ExcalidrawElement["id"];
49
+ } | {
50
+ type: "arrow";
51
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
52
+ anchor: "start" | "end" | "label";
53
+ } | null;
54
+ frameToHighlight: NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
42
55
  frameRendering: {
43
56
  enabled: boolean;
44
57
  name: boolean;
45
58
  outline: boolean;
46
59
  clip: boolean;
47
60
  };
48
- editingFrame: string | null;
49
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
61
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
62
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
50
63
  editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
51
64
  activeTool: {
52
65
  lastActiveTool: import("../types").ActiveTool | null;
@@ -64,11 +77,14 @@ export declare const actionSelectAll: {
64
77
  exportWithDarkMode: boolean;
65
78
  exportScale: number;
66
79
  currentItemStrokeColor: string;
80
+ currentItemStickynoteStrokeColor: string;
81
+ currentItemStickynoteBackgroundColor: string;
67
82
  currentItemBackgroundColor: string;
68
83
  currentItemFillStyle: ExcalidrawElement["fillStyle"];
69
- currentItemStrokeWidth: number;
84
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
70
85
  currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
71
86
  currentItemRoughness: number;
87
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
72
88
  currentItemOpacity: number;
73
89
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
74
90
  currentItemFontSize: number;
@@ -81,6 +97,7 @@ export declare const actionSelectAll: {
81
97
  viewBackgroundColor: string;
82
98
  scrollX: number;
83
99
  scrollY: number;
100
+ scrollConstraints: import("../types").ScrollConstraints | null;
84
101
  cursorButton: "up" | "down";
85
102
  scrolledOutside: boolean;
86
103
  name: string | null;
@@ -148,8 +165,6 @@ export declare const actionSelectAll: {
148
165
  y: number;
149
166
  } | null;
150
167
  objectsSnapModeEnabled: boolean;
151
- userToFollow: import("../types").UserToFollow | null;
152
- followedBy: Set<import("../types").SocketId>;
153
168
  isCropping: boolean;
154
169
  croppingElementId: ExcalidrawElement["id"] | null;
155
170
  searchMatches: Readonly<{
@@ -161,6 +176,14 @@ export declare const actionSelectAll: {
161
176
  [groupId: string]: true;
162
177
  };
163
178
  bindMode: import("@excalidraw/element/types").BindMode;
179
+ colorTopPicks: {
180
+ elementStroke: readonly string[] | null;
181
+ elementBackground: readonly string[] | null;
182
+ bucketFill: readonly string[] | null;
183
+ stickyNoteStroke: readonly string[] | null;
184
+ stickyNoteBackground: readonly string[] | null;
185
+ };
186
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
164
187
  };
165
188
  captureUpdate: "IMMEDIATELY";
166
189
  };
@@ -29,13 +29,26 @@ export declare const actionCopyStyles: {
29
29
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
30
30
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
31
31
  isBindingEnabled: boolean;
32
+ boxSelectionMode: import("../types").BoxSelectionMode;
32
33
  bindingPreference: "enabled" | "disabled";
33
34
  isMidpointSnappingEnabled: boolean;
34
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
35
+ showHints: boolean;
36
+ inputDevice: import("../types").InputDevice;
35
37
  suggestedBinding: {
36
38
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
37
39
  midPoint?: import("@excalidraw/math").GlobalPoint;
38
40
  } | null;
41
+ textToolHover: {
42
+ type: "text";
43
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
44
+ } | {
45
+ type: "container";
46
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
47
+ } | {
48
+ type: "arrow";
49
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
50
+ anchor: "start" | "end" | "label";
51
+ } | null;
39
52
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
40
53
  frameRendering: {
41
54
  enabled: boolean;
@@ -43,8 +56,8 @@ export declare const actionCopyStyles: {
43
56
  outline: boolean;
44
57
  clip: boolean;
45
58
  };
46
- editingFrame: string | null;
47
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
59
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
60
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
48
61
  editingTextElement: ExcalidrawTextElement | null;
49
62
  activeTool: {
50
63
  lastActiveTool: import("../types").ActiveTool | null;
@@ -62,11 +75,14 @@ export declare const actionCopyStyles: {
62
75
  exportWithDarkMode: boolean;
63
76
  exportScale: number;
64
77
  currentItemStrokeColor: string;
78
+ currentItemStickynoteStrokeColor: string;
79
+ currentItemStickynoteBackgroundColor: string;
65
80
  currentItemBackgroundColor: string;
66
81
  currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
67
- currentItemStrokeWidth: number;
82
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
68
83
  currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
69
84
  currentItemRoughness: number;
85
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
70
86
  currentItemOpacity: number;
71
87
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
72
88
  currentItemFontSize: number;
@@ -79,6 +95,7 @@ export declare const actionCopyStyles: {
79
95
  viewBackgroundColor: string;
80
96
  scrollX: number;
81
97
  scrollY: number;
98
+ scrollConstraints: import("../types").ScrollConstraints | null;
82
99
  cursorButton: "up" | "down";
83
100
  scrolledOutside: boolean;
84
101
  name: string | null;
@@ -149,8 +166,6 @@ export declare const actionCopyStyles: {
149
166
  y: number;
150
167
  } | null;
151
168
  objectsSnapModeEnabled: boolean;
152
- userToFollow: import("../types").UserToFollow | null;
153
- followedBy: Set<import("../types").SocketId>;
154
169
  isCropping: boolean;
155
170
  croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
156
171
  searchMatches: Readonly<{
@@ -162,6 +177,14 @@ export declare const actionCopyStyles: {
162
177
  [groupId: string]: true;
163
178
  };
164
179
  bindMode: import("@excalidraw/element/types").BindMode;
180
+ colorTopPicks: {
181
+ elementStroke: readonly string[] | null;
182
+ elementBackground: readonly string[] | null;
183
+ bucketFill: readonly string[] | null;
184
+ stickyNoteStroke: readonly string[] | null;
185
+ stickyNoteBackground: readonly string[] | null;
186
+ };
187
+ fontTopPicks: readonly import("@excalidraw/element/types").FontFamilyValues[] | null;
165
188
  };
166
189
  captureUpdate: "EVENTUALLY";
167
190
  };
@@ -180,7 +203,7 @@ export declare const actionPasteStyles: {
180
203
  elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
181
204
  captureUpdate: "EVENTUALLY";
182
205
  } | {
183
- elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
206
+ elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
184
207
  captureUpdate: "IMMEDIATELY";
185
208
  };
186
209
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
@@ -7,7 +7,7 @@ export declare const actionTextAutoResize: {
7
7
  category: "element";
8
8
  };
9
9
  predicate: (elements: readonly ExcalidrawElement[], appState: import("../types").AppState, _: unknown) => boolean;
10
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, targetElement: unknown) => {
10
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, targetElement: unknown, app: import("../types").AppClassProperties) => false | {
11
11
  appState: Readonly<import("../types").AppState>;
12
12
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
13
13
  captureUpdate: "IMMEDIATELY";