@zsviczian/excalidraw 0.10.0-obsidian-19 → 0.10.0-obsidian-23
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/excalidraw.development.js +62 -41
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +4 -4
- package/types/actions/actionCanvas.d.ts +1 -1
- package/types/appState.d.ts +1 -1
- package/types/components/App.d.ts +1 -1
- package/types/components/Card.d.ts +1 -1
- package/types/components/LayerUI.d.ts +2 -1
- package/types/components/LibraryButton.d.ts +1 -0
- package/types/components/LockButton.d.ts +1 -0
- package/types/constants.d.ts +1 -0
- package/types/element/collision.d.ts +1 -0
- package/types/element/dragElements.d.ts +1 -2
- package/types/element/linearElementEditor.d.ts +133 -9
- package/types/element/newElement.d.ts +7 -5
- package/types/element/textElement.d.ts +22 -1
- package/types/element/textWysiwyg.d.ts +1 -0
- package/types/element/typeChecks.d.ts +4 -1
- package/types/element/types.d.ts +10 -2
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ar-SA-json-6fcb7979cd290e0e51d9.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bg-BG-json-eb8b237a2970da7034ad.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bn-BD-json-87d5cd14de43ad6ec162.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ca-ES-json-93b7462bd1d0fe76d2b5.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-cs-CZ-json-1244df10086a058f2d41.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-da-DK-json-85af69d03d5a188d4d3e.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-de-DE-json-e676479528793fb9755f.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-el-GR-json-cef06f766f46d7ab798a.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-es-ES-json-2996f978aa8d44a1bc72.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fa-IR-json-84150b1f61e3d7a0afcf.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fi-FI-json-bb5e3af1d7bb005f0c7d.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fr-FR-json-f470b9806c21d127df35.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-he-IL-json-dfc95883bf533087b673.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hi-IN-json-07d3a348a9723eeb51a3.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hu-HU-json-dbaf9c47430503d4a710.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-id-ID-json-43b313d6c7c52122220b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-it-IT-json-1cd7244d3b42597e1555.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ja-JP-json-c6208f4ec6ec8d61df2f.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kab-KAB-json-7aaa4a5ea8484b941af2.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kk-KZ-json-654dee98c29976300a26.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ko-KR-json-fc3ee48a144b19bcca0d.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lv-LV-json-bfb22930b5a31d1f92ee.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-my-MM-json-6d186d192f0024208fe2.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nb-NO-json-a8b16b7360f5df195438.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nl-NL-json-be44386cc68047e2da24.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nn-NO-json-074a3f14a8e56d66eeb7.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-oc-FR-json-ad1cdc3ba675116187a4.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pa-IN-json-319132bcecbfaf90ef79.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pl-PL-json-2df7909ca92201d653d7.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-BR-json-ad09ed1c16a3d2b6d4b8.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-PT-json-73605e7eed8d224609aa.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ro-RO-json-b48f7b508a0884880f63.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ru-RU-json-cd5378c60549c20232c7.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-si-LK-json-c5e207625d8f7a06eb15.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sk-SK-json-0261a2d60b0803cc8354.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sv-SE-json-4b274bae10479b585716.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ta-IN-json-f20bc85c68e334566d53.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-tr-TR-json-17f1500f11b6e08b677b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-uk-UA-json-4798e5a14cecdddbfb50.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-CN-json-a13fbd80677ff3f0122c.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-HK-json-f82802143c7042511410.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-TW-json-79c634b00f4602a2d9a6.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/image-87e58979d258cd38208c.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/vendor-8698157b56eb5e0ee549.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ar-SA-json-6681743eb68e3b3041cb.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-bg-BG-json-c907a37ea9ff74c38200.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-bn-BD-json-b02ff15ce32c21861fb1.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ca-ES-json-f9ecdae168e193e1819d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-cs-CZ-json-b0c7af8af120bd1ba4ac.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-da-DK-json-bdae60049eb02dee741f.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-de-DE-json-0314c69da1a79cb476ef.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-el-GR-json-db678ec2c7b5ee5b6197.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-es-ES-json-f960cfc72c2bce33bcd9.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-fa-IR-json-3091ac88e5a7ad285607.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-fi-FI-json-b3a67612e607442c8940.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-fr-FR-json-628bf75e5684419e4522.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-he-IL-json-9fa5f88c445c6edfb81d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-hi-IN-json-a398aa828f8d1bd25761.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-hu-HU-json-8fb512cf21c00656b011.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-id-ID-json-d18bde26a8a7165a4c7b.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-it-IT-json-612f895e69a992314230.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ja-JP-json-8fb6a4429e8c4a09e6a0.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-kab-KAB-json-01a8363dae577ccfd06c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-kk-KZ-json-d0fff58ffff7c34c30a2.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ko-KR-json-d24a9b7640741fe02d9a.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-lv-LV-json-d9b01c32504b031e4160.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-my-MM-json-98a11afd5a8088489b91.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-nb-NO-json-de73a55ddde48cdff43c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-nl-NL-json-88ff95be82b97ffcc7f1.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-nn-NO-json-8f60e0ec70a2e17ad33c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-oc-FR-json-6a0ee550cb6fb3f1b259.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pa-IN-json-9bde99f7eb773f876f85.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pl-PL-json-bb2ca88481a524fc7a5f.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pt-BR-json-b40463ff0ba1a0307563.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pt-PT-json-cb72d009cf6ba3b55e0c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ro-RO-json-b516bae00ed365b97098.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ru-RU-json-328be001476f936e0f00.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-si-LK-json-4be44d4d292b6dbf260e.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-sk-SK-json-2c5b8dc8f0812e1152f1.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-sv-SE-json-d96e772ca45119bbb532.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ta-IN-json-9ba773bdb3a546e68ec3.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-tr-TR-json-d0b9b5ae9d184cffc8a2.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-uk-UA-json-deae797b510faf78ab8e.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-zh-CN-json-f972d84c7b7156249d21.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-zh-HK-json-239376fabfdff19a7ebd.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-zh-TW-json-7ea4288fed6cce43f00c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-e50a452aa26d28419e39.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-1bc8ceaafd8623c96dd4.d.ts +0 -0
- package/types/scene/comparisons.d.ts +1 -1
- package/types/scene/selection.d.ts +1 -1
- package/types/shapes.d.ts +1 -1
- package/types/types.d.ts +5 -1
- package/types/utils.d.ts +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zsviczian/excalidraw",
|
|
3
|
-
"version": "0.10.0-obsidian-
|
|
3
|
+
"version": "0.10.0-obsidian-23",
|
|
4
4
|
"main": "main.js",
|
|
5
5
|
"types": "types/packages/excalidraw/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -59,11 +59,11 @@
|
|
|
59
59
|
"css-loader": "6.5.1",
|
|
60
60
|
"mini-css-extract-plugin": "2.4.5",
|
|
61
61
|
"postcss-loader": "6.2.1",
|
|
62
|
-
"sass-loader": "12.
|
|
62
|
+
"sass-loader": "12.4.0",
|
|
63
63
|
"terser-webpack-plugin": "5.2.5",
|
|
64
64
|
"ts-loader": "9.2.6",
|
|
65
|
-
"typescript": "4.5.
|
|
66
|
-
"webpack": "5.
|
|
65
|
+
"typescript": "4.5.3",
|
|
66
|
+
"webpack": "5.65.0",
|
|
67
67
|
"webpack-bundle-analyzer": "4.5.0",
|
|
68
68
|
"webpack-cli": "4.9.1"
|
|
69
69
|
},
|
|
@@ -27,7 +27,7 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
|
|
|
27
27
|
suggestedBindings: import("../element/binding").SuggestedBinding[];
|
|
28
28
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
29
29
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
30
|
-
elementType: "line" | "
|
|
30
|
+
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
31
31
|
elementLocked: boolean;
|
|
32
32
|
exportBackground: boolean;
|
|
33
33
|
exportEmbedScene: boolean;
|
package/types/appState.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
|
|
|
14
14
|
shouldCacheIgnoreZoom?: boolean | undefined;
|
|
15
15
|
theme?: string | undefined;
|
|
16
16
|
name?: string | undefined;
|
|
17
|
-
elementType?: "line" | "
|
|
17
|
+
elementType?: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | undefined;
|
|
18
18
|
elementLocked?: boolean | undefined;
|
|
19
19
|
exportBackground?: boolean | undefined;
|
|
20
20
|
exportEmbedScene?: boolean | undefined;
|
|
@@ -141,7 +141,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
141
141
|
private scheduleImageRefresh;
|
|
142
142
|
private updateBindingEnabledOnPointerMove;
|
|
143
143
|
private maybeSuggestBindingAtCursor;
|
|
144
|
-
private
|
|
144
|
+
private maybeSuggestBindingsForLinearElementAtCoords;
|
|
145
145
|
private maybeSuggestBindingForAll;
|
|
146
146
|
private clearSelection;
|
|
147
147
|
private handleCanvasRef;
|
|
@@ -3,8 +3,9 @@ import { ActionManager } from "../actions/manager";
|
|
|
3
3
|
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
4
4
|
import { Language } from "../i18n";
|
|
5
5
|
import { AppProps, AppState, ExcalidrawProps, BinaryFiles } from "../types";
|
|
6
|
-
import "./LayerUI.scss";
|
|
7
6
|
import Library from "../data/library";
|
|
7
|
+
import "./LayerUI.scss";
|
|
8
|
+
import "./Toolbar.scss";
|
|
8
9
|
interface LayerUIProps {
|
|
9
10
|
actionManager: ActionManager;
|
|
10
11
|
appState: AppState;
|
package/types/constants.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { Point } from "../types";
|
|
|
4
4
|
import { AppState } from "../types";
|
|
5
5
|
export declare const hitTest: (element: NonDeletedExcalidrawElement, appState: AppState, x: number, y: number) => boolean;
|
|
6
6
|
export declare const isHittingElementBoundingBoxWithoutHittingElement: (element: NonDeletedExcalidrawElement, appState: AppState, x: number, y: number) => boolean;
|
|
7
|
+
export declare const isHittingElementNotConsideringBoundingBox: (element: NonDeletedExcalidrawElement, appState: AppState, point: readonly [number, number]) => boolean;
|
|
7
8
|
export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
|
|
8
9
|
x: number;
|
|
9
10
|
y: number;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { SHAPES } from "../shapes";
|
|
2
|
-
import Scene from "../scene/Scene";
|
|
3
2
|
import { NonDeletedExcalidrawElement } from "./types";
|
|
4
3
|
import { PointerDownState } from "../types";
|
|
5
|
-
export declare const dragSelectedElements: (pointerDownState: PointerDownState, selectedElements: NonDeletedExcalidrawElement[], pointerX: number, pointerY: number,
|
|
4
|
+
export declare const dragSelectedElements: (pointerDownState: PointerDownState, selectedElements: NonDeletedExcalidrawElement[], pointerX: number, pointerY: number, lockDirection?: boolean, distanceX?: number, distanceY?: number) => void;
|
|
6
5
|
export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
|
|
7
6
|
export declare const dragNewElement: (draggingElement: NonDeletedExcalidrawElement, elementType: typeof SHAPES[number]["value"], originX: number, originY: number, x: number, y: number, width: number, height: number, shouldMaintainAspectRatio: boolean, shouldResizeFromCenter: boolean, widthAspectRatio?: number | null | undefined) => void;
|
|
@@ -7,14 +7,20 @@ export declare class LinearElementEditor {
|
|
|
7
7
|
elementId: ExcalidrawElement["id"] & {
|
|
8
8
|
_brand: "excalidrawLinearElementId";
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
/** indices */
|
|
11
|
+
selectedPointsIndices: readonly number[] | null;
|
|
12
|
+
pointerDownState: Readonly<{
|
|
13
|
+
prevSelectedPointsIndices: readonly number[] | null;
|
|
14
|
+
/** index */
|
|
15
|
+
lastClickedPoint: number;
|
|
16
|
+
}>;
|
|
11
17
|
/** whether you're dragging a point */
|
|
12
18
|
isDragging: boolean;
|
|
13
19
|
lastUncommittedPoint: Point | null;
|
|
14
|
-
pointerOffset: {
|
|
20
|
+
pointerOffset: Readonly<{
|
|
15
21
|
x: number;
|
|
16
22
|
y: number;
|
|
17
|
-
}
|
|
23
|
+
}>;
|
|
18
24
|
startBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
19
25
|
endBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
20
26
|
constructor(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene);
|
|
@@ -24,8 +30,12 @@ export declare class LinearElementEditor {
|
|
|
24
30
|
* statically guarantee this method returns an ExcalidrawLinearElement)
|
|
25
31
|
*/
|
|
26
32
|
static getElement(id: InstanceType<typeof LinearElementEditor>["elementId"]): NonDeleted<ExcalidrawLinearElement> | null;
|
|
33
|
+
static handleBoxSelection(event: PointerEvent, appState: AppState, setState: React.Component<any, AppState>["setState"]): false | undefined;
|
|
27
34
|
/** @returns whether point was dragged */
|
|
28
|
-
static handlePointDragging(appState: AppState, setState: React.Component<any, AppState>["setState"], scenePointerX: number, scenePointerY: number, maybeSuggestBinding: (element: NonDeleted<ExcalidrawLinearElement>,
|
|
35
|
+
static handlePointDragging(appState: AppState, setState: React.Component<any, AppState>["setState"], scenePointerX: number, scenePointerY: number, maybeSuggestBinding: (element: NonDeleted<ExcalidrawLinearElement>, pointSceneCoords: {
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
}[]) => void): boolean;
|
|
29
39
|
static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState): LinearElementEditor;
|
|
30
40
|
static handlePointerDown(event: React.PointerEvent<HTMLCanvasElement>, appState: AppState, setState: React.Component<any, AppState>["setState"], history: History, scenePointer: {
|
|
31
41
|
x: number;
|
|
@@ -35,6 +45,9 @@ export declare class LinearElementEditor {
|
|
|
35
45
|
hitElement: NonDeleted<ExcalidrawElement> | null;
|
|
36
46
|
};
|
|
37
47
|
static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, editingLinearElement: LinearElementEditor, gridSize: number | null): LinearElementEditor;
|
|
48
|
+
/** scene coords */
|
|
49
|
+
static getPointGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, point: Point): readonly [number, number];
|
|
50
|
+
/** scene coords */
|
|
38
51
|
static getPointsGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>): number[][];
|
|
39
52
|
static getPointAtIndexGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, indexMaybeFromEnd: number): Point;
|
|
40
53
|
static pointFromAbsoluteCoords(element: NonDeleted<ExcalidrawLinearElement>, absoluteCoords: Point): Point;
|
|
@@ -51,12 +64,123 @@ export declare class LinearElementEditor {
|
|
|
51
64
|
y: number;
|
|
52
65
|
};
|
|
53
66
|
static normalizePoints(element: NonDeleted<ExcalidrawLinearElement>): void;
|
|
54
|
-
static
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
67
|
+
static duplicateSelectedPoints(appState: AppState): false | {
|
|
68
|
+
appState: {
|
|
69
|
+
editingLinearElement: {
|
|
70
|
+
selectedPointsIndices: number[];
|
|
71
|
+
elementId: string & {
|
|
72
|
+
_brand: "excalidrawLinearElementId";
|
|
73
|
+
};
|
|
74
|
+
pointerDownState: Readonly<{
|
|
75
|
+
prevSelectedPointsIndices: readonly number[] | null;
|
|
76
|
+
/** index */
|
|
77
|
+
lastClickedPoint: number;
|
|
78
|
+
}>;
|
|
79
|
+
/** whether you're dragging a point */
|
|
80
|
+
isDragging: boolean;
|
|
81
|
+
lastUncommittedPoint: readonly [number, number] | null;
|
|
82
|
+
pointerOffset: Readonly<{
|
|
83
|
+
x: number;
|
|
84
|
+
y: number;
|
|
85
|
+
}>;
|
|
86
|
+
startBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
87
|
+
endBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
88
|
+
};
|
|
89
|
+
isLoading: boolean;
|
|
90
|
+
errorMessage: string | null;
|
|
91
|
+
draggingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
92
|
+
resizingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
93
|
+
multiElement: NonDeleted<ExcalidrawLinearElement> | null;
|
|
94
|
+
selectionElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
95
|
+
isBindingEnabled: boolean;
|
|
96
|
+
startBoundElement: NonDeleted<ExcalidrawBindableElement> | null;
|
|
97
|
+
suggestedBindings: import("./binding").SuggestedBinding[];
|
|
98
|
+
editingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
99
|
+
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
100
|
+
elementLocked: boolean;
|
|
101
|
+
exportBackground: boolean;
|
|
102
|
+
exportEmbedScene: boolean;
|
|
103
|
+
exportWithDarkMode: boolean;
|
|
104
|
+
exportScale: number;
|
|
105
|
+
currentItemStrokeColor: string;
|
|
106
|
+
currentItemBackgroundColor: string;
|
|
107
|
+
currentItemFillStyle: import("./types").FillStyle;
|
|
108
|
+
currentItemStrokeWidth: number;
|
|
109
|
+
currentItemStrokeStyle: import("./types").StrokeStyle;
|
|
110
|
+
currentItemRoughness: number;
|
|
111
|
+
currentItemOpacity: number;
|
|
112
|
+
currentItemFontFamily: number;
|
|
113
|
+
currentItemFontSize: number;
|
|
114
|
+
currentItemTextAlign: import("./types").TextAlign;
|
|
115
|
+
currentItemStrokeSharpness: import("./types").StrokeSharpness;
|
|
116
|
+
currentItemStartArrowhead: import("./types").Arrowhead | null;
|
|
117
|
+
currentItemEndArrowhead: import("./types").Arrowhead | null;
|
|
118
|
+
currentItemLinearStrokeSharpness: import("./types").StrokeSharpness;
|
|
119
|
+
viewBackgroundColor: string;
|
|
120
|
+
scrollX: number;
|
|
121
|
+
scrollY: number;
|
|
122
|
+
cursorButton: "up" | "down";
|
|
123
|
+
scrolledOutside: boolean;
|
|
124
|
+
name: string;
|
|
125
|
+
isResizing: boolean;
|
|
126
|
+
isRotating: boolean;
|
|
127
|
+
zoom: Readonly<{
|
|
128
|
+
value: import("../types").NormalizedZoomValue;
|
|
129
|
+
translation: Readonly<{
|
|
130
|
+
x: number;
|
|
131
|
+
y: number;
|
|
132
|
+
}>;
|
|
133
|
+
}>;
|
|
134
|
+
openMenu: "canvas" | "shape" | null;
|
|
135
|
+
openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
|
|
136
|
+
lastPointerDownWith: import("./types").PointerType;
|
|
137
|
+
selectedElementIds: {
|
|
138
|
+
[id: string]: boolean;
|
|
139
|
+
};
|
|
140
|
+
previousSelectedElementIds: {
|
|
141
|
+
[id: string]: boolean;
|
|
142
|
+
};
|
|
143
|
+
shouldCacheIgnoreZoom: boolean;
|
|
144
|
+
showHelpDialog: boolean;
|
|
145
|
+
toastMessage: string | null;
|
|
146
|
+
zenModeEnabled: boolean;
|
|
147
|
+
theme: string;
|
|
148
|
+
gridSize: number | null;
|
|
149
|
+
viewModeEnabled: boolean;
|
|
150
|
+
selectedGroupIds: {
|
|
151
|
+
[groupId: string]: boolean;
|
|
152
|
+
};
|
|
153
|
+
editingGroupId: string | null;
|
|
154
|
+
width: number;
|
|
155
|
+
height: number;
|
|
156
|
+
offsetTop: number;
|
|
157
|
+
offsetLeft: number;
|
|
158
|
+
isLibraryOpen: boolean;
|
|
159
|
+
fileHandle: import("browser-fs-access").FileSystemHandle | null;
|
|
160
|
+
collaborators: Map<string, import("../types").Collaborator>;
|
|
161
|
+
showStats: boolean;
|
|
162
|
+
currentChartType: import("./types").ChartType;
|
|
163
|
+
pasteDialog: {
|
|
164
|
+
shown: false;
|
|
165
|
+
data: null;
|
|
166
|
+
} | {
|
|
167
|
+
shown: true;
|
|
168
|
+
data: import("../charts").Spreadsheet;
|
|
169
|
+
};
|
|
170
|
+
pendingImageElement: NonDeleted<import("./types").ExcalidrawImageElement> | null;
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
static deletePoints(element: NonDeleted<ExcalidrawLinearElement>, pointIndices: readonly number[]): void;
|
|
174
|
+
static addPoints(element: NonDeleted<ExcalidrawLinearElement>, targetPoints: {
|
|
175
|
+
point: Point;
|
|
176
|
+
}[]): void;
|
|
177
|
+
static movePoints(element: NonDeleted<ExcalidrawLinearElement>, targetPoints: {
|
|
178
|
+
index: number;
|
|
179
|
+
point: Point;
|
|
180
|
+
isDragging?: boolean;
|
|
181
|
+
}[], otherUpdates?: {
|
|
59
182
|
startBinding?: PointBinding;
|
|
60
183
|
endBinding?: PointBinding;
|
|
61
184
|
}): void;
|
|
185
|
+
private static _updatePoints;
|
|
62
186
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ExcalidrawElement, ExcalidrawImageElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawGenericElement, NonDeleted, TextAlign, GroupId, VerticalAlign, Arrowhead, ExcalidrawFreeDrawElement, FontFamilyValues } from "../element/types";
|
|
1
|
+
import { ExcalidrawElement, ExcalidrawImageElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawGenericElement, NonDeleted, TextAlign, GroupId, VerticalAlign, Arrowhead, ExcalidrawFreeDrawElement, FontFamilyValues, ExcalidrawRectangleElement } from "../element/types";
|
|
2
2
|
import { AppState } from "../types";
|
|
3
|
-
declare type ElementConstructorOpts = MarkOptional<Omit<ExcalidrawGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "
|
|
3
|
+
declare type ElementConstructorOpts = MarkOptional<Omit<ExcalidrawGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "boundElements" | "seed" | "version" | "versionNonce">;
|
|
4
4
|
export declare const newElement: (opts: {
|
|
5
5
|
type: ExcalidrawGenericElement["type"];
|
|
6
6
|
} & ElementConstructorOpts) => NonDeleted<ExcalidrawGenericElement>;
|
|
@@ -11,12 +11,14 @@ export declare const newTextElement: (opts: {
|
|
|
11
11
|
fontFamily: FontFamilyValues;
|
|
12
12
|
textAlign: TextAlign;
|
|
13
13
|
verticalAlign: VerticalAlign;
|
|
14
|
+
containerId?: ExcalidrawRectangleElement["id"];
|
|
14
15
|
} & ElementConstructorOpts) => NonDeleted<ExcalidrawTextElement>;
|
|
15
|
-
export declare const updateTextElement: (element: ExcalidrawTextElement, { text,
|
|
16
|
+
export declare const updateTextElement: (element: ExcalidrawTextElement, { text, isDeleted, originalText, rawText, }: {
|
|
16
17
|
text: string;
|
|
17
|
-
rawText?: string | undefined;
|
|
18
18
|
isDeleted?: boolean | undefined;
|
|
19
|
-
|
|
19
|
+
originalText: string;
|
|
20
|
+
rawText?: string | undefined;
|
|
21
|
+
}, updateDimensions: boolean) => ExcalidrawTextElement;
|
|
20
22
|
export declare const newFreeDrawElement: (opts: {
|
|
21
23
|
type: "freedraw";
|
|
22
24
|
points?: ExcalidrawFreeDrawElement["points"];
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
import { ExcalidrawTextElement } from "./types";
|
|
1
|
+
import { ExcalidrawElement, ExcalidrawTextElement, FontString, NonDeletedExcalidrawElement } from "./types";
|
|
2
|
+
import { MaybeTransformHandleType } from "./transformHandles";
|
|
2
3
|
export declare const redrawTextBoundingBox: (element: ExcalidrawTextElement) => void;
|
|
4
|
+
export declare const bindTextToShapeAfterDuplication: (sceneElements: ExcalidrawElement[], oldElements: ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
|
|
5
|
+
export declare const handleBindTextResize: (elements: readonly NonDeletedExcalidrawElement[], transformHandleType: MaybeTransformHandleType) => void;
|
|
6
|
+
export declare const measureText: (text: string, font: FontString, maxWidth?: number | null | undefined) => {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
baseline: number;
|
|
10
|
+
};
|
|
11
|
+
export declare const getApproxLineHeight: (font: FontString) => number;
|
|
12
|
+
export declare const wrapText: (text: string, font: FontString, containerWidth: number) => string;
|
|
13
|
+
export declare const charWidth: {
|
|
14
|
+
calculate: (char: string, font: FontString) => number;
|
|
15
|
+
updateCache: (char: string, font: FontString) => void;
|
|
16
|
+
clearCacheforFont: (font: FontString) => void;
|
|
17
|
+
getCache: (font: FontString) => number[];
|
|
18
|
+
};
|
|
19
|
+
export declare const getApproxMinLineWidth: (font: FontString) => number;
|
|
20
|
+
export declare const getApproxMinLineHeight: (font: FontString) => number;
|
|
21
|
+
export declare const getMinCharWidth: (font: FontString) => number;
|
|
22
|
+
export declare const getApproxCharsToFitInWidth: (font: FontString, width: number) => number;
|
|
23
|
+
export declare const getBoundTextElementId: (container: ExcalidrawElement | null) => string | undefined;
|
|
@@ -7,6 +7,7 @@ export declare const textWysiwyg: ({ id, appState, onChange, onSubmit, getViewpo
|
|
|
7
7
|
onSubmit: (data: {
|
|
8
8
|
text: string;
|
|
9
9
|
viaKeyboard: boolean;
|
|
10
|
+
originalText: string;
|
|
10
11
|
}) => void;
|
|
11
12
|
getViewportCoords: (x: number, y: number) => [number, number];
|
|
12
13
|
element: ExcalidrawElement;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawGenericElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement } from "./types";
|
|
1
|
+
import { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawGenericElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer } from "./types";
|
|
2
2
|
export declare const isGenericElement: (element: ExcalidrawElement | null) => element is ExcalidrawGenericElement;
|
|
3
3
|
export declare const isInitializedImageElement: (element: ExcalidrawElement | null) => element is InitializedExcalidrawImageElement;
|
|
4
4
|
export declare const isImageElement: (element: ExcalidrawElement | null) => element is ExcalidrawImageElement;
|
|
@@ -10,4 +10,7 @@ export declare const isLinearElementType: (elementType: ExcalidrawElement["type"
|
|
|
10
10
|
export declare const isBindingElement: (element?: ExcalidrawElement | null | undefined) => element is ExcalidrawLinearElement;
|
|
11
11
|
export declare const isBindingElementType: (elementType: ExcalidrawElement["type"]) => boolean;
|
|
12
12
|
export declare const isBindableElement: (element: ExcalidrawElement | null) => element is ExcalidrawBindableElement;
|
|
13
|
+
export declare const isTextBindableContainer: (element: ExcalidrawElement | null) => boolean;
|
|
13
14
|
export declare const isExcalidrawElement: (element: any) => boolean;
|
|
15
|
+
export declare const hasBoundTextElement: (element: ExcalidrawElement | null) => element is ExcalidrawBindableElement;
|
|
16
|
+
export declare const isBoundToContainer: (element: ExcalidrawElement | null) => element is ExcalidrawTextElementWithContainer;
|
package/types/element/types.d.ts
CHANGED
|
@@ -43,8 +43,11 @@ declare type _ExcalidrawElementBase = Readonly<{
|
|
|
43
43
|
/** List of groups the element belongs to.
|
|
44
44
|
Ordered from deepest to shallowest. */
|
|
45
45
|
groupIds: readonly GroupId[];
|
|
46
|
-
/**
|
|
47
|
-
|
|
46
|
+
/** other elements that are bound to this element */
|
|
47
|
+
boundElements: readonly Readonly<{
|
|
48
|
+
id: ExcalidrawLinearElement["id"];
|
|
49
|
+
type: "arrow" | "text";
|
|
50
|
+
}>[] | null;
|
|
48
51
|
/** epoch (ms) timestamp of last element update */
|
|
49
52
|
updated: number;
|
|
50
53
|
}>;
|
|
@@ -92,8 +95,13 @@ export declare type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
|
|
|
92
95
|
baseline: number;
|
|
93
96
|
textAlign: TextAlign;
|
|
94
97
|
verticalAlign: VerticalAlign;
|
|
98
|
+
containerId: ExcalidrawGenericElement["id"] | null;
|
|
99
|
+
originalText: string;
|
|
95
100
|
}>;
|
|
96
101
|
export declare type ExcalidrawBindableElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawTextElement | ExcalidrawImageElement;
|
|
102
|
+
export declare type ExcalidrawTextElementWithContainer = {
|
|
103
|
+
containerId: ExcalidrawGenericElement["id"];
|
|
104
|
+
} & ExcalidrawTextElement;
|
|
97
105
|
export declare type PointBinding = {
|
|
98
106
|
elementId: ExcalidrawBindableElement["id"];
|
|
99
107
|
focus: number;
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ar-SA-json-6fcb7979cd290e0e51d9.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bg-BG-json-eb8b237a2970da7034ad.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bn-BD-json-87d5cd14de43ad6ec162.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ca-ES-json-93b7462bd1d0fe76d2b5.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-cs-CZ-json-1244df10086a058f2d41.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-da-DK-json-85af69d03d5a188d4d3e.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-de-DE-json-e676479528793fb9755f.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-el-GR-json-cef06f766f46d7ab798a.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-es-ES-json-2996f978aa8d44a1bc72.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fa-IR-json-84150b1f61e3d7a0afcf.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fi-FI-json-bb5e3af1d7bb005f0c7d.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fr-FR-json-f470b9806c21d127df35.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-he-IL-json-dfc95883bf533087b673.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hi-IN-json-07d3a348a9723eeb51a3.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hu-HU-json-dbaf9c47430503d4a710.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-id-ID-json-43b313d6c7c52122220b.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-it-IT-json-1cd7244d3b42597e1555.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ja-JP-json-c6208f4ec6ec8d61df2f.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kab-KAB-json-7aaa4a5ea8484b941af2.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kk-KZ-json-654dee98c29976300a26.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ko-KR-json-fc3ee48a144b19bcca0d.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lv-LV-json-bfb22930b5a31d1f92ee.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-my-MM-json-6d186d192f0024208fe2.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nb-NO-json-a8b16b7360f5df195438.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nl-NL-json-be44386cc68047e2da24.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nn-NO-json-074a3f14a8e56d66eeb7.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-oc-FR-json-ad1cdc3ba675116187a4.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pa-IN-json-319132bcecbfaf90ef79.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pl-PL-json-2df7909ca92201d653d7.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-BR-json-ad09ed1c16a3d2b6d4b8.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-PT-json-73605e7eed8d224609aa.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ro-RO-json-b48f7b508a0884880f63.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ru-RU-json-cd5378c60549c20232c7.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-si-LK-json-c5e207625d8f7a06eb15.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sk-SK-json-0261a2d60b0803cc8354.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sv-SE-json-4b274bae10479b585716.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ta-IN-json-f20bc85c68e334566d53.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-tr-TR-json-17f1500f11b6e08b677b.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-uk-UA-json-4798e5a14cecdddbfb50.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-CN-json-a13fbd80677ff3f0122c.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-HK-json-f82802143c7042511410.d.ts
ADDED
|
File without changes
|
package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-TW-json-79c634b00f4602a2d9a6.d.ts
ADDED
|
File without changes
|
|
File without changes
|
|
File without changes
|