@excalidraw/excalidraw 0.12.0-b818df1 → 0.12.0-b914ad4
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/CHANGELOG.md +3 -1
- package/README.md +9 -1
- package/dist/excalidraw.development.js +29 -18
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/actions/actionClipboard.d.ts +1 -0
- package/types/actions/actionDeleteSelected.d.ts +1 -0
- package/types/components/App.d.ts +1 -0
- package/types/element/bounds.d.ts +1 -1
- package/types/element/linearElementEditor.d.ts +10 -2
- package/types/element/transformHandles.d.ts +4 -3
- package/types/element/types.d.ts +1 -0
- package/types/points.d.ts +2 -1
- package/types/polyfill.d.ts +2 -0
- package/types/renderer/renderScene.d.ts +18 -2
package/package.json
CHANGED
|
@@ -69,6 +69,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
69
69
|
private removeEventListeners;
|
|
70
70
|
private addEventListeners;
|
|
71
71
|
componentDidUpdate(prevProps: AppProps, prevState: AppState): void;
|
|
72
|
+
private renderScene;
|
|
72
73
|
private onScroll;
|
|
73
74
|
private onCut;
|
|
74
75
|
private onCopy;
|
|
@@ -8,7 +8,7 @@ export declare const getCurvePathOps: (shape: Drawable) => Op[];
|
|
|
8
8
|
export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
|
|
9
9
|
export declare const getElementBounds: (element: ExcalidrawElement) => [number, number, number, number];
|
|
10
10
|
export declare const getCommonBounds: (elements: readonly ExcalidrawElement[]) => [number, number, number, number];
|
|
11
|
-
export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number) => [number, number, number, number];
|
|
11
|
+
export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number, normalizePoints: boolean) => [number, number, number, number];
|
|
12
12
|
export declare const getElementPointsCoords: (element: ExcalidrawLinearElement, points: readonly (readonly [number, number])[], sharpness: ExcalidrawElement["strokeSharpness"]) => [number, number, number, number];
|
|
13
13
|
export declare const getClosestElementBounds: (elements: readonly ExcalidrawElement[], from: {
|
|
14
14
|
x: number;
|
|
@@ -24,6 +24,7 @@ export declare class LinearElementEditor {
|
|
|
24
24
|
readonly startBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
25
25
|
readonly endBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
26
26
|
readonly hoverPointIndex: number;
|
|
27
|
+
readonly midPointHovered: boolean;
|
|
27
28
|
constructor(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene);
|
|
28
29
|
static POINT_HANDLE_SIZE: number;
|
|
29
30
|
/**
|
|
@@ -38,6 +39,11 @@ export declare class LinearElementEditor {
|
|
|
38
39
|
y: number;
|
|
39
40
|
}[]) => void, linearElementEditor: LinearElementEditor): boolean;
|
|
40
41
|
static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState): LinearElementEditor;
|
|
42
|
+
static isHittingMidPoint: (linearElementEditor: LinearElementEditor, scenePointer: {
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
}, appState: AppState) => boolean;
|
|
46
|
+
static getMidPoint(linearElementEditor: LinearElementEditor): readonly [number, number] | null;
|
|
41
47
|
static handlePointerDown(event: React.PointerEvent<HTMLCanvasElement>, appState: AppState, history: History, scenePointer: {
|
|
42
48
|
x: number;
|
|
43
49
|
y: number;
|
|
@@ -45,12 +51,13 @@ export declare class LinearElementEditor {
|
|
|
45
51
|
didAddPoint: boolean;
|
|
46
52
|
hitElement: NonDeleted<ExcalidrawElement> | null;
|
|
47
53
|
linearElementEditor: LinearElementEditor | null;
|
|
54
|
+
isMidPoint: boolean;
|
|
48
55
|
};
|
|
49
56
|
static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, linearElementEditor: LinearElementEditor, gridSize: number | null): LinearElementEditor;
|
|
50
57
|
/** scene coords */
|
|
51
58
|
static getPointGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, point: Point): readonly [number, number];
|
|
52
59
|
/** scene coords */
|
|
53
|
-
static getPointsGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>):
|
|
60
|
+
static getPointsGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>): Point[];
|
|
54
61
|
static getPointAtIndexGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, indexMaybeFromEnd: number): Point;
|
|
55
62
|
static pointFromAbsoluteCoords(element: NonDeleted<ExcalidrawLinearElement>, absoluteCoords: Point): Point;
|
|
56
63
|
static getPointIndexUnderCursor(element: NonDeleted<ExcalidrawLinearElement>, zoom: AppState["zoom"], x: number, y: number): number;
|
|
@@ -87,6 +94,7 @@ export declare class LinearElementEditor {
|
|
|
87
94
|
startBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
88
95
|
endBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
89
96
|
hoverPointIndex: number;
|
|
97
|
+
midPointHovered: boolean;
|
|
90
98
|
};
|
|
91
99
|
isLoading: boolean;
|
|
92
100
|
errorMessage: string | null;
|
|
@@ -136,7 +144,7 @@ export declare class LinearElementEditor {
|
|
|
136
144
|
scrolledOutside: boolean;
|
|
137
145
|
name: string;
|
|
138
146
|
isResizing: boolean;
|
|
139
|
-
isRotating: boolean;
|
|
147
|
+
isRotating: boolean;
|
|
140
148
|
zoom: Readonly<{
|
|
141
149
|
value: import("../types").NormalizedZoomValue;
|
|
142
150
|
}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExcalidrawElement, PointerType } from "./types";
|
|
1
|
+
import { ExcalidrawElement, NonDeletedExcalidrawElement, PointerType } from "./types";
|
|
2
2
|
import { Bounds } from "./bounds";
|
|
3
3
|
import { Zoom } from "../types";
|
|
4
4
|
export declare type TransformHandleDirection = "n" | "s" | "w" | "e" | "nw" | "ne" | "sw" | "se";
|
|
@@ -17,12 +17,13 @@ export declare const OMIT_SIDES_FOR_MULTIPLE_ELEMENTS: {
|
|
|
17
17
|
export declare const getTransformHandlesFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, zoom: Zoom, pointerType: PointerType, omitSides?: {
|
|
18
18
|
e?: boolean | undefined;
|
|
19
19
|
s?: boolean | undefined;
|
|
20
|
-
n?: boolean | undefined;
|
|
21
20
|
w?: boolean | undefined;
|
|
21
|
+
n?: boolean | undefined;
|
|
22
22
|
nw?: boolean | undefined;
|
|
23
23
|
ne?: boolean | undefined;
|
|
24
24
|
sw?: boolean | undefined;
|
|
25
25
|
se?: boolean | undefined;
|
|
26
26
|
rotation?: boolean | undefined;
|
|
27
|
-
}) => TransformHandles;
|
|
27
|
+
}, margin?: number) => TransformHandles;
|
|
28
28
|
export declare const getTransformHandles: (element: ExcalidrawElement, zoom: Zoom, pointerType?: PointerType) => TransformHandles;
|
|
29
|
+
export declare const shouldShowBoundingBox: (elements: NonDeletedExcalidrawElement[]) => boolean;
|
package/types/element/types.d.ts
CHANGED
package/types/points.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ export declare const getSizeFromPoints: (points: readonly Point[]) => {
|
|
|
3
3
|
width: number;
|
|
4
4
|
height: number;
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
/** @arg dimension, 0 for rescaling only x, 1 for y */
|
|
7
|
+
export declare const rescalePoints: (dimension: 0 | 1, newSize: number, points: readonly Point[], normalize: boolean) => Point[];
|
|
@@ -3,7 +3,15 @@ import { RoughSVG } from "roughjs/bin/svg";
|
|
|
3
3
|
import { AppState, BinaryFiles } from "../types";
|
|
4
4
|
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
5
5
|
import { RenderConfig } from "../scene/types";
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const DEFAULT_SPACING = 4;
|
|
7
|
+
export declare const _renderScene: ({ elements, appState, scale, rc, canvas, renderConfig, }: {
|
|
8
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
9
|
+
appState: AppState;
|
|
10
|
+
scale: number;
|
|
11
|
+
rc: RoughCanvas;
|
|
12
|
+
canvas: HTMLCanvasElement;
|
|
13
|
+
renderConfig: RenderConfig;
|
|
14
|
+
}) => {
|
|
7
15
|
atLeastOneVisibleElement: boolean;
|
|
8
16
|
scrollBars?: undefined;
|
|
9
17
|
} | {
|
|
@@ -11,7 +19,15 @@ export declare const _renderScene: (elements: readonly NonDeletedExcalidrawEleme
|
|
|
11
19
|
scrollBars: import("../scene/types").ScrollBars | undefined;
|
|
12
20
|
};
|
|
13
21
|
/** renderScene throttled to animation framerate */
|
|
14
|
-
export declare const renderScene: <T extends boolean = false>(
|
|
22
|
+
export declare const renderScene: <T extends boolean = false>(config: {
|
|
23
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
24
|
+
appState: AppState;
|
|
25
|
+
scale: number;
|
|
26
|
+
rc: RoughCanvas;
|
|
27
|
+
canvas: HTMLCanvasElement;
|
|
28
|
+
renderConfig: RenderConfig;
|
|
29
|
+
callback?: ((data: ReturnType<typeof _renderScene>) => void) | undefined;
|
|
30
|
+
}, throttle?: T | undefined) => T extends true ? void : {
|
|
15
31
|
atLeastOneVisibleElement: boolean;
|
|
16
32
|
scrollBars?: undefined;
|
|
17
33
|
} | {
|