@excalidraw/common 0.18.0-abeeaeb → 0.18.0-afa3a65
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.
- package/dist/dev/index.js +91 -10
- package/dist/dev/index.js.map +2 -2
- package/dist/prod/index.js +3 -3
- package/dist/types/common/src/colors.d.ts +8 -0
- package/dist/types/common/src/constants.d.ts +44 -0
- package/dist/types/common/src/keys.d.ts +2 -0
- package/dist/types/common/src/random.d.ts +7 -0
- package/dist/types/element/src/Scene.d.ts +1 -1
- package/dist/types/element/src/comparisons.d.ts +5 -3
- package/dist/types/element/src/delta.d.ts +23 -1
- package/dist/types/element/src/flowchart.d.ts +5 -1
- package/dist/types/element/src/frame.d.ts +2 -2
- package/dist/types/element/src/index.d.ts +1 -0
- package/dist/types/element/src/linearElementEditor.d.ts +10 -0
- package/dist/types/element/src/mutateElement.d.ts +1 -1
- package/dist/types/element/src/newElement.d.ts +24 -2
- package/dist/types/element/src/sizeHelpers.d.ts +6 -0
- package/dist/types/element/src/stickyNote.d.ts +183 -0
- package/dist/types/element/src/textElement.d.ts +2 -1
- package/dist/types/element/src/transform.d.ts +25 -6
- package/dist/types/element/src/typeChecks.d.ts +3 -2
- package/dist/types/element/src/types.d.ts +35 -6
- package/dist/types/element/src/utils.d.ts +7 -3
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +12 -0
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +8 -0
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +28 -0
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +8 -0
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +13 -1
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +8 -0
- package/dist/types/excalidraw/actions/actionExport.d.ts +8 -0
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
- package/dist/types/excalidraw/actions/actionFrame.d.ts +63 -1
- package/dist/types/excalidraw/actions/actionGroup.d.ts +8 -0
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +55 -1
- package/dist/types/excalidraw/actions/actionLink.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionMenu.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionProperties.d.ts +18 -6
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionStyles.d.ts +5 -1
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +4 -0
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +4 -0
- package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
- package/dist/types/excalidraw/appState.d.ts +4 -0
- package/dist/types/excalidraw/components/App.arrowText.d.ts +40 -8
- package/dist/types/excalidraw/components/App.cursor.d.ts +8 -0
- package/dist/types/excalidraw/components/App.d.ts +92 -6
- package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
- package/dist/types/excalidraw/components/IconButton.d.ts +2 -0
- package/dist/types/excalidraw/components/Tools.d.ts +7 -2
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -0
- package/dist/types/excalidraw/components/icons.d.ts +1 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +2 -2
- package/dist/types/excalidraw/data/blob.d.ts +8 -0
- package/dist/types/excalidraw/data/json.d.ts +4 -0
- package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
- package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
- package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +1 -1
- package/dist/types/excalidraw/scene/Renderer.d.ts +50 -1
- package/dist/types/excalidraw/scene/index.d.ts +1 -1
- package/dist/types/excalidraw/scene/types.d.ts +1 -0
- package/dist/types/excalidraw/types.d.ts +30 -2
- package/dist/types/excalidraw/viewport.d.ts +4 -0
- package/dist/types/math/src/curve.d.ts +19 -12
- package/dist/types/math/src/segment.d.ts +6 -0
- package/dist/types/utils/src/export.d.ts +1 -0
- package/dist/types/utils/src/shape.d.ts +2 -2
- package/package.json +1 -1
|
@@ -98,6 +98,8 @@ export declare const actionToggleLinearEditor: {
|
|
|
98
98
|
exportWithDarkMode: boolean;
|
|
99
99
|
exportScale: number;
|
|
100
100
|
currentItemStrokeColor: string;
|
|
101
|
+
currentItemStickynoteStrokeColor: string;
|
|
102
|
+
currentItemStickynoteBackgroundColor: string;
|
|
101
103
|
currentItemBackgroundColor: string;
|
|
102
104
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
103
105
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -206,6 +208,8 @@ export declare const actionToggleLinearEditor: {
|
|
|
206
208
|
elementStroke: readonly string[] | null;
|
|
207
209
|
elementBackground: readonly string[] | null;
|
|
208
210
|
bucketFill: readonly string[] | null;
|
|
211
|
+
stickyNoteStroke: readonly string[] | null;
|
|
212
|
+
stickyNoteBackground: readonly string[] | null;
|
|
209
213
|
};
|
|
210
214
|
};
|
|
211
215
|
captureUpdate: "IMMEDIATELY";
|
|
@@ -252,6 +256,7 @@ export declare const actionTogglePolygon: {
|
|
|
252
256
|
frameId: string | null;
|
|
253
257
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
254
258
|
updated: number;
|
|
259
|
+
created: number | null;
|
|
255
260
|
link: string | null;
|
|
256
261
|
locked: boolean;
|
|
257
262
|
customData?: Record<string, any>;
|
|
@@ -291,6 +296,7 @@ export declare const actionTogglePolygon: {
|
|
|
291
296
|
frameId: string | null;
|
|
292
297
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
293
298
|
updated: number;
|
|
299
|
+
created: number | null;
|
|
294
300
|
link: string | null;
|
|
295
301
|
locked: boolean;
|
|
296
302
|
customData?: Record<string, any>;
|
|
@@ -325,6 +331,7 @@ export declare const actionTogglePolygon: {
|
|
|
325
331
|
frameId: string | null;
|
|
326
332
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
327
333
|
updated: number;
|
|
334
|
+
created: number | null;
|
|
328
335
|
link: string | null;
|
|
329
336
|
locked: boolean;
|
|
330
337
|
customData?: Record<string, any>;
|
|
@@ -359,6 +366,43 @@ export declare const actionTogglePolygon: {
|
|
|
359
366
|
frameId: string | null;
|
|
360
367
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
361
368
|
updated: number;
|
|
369
|
+
created: number | null;
|
|
370
|
+
link: string | null;
|
|
371
|
+
locked: boolean;
|
|
372
|
+
customData?: Record<string, any>;
|
|
373
|
+
}> & Readonly<{
|
|
374
|
+
type: "stickynote";
|
|
375
|
+
baseHeight: number;
|
|
376
|
+
}> & {
|
|
377
|
+
index: import("@excalidraw/element/types").FractionalIndex;
|
|
378
|
+
}) | (Readonly<{
|
|
379
|
+
id: string;
|
|
380
|
+
x: number;
|
|
381
|
+
y: number;
|
|
382
|
+
strokeColor: string;
|
|
383
|
+
backgroundColor: string;
|
|
384
|
+
fillStyle: import("@excalidraw/element/types").FillStyle;
|
|
385
|
+
strokeWidth: number;
|
|
386
|
+
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
|
|
387
|
+
roundness: null | {
|
|
388
|
+
type: import("@excalidraw/element/types").RoundnessType;
|
|
389
|
+
value?: number;
|
|
390
|
+
};
|
|
391
|
+
roughness: number;
|
|
392
|
+
opacity: number;
|
|
393
|
+
width: number;
|
|
394
|
+
height: number;
|
|
395
|
+
angle: import("@excalidraw/math").Radians;
|
|
396
|
+
seed: number;
|
|
397
|
+
version: number;
|
|
398
|
+
versionNonce: number;
|
|
399
|
+
index: import("@excalidraw/element/types").FractionalIndex | null;
|
|
400
|
+
isDeleted: boolean;
|
|
401
|
+
groupIds: readonly import("@excalidraw/element/types").GroupId[];
|
|
402
|
+
frameId: string | null;
|
|
403
|
+
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
404
|
+
updated: number;
|
|
405
|
+
created: number | null;
|
|
362
406
|
link: string | null;
|
|
363
407
|
locked: boolean;
|
|
364
408
|
customData?: Record<string, any>;
|
|
@@ -393,6 +437,7 @@ export declare const actionTogglePolygon: {
|
|
|
393
437
|
frameId: string | null;
|
|
394
438
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
395
439
|
updated: number;
|
|
440
|
+
created: number | null;
|
|
396
441
|
link: string | null;
|
|
397
442
|
locked: boolean;
|
|
398
443
|
customData?: Record<string, any>;
|
|
@@ -427,6 +472,7 @@ export declare const actionTogglePolygon: {
|
|
|
427
472
|
frameId: string | null;
|
|
428
473
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
429
474
|
updated: number;
|
|
475
|
+
created: number | null;
|
|
430
476
|
link: string | null;
|
|
431
477
|
locked: boolean;
|
|
432
478
|
customData?: Record<string, any>;
|
|
@@ -461,6 +507,7 @@ export declare const actionTogglePolygon: {
|
|
|
461
507
|
frameId: string | null;
|
|
462
508
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
463
509
|
updated: number;
|
|
510
|
+
created: number | null;
|
|
464
511
|
link: string | null;
|
|
465
512
|
locked: boolean;
|
|
466
513
|
customData?: Record<string, any>;
|
|
@@ -498,6 +545,7 @@ export declare const actionTogglePolygon: {
|
|
|
498
545
|
frameId: string | null;
|
|
499
546
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
500
547
|
updated: number;
|
|
548
|
+
created: number | null;
|
|
501
549
|
link: string | null;
|
|
502
550
|
locked: boolean;
|
|
503
551
|
customData?: Record<string, any>;
|
|
@@ -536,6 +584,7 @@ export declare const actionTogglePolygon: {
|
|
|
536
584
|
frameId: string | null;
|
|
537
585
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
538
586
|
updated: number;
|
|
587
|
+
created: number | null;
|
|
539
588
|
link: string | null;
|
|
540
589
|
locked: boolean;
|
|
541
590
|
customData?: Record<string, any>;
|
|
@@ -571,6 +620,7 @@ export declare const actionTogglePolygon: {
|
|
|
571
620
|
frameId: string | null;
|
|
572
621
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
573
622
|
updated: number;
|
|
623
|
+
created: number | null;
|
|
574
624
|
link: string | null;
|
|
575
625
|
locked: boolean;
|
|
576
626
|
customData?: Record<string, any>;
|
|
@@ -606,6 +656,7 @@ export declare const actionTogglePolygon: {
|
|
|
606
656
|
frameId: string | null;
|
|
607
657
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
608
658
|
updated: number;
|
|
659
|
+
created: number | null;
|
|
609
660
|
link: string | null;
|
|
610
661
|
locked: boolean;
|
|
611
662
|
customData?: Record<string, any>;
|
|
@@ -613,15 +664,17 @@ export declare const actionTogglePolygon: {
|
|
|
613
664
|
type: "text";
|
|
614
665
|
fontSize: number;
|
|
615
666
|
fontFamily: import("@excalidraw/element/types").FontFamilyValues;
|
|
667
|
+
baseFontSize: number | null;
|
|
616
668
|
text: string;
|
|
617
669
|
textAlign: import("@excalidraw/element/types").TextAlign;
|
|
618
670
|
verticalAlign: import("@excalidraw/element/types").VerticalAlign;
|
|
619
|
-
containerId: import("@excalidraw/element/types").
|
|
671
|
+
containerId: import("@excalidraw/element/types").ExcalidrawTextContainer["id"] | null;
|
|
620
672
|
originalText: string;
|
|
621
673
|
autoResize: boolean;
|
|
622
674
|
lineHeight: number & {
|
|
623
675
|
_brand: "unitlessLineHeight";
|
|
624
676
|
};
|
|
677
|
+
labelPosition?: number | null;
|
|
625
678
|
}> & {
|
|
626
679
|
index: import("@excalidraw/element/types").FractionalIndex;
|
|
627
680
|
}) | (Readonly<{
|
|
@@ -651,6 +704,7 @@ export declare const actionTogglePolygon: {
|
|
|
651
704
|
frameId: string | null;
|
|
652
705
|
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
653
706
|
updated: number;
|
|
707
|
+
created: number | null;
|
|
654
708
|
link: string | null;
|
|
655
709
|
locked: boolean;
|
|
656
710
|
customData?: Record<string, any>;
|
|
@@ -61,6 +61,8 @@ export declare const actionLink: {
|
|
|
61
61
|
exportWithDarkMode: boolean;
|
|
62
62
|
exportScale: number;
|
|
63
63
|
currentItemStrokeColor: string;
|
|
64
|
+
currentItemStickynoteStrokeColor: string;
|
|
65
|
+
currentItemStickynoteBackgroundColor: string;
|
|
64
66
|
currentItemBackgroundColor: string;
|
|
65
67
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
66
68
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -168,6 +170,8 @@ export declare const actionLink: {
|
|
|
168
170
|
elementStroke: readonly string[] | null;
|
|
169
171
|
elementBackground: readonly string[] | null;
|
|
170
172
|
bucketFill: readonly string[] | null;
|
|
173
|
+
stickyNoteStroke: readonly string[] | null;
|
|
174
|
+
stickyNoteBackground: readonly string[] | null;
|
|
171
175
|
};
|
|
172
176
|
};
|
|
173
177
|
captureUpdate: "IMMEDIATELY";
|
|
@@ -68,6 +68,8 @@ export declare const actionShortcuts: {
|
|
|
68
68
|
exportWithDarkMode: boolean;
|
|
69
69
|
exportScale: number;
|
|
70
70
|
currentItemStrokeColor: string;
|
|
71
|
+
currentItemStickynoteStrokeColor: string;
|
|
72
|
+
currentItemStickynoteBackgroundColor: string;
|
|
71
73
|
currentItemBackgroundColor: string;
|
|
72
74
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
73
75
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -158,6 +160,8 @@ export declare const actionShortcuts: {
|
|
|
158
160
|
elementStroke: readonly string[] | null;
|
|
159
161
|
elementBackground: readonly string[] | null;
|
|
160
162
|
bucketFill: readonly string[] | null;
|
|
163
|
+
stickyNoteStroke: readonly string[] | null;
|
|
164
|
+
stickyNoteBackground: readonly string[] | null;
|
|
161
165
|
};
|
|
162
166
|
};
|
|
163
167
|
captureUpdate: "EVENTUALLY";
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { type StrokeWidthKey } from "@excalidraw/common";
|
|
2
2
|
import { LinearElementEditor } from "@excalidraw/element";
|
|
3
|
-
import type { Arrowhead, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawTextElement, FontFamilyValues, StrokeVariability, NonDeleted, NonDeletedExcalidrawElement, TextAlign } from "@excalidraw/element/types";
|
|
3
|
+
import type { Arrowhead, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFreeDrawElement, ExcalidrawLinearElement, ExcalidrawTextElement, FontFamilyValues, StrokeVariability, NonDeleted, NonDeletedExcalidrawElement, TextAlign } from "@excalidraw/element/types";
|
|
4
4
|
import type { AppClassProperties, AppState, Primitive } from "../types";
|
|
5
|
-
export declare const changeProperty: (elements: readonly ExcalidrawElement[], appState: AppState, callback: (element: NonDeletedExcalidrawElement) => ExcalidrawElement, includeBoundText?: boolean) =>
|
|
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
6
|
export declare const getFormValue: <T extends Primitive>(elements: readonly ExcalidrawElement[], app: AppClassProperties,
|
|
7
7
|
/**
|
|
8
8
|
* input value (usually the element attribute value,
|
|
9
9
|
* but depends on what the action's PanelComponent input expects)
|
|
10
10
|
*/
|
|
11
11
|
getValue: (element: ExcalidrawElement) => T, elementPredicate: true | ((element: ExcalidrawElement) => boolean), defaultValue: T | ((isSomeElementSelected: boolean) => T)) => T;
|
|
12
|
-
export declare const actionChangeStrokeColor: import("./types").Action<
|
|
12
|
+
export declare const actionChangeStrokeColor: import("./types").Action<Partial<AppState> & {
|
|
13
|
+
color?: string;
|
|
14
|
+
}> & {
|
|
13
15
|
keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
|
|
14
16
|
};
|
|
15
|
-
export declare const actionChangeBackgroundColor: import("./types").Action<
|
|
17
|
+
export declare const actionChangeBackgroundColor: import("./types").Action<Partial<AppState> & {
|
|
18
|
+
color?: string;
|
|
19
|
+
}> & {
|
|
16
20
|
keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean) | undefined;
|
|
17
21
|
};
|
|
18
22
|
export declare const actionChangeBucketFillBackgroundColor: import("./types").Action<Pick<AppState, "currentItemBackgroundColor">> & {
|
|
@@ -45,7 +49,7 @@ export declare const actionDecreaseFontSize: {
|
|
|
45
49
|
icon: import("react/jsx-runtime").JSX.Element;
|
|
46
50
|
trackEvent: false;
|
|
47
51
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: unknown, app: AppClassProperties) => {
|
|
48
|
-
elements:
|
|
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)[];
|
|
49
53
|
appState: {
|
|
50
54
|
currentItemFontSize: number;
|
|
51
55
|
contextMenu: {
|
|
@@ -102,6 +106,8 @@ export declare const actionDecreaseFontSize: {
|
|
|
102
106
|
exportWithDarkMode: boolean;
|
|
103
107
|
exportScale: number;
|
|
104
108
|
currentItemStrokeColor: string;
|
|
109
|
+
currentItemStickynoteStrokeColor: string;
|
|
110
|
+
currentItemStickynoteBackgroundColor: string;
|
|
105
111
|
currentItemBackgroundColor: string;
|
|
106
112
|
currentItemFillStyle: ExcalidrawElement["fillStyle"];
|
|
107
113
|
currentItemStrokeWidthKey: StrokeWidthKey;
|
|
@@ -210,6 +216,8 @@ export declare const actionDecreaseFontSize: {
|
|
|
210
216
|
elementStroke: readonly string[] | null;
|
|
211
217
|
elementBackground: readonly string[] | null;
|
|
212
218
|
bucketFill: readonly string[] | null;
|
|
219
|
+
stickyNoteStroke: readonly string[] | null;
|
|
220
|
+
stickyNoteBackground: readonly string[] | null;
|
|
213
221
|
};
|
|
214
222
|
};
|
|
215
223
|
captureUpdate: "IMMEDIATELY";
|
|
@@ -224,7 +232,7 @@ export declare const actionIncreaseFontSize: {
|
|
|
224
232
|
icon: import("react/jsx-runtime").JSX.Element;
|
|
225
233
|
trackEvent: false;
|
|
226
234
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: unknown, app: AppClassProperties) => {
|
|
227
|
-
elements:
|
|
235
|
+
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)[];
|
|
228
236
|
appState: {
|
|
229
237
|
currentItemFontSize: number;
|
|
230
238
|
contextMenu: {
|
|
@@ -281,6 +289,8 @@ export declare const actionIncreaseFontSize: {
|
|
|
281
289
|
exportWithDarkMode: boolean;
|
|
282
290
|
exportScale: number;
|
|
283
291
|
currentItemStrokeColor: string;
|
|
292
|
+
currentItemStickynoteStrokeColor: string;
|
|
293
|
+
currentItemStickynoteBackgroundColor: string;
|
|
284
294
|
currentItemBackgroundColor: string;
|
|
285
295
|
currentItemFillStyle: ExcalidrawElement["fillStyle"];
|
|
286
296
|
currentItemStrokeWidthKey: StrokeWidthKey;
|
|
@@ -389,6 +399,8 @@ export declare const actionIncreaseFontSize: {
|
|
|
389
399
|
elementStroke: readonly string[] | null;
|
|
390
400
|
elementBackground: readonly string[] | null;
|
|
391
401
|
bucketFill: readonly string[] | null;
|
|
402
|
+
stickyNoteStroke: readonly string[] | null;
|
|
403
|
+
stickyNoteBackground: readonly string[] | null;
|
|
392
404
|
};
|
|
393
405
|
};
|
|
394
406
|
captureUpdate: "IMMEDIATELY";
|
|
@@ -68,6 +68,8 @@ export declare const actionSelectAll: {
|
|
|
68
68
|
exportWithDarkMode: boolean;
|
|
69
69
|
exportScale: number;
|
|
70
70
|
currentItemStrokeColor: string;
|
|
71
|
+
currentItemStickynoteStrokeColor: string;
|
|
72
|
+
currentItemStickynoteBackgroundColor: string;
|
|
71
73
|
currentItemBackgroundColor: string;
|
|
72
74
|
currentItemFillStyle: ExcalidrawElement["fillStyle"];
|
|
73
75
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -169,6 +171,8 @@ export declare const actionSelectAll: {
|
|
|
169
171
|
elementStroke: readonly string[] | null;
|
|
170
172
|
elementBackground: readonly string[] | null;
|
|
171
173
|
bucketFill: readonly string[] | null;
|
|
174
|
+
stickyNoteStroke: readonly string[] | null;
|
|
175
|
+
stickyNoteBackground: readonly string[] | null;
|
|
172
176
|
};
|
|
173
177
|
};
|
|
174
178
|
captureUpdate: "IMMEDIATELY";
|
|
@@ -66,6 +66,8 @@ export declare const actionCopyStyles: {
|
|
|
66
66
|
exportWithDarkMode: boolean;
|
|
67
67
|
exportScale: number;
|
|
68
68
|
currentItemStrokeColor: string;
|
|
69
|
+
currentItemStickynoteStrokeColor: string;
|
|
70
|
+
currentItemStickynoteBackgroundColor: string;
|
|
69
71
|
currentItemBackgroundColor: string;
|
|
70
72
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
71
73
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -170,6 +172,8 @@ export declare const actionCopyStyles: {
|
|
|
170
172
|
elementStroke: readonly string[] | null;
|
|
171
173
|
elementBackground: readonly string[] | null;
|
|
172
174
|
bucketFill: readonly string[] | null;
|
|
175
|
+
stickyNoteStroke: readonly string[] | null;
|
|
176
|
+
stickyNoteBackground: readonly string[] | null;
|
|
173
177
|
};
|
|
174
178
|
};
|
|
175
179
|
captureUpdate: "EVENTUALLY";
|
|
@@ -189,7 +193,7 @@ export declare const actionPasteStyles: {
|
|
|
189
193
|
elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
190
194
|
captureUpdate: "EVENTUALLY";
|
|
191
195
|
} | {
|
|
192
|
-
elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
196
|
+
elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
193
197
|
captureUpdate: "IMMEDIATELY";
|
|
194
198
|
};
|
|
195
199
|
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
|
|
@@ -62,6 +62,8 @@ export declare const actionToggleArrowBinding: {
|
|
|
62
62
|
exportWithDarkMode: boolean;
|
|
63
63
|
exportScale: number;
|
|
64
64
|
currentItemStrokeColor: string;
|
|
65
|
+
currentItemStickynoteStrokeColor: string;
|
|
66
|
+
currentItemStickynoteBackgroundColor: string;
|
|
65
67
|
currentItemBackgroundColor: string;
|
|
66
68
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
67
69
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -171,6 +173,8 @@ export declare const actionToggleArrowBinding: {
|
|
|
171
173
|
elementStroke: readonly string[] | null;
|
|
172
174
|
elementBackground: readonly string[] | null;
|
|
173
175
|
bucketFill: readonly string[] | null;
|
|
176
|
+
stickyNoteStroke: readonly string[] | null;
|
|
177
|
+
stickyNoteBackground: readonly string[] | null;
|
|
174
178
|
};
|
|
175
179
|
};
|
|
176
180
|
captureUpdate: "NEVER";
|
|
@@ -66,6 +66,8 @@ export declare const actionToggleGridMode: {
|
|
|
66
66
|
exportWithDarkMode: boolean;
|
|
67
67
|
exportScale: number;
|
|
68
68
|
currentItemStrokeColor: string;
|
|
69
|
+
currentItemStickynoteStrokeColor: string;
|
|
70
|
+
currentItemStickynoteBackgroundColor: string;
|
|
69
71
|
currentItemBackgroundColor: string;
|
|
70
72
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
71
73
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -173,6 +175,8 @@ export declare const actionToggleGridMode: {
|
|
|
173
175
|
elementStroke: readonly string[] | null;
|
|
174
176
|
elementBackground: readonly string[] | null;
|
|
175
177
|
bucketFill: readonly string[] | null;
|
|
178
|
+
stickyNoteStroke: readonly string[] | null;
|
|
179
|
+
stickyNoteBackground: readonly string[] | null;
|
|
176
180
|
};
|
|
177
181
|
};
|
|
178
182
|
captureUpdate: "EVENTUALLY";
|
|
@@ -62,6 +62,8 @@ export declare const actionToggleMidpointSnapping: {
|
|
|
62
62
|
exportWithDarkMode: boolean;
|
|
63
63
|
exportScale: number;
|
|
64
64
|
currentItemStrokeColor: string;
|
|
65
|
+
currentItemStickynoteStrokeColor: string;
|
|
66
|
+
currentItemStickynoteBackgroundColor: string;
|
|
65
67
|
currentItemBackgroundColor: string;
|
|
66
68
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
67
69
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -171,6 +173,8 @@ export declare const actionToggleMidpointSnapping: {
|
|
|
171
173
|
elementStroke: readonly string[] | null;
|
|
172
174
|
elementBackground: readonly string[] | null;
|
|
173
175
|
bucketFill: readonly string[] | null;
|
|
176
|
+
stickyNoteStroke: readonly string[] | null;
|
|
177
|
+
stickyNoteBackground: readonly string[] | null;
|
|
174
178
|
};
|
|
175
179
|
};
|
|
176
180
|
captureUpdate: "NEVER";
|
|
@@ -65,6 +65,8 @@ export declare const actionToggleObjectsSnapMode: {
|
|
|
65
65
|
exportWithDarkMode: boolean;
|
|
66
66
|
exportScale: number;
|
|
67
67
|
currentItemStrokeColor: string;
|
|
68
|
+
currentItemStickynoteStrokeColor: string;
|
|
69
|
+
currentItemStickynoteBackgroundColor: string;
|
|
68
70
|
currentItemBackgroundColor: string;
|
|
69
71
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
70
72
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -172,6 +174,8 @@ export declare const actionToggleObjectsSnapMode: {
|
|
|
172
174
|
elementStroke: readonly string[] | null;
|
|
173
175
|
elementBackground: readonly string[] | null;
|
|
174
176
|
bucketFill: readonly string[] | null;
|
|
177
|
+
stickyNoteStroke: readonly string[] | null;
|
|
178
|
+
stickyNoteBackground: readonly string[] | null;
|
|
175
179
|
};
|
|
176
180
|
};
|
|
177
181
|
captureUpdate: "EVENTUALLY";
|
|
@@ -70,6 +70,8 @@ export declare const actionToggleSearchMenu: {
|
|
|
70
70
|
exportWithDarkMode: boolean;
|
|
71
71
|
exportScale: number;
|
|
72
72
|
currentItemStrokeColor: string;
|
|
73
|
+
currentItemStickynoteStrokeColor: string;
|
|
74
|
+
currentItemStickynoteBackgroundColor: string;
|
|
73
75
|
currentItemBackgroundColor: string;
|
|
74
76
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
75
77
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -158,6 +160,8 @@ export declare const actionToggleSearchMenu: {
|
|
|
158
160
|
elementStroke: readonly string[] | null;
|
|
159
161
|
elementBackground: readonly string[] | null;
|
|
160
162
|
bucketFill: readonly string[] | null;
|
|
163
|
+
stickyNoteStroke: readonly string[] | null;
|
|
164
|
+
stickyNoteBackground: readonly string[] | null;
|
|
161
165
|
};
|
|
162
166
|
};
|
|
163
167
|
captureUpdate: "EVENTUALLY";
|
|
@@ -67,6 +67,8 @@ export declare const actionToggleStats: {
|
|
|
67
67
|
exportWithDarkMode: boolean;
|
|
68
68
|
exportScale: number;
|
|
69
69
|
currentItemStrokeColor: string;
|
|
70
|
+
currentItemStickynoteStrokeColor: string;
|
|
71
|
+
currentItemStickynoteBackgroundColor: string;
|
|
70
72
|
currentItemBackgroundColor: string;
|
|
71
73
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
72
74
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -172,6 +174,8 @@ export declare const actionToggleStats: {
|
|
|
172
174
|
elementStroke: readonly string[] | null;
|
|
173
175
|
elementBackground: readonly string[] | null;
|
|
174
176
|
bucketFill: readonly string[] | null;
|
|
177
|
+
stickyNoteStroke: readonly string[] | null;
|
|
178
|
+
stickyNoteBackground: readonly string[] | null;
|
|
175
179
|
};
|
|
176
180
|
};
|
|
177
181
|
captureUpdate: "EVENTUALLY";
|
|
@@ -64,6 +64,8 @@ export declare const actionToggleViewMode: {
|
|
|
64
64
|
exportWithDarkMode: boolean;
|
|
65
65
|
exportScale: number;
|
|
66
66
|
currentItemStrokeColor: string;
|
|
67
|
+
currentItemStickynoteStrokeColor: string;
|
|
68
|
+
currentItemStickynoteBackgroundColor: string;
|
|
67
69
|
currentItemBackgroundColor: string;
|
|
68
70
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
69
71
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -172,6 +174,8 @@ export declare const actionToggleViewMode: {
|
|
|
172
174
|
elementStroke: readonly string[] | null;
|
|
173
175
|
elementBackground: readonly string[] | null;
|
|
174
176
|
bucketFill: readonly string[] | null;
|
|
177
|
+
stickyNoteStroke: readonly string[] | null;
|
|
178
|
+
stickyNoteBackground: readonly string[] | null;
|
|
175
179
|
};
|
|
176
180
|
};
|
|
177
181
|
captureUpdate: "EVENTUALLY";
|
|
@@ -64,6 +64,8 @@ export declare const actionToggleZenMode: {
|
|
|
64
64
|
exportWithDarkMode: boolean;
|
|
65
65
|
exportScale: number;
|
|
66
66
|
currentItemStrokeColor: string;
|
|
67
|
+
currentItemStickynoteStrokeColor: string;
|
|
68
|
+
currentItemStickynoteBackgroundColor: string;
|
|
67
69
|
currentItemBackgroundColor: string;
|
|
68
70
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
69
71
|
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
@@ -172,6 +174,8 @@ export declare const actionToggleZenMode: {
|
|
|
172
174
|
elementStroke: readonly string[] | null;
|
|
173
175
|
elementBackground: readonly string[] | null;
|
|
174
176
|
bucketFill: readonly string[] | null;
|
|
177
|
+
stickyNoteStroke: readonly string[] | null;
|
|
178
|
+
stickyNoteBackground: readonly string[] | null;
|
|
175
179
|
};
|
|
176
180
|
};
|
|
177
181
|
captureUpdate: "EVENTUALLY";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ColorPaletteCustom, ColorTuple } from "@excalidraw/common";
|
|
2
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
import type { AppState } from "../types";
|
|
4
|
+
export type ColorProperty = "strokeColor" | "backgroundColor";
|
|
5
|
+
/**
|
|
6
|
+
* Sticky notes are their own color domain: own defaults, own top picks, no
|
|
7
|
+
* transparent. A pick targets the regular domain, the sticky domain, or both
|
|
8
|
+
* ("mixed" selections write both defaults and use the regular picker).
|
|
9
|
+
*/
|
|
10
|
+
export type ColorTargetKind = "regular" | "sticky" | "mixed";
|
|
11
|
+
export type ColorDefaultKey = "currentItemStrokeColor" | "currentItemBackgroundColor" | "currentItemStickynoteStrokeColor" | "currentItemStickynoteBackgroundColor";
|
|
12
|
+
export type ColorTargetAppState = Pick<AppState, "selectedElementIds" | "editingTextElement" | "activeTool" | ColorDefaultKey>;
|
|
13
|
+
export type ColorTarget = {
|
|
14
|
+
kind: ColorTargetKind;
|
|
15
|
+
property: ColorProperty;
|
|
16
|
+
/** the current-item defaults a pick is written to (normalized per domain) */
|
|
17
|
+
appStateKeys: readonly ColorDefaultKey[];
|
|
18
|
+
/** the default shown when no element is targeted */
|
|
19
|
+
currentValue: string;
|
|
20
|
+
palette: ColorPaletteCustom;
|
|
21
|
+
topPicks: ColorTuple;
|
|
22
|
+
customizableTopPicks: keyof AppState["colorTopPicks"];
|
|
23
|
+
excludedColors: readonly string[] | undefined;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Who a stroke/background pick targets. Resolve it from the state an action
|
|
27
|
+
* runs against, at execution time — never capture it in a render closure:
|
|
28
|
+
* the memoized picker keeps a stale `onChange`, and the always-visible top
|
|
29
|
+
* picks fire it without a re-render.
|
|
30
|
+
*
|
|
31
|
+
* Targets are the selected color-capable elements (for stroke incl. bound
|
|
32
|
+
* labels, since a note's visible text is its label) plus the text being
|
|
33
|
+
* edited (`handleTextWysiwyg` deselects while editing) — or, for a
|
|
34
|
+
* background pick on a note's label, the note (see `getColorTargetElement`).
|
|
35
|
+
* With no target, the active tool decides the domain.
|
|
36
|
+
*/
|
|
37
|
+
export declare const resolveColorTarget: (appState: ColorTargetAppState, elements: readonly ExcalidrawElement[], property: ColorProperty) => ColorTarget;
|
|
38
|
+
/** the current-item default updates for a picked color */
|
|
39
|
+
export declare const getColorTargetAppStateUpdates: (target: ColorTarget, color: string) => Partial<AppState>;
|
|
@@ -29,6 +29,8 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
|
|
|
29
29
|
exportWithDarkMode?: boolean | undefined;
|
|
30
30
|
exportScale?: number | undefined;
|
|
31
31
|
currentItemStrokeColor?: string | undefined;
|
|
32
|
+
currentItemStickynoteStrokeColor?: string | undefined;
|
|
33
|
+
currentItemStickynoteBackgroundColor?: string | undefined;
|
|
32
34
|
currentItemBackgroundColor?: string | undefined;
|
|
33
35
|
currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
|
|
34
36
|
currentItemStrokeWidthKey?: import("@excalidraw/common").StrokeWidthKey | undefined;
|
|
@@ -82,6 +84,8 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
|
|
|
82
84
|
elementStroke: readonly string[] | null;
|
|
83
85
|
elementBackground: readonly string[] | null;
|
|
84
86
|
bucketFill: readonly string[] | null;
|
|
87
|
+
stickyNoteStroke: readonly string[] | null;
|
|
88
|
+
stickyNoteBackground: readonly string[] | null;
|
|
85
89
|
} | undefined;
|
|
86
90
|
};
|
|
87
91
|
export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
|
|
@@ -1,15 +1,23 @@
|
|
|
1
|
+
import { LinearElementEditor } from "@excalidraw/element";
|
|
1
2
|
import type { ArrowEndpoint } from "@excalidraw/element";
|
|
2
|
-
import type { ExcalidrawElement, ExcalidrawTextElement, FixedPoint, NonDeleted } from "@excalidraw/element/types";
|
|
3
|
+
import type { ExcalidrawElement, ExcalidrawTextElement, FixedPoint, NonDeleted, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
3
4
|
import type App from "./App";
|
|
4
|
-
import type { AppState } from "../types";
|
|
5
|
+
import type { AppState, PointerDownState } from "../types";
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
-
* a click would attach text to an arrow — a free endpoint (binds the arrow to
|
|
8
|
-
* a new text element positioned against that endpoint) or the arrow's midpoint
|
|
9
|
-
* (adds a label bound to the arrow) — and the endpoint-bound flavor of
|
|
10
|
-
* drag-sizing a new text.
|
|
7
|
+
* Text ↔ arrow interactions.
|
|
11
8
|
*
|
|
12
|
-
*
|
|
9
|
+
* With the text tool: the hover affordance showing where a click would attach
|
|
10
|
+
* text to an arrow — a free endpoint (binds the arrow to a new text element
|
|
11
|
+
* positioned against that endpoint) or the arrow's midpoint (adds a label
|
|
12
|
+
* bound to the arrow) — and the endpoint-bound flavor of drag-sizing a new
|
|
13
|
+
* text.
|
|
14
|
+
*
|
|
15
|
+
* With the selection tool: dragging an arrow's existing label along the arrow
|
|
16
|
+
* — the grab affordance, the drag itself, and where a double-click starts
|
|
17
|
+
* editing a label the drag has moved.
|
|
18
|
+
*
|
|
19
|
+
* The scene-level logic lives in `@excalidraw/element`'s
|
|
20
|
+
* `arrowEndpointText.ts` and `linearElementEditor.ts`.
|
|
13
21
|
*/
|
|
14
22
|
export declare class AppArrowText {
|
|
15
23
|
private app;
|
|
@@ -69,4 +77,28 @@ export declare class AppArrowText {
|
|
|
69
77
|
x: number;
|
|
70
78
|
y: number;
|
|
71
79
|
}): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Whether the arrow's label is what a grab at this position would pick up:
|
|
82
|
+
* the pointer is over the label, and no element stacked above the arrow
|
|
83
|
+
* owns the hit instead.
|
|
84
|
+
*/
|
|
85
|
+
isBoundTextGrabbable(element: NonDeletedExcalidrawElement, x: number, y: number): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* The pointer-move half of dragging a label along its arrow. Owns the move
|
|
88
|
+
* whenever the gesture started on the label (`pointerDownState.hit.arrowLabel`),
|
|
89
|
+
* dragging only once past the threshold. Returns whether it owned it.
|
|
90
|
+
*/
|
|
91
|
+
maybeDragLabel(linearElementEditor: LinearElementEditor, pointerDownState: PointerDownState, pointerCoords: {
|
|
92
|
+
x: number;
|
|
93
|
+
y: number;
|
|
94
|
+
}): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Where a double-click on a labeled arrow should start text editing: the
|
|
97
|
+
* center of the label itself, which a label drag may have moved away from
|
|
98
|
+
* the arrow's midpoint. Null when the element is not a labeled arrow.
|
|
99
|
+
*/
|
|
100
|
+
getLabelCenter(element: ExcalidrawElement): {
|
|
101
|
+
x: number;
|
|
102
|
+
y: number;
|
|
103
|
+
} | null;
|
|
72
104
|
}
|
|
@@ -24,6 +24,14 @@ export declare class AppCursor {
|
|
|
24
24
|
reset: () => void;
|
|
25
25
|
/** applies the given tool's cursor (defaults to the active tool) */
|
|
26
26
|
applyForTool: (activeTool?: AppState["activeTool"]) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Re-runs the hover cursor logic at the last known pointer position by
|
|
29
|
+
* re-dispatching a synthetic pointermove — for state changes that alter
|
|
30
|
+
* what hovering means without the pointer moving (e.g. the tool reverting
|
|
31
|
+
* to selection after an element is created). Mouse only: touch and pen
|
|
32
|
+
* have no resting hover to restore.
|
|
33
|
+
*/
|
|
34
|
+
refreshHover: () => void;
|
|
27
35
|
/** clears the inline cursor so the environment default (CSS) applies */
|
|
28
36
|
private clear;
|
|
29
37
|
private applyEraser;
|