@excalidraw/math 0.18.0-1118751 → 0.18.0-143b5b6

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 (59) hide show
  1. package/dist/types/common/src/constants.d.ts +3 -0
  2. package/dist/types/common/src/utils.d.ts +5 -0
  3. package/dist/types/element/src/binding.d.ts +8 -0
  4. package/dist/types/element/src/collision.d.ts +6 -0
  5. package/dist/types/element/src/index.d.ts +1 -0
  6. package/dist/types/element/src/listMarker.d.ts +34 -0
  7. package/dist/types/element/src/newElement.d.ts +15 -1
  8. package/dist/types/element/src/textElement.d.ts +7 -0
  9. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +27 -3
  10. package/dist/types/excalidraw/actions/actionBoundText.d.ts +18 -2
  11. package/dist/types/excalidraw/actions/actionCanvas.d.ts +63 -7
  12. package/dist/types/excalidraw/actions/actionClipboard.d.ts +18 -2
  13. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +9 -1
  14. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +27 -3
  15. package/dist/types/excalidraw/actions/actionDeselect.d.ts +12 -1
  16. package/dist/types/excalidraw/actions/actionElementLink.d.ts +9 -1
  17. package/dist/types/excalidraw/actions/actionElementLock.d.ts +18 -2
  18. package/dist/types/excalidraw/actions/actionExport.d.ts +18 -2
  19. package/dist/types/excalidraw/actions/actionFrame.d.ts +27 -3
  20. package/dist/types/excalidraw/actions/actionGroup.d.ts +18 -2
  21. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +9 -1
  22. package/dist/types/excalidraw/actions/actionLink.d.ts +9 -1
  23. package/dist/types/excalidraw/actions/actionMenu.d.ts +9 -1
  24. package/dist/types/excalidraw/actions/actionProperties.d.ts +18 -2
  25. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +9 -1
  26. package/dist/types/excalidraw/actions/actionStyles.d.ts +9 -1
  27. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +9 -1
  28. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +9 -1
  29. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +9 -1
  30. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +9 -1
  31. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +9 -1
  32. package/dist/types/excalidraw/actions/actionToggleShowHints.d.ts +197 -0
  33. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +9 -1
  34. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +9 -1
  35. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +9 -1
  36. package/dist/types/excalidraw/actions/index.d.ts +1 -0
  37. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  38. package/dist/types/excalidraw/appState.d.ts +1 -0
  39. package/dist/types/excalidraw/components/App.arrowText.d.ts +5 -39
  40. package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
  41. package/dist/types/excalidraw/components/App.d.ts +58 -258
  42. package/dist/types/excalidraw/components/App.duplicate.d.ts +52 -2
  43. package/dist/types/excalidraw/components/App.modifiers.d.ts +38 -0
  44. package/dist/types/excalidraw/components/App.pan.d.ts +8 -0
  45. package/dist/types/excalidraw/components/App.selectionTool.d.ts +57 -0
  46. package/dist/types/excalidraw/components/App.text.d.ts +146 -0
  47. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  48. package/dist/types/excalidraw/components/App.viewport.d.ts +41 -1
  49. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  50. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
  51. package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
  52. package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
  53. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -0
  54. package/dist/types/excalidraw/data/blob.d.ts +18 -2
  55. package/dist/types/excalidraw/data/json.d.ts +9 -1
  56. package/dist/types/excalidraw/types.d.ts +35 -13
  57. package/dist/types/excalidraw/viewport.d.ts +22 -1
  58. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +12 -1
  59. package/package.json +2 -2
@@ -4,6 +4,8 @@ export { DEFAULT_STICKY_NOTE_BG } from "./colors";
4
4
  export declare const supportsResizeObserver: boolean;
5
5
  export declare const APP_NAME = "Excalidraw";
6
6
  export declare const TEXT_AUTOWRAP_THRESHOLD = 36;
