@excalidraw/common 0.18.0-a9ca16e → 0.18.0-abeeaeb
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 +98 -75
- package/dist/dev/index.js.map +3 -3
- package/dist/prod/index.js +3 -3
- package/dist/types/common/src/colors.d.ts +15 -1
- package/dist/types/common/src/constants.d.ts +12 -7
- 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 -43
- package/dist/types/element/src/Scene.d.ts +6 -4
- 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 +22 -7
- 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 +5 -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 +4 -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 +9 -8
- 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 +14 -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 +6 -6
- package/dist/types/element/src/shape.d.ts +13 -1
- 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 +26 -25
- package/dist/types/element/src/types.d.ts +8 -1
- package/dist/types/element/src/utils.d.ts +1 -1
- package/dist/types/element/src/zindex.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +45 -18
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +30 -12
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +167 -940
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +30 -12
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +15 -6
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +47 -19
- package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionDeselect.d.ts} +29 -35
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +15 -6
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +31 -13
- package/dist/types/excalidraw/actions/actionExport.d.ts +35 -17
- package/dist/types/excalidraw/actions/actionFrame.d.ts +57 -202
- package/dist/types/excalidraw/actions/actionGroup.d.ts +45 -27
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +19 -8
- package/dist/types/excalidraw/actions/actionLink.d.ts +16 -7
- package/dist/types/excalidraw/actions/actionMenu.d.ts +15 -6
- package/dist/types/excalidraw/actions/actionProperties.d.ts +60 -30
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +20 -11
- package/dist/types/excalidraw/actions/actionStyles.d.ts +15 -6
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +16 -7
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +19 -11
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +16 -7
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +16 -7
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +19 -11
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +16 -7
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +17 -8
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +16 -7
- package/dist/types/excalidraw/actions/index.d.ts +2 -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/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
- package/dist/types/excalidraw/appState.d.ts +13 -6
- package/dist/types/excalidraw/components/Actions.d.ts +17 -12
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
- 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 +363 -66
- 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/colorPickerUtils.d.ts +1 -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/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
- package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
- package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
- 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/LibraryMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
- package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
- 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/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
- 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/SVGLayer.d.ts +1 -1
- package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
- 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/TTDDialog/TTDContext.d.ts +4 -4
- package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
- 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 +3 -1
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
- 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 +6 -1
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +8 -4
- package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
- package/dist/types/excalidraw/data/blob.d.ts +40 -22
- package/dist/types/excalidraw/data/index.d.ts +4 -4
- package/dist/types/excalidraw/data/json.d.ts +26 -17
- package/dist/types/excalidraw/data/library.d.ts +1 -1
- package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
- package/dist/types/excalidraw/eraser/index.d.ts +2 -3
- package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
- package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
- package/dist/types/excalidraw/lasso/index.d.ts +2 -3
- package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
- package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +1 -3
- package/dist/types/excalidraw/scene/Renderer.d.ts +426 -19
- package/dist/types/excalidraw/scene/export.d.ts +3 -3
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- 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 +415 -23
- package/dist/types/excalidraw/viewport.d.ts +275 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -3
- package/dist/types/fractional-indexing/src/index.d.ts +29 -0
- package/dist/types/laser-pointer/src/index.d.ts +2 -0
- package/dist/types/laser-pointer/src/math.d.ts +16 -0
- package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
- package/dist/types/laser-pointer/src/state.d.ts +36 -0
- package/dist/types/math/src/constants.d.ts +0 -1
- package/dist/types/math/src/curve.d.ts +4 -1
- 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/point.d.ts +1 -0
- package/dist/types/math/src/polygon.d.ts +25 -1
- package/dist/types/utils/src/export.d.ts +3 -3
- package/dist/types/utils/src/index.d.ts +1 -2
- package/package.json +1 -1
- package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
- 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/MobileToolBar.d.ts +0 -10
- package/dist/types/excalidraw/components/shapes.d.ts +0 -263
- 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/utils/src/bbox.d.ts +0 -9
- package/dist/types/utils/src/withinBounds.d.ts +0 -19
|
@@ -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;
|
|
@@ -38,6 +51,7 @@ export declare const newFreeDrawElement: (opts: {
|
|
|
38
51
|
type: "freedraw";
|
|
39
52
|
points?: ExcalidrawFreeDrawElement["points"];
|
|
40
53
|
simulatePressure: boolean;
|
|
54
|
+
strokeOptions?: ExcalidrawFreeDrawElement["strokeOptions"];
|
|
41
55
|
pressures?: ExcalidrawFreeDrawElement["pressures"];
|
|
42
56
|
} & ElementConstructorOpts) => NonDeleted<ExcalidrawFreeDrawElement>;
|
|
43
57
|
export declare const newLinearElement: (opts: {
|
|
@@ -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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AppState, InteractiveCanvasAppState } from "@excalidraw/excalidraw/types";
|
|
1
|
+
import type { AppState, BoxSelectionMode, InteractiveCanvasAppState } from "@excalidraw/excalidraw/types";
|
|
2
2
|
import { LinearElementEditor } from "./linearElementEditor";
|
|
3
3
|
import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement } from "./types";
|
|
4
4
|
/**
|
|
@@ -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
|
selectedElementIds: AppState["selectedElementIds"];
|
|
31
31
|
selectedGroupIds: AppState["selectedGroupIds"];
|
|
32
32
|
editingGroupId: AppState["editingGroupId"];
|
|
@@ -27,7 +27,7 @@ export declare class ShapeCache {
|
|
|
27
27
|
} | null) => ((T["type"] extends keyof ElementShapes ? ElementShapes[T["type"]] | undefined : ElementShape | undefined) & {}) | (T["type"] extends keyof ElementShapes ? ElementShapes[T["type"]] : Drawable | null);
|
|
28
28
|
}
|
|
29
29
|
export declare const generateRoughOptions: (element: ExcalidrawElement, continuousPath?: boolean, isDarkMode?: boolean) => Options;
|
|
30
|
-
export declare const generateLinearCollisionShape: (element: ExcalidrawLinearElement | ExcalidrawFreeDrawElement) => {
|
|
30
|
+
export declare const generateLinearCollisionShape: (element: ExcalidrawLinearElement | ExcalidrawFreeDrawElement, elementsMap: ElementsMap) => {
|
|
31
31
|
op: string;
|
|
32
32
|
data: number[];
|
|
33
33
|
}[];
|
|
@@ -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";
|
|
@@ -52,3 +52,4 @@ export declare const getLinearElementSubType: (element: ExcalidrawLinearElement)
|
|
|
52
52
|
*/
|
|
53
53
|
export declare const isValidPolygon: (points: ExcalidrawLineElement["points"]) => boolean;
|
|
54
54
|
export declare const canBecomePolygon: (points: ExcalidrawLineElement["points"]) => boolean;
|
|
55
|
+
export declare const isEligibleFrameChildType: (type: ElementOrToolType) => boolean;
|
|
@@ -164,7 +164,7 @@ export type Ordered<TElement extends ExcalidrawElement> = TElement & {
|
|
|
164
164
|
};
|
|
165
165
|
export type OrderedExcalidrawElement = Ordered<ExcalidrawElement>;
|
|
166
166
|
export type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
|
|
167
|
-
isDeleted:
|
|
167
|
+
isDeleted: false;
|
|
168
168
|
};
|
|
169
169
|
export type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
|
|
170
170
|
export type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
|
|
@@ -255,11 +255,17 @@ export type ExcalidrawElbowArrowElement = Merge<ExcalidrawArrowElement, {
|
|
|
255
255
|
*/
|
|
256
256
|
endIsSpecial: boolean | null;
|
|
257
257
|
}>;
|
|
258
|
+
export type StrokeVariability = "variable" | "constant";
|
|
259
|
+
export type StrokeOptions = Readonly<{
|
|
260
|
+
variability: StrokeVariability;
|
|
261
|
+
streamline: number;
|
|
262
|
+
}>;
|
|
258
263
|
export type ExcalidrawFreeDrawElement = _ExcalidrawElementBase & Readonly<{
|
|
259
264
|
type: "freedraw";
|
|
260
265
|
points: readonly LocalPoint[];
|
|
261
266
|
pressures: readonly number[];
|
|
262
267
|
simulatePressure: boolean;
|
|
268
|
+
strokeOptions: StrokeOptions;
|
|
263
269
|
}>;
|
|
264
270
|
export type FileId = string & {
|
|
265
271
|
_brand: "FileId";
|
|
@@ -287,6 +293,7 @@ export type SceneElementsMap = Map<ExcalidrawElement["id"], Ordered<ExcalidrawEl
|
|
|
287
293
|
*/
|
|
288
294
|
export type NonDeletedSceneElementsMap = Map<ExcalidrawElement["id"], Ordered<NonDeletedExcalidrawElement>> & MakeBrand<"NonDeletedSceneElementsMap">;
|
|
289
295
|
export type ElementsMapOrArray = readonly ExcalidrawElement[] | Readonly<ElementsMap>;
|
|
296
|
+
export type NonDeletedElementsMapOrArray = readonly NonDeletedExcalidrawElement[] | Readonly<NonDeletedElementsMap | NonDeletedSceneElementsMap>;
|
|
290
297
|
export type ExcalidrawLinearElementSubType = "line" | "sharpArrow" | "curvedArrow" | "elbowArrow";
|
|
291
298
|
export type ConvertibleGenericTypes = "rectangle" | "diamond" | "ellipse";
|
|
292
299
|
export type ConvertibleLinearTypes = ExcalidrawLinearElementSubType;
|
|
@@ -8,7 +8,7 @@ import type { ElementsMap, ExcalidrawArrowElement, ExcalidrawBindableElement, Ex
|
|
|
8
8
|
* @param element The linear element to deconstruct
|
|
9
9
|
* @returns The rotated in components.
|
|
10
10
|
*/
|
|
11
|
-
export declare function deconstructLinearOrFreeDrawElement(element: ExcalidrawLinearElement | ExcalidrawFreeDrawElement): [LineSegment<GlobalPoint>[], Curve<GlobalPoint>[]];
|
|
11
|
+
export declare function deconstructLinearOrFreeDrawElement(element: ExcalidrawLinearElement | ExcalidrawFreeDrawElement, elementsMap: ElementsMap): [LineSegment<GlobalPoint>[], Curve<GlobalPoint>[]];
|
|
12
12
|
/**
|
|
13
13
|
* Get the building components of a rectanguloid element in the form of
|
|
14
14
|
* line segments and curves **unrotated**.
|
|
@@ -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[];
|
|
@@ -26,13 +26,17 @@ export declare const actionAddToLibrary: {
|
|
|
26
26
|
multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
|
|
27
27
|
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
|
|
28
28
|
isBindingEnabled: boolean;
|
|
29
|
+
boxSelectionMode: import("../types").BoxSelectionMode;
|
|
29
30
|
bindingPreference: "enabled" | "disabled";
|
|
30
31
|
isMidpointSnappingEnabled: boolean;
|
|
31
|
-
startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
|
|
32
32
|
suggestedBinding: {
|
|
33
33
|
element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
|
|
34
34
|
midPoint?: import("@excalidraw/math").GlobalPoint;
|
|
35
35
|
} | null;
|
|
36
|
+
hoveredArrowTextAnchor: {
|
|
37
|
+
elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
|
|
38
|
+
anchor: "start" | "end" | "label";
|
|
39
|
+
} | null;
|
|
36
40
|
frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
|
|
37
41
|
frameRendering: {
|
|
38
42
|
enabled: boolean;
|
|
@@ -40,8 +44,8 @@ export declare const actionAddToLibrary: {
|
|
|
40
44
|
outline: boolean;
|
|
41
45
|
clip: boolean;
|
|
42
46
|
};
|
|
43
|
-
editingFrame:
|
|
44
|
-
elementsToHighlight: import("@excalidraw/element/types").
|
|
47
|
+
editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
|
|
48
|
+
elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
|
|
45
49
|
editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
|
|
46
50
|
activeTool: {
|
|
47
51
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
@@ -61,9 +65,10 @@ export declare const actionAddToLibrary: {
|
|
|
61
65
|
currentItemStrokeColor: string;
|
|
62
66
|
currentItemBackgroundColor: string;
|
|
63
67
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
64
|
-
|
|
68
|
+
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
65
69
|
currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
|
|
66
70
|
currentItemRoughness: number;
|
|
71
|
+
currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
|
|
67
72
|
currentItemOpacity: number;
|
|
68
73
|
currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
|
|
69
74
|
currentItemFontSize: number;
|
|
@@ -76,6 +81,7 @@ export declare const actionAddToLibrary: {
|
|
|
76
81
|
viewBackgroundColor: string;
|
|
77
82
|
scrollX: number;
|
|
78
83
|
scrollY: number;
|
|
84
|
+
scrollConstraints: import("../types").ScrollConstraints | null;
|
|
79
85
|
cursorButton: "up" | "down";
|
|
80
86
|
scrolledOutside: boolean;
|
|
81
87
|
name: string | null;
|
|
@@ -146,8 +152,6 @@ export declare const actionAddToLibrary: {
|
|
|
146
152
|
y: number;
|
|
147
153
|
} | null;
|
|
148
154
|
objectsSnapModeEnabled: boolean;
|
|
149
|
-
userToFollow: import("../types").UserToFollow | null;
|
|
150
|
-
followedBy: Set<import("../types").SocketId>;
|
|
151
155
|
isCropping: boolean;
|
|
152
156
|
croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
|
|
153
157
|
searchMatches: Readonly<{
|
|
@@ -159,6 +163,11 @@ export declare const actionAddToLibrary: {
|
|
|
159
163
|
[groupId: string]: true;
|
|
160
164
|
};
|
|
161
165
|
bindMode: import("@excalidraw/element/types").BindMode;
|
|
166
|
+
colorTopPicks: {
|
|
167
|
+
elementStroke: readonly string[] | null;
|
|
168
|
+
elementBackground: readonly string[] | null;
|
|
169
|
+
bucketFill: readonly string[] | null;
|
|
170
|
+
};
|
|
162
171
|
};
|
|
163
172
|
} | {
|
|
164
173
|
captureUpdate: "EVENTUALLY";
|
|
@@ -180,13 +189,17 @@ export declare const actionAddToLibrary: {
|
|
|
180
189
|
multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
|
|
181
190
|
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
|
|
182
191
|
isBindingEnabled: boolean;
|
|
192
|
+
boxSelectionMode: import("../types").BoxSelectionMode;
|
|
183
193
|
bindingPreference: "enabled" | "disabled";
|
|
184
194
|
isMidpointSnappingEnabled: boolean;
|
|
185
|
-
startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
|
|
186
195
|
suggestedBinding: {
|
|
187
196
|
element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
|
|
188
197
|
midPoint?: import("@excalidraw/math").GlobalPoint;
|
|
189
198
|
} | null;
|
|
199
|
+
hoveredArrowTextAnchor: {
|
|
200
|
+
elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
|
|
201
|
+
anchor: "start" | "end" | "label";
|
|
202
|
+
} | null;
|
|
190
203
|
frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
|
|
191
204
|
frameRendering: {
|
|
192
205
|
enabled: boolean;
|
|
@@ -194,8 +207,8 @@ export declare const actionAddToLibrary: {
|
|
|
194
207
|
outline: boolean;
|
|
195
208
|
clip: boolean;
|
|
196
209
|
};
|
|
197
|
-
editingFrame:
|
|
198
|
-
elementsToHighlight: import("@excalidraw/element/types").
|
|
210
|
+
editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
|
|
211
|
+
elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
|
|
199
212
|
editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
|
|
200
213
|
activeTool: {
|
|
201
214
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
@@ -215,9 +228,10 @@ export declare const actionAddToLibrary: {
|
|
|
215
228
|
currentItemStrokeColor: string;
|
|
216
229
|
currentItemBackgroundColor: string;
|
|
217
230
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
218
|
-
|
|
231
|
+
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
219
232
|
currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
|
|
220
233
|
currentItemRoughness: number;
|
|
234
|
+
currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
|
|
221
235
|
currentItemOpacity: number;
|
|
222
236
|
currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
|
|
223
237
|
currentItemFontSize: number;
|
|
@@ -230,6 +244,7 @@ export declare const actionAddToLibrary: {
|
|
|
230
244
|
viewBackgroundColor: string;
|
|
231
245
|
scrollX: number;
|
|
232
246
|
scrollY: number;
|
|
247
|
+
scrollConstraints: import("../types").ScrollConstraints | null;
|
|
233
248
|
cursorButton: "up" | "down";
|
|
234
249
|
scrolledOutside: boolean;
|
|
235
250
|
name: string | null;
|
|
@@ -305,8 +320,6 @@ export declare const actionAddToLibrary: {
|
|
|
305
320
|
y: number;
|
|
306
321
|
} | null;
|
|
307
322
|
objectsSnapModeEnabled: boolean;
|
|
308
|
-
userToFollow: import("../types").UserToFollow | null;
|
|
309
|
-
followedBy: Set<import("../types").SocketId>;
|
|
310
323
|
isCropping: boolean;
|
|
311
324
|
croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
|
|
312
325
|
searchMatches: Readonly<{
|
|
@@ -318,6 +331,11 @@ export declare const actionAddToLibrary: {
|
|
|
318
331
|
[groupId: string]: true;
|
|
319
332
|
};
|
|
320
333
|
bindMode: import("@excalidraw/element/types").BindMode;
|
|
334
|
+
colorTopPicks: {
|
|
335
|
+
elementStroke: readonly string[] | null;
|
|
336
|
+
elementBackground: readonly string[] | null;
|
|
337
|
+
bucketFill: readonly string[] | null;
|
|
338
|
+
};
|
|
321
339
|
};
|
|
322
340
|
}> | {
|
|
323
341
|
captureUpdate: "EVENTUALLY";
|
|
@@ -339,13 +357,17 @@ export declare const actionAddToLibrary: {
|
|
|
339
357
|
multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
|
|
340
358
|
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
|
|
341
359
|
isBindingEnabled: boolean;
|
|
360
|
+
boxSelectionMode: import("../types").BoxSelectionMode;
|
|
342
361
|
bindingPreference: "enabled" | "disabled";
|
|
343
362
|
isMidpointSnappingEnabled: boolean;
|
|
344
|
-
startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
|
|
345
363
|
suggestedBinding: {
|
|
346
364
|
element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
|
|
347
365
|
midPoint?: import("@excalidraw/math").GlobalPoint;
|
|
348
366
|
} | null;
|
|
367
|
+
hoveredArrowTextAnchor: {
|
|
368
|
+
elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
|
|
369
|
+
anchor: "start" | "end" | "label";
|
|
370
|
+
} | null;
|
|
349
371
|
frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
|
|
350
372
|
frameRendering: {
|
|
351
373
|
enabled: boolean;
|
|
@@ -353,8 +375,8 @@ export declare const actionAddToLibrary: {
|
|
|
353
375
|
outline: boolean;
|
|
354
376
|
clip: boolean;
|
|
355
377
|
};
|
|
356
|
-
editingFrame:
|
|
357
|
-
elementsToHighlight: import("@excalidraw/element/types").
|
|
378
|
+
editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
|
|
379
|
+
elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
|
|
358
380
|
editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
|
|
359
381
|
activeTool: {
|
|
360
382
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
@@ -374,9 +396,10 @@ export declare const actionAddToLibrary: {
|
|
|
374
396
|
currentItemStrokeColor: string;
|
|
375
397
|
currentItemBackgroundColor: string;
|
|
376
398
|
currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
|
|
377
|
-
|
|
399
|
+
currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
|
|
378
400
|
currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
|
|
379
401
|
currentItemRoughness: number;
|
|
402
|
+
currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
|
|
380
403
|
currentItemOpacity: number;
|
|
381
404
|
currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
|
|
382
405
|
currentItemFontSize: number;
|
|
@@ -389,6 +412,7 @@ export declare const actionAddToLibrary: {
|
|
|
389
412
|
viewBackgroundColor: string;
|
|
390
413
|
scrollX: number;
|
|
391
414
|
scrollY: number;
|
|
415
|
+
scrollConstraints: import("../types").ScrollConstraints | null;
|
|
392
416
|
cursorButton: "up" | "down";
|
|
393
417
|
scrolledOutside: boolean;
|
|
394
418
|
name: string | null;
|
|
@@ -464,8 +488,6 @@ export declare const actionAddToLibrary: {
|
|
|
464
488
|
y: number;
|
|
465
489
|
} | null;
|
|
466
490
|
objectsSnapModeEnabled: boolean;
|
|
467
|
-
userToFollow: import("../types").UserToFollow | null;
|
|
468
|
-
followedBy: Set<import("../types").SocketId>;
|
|
469
491
|
isCropping: boolean;
|
|
470
492
|
croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
|
|
471
493
|
searchMatches: Readonly<{
|
|
@@ -477,6 +499,11 @@ export declare const actionAddToLibrary: {
|
|
|
477
499
|
[groupId: string]: true;
|
|
478
500
|
};
|
|
479
501
|
bindMode: import("@excalidraw/element/types").BindMode;
|
|
502
|
+
colorTopPicks: {
|
|
503
|
+
elementStroke: readonly string[] | null;
|
|
504
|
+
elementBackground: readonly string[] | null;
|
|
505
|
+
bucketFill: readonly string[] | null;
|
|
506
|
+
};
|
|
480
507
|
};
|
|
481
508
|
};
|
|
482
509
|
label: string;
|
|
@@ -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: KeyboardEvent | import("react").KeyboardEvent<Element>) => 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: KeyboardEvent | import("react").KeyboardEvent<Element>) => 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: KeyboardEvent | import("react").KeyboardEvent<Element>) => 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: KeyboardEvent | import("react").KeyboardEvent<Element>) => 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;
|