@myoc/math 0.19.521 → 0.19.522
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 +261 -92
- package/dist/dev/index.js.map +4 -4
- package/dist/prod/index.js +1 -1
- package/dist/types/common/src/colors.d.ts +14 -0
- package/dist/types/common/src/constants.d.ts +3 -0
- package/dist/types/common/src/keys.d.ts +2 -0
- package/dist/types/common/src/points.d.ts +1 -1
- package/dist/types/common/src/utils.d.ts +1 -1
- package/dist/types/element/src/Scene.d.ts +1 -1
- package/dist/types/element/src/align.d.ts +2 -2
- package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
- package/dist/types/element/src/arrows/focus.d.ts +5 -2
- package/dist/types/element/src/binding.d.ts +17 -8
- package/dist/types/element/src/bounds.d.ts +5 -9
- package/dist/types/element/src/bucketFill.d.ts +110 -0
- package/dist/types/element/src/collision.d.ts +1 -1
- package/dist/types/element/src/comparisons.d.ts +4 -4
- package/dist/types/element/src/convertToShape.d.ts +23 -0
- package/dist/types/element/src/distribute.d.ts +2 -2
- package/dist/types/element/src/dragElements.d.ts +27 -0
- package/dist/types/element/src/duplicate.d.ts +3 -3
- package/dist/types/element/src/embeddable.d.ts +2 -2
- package/dist/types/element/src/flowchart.d.ts +7 -7
- package/dist/types/element/src/fractionalIndex.d.ts +2 -2
- package/dist/types/element/src/frame.d.ts +4 -4
- package/dist/types/element/src/groups.d.ts +9 -9
- package/dist/types/element/src/index.d.ts +4 -1
- package/dist/types/element/src/linearElementEditor.d.ts +17 -10
- package/dist/types/element/src/newElement.d.ts +13 -0
- package/dist/types/element/src/renderElement.d.ts +0 -3
- package/dist/types/element/src/resizeElements.d.ts +2 -2
- package/dist/types/element/src/selection.d.ts +5 -5
- package/dist/types/element/src/shape.d.ts +12 -0
- package/dist/types/element/src/sortElements.d.ts +10 -0
- package/dist/types/element/src/textElement.d.ts +12 -9
- package/dist/types/element/src/transform.d.ts +2 -2
- package/dist/types/element/src/typeChecks.d.ts +25 -25
- package/dist/types/element/src/types.d.ts +2 -1
- package/dist/types/element/src/zindex.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +24 -8
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +128 -961
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +24 -8
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +12 -4
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +38 -13
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +9 -4
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +12 -4
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +25 -9
- package/dist/types/excalidraw/actions/actionExport.d.ts +26 -10
- package/dist/types/excalidraw/actions/actionFrame.d.ts +47 -205
- package/dist/types/excalidraw/actions/actionGroup.d.ts +39 -23
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +15 -6
- package/dist/types/excalidraw/actions/actionLink.d.ts +13 -5
- package/dist/types/excalidraw/actions/actionMenu.d.ts +12 -4
- package/dist/types/excalidraw/actions/actionProperties.d.ts +43 -24
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +17 -9
- package/dist/types/excalidraw/actions/actionStyles.d.ts +12 -4
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +14 -6
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +16 -9
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +13 -5
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +13 -5
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +16 -9
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +13 -5
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +14 -6
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +13 -5
- package/dist/types/excalidraw/actions/index.d.ts +1 -2
- package/dist/types/excalidraw/actions/manager.d.ts +1 -0
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +8 -4
- package/dist/types/excalidraw/appState.d.ts +10 -5
- package/dist/types/excalidraw/components/Actions.d.ts +17 -12
- package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
- package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
- package/dist/types/excalidraw/components/App.cursor.d.ts +30 -0
- package/dist/types/excalidraw/components/App.d.ts +384 -60
- package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
- package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
- package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -1
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
- package/dist/types/excalidraw/components/ColorPicker/topPicksDnD.d.ts +31 -0
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +1 -1
- package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
- package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
- package/dist/types/excalidraw/components/Island.d.ts +7 -0
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
- package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
- package/dist/types/excalidraw/components/LockButton.d.ts +9 -0
- package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
- package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
- package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
- package/dist/types/excalidraw/components/Popover.d.ts +1 -3
- package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
- package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
- package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
- package/dist/types/excalidraw/components/Tools.d.ts +146 -0
- package/dist/types/excalidraw/components/UserList.d.ts +3 -2
- package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +2 -0
- package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
- package/dist/types/excalidraw/components/icons.d.ts +4 -1
- package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
- package/dist/types/excalidraw/context/tunnels.d.ts +0 -1
- package/dist/types/excalidraw/data/blob.d.ts +14 -6
- package/dist/types/excalidraw/data/index.d.ts +4 -4
- package/dist/types/excalidraw/data/json.d.ts +20 -12
- package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
- package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
- package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +10 -3
- package/dist/types/excalidraw/scene/Renderer.d.ts +11 -11
- package/dist/types/excalidraw/scene/export.d.ts +3 -3
- package/dist/types/excalidraw/scene/index.d.ts +1 -1
- package/dist/types/excalidraw/scene/types.d.ts +4 -3
- package/dist/types/excalidraw/snapping.d.ts +7 -7
- package/dist/types/excalidraw/types.d.ts +423 -27
- package/dist/types/excalidraw/viewport.d.ts +283 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -3
- package/dist/types/laser-pointer/src/state.d.ts +1 -0
- package/dist/types/math/src/index.d.ts +1 -0
- package/dist/types/math/src/pca.d.ts +79 -0
- package/dist/types/math/src/polygon.d.ts +25 -1
- package/dist/types/utils/src/export.d.ts +3 -3
- package/package.json +2 -2
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -180
- package/dist/types/excalidraw/actions/actionSmartZoom.d.ts +0 -16
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +0 -27
- package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +0 -7
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
- package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
- package/dist/types/excalidraw/components/MagicButton.d.ts +0 -10
- package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -12
- package/dist/types/excalidraw/cursor.d.ts +0 -5
- package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
- package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
- package/dist/types/excalidraw/scroll.d.ts +0 -46
|
@@ -22,6 +22,7 @@ export declare class LinearElementEditor {
|
|
|
22
22
|
};
|
|
23
23
|
arrowStartIsInside: boolean;
|
|
24
24
|
altFocusPoint: Readonly<GlobalPoint> | null;
|
|
25
|
+
arrowOtherEndpointInitialBinding: FixedPointBinding | null;
|
|
25
26
|
}>;
|
|
26
27
|
/** whether you're dragging a point */
|
|
27
28
|
readonly isDragging: boolean;
|
|
@@ -45,18 +46,18 @@ export declare class LinearElementEditor {
|
|
|
45
46
|
* @param id the `elementId` from the instance of this class (so that we can
|
|
46
47
|
* statically guarantee this method returns an ExcalidrawLinearElement)
|
|
47
48
|
*/
|
|
48
|
-
static getElement<T extends ExcalidrawLinearElement>(id: InstanceType<typeof LinearElementEditor>["elementId"], elementsMap: ElementsMap): T | null;
|
|
49
|
+
static getElement<T extends ExcalidrawLinearElement>(id: InstanceType<typeof LinearElementEditor>["elementId"], elementsMap: ElementsMap): NonDeleted<T> | null;
|
|
49
50
|
static handleBoxSelection(event: PointerEvent, appState: AppState, setState: React.Component<any, AppState>["setState"], elementsMap: NonDeletedSceneElementsMap): false | undefined;
|
|
50
51
|
static handlePointerMove(event: PointerEvent, app: AppClassProperties, scenePointerX: number, scenePointerY: number, linearElementEditor: LinearElementEditor): Pick<AppState, "suggestedBinding" | "selectedLinearElement"> | null;
|
|
51
52
|
static handlePointDragging(event: PointerEvent, app: AppClassProperties, scenePointerX: number, scenePointerY: number, linearElementEditor: LinearElementEditor): Pick<AppState, "suggestedBinding" | "selectedLinearElement"> | null;
|
|
52
53
|
static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState, scene: Scene): LinearElementEditor;
|
|
53
|
-
static getEditorMidPoints: (element:
|
|
54
|
+
static getEditorMidPoints: (element: ExcalidrawLinearElement, elementsMap: ElementsMap, appState: InteractiveCanvasAppState) => (GlobalPoint | null)[];
|
|
54
55
|
static getSegmentMidpointHitCoords: (linearElementEditor: LinearElementEditor, scenePointer: {
|
|
55
56
|
x: number;
|
|
56
57
|
y: number;
|
|
57
58
|
}, appState: AppState, elementsMap: ElementsMap) => GlobalPoint | null;
|
|
58
|
-
static isSegmentTooShort<P extends GlobalPoint | LocalPoint>(element:
|
|
59
|
-
static getSegmentMidPoint(element:
|
|
59
|
+
static isSegmentTooShort<P extends GlobalPoint | LocalPoint>(element: ExcalidrawLinearElement, startPoint: P, endPoint: P, index: number, zoom: Zoom, elementsMap: ElementsMap): boolean;
|
|
60
|
+
static getSegmentMidPoint(element: ExcalidrawLinearElement, index: number, elementsMap: ElementsMap): GlobalPoint;
|
|
60
61
|
static getSegmentMidPointIndex(linearElementEditor: LinearElementEditor, appState: AppState, midPoint: GlobalPoint, elementsMap: ElementsMap): number;
|
|
61
62
|
static handlePointerDown(event: React.PointerEvent<HTMLElement>, app: AppClassProperties, store: Store, scenePointer: {
|
|
62
63
|
x: number;
|
|
@@ -69,14 +70,14 @@ export declare class LinearElementEditor {
|
|
|
69
70
|
static arePointsEqual<Point extends LocalPoint | GlobalPoint>(point1: Point | null, point2: Point | null): boolean;
|
|
70
71
|
static handlePointerMoveInEditMode(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, app: AppClassProperties): LinearElementEditor | null;
|
|
71
72
|
/** scene coords */
|
|
72
|
-
static getPointGlobalCoordinates(element:
|
|
73
|
+
static getPointGlobalCoordinates(element: ExcalidrawLinearElement, p: LocalPoint, elementsMap: ElementsMap): GlobalPoint;
|
|
73
74
|
/** scene coords */
|
|
74
|
-
static getPointsGlobalCoordinates(element:
|
|
75
|
-
static getPointAtIndexGlobalCoordinates(element:
|
|
75
|
+
static getPointsGlobalCoordinates(element: ExcalidrawLinearElement, elementsMap: ElementsMap): GlobalPoint[];
|
|
76
|
+
static getPointAtIndexGlobalCoordinates(element: ExcalidrawLinearElement, indexMaybeFromEnd: number, // -1 for last element
|
|
76
77
|
elementsMap: ElementsMap): GlobalPoint;
|
|
77
|
-
static pointFromAbsoluteCoords(element:
|
|
78
|
-
static getPointIndexUnderCursor(element:
|
|
79
|
-
static createPointAt(element:
|
|
78
|
+
static pointFromAbsoluteCoords(element: ExcalidrawLinearElement, absoluteCoords: GlobalPoint, elementsMap: ElementsMap): LocalPoint;
|
|
79
|
+
static getPointIndexUnderCursor(element: ExcalidrawLinearElement, elementsMap: ElementsMap, zoom: AppState["zoom"], x: number, y: number): number;
|
|
80
|
+
static createPointAt(element: ExcalidrawLinearElement, elementsMap: ElementsMap, scenePointerX: number, scenePointerY: number, gridSize: NullableGridSize): LocalPoint;
|
|
80
81
|
/**
|
|
81
82
|
* Normalizes line points so that the start point is at [0,0]. This is
|
|
82
83
|
* expected in various parts of the codebase.
|
|
@@ -107,6 +108,12 @@ export declare class LinearElementEditor {
|
|
|
107
108
|
} | undefined;
|
|
108
109
|
private static _updatePoints;
|
|
109
110
|
private static _getShiftLockedDelta;
|
|
111
|
+
/**
|
|
112
|
+
* The point a bound text label is centered on — the middle of the linear
|
|
113
|
+
* element, whether that's an actual point or the midpoint of the middle
|
|
114
|
+
* segment.
|
|
115
|
+
*/
|
|
116
|
+
static getBoundTextElementCenter: (element: ExcalidrawLinearElement, elementsMap: ElementsMap) => GlobalPoint;
|
|
110
117
|
static getBoundTextElementPosition: (element: ExcalidrawLinearElement, boundTextElement: ExcalidrawTextElementWithContainer, elementsMap: ElementsMap) => {
|
|
111
118
|
x: number;
|
|
112
119
|
y: number;
|
|
@@ -16,6 +16,19 @@ export declare const newFrameElement: (opts: {
|
|
|
16
16
|
export declare const newMagicFrameElement: (opts: {
|
|
17
17
|
name?: string;
|
|
18
18
|
} & ElementConstructorOpts) => NonDeleted<ExcalidrawMagicFrameElement>;
|
|
19
|
+
/**
|
|
20
|
+
* The point of the text box its alignment pins, as ratios of width/height.
|
|
21
|
+
*
|
|
22
|
+
* This is the point that stays put as the text grows — see the sides passed to
|
|
23
|
+
* `adjustXYWithRotation` in `getAdjustedDimensions`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const getTextAnchorRatios: (opts: {
|
|
26
|
+
textAlign: ExcalidrawTextElement["textAlign"];
|
|
27
|
+
verticalAlign: ExcalidrawTextElement["verticalAlign"];
|
|
28
|
+
}) => {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
};
|
|
19
32
|
export declare const newTextElement: (opts: {
|
|
20
33
|
text: string;
|
|
21
34
|
originalText?: string;
|
|
@@ -9,14 +9,11 @@ export interface ExcalidrawElementWithCanvas {
|
|
|
9
9
|
canvas: HTMLCanvasElement;
|
|
10
10
|
theme: AppState["theme"];
|
|
11
11
|
scale: number;
|
|
12
|
-
angle: number;
|
|
13
12
|
zoomValue: AppState["zoom"]["value"];
|
|
14
13
|
canvasOffsetX: number;
|
|
15
14
|
canvasOffsetY: number;
|
|
16
|
-
boundTextElementVersion: number | null;
|
|
17
15
|
imageCrop: ExcalidrawImageElement["crop"] | null;
|
|
18
16
|
containingFrameOpacity: number;
|
|
19
|
-
boundTextCanvas: HTMLCanvasElement;
|
|
20
17
|
}
|
|
21
18
|
export declare const DEFAULT_LINK_SIZE = 14;
|
|
22
19
|
export declare const elementWithCanvasCache: WeakMap<ExcalidrawElement, ExcalidrawElementWithCanvas>;
|
|
@@ -3,7 +3,7 @@ import type { PointerDownState } from "@excalidraw/excalidraw/types";
|
|
|
3
3
|
import type { Scene } from "./Scene";
|
|
4
4
|
import type { BoundingBox } from "./bounds";
|
|
5
5
|
import type { MaybeTransformHandleType, TransformHandleDirection } from "./transformHandles";
|
|
6
|
-
import type { ExcalidrawLinearElement, ExcalidrawTextElement, NonDeletedExcalidrawElement, NonDeleted,
|
|
6
|
+
import type { ExcalidrawLinearElement, ExcalidrawTextElement, NonDeletedExcalidrawElement, NonDeleted, ElementsMap } from "./types";
|
|
7
7
|
export declare const transformElements: (originalElements: PointerDownState["originalElements"], transformHandleType: MaybeTransformHandleType, selectedElements: readonly NonDeletedExcalidrawElement[], scene: Scene, shouldRotateWithDiscreteAngle: boolean, shouldResizeFromCenter: boolean, shouldMaintainAspectRatio: boolean, pointerX: number, pointerY: number, centerX: number, centerY: number) => boolean;
|
|
8
8
|
export declare const rescalePointsInElement: (element: NonDeletedExcalidrawElement, width: number, height: number, normalizePoints: boolean) => {
|
|
9
9
|
points: LocalPoint[];
|
|
@@ -16,7 +16,7 @@ export declare const measureFontSizeFromWidth: (element: NonDeleted<ExcalidrawTe
|
|
|
16
16
|
export declare const resizeSingleTextElement: (origElement: NonDeleted<ExcalidrawTextElement>, element: NonDeleted<ExcalidrawTextElement>, scene: Scene, transformHandleType: TransformHandleDirection, shouldResizeFromCenter: boolean, nextWidth: number, nextHeight: number) => void;
|
|
17
17
|
export declare const getResizeOffsetXY: (transformHandleType: MaybeTransformHandleType, selectedElements: NonDeletedExcalidrawElement[], elementsMap: ElementsMap, x: number, y: number) => [number, number];
|
|
18
18
|
export declare const getResizeArrowDirection: (transformHandleType: MaybeTransformHandleType, element: NonDeleted<ExcalidrawLinearElement>) => "origin" | "end";
|
|
19
|
-
export declare const resizeSingleElement: (nextWidth: number, nextHeight: number, latestElement:
|
|
19
|
+
export declare const resizeSingleElement: (nextWidth: number, nextHeight: number, latestElement: NonDeletedExcalidrawElement, origElement: NonDeletedExcalidrawElement, originalElementsMap: ElementsMap, scene: Scene, handleDirection: TransformHandleDirection, { shouldInformMutation, shouldMaintainAspectRatio, shouldResizeFromCenter, }?: {
|
|
20
20
|
shouldMaintainAspectRatio?: boolean;
|
|
21
21
|
shouldResizeFromCenter?: boolean;
|
|
22
22
|
shouldInformMutation?: boolean;
|
|
@@ -8,8 +8,8 @@ import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, NonDeleted, No
|
|
|
8
8
|
* @param selectedElements
|
|
9
9
|
*/
|
|
10
10
|
export declare const excludeElementsInFramesFromSelection: <T extends ExcalidrawElement>(selectedElements: readonly T[]) => T[];
|
|
11
|
-
export declare const getElementsWithinSelection: (elements: readonly
|
|
12
|
-
export declare const getVisibleAndNonSelectedElements: (elements: readonly
|
|
11
|
+
export declare const getElementsWithinSelection: <T extends ExcalidrawElement>(elements: readonly T[], selection: ExcalidrawElement, elementsMap: ElementsMap, excludeElementsInFrames?: boolean, boxSelectionMode?: BoxSelectionMode) => T[];
|
|
12
|
+
export declare const getVisibleAndNonSelectedElements: <T extends NonDeletedExcalidrawElement>(elements: readonly T[], selectedElements: readonly ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => T[];
|
|
13
13
|
export declare const isSomeElementSelected: {
|
|
14
14
|
(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">): boolean;
|
|
15
15
|
clearCache(): void;
|
|
@@ -17,8 +17,8 @@ export declare const isSomeElementSelected: {
|
|
|
17
17
|
export declare const getSelectedElements: (elements: ElementsMapOrArray, appState: Pick<InteractiveCanvasAppState, "selectedElementIds">, opts?: {
|
|
18
18
|
includeBoundTextElement?: boolean;
|
|
19
19
|
includeElementsInFrames?: boolean;
|
|
20
|
-
}) =>
|
|
21
|
-
export declare const getTargetElements: (elements: ElementsMapOrArray, appState: Pick<AppState, "selectedElementIds" | "editingTextElement" | "newElement">) =>
|
|
20
|
+
}) => NonDeletedExcalidrawElement[];
|
|
21
|
+
export declare const getTargetElements: (elements: ElementsMapOrArray, appState: Pick<AppState, "selectedElementIds" | "editingTextElement" | "newElement" | "activeTool">) => NonDeletedExcalidrawElement[] | import("./types").ExcalidrawTextElement[];
|
|
22
22
|
/**
|
|
23
23
|
* returns prevState's selectedElementids if no change from previous, so as to
|
|
24
24
|
* retain reference identity for memoization
|
|
@@ -26,7 +26,7 @@ export declare const getTargetElements: (elements: ElementsMapOrArray, appState:
|
|
|
26
26
|
export declare const makeNextSelectedElementIds: (nextSelectedElementIds: AppState["selectedElementIds"], prevState: Pick<AppState, "selectedElementIds">) => Readonly<{
|
|
27
27
|
[id: string]: true;
|
|
28
28
|
}>;
|
|
29
|
-
export declare const getSelectionStateForElements: (targetElements: readonly
|
|
29
|
+
export declare const getSelectionStateForElements: (targetElements: readonly NonDeletedExcalidrawElement[], allElements: readonly NonDeletedExcalidrawElement[], appState: AppState) => {
|
|
30
30
|
editingGroupId: AppState["editingGroupId"];
|
|
31
31
|
selectedElementIds: AppState["selectedElementIds"];
|
|
32
32
|
selectedGroupIds: AppState["selectedGroupIds"];
|
|
@@ -41,3 +41,15 @@ export declare const toggleLinePolygonState: (element: ExcalidrawLineElement, ne
|
|
|
41
41
|
points: ExcalidrawLineElement["points"];
|
|
42
42
|
} | null;
|
|
43
43
|
export declare const getFreedrawOutlinePoints: (element: ExcalidrawFreeDrawElement) => [number, number][];
|
|
44
|
+
/**
|
|
45
|
+
* The streamline-smoothed centerline the freedraw stroke is rendered
|
|
46
|
+
* around, in element-local coordinates. Boundary-sensitive consumers (e.g.
|
|
47
|
+
* bucket fill) should use this instead of `element.points`: raw input
|
|
48
|
+
* points can sit 20px+ apart and the rendered stroke is smoothed between
|
|
49
|
+
* them, so raw chords visibly deviate from what's on screen.
|
|
50
|
+
*
|
|
51
|
+
* Constant-width ("laser geometry") strokes technically smooth via
|
|
52
|
+
* `LaserPointer` instead; the perfect-freehand centerline with the same
|
|
53
|
+
* `streamline` is a close approximation the stroke width hides.
|
|
54
|
+
*/
|
|
55
|
+
export declare const getFreedrawStrokeCenterPoints: (element: ExcalidrawFreeDrawElement) => [number, number][];
|
|
@@ -1,2 +1,12 @@
|
|
|
1
1
|
import type { ExcalidrawElement } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* In theory, when we have text elements bound to a container, they
|
|
4
|
+
* should be right after the container element in the elements array.
|
|
5
|
+
* However, this is not guaranteed due to old and potential future bugs.
|
|
6
|
+
*
|
|
7
|
+
* This function sorts containers and their bound texts together. It prefers
|
|
8
|
+
* original z-index of container (i.e. it moves bound text elements after
|
|
9
|
+
* containers).
|
|
10
|
+
*/
|
|
11
|
+
export declare const normalizeBoundElementsOrder: <T extends ExcalidrawElement>(elements: readonly T[]) => readonly T[];
|
|
2
12
|
export declare const normalizeElementOrder: (elements: readonly ExcalidrawElement[]) => readonly ExcalidrawElement[];
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { type Radians } from "@excalidraw/math";
|
|
2
|
-
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
3
2
|
import type { ExtractSetType } from "@excalidraw/common/utility-types";
|
|
4
3
|
import type { Scene } from "./Scene";
|
|
5
4
|
import type { MaybeTransformHandleType } from "./transformHandles";
|
|
6
|
-
import type { ElementsMap, ExcalidrawElement, ExcalidrawElementType, ExcalidrawTextContainer, ExcalidrawTextElement, ExcalidrawTextElementWithContainer,
|
|
5
|
+
import type { ElementsMap, ExcalidrawElement, ExcalidrawElementType, ExcalidrawTextContainer, ExcalidrawTextElement, ExcalidrawTextElementWithContainer, NonDeleted } from "./types";
|
|
7
6
|
export declare const redrawTextBoundingBox: (textElement: ExcalidrawTextElement, container: ExcalidrawElement | null, scene: Scene) => void;
|
|
8
|
-
export declare const handleBindTextResize: (container:
|
|
7
|
+
export declare const handleBindTextResize: (container: ExcalidrawElement, scene: Scene, transformHandleType: MaybeTransformHandleType, shouldMaintainAspectRatio?: boolean, shouldResizeFromCenter?: boolean) => void;
|
|
9
8
|
export declare const computeBoundTextPosition: (container: ExcalidrawElement, boundTextElement: ExcalidrawTextElementWithContainer, elementsMap: ElementsMap) => {
|
|
10
9
|
x: number;
|
|
11
10
|
y: number;
|
|
12
11
|
};
|
|
13
12
|
export declare const getBoundTextElementId: (container: ExcalidrawElement | null) => string | null;
|
|
14
|
-
export declare const getBoundTextElement: (element: ExcalidrawElement | null, elementsMap: ElementsMap) => ExcalidrawTextElementWithContainer | null;
|
|
15
|
-
export declare const getContainerElement: (element:
|
|
16
|
-
|
|
13
|
+
export declare const getBoundTextElement: (element: ExcalidrawElement | null, elementsMap: ElementsMap) => NonDeleted<ExcalidrawTextElementWithContainer> | null;
|
|
14
|
+
export declare const getContainerElement: <T extends ExcalidrawTextElement, R extends ExcalidrawTextContainer>(element: T | null, elementsMap: ElementsMap) => R | null;
|
|
15
|
+
/**
|
|
16
|
+
* The point a text bound to this container centers on — and, for arrows, the
|
|
17
|
+
* point the text tool snaps a new label to.
|
|
18
|
+
*/
|
|
19
|
+
export declare const getContainerCenter: (container: ExcalidrawElement, elementsMap: ElementsMap) => {
|
|
17
20
|
x: number;
|
|
18
21
|
y: number;
|
|
19
22
|
};
|
|
20
|
-
export declare const getContainerCoords: (container:
|
|
23
|
+
export declare const getContainerCoords: (container: ExcalidrawElement) => {
|
|
21
24
|
x: number;
|
|
22
25
|
y: number;
|
|
23
26
|
};
|
|
@@ -26,8 +29,8 @@ export declare const getBoundTextElementPosition: (container: ExcalidrawElement,
|
|
|
26
29
|
x: number;
|
|
27
30
|
y: number;
|
|
28
31
|
} | undefined;
|
|
29
|
-
export declare const shouldAllowVerticalAlign: (selectedElements:
|
|
30
|
-
export declare const suppportsHorizontalAlign: (selectedElements:
|
|
32
|
+
export declare const shouldAllowVerticalAlign: (selectedElements: readonly ExcalidrawElement[], elementsMap: ElementsMap) => boolean;
|
|
33
|
+
export declare const suppportsHorizontalAlign: (selectedElements: readonly ExcalidrawElement[], elementsMap: ElementsMap) => boolean;
|
|
31
34
|
declare const VALID_CONTAINER_TYPES: Set<string>;
|
|
32
35
|
export declare const isValidTextContainer: (element: {
|
|
33
36
|
type: ExcalidrawElementType;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MarkOptional } from "@excalidraw/common/utility-types";
|
|
2
2
|
import { type ElementConstructorOpts } from "./newElement";
|
|
3
|
-
import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, TextAlign, VerticalAlign } from "./types";
|
|
3
|
+
import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, NonDeletedExcalidrawElement, Ordered, TextAlign, VerticalAlign } from "./types";
|
|
4
4
|
export type ValidLinearElement = {
|
|
5
5
|
type: "arrow" | "line";
|
|
6
6
|
x: number;
|
|
@@ -78,4 +78,4 @@ export type ExcalidrawElementSkeleton = Extract<Exclude<ExcalidrawElement, Excal
|
|
|
78
78
|
} & Partial<ExcalidrawMagicFrameElement>);
|
|
79
79
|
export declare const convertToExcalidrawElements: (elementsSkeleton: ExcalidrawElementSkeleton[] | null, opts?: {
|
|
80
80
|
regenerateIds: boolean;
|
|
81
|
-
}) =>
|
|
81
|
+
}) => Ordered<NonDeletedExcalidrawElement>[];
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import type { ElementOrToolType } from "@excalidraw/excalidraw/types";
|
|
2
2
|
import type { MarkNonNullable } from "@excalidraw/common/utility-types";
|
|
3
3
|
import type { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeElement, ExcalidrawIframeLikeElement, ExcalidrawMagicFrameElement, ExcalidrawArrowElement, ExcalidrawElbowArrowElement, ExcalidrawLineElement, ExcalidrawFlowchartNodeElement, ExcalidrawLinearElementSubType } from "./types";
|
|
4
|
-
export declare const isInitializedImageElement: (element:
|
|
5
|
-
export declare const isImageElement: (element:
|
|
6
|
-
export declare const isEmbeddableElement: (element:
|
|
7
|
-
export declare const isIframeElement: (element:
|
|
8
|
-
export declare const isIframeLikeElement: (element:
|
|
9
|
-
export declare const isTextElement: (element:
|
|
10
|
-
export declare const isFrameElement: (element:
|
|
11
|
-
export declare const isMagicFrameElement: (element:
|
|
12
|
-
export declare const isFrameLikeElement: (element:
|
|
13
|
-
export declare const isFreeDrawElement: (element?:
|
|
4
|
+
export declare const isInitializedImageElement: <T extends ExcalidrawElement>(element: T | null) => element is T & InitializedExcalidrawImageElement;
|
|
5
|
+
export declare const isImageElement: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawImageElement;
|
|
6
|
+
export declare const isEmbeddableElement: <T extends ExcalidrawElement>(element: T | null | undefined) => element is T & ExcalidrawEmbeddableElement;
|
|
7
|
+
export declare const isIframeElement: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawIframeElement;
|
|
8
|
+
export declare const isIframeLikeElement: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawIframeLikeElement;
|
|
9
|
+
export declare const isTextElement: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawTextElement;
|
|
10
|
+
export declare const isFrameElement: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawFrameElement;
|
|
11
|
+
export declare const isMagicFrameElement: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawMagicFrameElement;
|
|
12
|
+
export declare const isFrameLikeElement: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawFrameLikeElement;
|
|
13
|
+
export declare const isFreeDrawElement: <T extends ExcalidrawElement>(element?: T | null) => element is T & ExcalidrawFreeDrawElement;
|
|
14
14
|
export declare const isFreeDrawElementType: (elementType: ExcalidrawElementType) => boolean;
|
|
15
|
-
export declare const isLinearElement: (element?:
|
|
16
|
-
export declare const isLineElement: (element?:
|
|
17
|
-
export declare const isArrowElement: (element?:
|
|
18
|
-
export declare const isElbowArrow: (element?:
|
|
15
|
+
export declare const isLinearElement: <T extends ExcalidrawElement>(element?: T | null) => element is T & ExcalidrawLinearElement;
|
|
16
|
+
export declare const isLineElement: <T extends ExcalidrawElement>(element?: T | null) => element is T & ExcalidrawLineElement;
|
|
17
|
+
export declare const isArrowElement: <T extends ExcalidrawElement>(element?: T | null) => element is T & ExcalidrawArrowElement;
|
|
18
|
+
export declare const isElbowArrow: <T extends ExcalidrawElement>(element?: T) => element is T & ExcalidrawElbowArrowElement;
|
|
19
19
|
/**
|
|
20
20
|
* sharp or curved arrow, but not elbow
|
|
21
21
|
*/
|
|
22
|
-
export declare const isSimpleArrow: (element?:
|
|
23
|
-
export declare const isSharpArrow: (element?:
|
|
24
|
-
export declare const isCurvedArrow: (element?:
|
|
22
|
+
export declare const isSimpleArrow: <T extends ExcalidrawElement>(element?: T) => element is T & ExcalidrawArrowElement;
|
|
23
|
+
export declare const isSharpArrow: <T extends ExcalidrawElement>(element?: T) => element is T & ExcalidrawArrowElement;
|
|
24
|
+
export declare const isCurvedArrow: <T extends ExcalidrawElement>(element?: T) => element is T & ExcalidrawArrowElement;
|
|
25
25
|
export declare const isLinearElementType: (elementType: ElementOrToolType) => boolean;
|
|
26
|
-
export declare const isBindingElement: (element?:
|
|
26
|
+
export declare const isBindingElement: <T extends ExcalidrawElement>(element?: T | null, includeLocked?: boolean) => element is T & ExcalidrawArrowElement;
|
|
27
27
|
export declare const isBindingElementType: (elementType: ElementOrToolType) => boolean;
|
|
28
|
-
export declare const isBindableElement: (element:
|
|
29
|
-
export declare const isRectanguloidElement: (element?:
|
|
30
|
-
export declare const isRectangularElement: (element?:
|
|
31
|
-
export declare const isTextBindableContainer: (element:
|
|
28
|
+
export declare const isBindableElement: <T extends ExcalidrawElement>(element: T | null | undefined, includeLocked?: boolean) => element is T & ExcalidrawBindableElement;
|
|
29
|
+
export declare const isRectanguloidElement: <T extends ExcalidrawElement>(element?: T | null) => element is T & ExcalidrawBindableElement;
|
|
30
|
+
export declare const isRectangularElement: <T extends ExcalidrawElement>(element?: T | null) => element is T & ExcalidrawBindableElement;
|
|
31
|
+
export declare const isTextBindableContainer: <T extends ExcalidrawElement>(element: T | null, includeLocked?: boolean) => element is T & ExcalidrawTextContainer;
|
|
32
32
|
export declare const isExcalidrawElement: (element: any) => element is ExcalidrawElement;
|
|
33
|
-
export declare const isFlowchartNodeElement: (element:
|
|
34
|
-
export declare const hasBoundTextElement: (element:
|
|
35
|
-
export declare const isBoundToContainer: (element:
|
|
33
|
+
export declare const isFlowchartNodeElement: <T extends ExcalidrawElement>(element: T) => element is T & ExcalidrawFlowchartNodeElement;
|
|
34
|
+
export declare const hasBoundTextElement: <T extends ExcalidrawElement>(element: T | null) => element is T & MarkNonNullable<ExcalidrawBindableElement, "boundElements">;
|
|
35
|
+
export declare const isBoundToContainer: <T extends ExcalidrawElement>(element: T | null) => element is T & ExcalidrawTextElementWithContainer;
|
|
36
36
|
export declare const isArrowBoundToElement: (element: ExcalidrawArrowElement) => boolean;
|
|
37
37
|
export declare const isUsingAdaptiveRadius: (type: string) => type is "rectangle" | "embeddable" | "iframe" | "image";
|
|
38
38
|
export declare const isUsingProportionalRadius: (type: string) => type is "line" | "arrow" | "diamond";
|
|
@@ -167,7 +167,7 @@ export type Ordered<TElement extends ExcalidrawElement> = TElement & {
|
|
|
167
167
|
};
|
|
168
168
|
export type OrderedExcalidrawElement = Ordered<ExcalidrawElement>;
|
|
169
169
|
export type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
|
|
170
|
-
isDeleted:
|
|
170
|
+
isDeleted: false;
|
|
171
171
|
};
|
|
172
172
|
export type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
|
|
173
173
|
export type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
|
|
@@ -297,6 +297,7 @@ export type SceneElementsMap = Map<ExcalidrawElement["id"], Ordered<ExcalidrawEl
|
|
|
297
297
|
export type NonDeletedSceneElementsMap = Map<ExcalidrawElement["id"], Ordered<NonDeletedExcalidrawElement>> & MakeBrand<"NonDeletedSceneElementsMap">;
|
|
298
298
|
export type ElementsMapOrArray = readonly ExcalidrawElement[] | Readonly<ElementsMap>;
|
|
299
299
|
export type ArrangeAlgorithms = "bin-packing" | "bin-packing-center" | "bin-packing-max-rects" | "bin-packing-binary-tree";
|
|
300
|
+
export type NonDeletedElementsMapOrArray = readonly NonDeletedExcalidrawElement[] | Readonly<NonDeletedElementsMap | NonDeletedSceneElementsMap>;
|
|
300
301
|
export type ExcalidrawLinearElementSubType = "line" | "sharpArrow" | "curvedArrow" | "elbowArrow";
|
|
301
302
|
export type ConvertibleGenericTypes = "rectangle" | "diamond" | "ellipse";
|
|
302
303
|
export type ConvertibleLinearTypes = ExcalidrawLinearElementSubType;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
2
2
|
import type { GlobalPoint } from "@excalidraw/math";
|
|
3
3
|
import type { Scene } from "./Scene";
|
|
4
|
-
import type { ExcalidrawArrowElement, ExcalidrawElement, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap,
|
|
4
|
+
import type { ExcalidrawArrowElement, ExcalidrawElement, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap, OrderedExcalidrawElement } from "./types";
|
|
5
5
|
/**
|
|
6
6
|
* Moves the arrow element above any bindable elements it intersects with or
|
|
7
7
|
* hovers over.
|
|
8
8
|
*/
|
|
9
|
-
export declare const moveArrowAboveBindable: (point: GlobalPoint, arrow: ExcalidrawArrowElement, elements: readonly
|
|
9
|
+
export declare const moveArrowAboveBindable: (point: GlobalPoint, arrow: ExcalidrawArrowElement, elements: readonly OrderedExcalidrawElement[], elementsMap: NonDeletedSceneElementsMap, scene: Scene, hit?: NonDeletedExcalidrawElement) => readonly OrderedExcalidrawElement[];
|
|
10
10
|
export declare const moveOneLeft: (allElements: readonly ExcalidrawElement[], appState: AppState, scene: Scene) => readonly ExcalidrawElement[];
|
|
11
11
|
export declare const moveOneRight: (allElements: readonly ExcalidrawElement[], appState: AppState, scene: Scene) => readonly ExcalidrawElement[];
|
|
12
12
|
export declare const moveAllLeft: (allElements: readonly ExcalidrawElement[], appState: AppState) => readonly ExcalidrawElement[] | ExcalidrawElement[];
|
|
@@ -11,7 +11,7 @@ export declare const actionAlignTop: {
|
|
|
11
11
|
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
12
12
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
|
|
13
13
|
appState: Readonly<AppState>;
|
|
14
|
-
elements:
|
|
14
|
+
elements: (import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | 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 | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement)[];
|
|
15
15
|
captureUpdate: "IMMEDIATELY";
|
|
16
16
|
};
|
|
17
17
|
keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
|
|
@@ -29,7 +29,7 @@ export declare const actionAlignBottom: {
|
|
|
29
29
|
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
30
30
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
|
|
31
31
|
appState: Readonly<AppState>;
|
|
32
|
-
elements:
|
|
32
|
+
elements: (import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | 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 | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement)[];
|
|
33
33
|
captureUpdate: "IMMEDIATELY";
|
|
34
34
|
};
|
|
35
35
|
keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
|
|
@@ -47,7 +47,7 @@ export declare const actionAlignLeft: {
|
|
|
47
47
|
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
48
48
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
|
|
49
49
|
appState: Readonly<AppState>;
|
|
50
|
-
elements:
|
|
50
|
+
elements: (import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | 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 | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement)[];
|
|
51
51
|
captureUpdate: "IMMEDIATELY";
|
|
52
52
|
};
|
|
53
53
|
keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
|
|
@@ -65,7 +65,7 @@ export declare const actionAlignRight: {
|
|
|
65
65
|
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
66
66
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
|
|
67
67
|
appState: Readonly<AppState>;
|
|
68
|
-
elements:
|
|
68
|
+
elements: (import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | 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 | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement)[];
|
|
69
69
|
captureUpdate: "IMMEDIATELY";
|
|
70
70
|
};
|
|
71
71
|
keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
|
|
@@ -83,7 +83,7 @@ export declare const actionAlignVerticallyCentered: {
|
|
|
83
83
|
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
84
84
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
|
|
85
85
|
appState: Readonly<AppState>;
|
|
86
|
-
elements:
|
|
86
|
+
elements: (import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | 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 | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement)[];
|
|
87
87
|
captureUpdate: "IMMEDIATELY";
|
|
88
88
|
};
|
|
89
89
|
PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -100,7 +100,7 @@ export declare const actionAlignHorizontallyCentered: {
|
|
|
100
100
|
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
101
101
|
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
|
|
102
102
|
appState: Readonly<AppState>;
|
|
103
|
-
elements:
|
|
103
|
+
elements: (import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | 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 | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement)[];
|
|
104
104
|
captureUpdate: "IMMEDIATELY";
|
|
105
105
|
};
|
|
106
106
|
PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -65,6 +65,10 @@ export declare const actionBindText: {
|
|
|
65
65
|
element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
|
|
66
66
|
midPoint?: import("@excalidraw/math").GlobalPoint;
|
|
67
67
|
} | null;
|
|
68
|
+
hoveredArrowTextAnchor: {
|
|
69
|
+
elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
|
|
70
|
+
anchor: "start" | "end" | "label";
|
|
71
|
+
} | null;
|
|
68
72
|
frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
|
|
69
73
|
frameRendering: {
|
|
70
74
|
enabled: boolean;
|
|
@@ -72,8 +76,8 @@ export declare const actionBindText: {
|
|
|
72
76
|
outline: boolean;
|
|
73
77
|
clip: boolean;
|
|
74
78
|
};
|
|
75
|
-
editingFrame:
|
|
76
|
-
elementsToHighlight: import("@excalidraw/element/types").
|
|
79
|
+
editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
|
|
80
|
+
elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
|
|
77
81
|
editingTextElement: ExcalidrawTextElement | null;
|
|
78
82
|
activeTool: {
|
|
79
83
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
@@ -109,6 +113,7 @@ export declare const actionBindText: {
|
|
|
109
113
|
viewBackgroundColor: string;
|
|
110
114
|
scrollX: number;
|
|
111
115
|
scrollY: number;
|
|
116
|
+
scrollConstraints: import("../types").ScrollConstraints | null;
|
|
112
117
|
cursorButton: "up" | "down";
|
|
113
118
|
scrolledOutside: boolean;
|
|
114
119
|
name: string | null;
|
|
@@ -177,8 +182,6 @@ export declare const actionBindText: {
|
|
|
177
182
|
y: number;
|
|
178
183
|
} | null;
|
|
179
184
|
objectsSnapModeEnabled: boolean;
|
|
180
|
-
userToFollow: import("../types").UserToFollow | null;
|
|
181
|
-
followedBy: Set<import("../types").SocketId>;
|
|
182
185
|
isCropping: boolean;
|
|
183
186
|
croppingElementId: ExcalidrawElement["id"] | null;
|
|
184
187
|
searchMatches: Readonly<{
|
|
@@ -190,6 +193,11 @@ export declare const actionBindText: {
|
|
|
190
193
|
[groupId: string]: true;
|
|
191
194
|
};
|
|
192
195
|
bindMode: import("@excalidraw/element/types").BindMode;
|
|
196
|
+
colorTopPicks: {
|
|
197
|
+
elementStroke: readonly string[] | null;
|
|
198
|
+
elementBackground: readonly string[] | null;
|
|
199
|
+
bucketFill: readonly string[] | null;
|
|
200
|
+
};
|
|
193
201
|
};
|
|
194
202
|
captureUpdate: "IMMEDIATELY";
|
|
195
203
|
};
|
|
@@ -245,6 +253,10 @@ export declare const actionWrapTextInContainer: {
|
|
|
245
253
|
element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
|
|
246
254
|
midPoint?: import("@excalidraw/math").GlobalPoint;
|
|
247
255
|
} | null;
|
|
256
|
+
hoveredArrowTextAnchor: {
|
|
257
|
+
elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
|
|
258
|
+
anchor: "start" | "end" | "label";
|
|
259
|
+
} | null;
|
|
248
260
|
frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
|
|
249
261
|
frameRendering: {
|
|
250
262
|
enabled: boolean;
|
|
@@ -252,8 +264,8 @@ export declare const actionWrapTextInContainer: {
|
|
|
252
264
|
outline: boolean;
|
|
253
265
|
clip: boolean;
|
|
254
266
|
};
|
|
255
|
-
editingFrame:
|
|
256
|
-
elementsToHighlight: import("@excalidraw/element/types").
|
|
267
|
+
editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
|
|
268
|
+
elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
|
|
257
269
|
editingTextElement: ExcalidrawTextElement | null;
|
|
258
270
|
activeTool: {
|
|
259
271
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
@@ -289,6 +301,7 @@ export declare const actionWrapTextInContainer: {
|
|
|
289
301
|
viewBackgroundColor: string;
|
|
290
302
|
scrollX: number;
|
|
291
303
|
scrollY: number;
|
|
304
|
+
scrollConstraints: import("../types").ScrollConstraints | null;
|
|
292
305
|
cursorButton: "up" | "down";
|
|
293
306
|
scrolledOutside: boolean;
|
|
294
307
|
name: string | null;
|
|
@@ -357,8 +370,6 @@ export declare const actionWrapTextInContainer: {
|
|
|
357
370
|
y: number;
|
|
358
371
|
} | null;
|
|
359
372
|
objectsSnapModeEnabled: boolean;
|
|
360
|
-
userToFollow: import("../types").UserToFollow | null;
|
|
361
|
-
followedBy: Set<import("../types").SocketId>;
|
|
362
373
|
isCropping: boolean;
|
|
363
374
|
croppingElementId: ExcalidrawElement["id"] | null;
|
|
364
375
|
searchMatches: Readonly<{
|
|
@@ -370,6 +381,11 @@ export declare const actionWrapTextInContainer: {
|
|
|
370
381
|
[groupId: string]: true;
|
|
371
382
|
};
|
|
372
383
|
bindMode: import("@excalidraw/element/types").BindMode;
|
|
384
|
+
colorTopPicks: {
|
|
385
|
+
elementStroke: readonly string[] | null;
|
|
386
|
+
elementBackground: readonly string[] | null;
|
|
387
|
+
bucketFill: readonly string[] | null;
|
|
388
|
+
};
|
|
373
389
|
};
|
|
374
390
|
captureUpdate: "IMMEDIATELY";
|
|
375
391
|
};
|