7
+ export declare const TEXT_VIEWPORT_PADDING = 20;
8
+ export declare const TEXT_MAX_WRAP_WIDTH = 800;
7
9
  export declare const DRAGGING_THRESHOLD = 10;
8
10
  export declare const MINIMUM_ARROW_SIZE = 20;
9
11
  export declare const LINE_CONFIRM_THRESHOLD = 8;
@@ -272,6 +274,7 @@ export declare const TOUCH_CTX_MENU_TIMEOUT = 500;
272
274
  export declare const TITLE_TIMEOUT = 10000;
273
275
  export declare const VERSION_TIMEOUT = 30000;
274
276
  export declare const SCROLL_TIMEOUT = 100;
277
+ export declare const ZEN_MODE_TRANSITION_DURATION = 250;
275
278
  export declare const ZOOM_STEP = 0.1;
276
279
  export declare const MIN_ZOOM = 0.1;
277
280
  export declare const MAX_ZOOM = 30;
@@ -87,6 +87,11 @@ export declare const getGlobalCSSVariable: (name: string) => string;
87
87
  * See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
88
88
  */
89
89
  export declare const isRTL: (text: string) => boolean;
90
+ /**
91
+ * Checks whether the text has any RTL character, i.e. whether it may be laid
92
+ * out bidirectionally.
93
+ */
94
+ export declare const hasRTLChars: (text: string) => boolean;
90
95
  export declare const tupleToCoors: (xyTuple: readonly [number, number]) => {
91
96
  x: number;
92
97
  y: number;
@@ -58,6 +58,7 @@ export declare const bindBindingElement: (arrow: NonDeleted<ExcalidrawArrowEleme
58
58
  export declare const unbindBindingElement: (arrow: ExcalidrawArrowElement, startOrEnd: "start" | "end", scene: Scene) => ExcalidrawBindableElement["id"] | null;
59
59
  export declare const reanchorBindingsToOutline: (changedElement: NonDeleted<ExcalidrawBindableElement>, scene: Scene, zoom: AppState["zoom"]) => void;
60
60
  export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, scene: Scene, options?: {
61
+ /** see `getSimultaneouslyUpdatedElementIds` for how to pass it */
61
62
  simultaneouslyUpdated?: readonly NonDeletedExcalidrawElement[];
62
63
  changedElements?: Map<string, ExcalidrawElement>;
63
64
  }) => void;
@@ -68,6 +69,13 @@ export declare const updateBindings: (latestElement: NonDeletedExcalidrawElement
68
69
  height: number;
69
70
  };
70
71
  }) => void;
72
+ /**
73
+ * The id set of `simultaneouslyUpdated`, shared by every `updateBoundElements()`
74
+ * call given the same array. Pass one array instance for all elements of an
75
+ * operation, and don't change its membership after the first lookup, or the
76
+ * cached ids go stale.
77
+ */
78
+ export declare const getSimultaneouslyUpdatedElementIds: (simultaneouslyUpdated: readonly ExcalidrawElement[] | undefined) => ReadonlySet<ExcalidrawElement["id"]>;
71
79
  export declare const getHeadingForElbowArrowSnap: (p: Readonly<GlobalPoint>, otherPoint: Readonly<GlobalPoint>, bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null, origPoint: GlobalPoint, elementsMap: ElementsMap, zoom?: AppState["zoom"]) => Heading;
72
80
  export declare const bindPointToSnapToElementOutline: (arrowElement: ExcalidrawArrowElement, bindableElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap, zoom: AppState["zoom"], customIntersector?: LineSegment<GlobalPoint>, isMidpointSnappingEnabled?: boolean) => GlobalPoint;
73
81
  export declare const avoidRectangularCorner: (arrowElement: ExcalidrawArrowElement, bindTarget: ExcalidrawBindableElement, elementsMap: ElementsMap, p: GlobalPoint) => GlobalPoint;
