@zsviczian/excalidraw 0.17.1-obsidian-29 → 0.17.1-obsidian-30
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 +30 -30
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/excalidraw/components/App.d.ts +0 -8
- package/types/excalidraw/components/Stats/Angle.d.ts +7 -3
- package/types/excalidraw/components/Stats/Dimension.d.ts +6 -3
- package/types/excalidraw/components/Stats/DragInput.d.ts +15 -6
- package/types/excalidraw/components/Stats/FontSize.d.ts +8 -4
- package/types/excalidraw/components/Stats/MultiAngle.d.ts +5 -3
- package/types/excalidraw/components/Stats/MultiDimension.d.ts +5 -3
- package/types/excalidraw/components/Stats/MultiFontSize.d.ts +6 -3
- package/types/excalidraw/components/Stats/MultiPosition.d.ts +3 -1
- package/types/excalidraw/components/Stats/Position.d.ts +5 -1
- package/types/excalidraw/components/Stats/utils.d.ts +13 -3
- package/types/excalidraw/cursor.d.ts +1 -0
- package/types/excalidraw/element/binding.d.ts +5 -5
- package/types/excalidraw/element/mutateElement.d.ts +1 -1
- package/types/excalidraw/index.d.ts +2 -1
- package/types/excalidraw/obsidianUtils.d.ts +8 -5
- package/types/excalidraw/scene/types.d.ts +1 -4
- package/types/excalidraw/shapes.d.ts +7 -0
- package/types/excalidraw/types.d.ts +2 -3
- package/types/utils/export.d.ts +1 -0
package/package.json
CHANGED
|
@@ -8,7 +8,6 @@ import { LinearElementEditor } from "../element/linearElementEditor";
|
|
|
8
8
|
import type { ExcalidrawElement, ExcalidrawLinearElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "../element/types";
|
|
9
9
|
import { History } from "../history";
|
|
10
10
|
import Scene from "../scene/Scene";
|
|
11
|
-
import type { GeometricShape } from "../../utils/geometry/shape";
|
|
12
11
|
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload } from "../types";
|
|
13
12
|
import type { FileSystemHandle } from "../data/filesystem";
|
|
14
13
|
import { Renderer } from "../scene/Renderer";
|
|
@@ -43,7 +42,6 @@ export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawE
|
|
|
43
42
|
export declare const useExcalidrawAppState: () => AppState;
|
|
44
43
|
export declare const useExcalidrawSetAppState: () => <K extends keyof AppState>(state: AppState | ((prevState: Readonly<AppState>, props: Readonly<any>) => AppState | Pick<AppState, K> | null) | Pick<AppState, K> | null, callback?: (() => void) | undefined) => void;
|
|
45
44
|
export declare const useExcalidrawActionManager: () => ActionManager;
|
|
46
|
-
export declare let hostPlugin: any;
|
|
47
45
|
declare class App extends React.Component<AppProps, AppState> {
|
|
48
46
|
canvas: AppClassProperties["canvas"];
|
|
49
47
|
interactiveCanvas: AppClassProperties["interactiveCanvas"];
|
|
@@ -403,11 +401,6 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
403
401
|
private handleTextWysiwyg;
|
|
404
402
|
private deselectElements;
|
|
405
403
|
private getTextElementAtPosition;
|
|
406
|
-
/**
|
|
407
|
-
* get the pure geometric shape of an excalidraw element
|
|
408
|
-
* which is then used for hit detection
|
|
409
|
-
*/
|
|
410
|
-
getElementShape(element: ExcalidrawElement): GeometricShape;
|
|
411
404
|
private getBoundTextShape;
|
|
412
405
|
private getElementAtPosition;
|
|
413
406
|
private getElementsAtPosition;
|
|
@@ -521,5 +514,4 @@ declare global {
|
|
|
521
514
|
};
|
|
522
515
|
}
|
|
523
516
|
}
|
|
524
|
-
export declare const createTestHook: () => void;
|
|
525
517
|
export default App;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement } from "../../element/types";
|
|
2
|
+
import type Scene from "../../scene/Scene";
|
|
3
|
+
import type { AppState } from "../../types";
|
|
2
4
|
interface AngleProps {
|
|
3
5
|
element: ExcalidrawElement;
|
|
4
|
-
|
|
6
|
+
scene: Scene;
|
|
7
|
+
appState: AppState;
|
|
8
|
+
property: "angle";
|
|
5
9
|
}
|
|
6
|
-
declare const Angle: ({ element,
|
|
10
|
+
declare const Angle: ({ element, scene, appState, property }: AngleProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
11
|
export default Angle;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement } from "../../element/types";
|
|
2
|
+
import type Scene from "../../scene/Scene";
|
|
3
|
+
import type { AppState } from "../../types";
|
|
2
4
|
interface DimensionDragInputProps {
|
|
3
5
|
property: "width" | "height";
|
|
4
6
|
element: ExcalidrawElement;
|
|
5
|
-
|
|
7
|
+
scene: Scene;
|
|
8
|
+
appState: AppState;
|
|
6
9
|
}
|
|
7
|
-
declare const DimensionDragInput: ({ property, element,
|
|
10
|
+
declare const DimensionDragInput: ({ property, element, scene, appState, }: DimensionDragInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
11
|
export default DimensionDragInput;
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
import type { ElementsMap, ExcalidrawElement } from "../../element/types";
|
|
2
|
+
import type { StatsInputProperty } from "./utils";
|
|
3
|
+
import type Scene from "../../scene/Scene";
|
|
2
4
|
import "./DragInput.scss";
|
|
3
|
-
|
|
5
|
+
import type { AppState } from "../../types";
|
|
6
|
+
export type DragInputCallbackType<P extends StatsInputProperty, E = ExcalidrawElement> = (props: {
|
|
4
7
|
accumulatedChange: number;
|
|
5
8
|
instantChange: number;
|
|
6
|
-
originalElements: readonly
|
|
9
|
+
originalElements: readonly E[];
|
|
7
10
|
originalElementsMap: ElementsMap;
|
|
8
11
|
shouldKeepAspectRatio: boolean;
|
|
9
12
|
shouldChangeByStepSize: boolean;
|
|
10
13
|
nextValue?: number;
|
|
14
|
+
property: P;
|
|
15
|
+
scene: Scene;
|
|
16
|
+
originalAppState: AppState;
|
|
11
17
|
}) => void;
|
|
12
|
-
interface StatsDragInputProps {
|
|
18
|
+
interface StatsDragInputProps<T extends StatsInputProperty, E = ExcalidrawElement> {
|
|
13
19
|
label: string | React.ReactNode;
|
|
14
20
|
icon?: React.ReactNode;
|
|
15
21
|
value: number | "Mixed";
|
|
16
|
-
elements: readonly
|
|
22
|
+
elements: readonly E[];
|
|
17
23
|
editable?: boolean;
|
|
18
24
|
shouldKeepAspectRatio?: boolean;
|
|
19
|
-
dragInputCallback: DragInputCallbackType
|
|
25
|
+
dragInputCallback: DragInputCallbackType<T, E>;
|
|
26
|
+
property: T;
|
|
27
|
+
scene: Scene;
|
|
28
|
+
appState: AppState;
|
|
20
29
|
}
|
|
21
|
-
declare const StatsDragInput: ({ label, icon, dragInputCallback, value, elements, editable, shouldKeepAspectRatio, }: StatsDragInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
declare const StatsDragInput: <T extends StatsInputProperty, E extends ExcalidrawElement = ExcalidrawElement>({ label, icon, dragInputCallback, value, elements, editable, shouldKeepAspectRatio, property, scene, appState, }: StatsDragInputProps<T, E>) => import("react/jsx-runtime").JSX.Element | null;
|
|
22
31
|
export default StatsDragInput;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement } from "../../element/types";
|
|
2
|
+
import type Scene from "../../scene/Scene";
|
|
3
|
+
import type { AppState } from "../../types";
|
|
2
4
|
interface FontSizeProps {
|
|
3
|
-
element:
|
|
4
|
-
|
|
5
|
+
element: ExcalidrawElement;
|
|
6
|
+
scene: Scene;
|
|
7
|
+
appState: AppState;
|
|
8
|
+
property: "fontSize";
|
|
5
9
|
}
|
|
6
|
-
declare const FontSize: ({ element,
|
|
10
|
+
declare const FontSize: ({ element, scene, appState, property }: FontSizeProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
7
11
|
export default FontSize;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement } from "../../element/types";
|
|
2
2
|
import type Scene from "../../scene/Scene";
|
|
3
|
+
import type { AppState } from "../../types";
|
|
3
4
|
interface MultiAngleProps {
|
|
4
5
|
elements: readonly ExcalidrawElement[];
|
|
5
|
-
elementsMap: ElementsMap;
|
|
6
6
|
scene: Scene;
|
|
7
|
+
appState: AppState;
|
|
8
|
+
property: "angle";
|
|
7
9
|
}
|
|
8
|
-
declare const MultiAngle: ({ elements,
|
|
10
|
+
declare const MultiAngle: ({ elements, scene, appState, property, }: MultiAngleProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
export default MultiAngle;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "../../element/types";
|
|
2
2
|
import type Scene from "../../scene/Scene";
|
|
3
|
+
import type { AppState } from "../../types";
|
|
3
4
|
import type { AtomicUnit } from "./utils";
|
|
4
5
|
interface MultiDimensionProps {
|
|
5
6
|
property: "width" | "height";
|
|
6
7
|
elements: readonly ExcalidrawElement[];
|
|
7
|
-
elementsMap:
|
|
8
|
+
elementsMap: NonDeletedSceneElementsMap;
|
|
8
9
|
atomicUnits: AtomicUnit[];
|
|
9
10
|
scene: Scene;
|
|
11
|
+
appState: AppState;
|
|
10
12
|
}
|
|
11
|
-
declare const MultiDimension: ({ property, elements, elementsMap, atomicUnits, scene, }: MultiDimensionProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare const MultiDimension: ({ property, elements, elementsMap, atomicUnits, scene, appState, }: MultiDimensionProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
14
|
export default MultiDimension;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "../../element/types";
|
|
2
2
|
import type Scene from "../../scene/Scene";
|
|
3
|
+
import type { AppState } from "../../types";
|
|
3
4
|
interface MultiFontSizeProps {
|
|
4
5
|
elements: readonly ExcalidrawElement[];
|
|
5
|
-
elementsMap: ElementsMap;
|
|
6
6
|
scene: Scene;
|
|
7
|
+
elementsMap: NonDeletedSceneElementsMap;
|
|
8
|
+
appState: AppState;
|
|
9
|
+
property: "fontSize";
|
|
7
10
|
}
|
|
8
|
-
declare const MultiFontSize: ({ elements,
|
|
11
|
+
declare const MultiFontSize: ({ elements, scene, appState, property, elementsMap, }: MultiFontSizeProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
9
12
|
export default MultiFontSize;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { ElementsMap, ExcalidrawElement } from "../../element/types";
|
|
2
2
|
import type Scene from "../../scene/Scene";
|
|
3
3
|
import type { AtomicUnit } from "./utils";
|
|
4
|
+
import type { AppState } from "../../types";
|
|
4
5
|
interface MultiPositionProps {
|
|
5
6
|
property: "x" | "y";
|
|
6
7
|
elements: readonly ExcalidrawElement[];
|
|
7
8
|
elementsMap: ElementsMap;
|
|
8
9
|
atomicUnits: AtomicUnit[];
|
|
9
10
|
scene: Scene;
|
|
11
|
+
appState: AppState;
|
|
10
12
|
}
|
|
11
|
-
declare const MultiPosition: ({ property, elements, elementsMap, atomicUnits, scene, }: MultiPositionProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare const MultiPosition: ({ property, elements, elementsMap, atomicUnits, scene, appState, }: MultiPositionProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
14
|
export default MultiPosition;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { ElementsMap, ExcalidrawElement } from "../../element/types";
|
|
2
|
+
import type Scene from "../../scene/Scene";
|
|
3
|
+
import type { AppState } from "../../types";
|
|
2
4
|
interface PositionProps {
|
|
3
5
|
property: "x" | "y";
|
|
4
6
|
element: ExcalidrawElement;
|
|
5
7
|
elementsMap: ElementsMap;
|
|
8
|
+
scene: Scene;
|
|
9
|
+
appState: AppState;
|
|
6
10
|
}
|
|
7
|
-
declare const Position: ({ property, element, elementsMap }: PositionProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare const Position: ({ property, element, elementsMap, scene, appState, }: PositionProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
12
|
export default Position;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "../../element/types";
|
|
1
|
+
import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "../../element/types";
|
|
2
|
+
import type { AppState } from "../../types";
|
|
3
|
+
export type StatsInputProperty = "x" | "y" | "width" | "height" | "angle" | "fontSize";
|
|
2
4
|
export declare const SMALLEST_DELTA = 0.01;
|
|
3
5
|
export declare const isPropertyEditable: (element: ExcalidrawElement, property: keyof ExcalidrawElement) => boolean;
|
|
4
6
|
export declare const getStepSizedValue: (value: number, stepSize: number) => number;
|
|
@@ -11,5 +13,13 @@ export declare const newOrigin: (x1: number, y1: number, w1: number, h1: number,
|
|
|
11
13
|
x: number;
|
|
12
14
|
y: number;
|
|
13
15
|
};
|
|
14
|
-
export declare const resizeElement: (nextWidth: number, nextHeight: number, keepAspectRatio: boolean,
|
|
15
|
-
export declare const moveElement: (newTopLeftX: number, newTopLeftY: number,
|
|
16
|
+
export declare const resizeElement: (nextWidth: number, nextHeight: number, keepAspectRatio: boolean, origElement: ExcalidrawElement, elementsMap: NonDeletedSceneElementsMap, shouldInformMutation?: boolean) => void;
|
|
17
|
+
export declare const moveElement: (newTopLeftX: number, newTopLeftY: number, originalElement: ExcalidrawElement, elementsMap: NonDeletedSceneElementsMap, originalElementsMap: ElementsMap, shouldInformMutation?: boolean) => void;
|
|
18
|
+
export declare const getAtomicUnits: (targetElements: readonly ExcalidrawElement[], appState: AppState) => AtomicUnit[];
|
|
19
|
+
export declare const updateBindings: (latestElement: ExcalidrawElement, elementsMap: NonDeletedSceneElementsMap, options?: {
|
|
20
|
+
simultaneouslyUpdated?: readonly ExcalidrawElement[];
|
|
21
|
+
newSize?: {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
};
|
|
25
|
+
}) => void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AppState } from "./types";
|
|
2
2
|
export declare const resetCursor: (interactiveCanvas: HTMLCanvasElement | null) => void;
|
|
3
3
|
export declare const setCursor: (interactiveCanvas: HTMLCanvasElement | null, cursor: string) => void;
|
|
4
|
+
export declare const clearEraserCanvasCache: () => void;
|
|
4
5
|
export declare const setEraserCursor: (interactiveCanvas: HTMLCanvasElement | null, theme: AppState["theme"]) => void;
|
|
5
6
|
export declare const setCursorForShape: (interactiveCanvas: HTMLCanvasElement | null, appState: Pick<AppState, "activeTool" | "theme">) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExcalidrawBindableElement, ExcalidrawElement, NonDeleted, ExcalidrawLinearElement, NonDeletedExcalidrawElement, ElementsMap, NonDeletedSceneElementsMap } from "./types";
|
|
2
|
-
import type {
|
|
2
|
+
import type { AppState, Point } from "../types";
|
|
3
3
|
import type { ElementUpdate } from "./mutateElement";
|
|
4
4
|
export type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
|
|
5
5
|
export type SuggestedPointBinding = [
|
|
@@ -10,18 +10,18 @@ export type SuggestedPointBinding = [
|
|
|
10
10
|
export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLElement>) => boolean;
|
|
11
11
|
export declare const isBindingEnabled: (appState: AppState) => boolean;
|
|
12
12
|
export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep", elementsMap: NonDeletedSceneElementsMap) => void;
|
|
13
|
-
export declare const bindOrUnbindLinearElements: (selectedElements: NonDeleted<ExcalidrawLinearElement>[],
|
|
14
|
-
export declare const getSuggestedBindingsForArrows: (selectedElements: NonDeleted<ExcalidrawElement>[],
|
|
13
|
+
export declare const bindOrUnbindLinearElements: (selectedElements: NonDeleted<ExcalidrawLinearElement>[], elementsMap: NonDeletedSceneElementsMap, isBindingEnabled: boolean, draggingPoints: readonly number[] | null) => void;
|
|
14
|
+
export declare const getSuggestedBindingsForArrows: (selectedElements: NonDeleted<ExcalidrawElement>[], elementsMap: NonDeletedSceneElementsMap) => SuggestedBinding[];
|
|
15
15
|
export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, pointerCoords: {
|
|
16
16
|
x: number;
|
|
17
17
|
y: number;
|
|
18
|
-
},
|
|
18
|
+
}, elementsMap: NonDeletedSceneElementsMap) => void;
|
|
19
19
|
export declare const bindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: NonDeletedSceneElementsMap) => void;
|
|
20
20
|
export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
|
|
21
21
|
export declare const getHoveredElementForBinding: (pointerCoords: {
|
|
22
22
|
x: number;
|
|
23
23
|
y: number;
|
|
24
|
-
},
|
|
24
|
+
}, elementsMap: NonDeletedSceneElementsMap) => NonDeleted<ExcalidrawBindableElement> | null;
|
|
25
25
|
export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, elementsMap: ElementsMap, options?: {
|
|
26
26
|
simultaneouslyUpdated?: readonly ExcalidrawElement[];
|
|
27
27
|
newSize?: {
|
|
@@ -2,7 +2,7 @@ import type { ExcalidrawElement } from "./types";
|
|
|
2
2
|
import type { Mutable } from "../utility-types";
|
|
3
3
|
export type ElementUpdate<TElement extends ExcalidrawElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce" | "updated">;
|
|
4
4
|
export declare const mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
|
|
5
|
-
export declare const newElementWith: <TElement extends ExcalidrawElement>(element: TElement, updates: ElementUpdate<TElement
|
|
5
|
+
export declare const newElementWith: <TElement extends ExcalidrawElement>(element: TElement, updates: ElementUpdate<TElement>) => TElement;
|
|
6
6
|
/**
|
|
7
7
|
* Mutates element, bumping `version`, `versionNonce`, and `updated`.
|
|
8
8
|
*
|
|
@@ -21,7 +21,8 @@ getDefaultLineHeight, //zsviczian
|
|
|
21
21
|
wrapText, //zsviczian
|
|
22
22
|
getFontString, //zsviczian
|
|
23
23
|
getBoundTextMaxWidth, //zsviczian
|
|
24
|
-
mermaidToExcalidraw,
|
|
24
|
+
mermaidToExcalidraw, //zsviczian
|
|
25
|
+
destroyObsidianUtils, } from "../utils/export";
|
|
25
26
|
export { refreshTextDimensions, } from "./element/newElement";
|
|
26
27
|
export { getContainerElement, } from "./element/textElement";
|
|
27
28
|
export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export declare
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
1
|
+
export declare let hostPlugin: any;
|
|
2
|
+
export declare function destroyObsidianUtils(): void;
|
|
3
|
+
export declare function initializeObsidianUtils(obsidianPlugin: any): void;
|
|
4
|
+
export declare function getAreaLimit(): any;
|
|
5
|
+
export declare function getWidthHeightLimit(): any;
|
|
6
|
+
export declare function isExcaliBrainView(): any;
|
|
7
|
+
export declare function getExcalidrawContentEl(): HTMLElement;
|
|
8
|
+
export declare function hideFreedrawPenmodeCursor(): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
2
2
|
import type { Drawable } from "roughjs/bin/core";
|
|
3
|
-
import type { ExcalidrawElement,
|
|
3
|
+
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "../element/types";
|
|
4
4
|
import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, UserIdleState, Device } from "../types";
|
|
5
5
|
import type { MakeBrand } from "../utility-types";
|
|
6
6
|
export type RenderableElementsMap = NonDeletedElementsMap & MakeBrand<"RenderableElementsMap">;
|
|
@@ -68,9 +68,6 @@ export type SceneScroll = {
|
|
|
68
68
|
scrollX: number;
|
|
69
69
|
scrollY: number;
|
|
70
70
|
};
|
|
71
|
-
export interface Scene {
|
|
72
|
-
elements: ExcalidrawTextElement[];
|
|
73
|
-
}
|
|
74
71
|
export type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
|
|
75
72
|
export type ScrollBars = {
|
|
76
73
|
horizontal: {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type GeometricShape } from "../utils/geometry/shape";
|
|
2
|
+
import type { ElementsMap, ExcalidrawElement } from "./element/types";
|
|
1
3
|
export declare const SHAPES: readonly [{
|
|
2
4
|
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
3
5
|
readonly value: "selection";
|
|
@@ -60,3 +62,8 @@ export declare const SHAPES: readonly [{
|
|
|
60
62
|
readonly fillable: false;
|
|
61
63
|
}];
|
|
62
64
|
export declare const findShapeByKey: (key: string) => "text" | "image" | "selection" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "eraser" | null;
|
|
65
|
+
/**
|
|
66
|
+
* get the pure geometric shape of an excalidraw element
|
|
67
|
+
* which is then used for hit detection
|
|
68
|
+
*/
|
|
69
|
+
export declare const getElementShape: (element: ExcalidrawElement, elementsMap: ElementsMap) => GeometricShape;
|
|
@@ -387,7 +387,7 @@ export type OnUserFollowedPayload = {
|
|
|
387
387
|
};
|
|
388
388
|
export interface ExcalidrawProps {
|
|
389
389
|
onChange?: (elements: readonly OrderedExcalidrawElement[], appState: AppState, files: BinaryFiles) => void;
|
|
390
|
-
initialData?: MaybePromise<ExcalidrawInitialDataState | null>;
|
|
390
|
+
initialData?: (() => MaybePromise<ExcalidrawInitialDataState | null>) | MaybePromise<ExcalidrawInitialDataState | null>;
|
|
391
391
|
excalidrawAPI?: (api: ExcalidrawImperativeAPI) => void;
|
|
392
392
|
isCollaborating?: boolean;
|
|
393
393
|
onPointerUpdate?: (payload: {
|
|
@@ -442,7 +442,7 @@ export interface ExcalidrawProps {
|
|
|
442
442
|
renderMermaid?: boolean;
|
|
443
443
|
onContextMenu?: (element: readonly NonDeletedExcalidrawElement[], appState: AppState, onClose: (callback?: () => void) => void) => JSX.Element | null;
|
|
444
444
|
aiEnabled?: boolean;
|
|
445
|
-
obsidianHostPlugin
|
|
445
|
+
obsidianHostPlugin: WeakRef<any>;
|
|
446
446
|
}
|
|
447
447
|
export type SceneData = {
|
|
448
448
|
elements?: ImportedDataState["elements"];
|
|
@@ -522,7 +522,6 @@ export type AppClassProperties = {
|
|
|
522
522
|
setOpenDialog: App["setOpenDialog"];
|
|
523
523
|
insertEmbeddableElement: App["insertEmbeddableElement"];
|
|
524
524
|
onMagicframeToolSelect: App["onMagicframeToolSelect"];
|
|
525
|
-
getElementShape: App["getElementShape"];
|
|
526
525
|
getName: App["getName"];
|
|
527
526
|
};
|
|
528
527
|
export type PointerDownState = Readonly<{
|
package/types/utils/export.d.ts
CHANGED
|
@@ -39,3 +39,4 @@ export { measureText, wrapText, getDefaultLineHeight, } from "../excalidraw/elem
|
|
|
39
39
|
export { getFontString } from "../excalidraw/utils";
|
|
40
40
|
export { getBoundTextMaxWidth } from "../excalidraw/element/textElement";
|
|
41
41
|
export { mermaidToExcalidraw } from "../excalidraw/components/TTDDialog/MermaidToExcalidraw";
|
|
42
|
+
export { destroyObsidianUtils } from "../excalidraw/obsidianUtils";
|