@@ -14,6 +14,12 @@ export declare const hitElementItself: ({ point, element, threshold, elementsMap
14
14
  export declare const hitElementBoundingBox: (point: GlobalPoint, element: ExcalidrawElement, elementsMap: ElementsMap, tolerance?: number) => boolean;
15
15
  export declare const hitElementBoundingBoxOnly: (hitArgs: HitTestArgs, elementsMap: ElementsMap) => boolean;
16
16
  export declare const hitElementBoundText: (point: GlobalPoint, element: ExcalidrawElement, elementsMap: ElementsMap) => boolean;
17
+ /**
18
+ * Whether the element hides what is behind it from binding — an arrow's or a
19
+ * text label's. Images count as opaque, and frames once they support a
20
+ * background.
21
+ */
22
+ export declare const isOpaqueForBinding: (element: ExcalidrawElement) => boolean;
17
23
  /**
18
24
  * All elements an arrow endpoint at the point could bind to. Always includes
19
25
  * the result of `getHoveredElementForBinding` for the same arguments.
@@ -36,6 +36,7 @@ export * from "./groups";
36
36
  export * from "./heading";
37
37
  export * from "./image";
38
38
  export * from "./linearElementEditor";
39
+ export * from "./listMarker";
39
40
  export * from "./mutateElement";
40
41
  export * from "./newElement";
41
42
  export * from "./positionElementsOnGrid";
@@ -0,0 +1,34 @@
1
+ import type { Scene } from "./Scene";
2
+ import type { ExcalidrawElement, ExcalidrawTextElement } from "./types";
3
+ /** a list marker advanced by duplication, to go back and forth */
4
+ export type ListMarkerAdvance = {
5
+ elementId: ExcalidrawTextElement["id"];
6
+ prevOriginalText: string;
7
+ nextOriginalText: string;
8
+ /**
9
+ * where the item's text (after the marker and whitespace) starts in
10
+ * `nextOriginalText` (its length if there's none)
11
+ */
12
+ contentStart: number;
13
+ /** the label's container before the label (may have) grown it */
14
+ prevContainerSize: {
15
+ width: number;
16
+ height: number;
17
+ } | null;
18
+ };
19
+ /**
20
+ * Advances the list markers of the duplicated texts and labels, so that
21
+ * duplicating `1. foo` gives `2. foo` (and `1` gives `2`).
22
+ *
23
+ * Duplicating several list items at once continues the list from the
24
+ * highest of them: duplicating `1.`, `3.`, `5.` gives `6.`, `7.`, `8.` (only
25
+ * if they're just markers, i.e. without text).
26
+ *
27
+ * Only if nothing but list items (texts, or containers with list item labels)
28
+ * is duplicated.
29
+ */
30
+ export declare const advanceDuplicatedListMarkers: (duplicatedElements: readonly ExcalidrawElement[], scene: Scene) => ListMarkerAdvance[];
31
+ /**
32
+ * Sets the advanced list markers back (`"prev"`), or forth again (`"next"`).
33
+ */
34
+ export declare const applyListMarkerAdvances: (advances: readonly ListMarkerAdvance[], direction: "prev" | "next", scene: Scene) => void;
@@ -62,7 +62,21 @@ export declare const newTextElement: (opts: {
62
62
  labelPosition?: ExcalidrawTextElement["labelPosition"];
63
63
  baseFontSize?: ExcalidrawTextElement["baseFontSize"];
64
64
  } & ElementConstructorOpts) => NonDeleted<ExcalidrawTextElement>;
65
- export declare const refreshTextDimensions: (textElement: ExcalidrawTextElement, container: ExcalidrawTextContainer | null, elementsMap: ElementsMap, text?: string) => {
65
+ export declare const refreshTextDimensions: (textElement: ExcalidrawTextElement, container: ExcalidrawTextContainer | null, elementsMap: ElementsMap, text?: string,
66
+ /**
67
+ * For a free text that grows with its content (`autoResize`): the widest
68
+ * it may grow to. Crossing it, the text stops growing and wraps at this
69
+ * width from then on (`autoResize: false`), anchored as its growth was. A
70
+ * text that is already wider keeps growing.
71
+ */
72
+ maxWidth?: number) => {
73
+ x: number;
74
+ y: number;
75
+ width: number;
76
+ height: number;
77
+ text: string;
78
+ autoResize: boolean;
79
+ } | {
66
80
  x: number;
67
81
  y: number;
68
82
  width: number;
@@ -29,6 +29,13 @@ export declare const getBoundTextElementPosition: (container: ExcalidrawElement,
29
29
  x: number;
30
30
  y: number;
31
31
  } | undefined;
32
+ /**
33
+ * Returns the text element with its accurate coords. An arrow label's
34
+ * position is derived from the arrow at render time rather than kept in
35
+ * sync on the element itself (see getBoundTextElementPosition), so
36
+ * consumers reading a label's coords directly must go through this helper.
37
+ */
38
+ export declare const getTextElementWithAccuratePosition: <T extends ExcalidrawTextElement>(textElement: T, elementsMap: ElementsMap) => T;
32
39
  export declare const shouldAllowVerticalAlign: (selectedElements: readonly ExcalidrawElement[], elementsMap: ElementsMap) => boolean;
33
40
  export declare const suppportsHorizontalAlign: (selectedElements: readonly ExcalidrawElement[], elementsMap: ElementsMap) => boolean;
34
41
  declare const VALID_CONTAINER_TYPES: Set<string>;
@@ -29,12 +29,20 @@ export declare const actionAddToLibrary: {
29
29
  boxSelectionMode: import("../types").BoxSelectionMode;
30
30
  bindingPreference: "enabled" | "disabled";
31
31
  isMidpointSnappingEnabled: boolean;
32
+ showHints: boolean;
32
33
  inputDevice: import("../types").InputDevice;
33
34
  suggestedBinding: {
34
35
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
35
36
  midPoint?: import("@excalidraw/math").GlobalPoint;
36
37
  } | null;
37
- hoveredArrowTextAnchor: {
38
+ textToolHover: {
39
+ type: "text";
40
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
41
+ } | {
42
+ type: "container";
43
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
44
+ } | {
45
+ type: "arrow";
38
46
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
39
47
  anchor: "start" | "end" | "label";
40
48
  } | null;
@@ -198,12 +206,20 @@ export declare const actionAddToLibrary: {
198
206
  boxSelectionMode: import("../types").BoxSelectionMode;
199
207
  bindingPreference: "enabled" | "disabled";
200
208
  isMidpointSnappingEnabled: boolean;
209
+ showHints: boolean;
201
210
  inputDevice: import("../types").InputDevice;
202
211
  suggestedBinding: {
203
212
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
204
213
  midPoint?: import("@excalidraw/math").GlobalPoint;
205
214
  } | null;
206
- hoveredArrowTextAnchor: {
215
+ textToolHover: {
216
+ type: "text";
217
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
218
+ } | {
219
+ type: "container";
220
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
221
+ } | {
222
+ type: "arrow";
207
223
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
208
224
  anchor: "start" | "end" | "label";
209
225
  } | null;
@@ -372,12 +388,20 @@ export declare const actionAddToLibrary: {
372
388
  boxSelectionMode: import("../types").BoxSelectionMode;
373
389
  bindingPreference: "enabled" | "disabled";
374
390
  isMidpointSnappingEnabled: boolean;
391
+ showHints: boolean;
375
392
  inputDevice: import("../types").InputDevice;
376
393
  suggestedBinding: {
377
394
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
378
395
  midPoint?: import("@excalidraw/math").GlobalPoint;
379
396
  } | null;
380
- hoveredArrowTextAnchor: {
397
+ textToolHover: {
398
+ type: "text";
399
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
400
+ } | {
401
+ type: "container";
402
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
403
+ } | {
404
+ type: "arrow";
381
405
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
382
406
  anchor: "start" | "end" | "label";
383
407
  } | null;
@@ -49,12 +49,20 @@ export declare const actionBindText: {
49
49
  boxSelectionMode: import("../types").BoxSelectionMode;
50
50
  bindingPreference: "enabled" | "disabled";
51
51
  isMidpointSnappingEnabled: boolean;
52
+ showHints: boolean;
52
53
  inputDevice: import("../types").InputDevice;
53
54
  suggestedBinding: {
54
55
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
55
56
  midPoint?: import("@excalidraw/math").GlobalPoint;
56
57
  } | null;
57
- hoveredArrowTextAnchor: {
58
+ textToolHover: {
59
+ type: "text";
60
+ elementId: ExcalidrawElement["id"];
61
+ } | {
62
+ type: "container";
63
+ elementId: ExcalidrawElement["id"];
64
+ } | {
65
+ type: "arrow";
58
66
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
59
67
  anchor: "start" | "end" | "label";
60
68
  } | null;
@@ -235,12 +243,20 @@ export declare const actionWrapTextInContainer: {
235
243
  boxSelectionMode: import("../types").BoxSelectionMode;
236
244
  bindingPreference: "enabled" | "disabled";
237
245
  isMidpointSnappingEnabled: boolean;
246
+ showHints: boolean;
238
247
  inputDevice: import("../types").InputDevice;
239
248
  suggestedBinding: {
240
249
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
241
250
  midPoint?: import("@excalidraw/math").GlobalPoint;
242
251
  } | null;
243
- hoveredArrowTextAnchor: {
252
+ textToolHover: {
253
+ type: "text";
254
+ elementId: ExcalidrawElement["id"];
255
+ } | {
256
+ type: "container";
257
+ elementId: ExcalidrawElement["id"];
258
+ } | {
259
+ type: "arrow";
244
260
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
245
261
  anchor: "start" | "end" | "label";
246
262
  } | null;
@@ -90,7 +90,14 @@ export declare const actionClearCanvas: {
90
90
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
91
91
  midPoint?: import("@excalidraw/math").GlobalPoint;
92
92
  } | null;
93
- hoveredArrowTextAnchor: {
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";
94
101
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
95
102
  anchor: "start" | "end" | "label";
96
103
  } | null;
@@ -125,6 +132,7 @@ export declare const actionClearCanvas: {
125
132
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
126
133
  boxSelectionMode: import("../types").BoxSelectionMode;
127
134
  bindingPreference: "enabled" | "disabled";
135
+ showHints: boolean;
128
136
  inputDevice: import("../types").InputDevice;
129
137
  editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
130
138
  preferredSelectionTool: {
@@ -221,12 +229,20 @@ export declare const actionZoomIn: {
221
229
  boxSelectionMode: import("../types").BoxSelectionMode;
222
230
  bindingPreference: "enabled" | "disabled";
223
231
  isMidpointSnappingEnabled: boolean;
232
+ showHints: boolean;
224
233
  inputDevice: import("../types").InputDevice;
225
234
  suggestedBinding: {
226
235
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
227
236
  midPoint?: import("@excalidraw/math").GlobalPoint;
228
237
  } | null;
229
- hoveredArrowTextAnchor: {
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";
230
246
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
231
247
  anchor: "start" | "end" | "label";
232
248
  } | null;
@@ -411,12 +427,20 @@ export declare const actionZoomOut: {
411
427
  boxSelectionMode: import("../types").BoxSelectionMode;
412
428
  bindingPreference: "enabled" | "disabled";
413
429
  isMidpointSnappingEnabled: boolean;
430
+ showHints: boolean;
414
431
  inputDevice: import("../types").InputDevice;
415
432
  suggestedBinding: {
416
433
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
417
434
  midPoint?: import("@excalidraw/math").GlobalPoint;
418
435
  } | null;
419
- hoveredArrowTextAnchor: {
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";
420
444
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
421
445
  anchor: "start" | "end" | "label";
422
446
  } | null;
@@ -601,12 +625,20 @@ export declare const actionResetZoom: {
601
625
  boxSelectionMode: import("../types").BoxSelectionMode;
602
626
  bindingPreference: "enabled" | "disabled";
603
627
  isMidpointSnappingEnabled: boolean;
628
+ showHints: boolean;
604
629
  inputDevice: import("../types").InputDevice;
605
630
  suggestedBinding: {
606
631
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
607
632
  midPoint?: import("@excalidraw/math").GlobalPoint;
608
633
  } | null;
609
- hoveredArrowTextAnchor: {
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";
610
642
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
611
643
  anchor: "start" | "end" | "label";
612
644
  } | null;
@@ -791,12 +823,20 @@ export declare const actionZoomToFitSelectionInViewport: {
791
823
  boxSelectionMode: import("../types").BoxSelectionMode;
792
824
  bindingPreference: "enabled" | "disabled";
793
825
  isMidpointSnappingEnabled: boolean;
826
+ showHints: boolean;
794
827
  inputDevice: import("../types").InputDevice;
795
828
  suggestedBinding: {
796
829
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
797
830
  midPoint?: import("@excalidraw/math").GlobalPoint;
798
831
  } | null;
799
- hoveredArrowTextAnchor: {
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";
800
840
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
801
841
  anchor: "start" | "end" | "label";
802
842
  } | null;
@@ -980,12 +1020,20 @@ export declare const actionZoomToFitSelection: {
980
1020
  boxSelectionMode: import("../types").BoxSelectionMode;
981
1021
  bindingPreference: "enabled" | "disabled";
982
1022
  isMidpointSnappingEnabled: boolean;
1023
+ showHints: boolean;
983
1024
  inputDevice: import("../types").InputDevice;
984
1025
  suggestedBinding: {
985
1026
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
986
1027
  midPoint?: import("@excalidraw/math").GlobalPoint;
987
1028
  } | null;
988
- hoveredArrowTextAnchor: {
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";
989
1037
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
990
1038
  anchor: "start" | "end" | "label";
991
1039
  } | null;
@@ -1169,12 +1217,20 @@ export declare const actionZoomToFit: {
1169
1217
  boxSelectionMode: import("../types").BoxSelectionMode;
1170
1218
  bindingPreference: "enabled" | "disabled";
1171
1219
  isMidpointSnappingEnabled: boolean;
1220
+ showHints: boolean;
1172
1221
  inputDevice: import("../types").InputDevice;
1173
1222
  suggestedBinding: {
1174
1223
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1175
1224
  midPoint?: import("@excalidraw/math").GlobalPoint;
1176
1225
  } | null;
1177
- hoveredArrowTextAnchor: {
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";
1178
1234
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
1179
1235
  anchor: "start" | "end" | "label";
1180
1236
  } | null;
@@ -30,12 +30,20 @@ export declare const actionPaste: {
30
30
  boxSelectionMode: import("../types").BoxSelectionMode;
31
31
  bindingPreference: "enabled" | "disabled";
32
32
  isMidpointSnappingEnabled: boolean;
33
+ showHints: boolean;
33
34
  inputDevice: import("../types").InputDevice;
34
35
  suggestedBinding: {
35
36
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
36
37
  midPoint?: import("@excalidraw/math").GlobalPoint;
37
38
  } | null;
38
- hoveredArrowTextAnchor: {
39
+ textToolHover: {
40
+ type: "text";
41
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
42
+ } | {
43
+ type: "container";
44
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
45
+ } | {
46
+ type: "arrow";
39
47
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
40
48
  anchor: "start" | "end" | "label";
41
49
  } | null;
@@ -254,12 +262,20 @@ export declare const actionCopyAsPng: {
254
262
  boxSelectionMode: import("../types").BoxSelectionMode;
255
263
  bindingPreference: "enabled" | "disabled";
256
264
  isMidpointSnappingEnabled: boolean;
265
+ showHints: boolean;
257
266
  inputDevice: import("../types").InputDevice;
258
267
  suggestedBinding: {
259
268
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
260
269
  midPoint?: import("@excalidraw/math").GlobalPoint;
261
270
  } | null;
262
- hoveredArrowTextAnchor: {
271
+ textToolHover: {
272
+ type: "text";
273
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
274
+ } | {
275
+ type: "container";
276
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
277
+ } | {
278
+ type: "arrow";
263
279
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
264
280
  anchor: "start" | "end" | "label";
265
281
  } | null;
@@ -31,12 +31,20 @@ export declare const actionToggleCropEditor: {
31
31
  boxSelectionMode: import("../types").BoxSelectionMode;
32
32
  bindingPreference: "enabled" | "disabled";
33
33
  isMidpointSnappingEnabled: boolean;
34
+ showHints: boolean;
34
35
  inputDevice: import("../types").InputDevice;
35
36
  suggestedBinding: {
36
37
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
37
38
  midPoint?: import("@excalidraw/math").GlobalPoint;
38
39
  } | null;
39
- hoveredArrowTextAnchor: {
40
+ textToolHover: {
41
+ type: "text";
42
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
43
+ } | {
44
+ type: "container";
45
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
46
+ } | {
47
+ type: "arrow";
40
48
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
41
49
  anchor: "start" | "end" | "label";
42
50
  } | null;
@@ -32,12 +32,20 @@ export declare const actionDeleteSelected: {
32
32
  boxSelectionMode: import("../types").BoxSelectionMode;
33
33
  bindingPreference: "enabled" | "disabled";
34
34
  isMidpointSnappingEnabled: boolean;
35
+ showHints: boolean;
35
36
  inputDevice: import("../types").InputDevice;
36
37
  suggestedBinding: {
37
38
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
38
39
  midPoint?: import("@excalidraw/math").GlobalPoint;
39
40
  } | null;
40
- hoveredArrowTextAnchor: {
41
+ textToolHover: {
42
+ type: "text";
43
+ elementId: ExcalidrawElement["id"];
44
+ } | {
45
+ type: "container";
46
+ elementId: ExcalidrawElement["id"];
47
+ } | {
48
+ type: "arrow";
41
49
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
42
50
  anchor: "start" | "end" | "label";
43
51
  } | null;
@@ -240,12 +248,20 @@ export declare const actionDeleteSelected: {
240
248
  boxSelectionMode: import("../types").BoxSelectionMode;
241
249
  bindingPreference: "enabled" | "disabled";
242
250
  isMidpointSnappingEnabled: boolean;
251
+ showHints: boolean;
243
252
  inputDevice: import("../types").InputDevice;
244
253
  suggestedBinding: {
245
254
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
246
255
  midPoint?: import("@excalidraw/math").GlobalPoint;
247
256
  } | null;
248
- hoveredArrowTextAnchor: {
257
+ textToolHover: {
258
+ type: "text";
259
+ elementId: ExcalidrawElement["id"];
260
+ } | {
261
+ type: "container";
262
+ elementId: ExcalidrawElement["id"];
263
+ } | {
264
+ type: "arrow";
249
265
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
250
266
  anchor: "start" | "end" | "label";
251
267
  } | null;
@@ -420,12 +436,20 @@ export declare const actionDeleteSelected: {
420
436
  boxSelectionMode: import("../types").BoxSelectionMode;
421
437
  bindingPreference: "enabled" | "disabled";
422
438
  isMidpointSnappingEnabled: boolean;
439
+ showHints: boolean;
423
440
  inputDevice: import("../types").InputDevice;
424
441
  suggestedBinding: {
425
442
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
426
443
  midPoint?: import("@excalidraw/math").GlobalPoint;
427
444
  } | null;
428
- hoveredArrowTextAnchor: {
445
+ textToolHover: {
446
+ type: "text";
447
+ elementId: ExcalidrawElement["id"];
448
+ } | {
449
+ type: "container";
450
+ elementId: ExcalidrawElement["id"];
451
+ } | {
452
+ type: "arrow";
429
453
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
430
454
  anchor: "start" | "end" | "label";
431
455
  } | null;
@@ -15,7 +15,6 @@ export declare const actionDeselect: {
15
15
  selectionElement: null;
16
16
  showHyperlinkPopup: false;
17
17
  suggestedBinding: null;
18
- hoveredArrowTextAnchor: null;
19
18
  frameToHighlight: null;
20
19
  editingGroupId: AppState["editingGroupId"];
21
20
  selectedElementIds: AppState["selectedElementIds"];
@@ -35,7 +34,19 @@ export declare const actionDeselect: {
35
34
  boxSelectionMode: import("../types").BoxSelectionMode;
36
35
  bindingPreference: "enabled" | "disabled";
37
36
  isMidpointSnappingEnabled: boolean;
37
+ showHints: boolean;
38
38
  inputDevice: import("../types").InputDevice;
39
+ textToolHover: {
40
+ type: "text";
41
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
42
+ } | {
43
+ type: "container";
44
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
45
+ } | {
46
+ type: "arrow";
47
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
48
+ anchor: "start" | "end" | "label";
49
+ } | null;
39
50
  frameRendering: {
40
51
  enabled: boolean;
41
52
  name: boolean;
@@ -60,12 +60,20 @@ export declare const actionLinkToElement: {
60
60
  boxSelectionMode: import("../types").BoxSelectionMode;
61
61
  bindingPreference: "enabled" | "disabled";
62
62
  isMidpointSnappingEnabled: boolean;
63
+ showHints: boolean;
63
64
  inputDevice: import("../types").InputDevice;
64
65
  suggestedBinding: {
65
66
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
66
67
  midPoint?: import("@excalidraw/math").GlobalPoint;
67
68
  } | null;
68
- hoveredArrowTextAnchor: {
69
+ textToolHover: {
70
+ type: "text";
71
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
72
+ } | {
73
+ type: "container";
74
+ elementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
75
+ } | {
76
+ type: "arrow";
69
77
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
70
78
  anchor: "start" | "end" | "label";
71
79
  } | null;
@@ -42,12 +42,20 @@ export declare const actionToggleElementLock: {
42
42
  boxSelectionMode: import("../types").BoxSelectionMode;
43
43
  bindingPreference: "enabled" | "disabled";
44
44
  isMidpointSnappingEnabled: boolean;
45
+ showHints: boolean;
45
46
  inputDevice: import("../types").InputDevice;
46
47
  suggestedBinding: {
47
48
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
48
49
  midPoint?: import("@excalidraw/math").GlobalPoint;
49
50
  } | null;
50
- hoveredArrowTextAnchor: {
51
+ textToolHover: {
52
+ type: "text";
53
+ elementId: ExcalidrawElement["id"];
54
+ } | {
55
+ type: "container";
56
+ elementId: ExcalidrawElement["id"];
57
+ } | {
58
+ type: "arrow";
51
59
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
52
60
  anchor: "start" | "end" | "label";
53
61
  } | null;
@@ -227,12 +235,20 @@ export declare const actionUnlockAllElements: {
227
235
  boxSelectionMode: import("../types").BoxSelectionMode;
228
236
  bindingPreference: "enabled" | "disabled";
229
237
  isMidpointSnappingEnabled: boolean;
238
+ showHints: boolean;
230
239
  inputDevice: import("../types").InputDevice;
231
240
  suggestedBinding: {
232
241
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
233
242
  midPoint?: import("@excalidraw/math").GlobalPoint;
234
243
  } | null;
235
- hoveredArrowTextAnchor: {
244
+ textToolHover: {
245
+ type: "text";
246
+ elementId: ExcalidrawElement["id"];
247
+ } | {
248
+ type: "container";
249
+ elementId: ExcalidrawElement["id"];
250
+ } | {
251
+ type: "arrow";
236
252
  elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
237
253
  anchor: "start" | "end" | "label";
238
254
  } | null;