@zsviczian/excalidraw 0.14.2-obsidian-3 → 0.14.2-obsidian-4
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/.DS_Store +0 -0
- package/dist/excalidraw.development.js +184 -184
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/actions/actionAddToLibrary.d.ts +372 -369
- package/types/actions/actionAlign.d.ts +91 -91
- package/types/actions/actionBoundText.d.ts +284 -164
- package/types/actions/actionCanvas.d.ts +1315 -1305
- package/types/actions/actionClipboard.d.ts +717 -712
- package/types/actions/actionDeleteSelected.d.ts +409 -406
- package/types/actions/actionDistribute.d.ts +33 -33
- package/types/actions/actionDuplicateSelection.d.ts +22 -22
- package/types/actions/actionExport.d.ts +1181 -1172
- package/types/actions/actionFinalize.d.ts +256 -254
- package/types/actions/actionFlip.d.ts +35 -35
- package/types/actions/actionGroup.d.ts +45 -45
- package/types/actions/actionHistory.d.ts +6 -6
- package/types/actions/actionLinearEditor.d.ts +135 -134
- package/types/actions/actionMenu.d.ts +410 -407
- package/types/actions/actionNavigate.d.ts +14 -14
- package/types/actions/actionProperties.d.ts +1714 -1701
- package/types/actions/actionSelectAll.d.ts +16 -16
- package/types/actions/actionStyles.d.ts +149 -148
- package/types/actions/actionToggleGridMode.d.ts +138 -137
- package/types/actions/actionToggleLock.d.ts +135 -134
- package/types/actions/actionToggleStats.d.ts +135 -134
- package/types/actions/actionToggleViewMode.d.ts +137 -136
- package/types/actions/actionToggleZenMode.d.ts +137 -136
- package/types/actions/actionZindex.d.ts +67 -67
- package/types/actions/index.d.ts +24 -24
- package/types/actions/manager.d.ts +21 -21
- package/types/actions/register.d.ts +5 -5
- package/types/actions/shortcuts.d.ts +4 -4
- package/types/actions/types.d.ts +44 -44
- package/types/align.d.ts +6 -6
- package/types/analytics.d.ts +1 -1
- package/types/appState.d.ts +78 -78
- package/types/charts.d.ts +27 -27
- package/types/clients.d.ts +6 -6
- package/types/clipboard.d.ts +25 -25
- package/types/colors.d.ts +6 -6
- package/types/components/Actions.d.ts +36 -36
- package/types/components/ActiveConfirmDialog.d.ts +24 -24
- package/types/components/App.d.ts +248 -248
- package/types/components/Avatar.d.ts +11 -11
- package/types/components/BraveMeasureTextError.d.ts +2 -2
- package/types/components/Button.d.ts +15 -15
- package/types/components/ButtonIconSelect.d.ts +11 -11
- package/types/components/Card.d.ts +7 -7
- package/types/components/CheckboxItem.d.ts +8 -8
- package/types/components/ColorPicker.d.ts +19 -19
- package/types/components/ConfirmDialog.d.ts +10 -10
- package/types/components/ContextMenu.d.ts +15 -15
- package/types/components/DarkModeToggle.d.ts +7 -7
- package/types/components/Dialog.d.ts +14 -14
- package/types/components/DialogActionButton.d.ts +10 -10
- package/types/components/ErrorDialog.d.ts +5 -5
- package/types/components/FixedSideContainer.d.ts +9 -9
- package/types/components/HandButton.d.ts +10 -10
- package/types/components/HelpButton.d.ts +7 -7
- package/types/components/HelpDialog.d.ts +4 -4
- package/types/components/HintViewer.d.ts +11 -11
- package/types/components/IconPicker.d.ts +13 -13
- package/types/components/ImageExportDialog.d.ts +18 -18
- package/types/components/InitializeApp.d.ts +10 -10
- package/types/components/Island.d.ts +10 -10
- package/types/components/JSONExportDialog.d.ts +15 -15
- package/types/components/LayerUI.d.ts +37 -37
- package/types/components/LibraryButton.d.ts +8 -8
- package/types/components/LibraryMenu.d.ts +25 -25
- package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
- package/types/components/LibraryMenuHeaderContent.d.ts +35 -35
- package/types/components/LibraryMenuItems.d.ts +15 -15
- package/types/components/LibraryUnit.d.ts +11 -11
- package/types/components/LoadingMessage.d.ts +6 -6
- package/types/components/LockButton.d.ts +10 -10
- package/types/components/MobileMenu.d.ts +26 -26
- package/types/components/Modal.d.ts +13 -12
- package/types/components/PasteChartDialog.d.ts +9 -9
- package/types/components/PenModeButton.d.ts +12 -12
- package/types/components/Popover.d.ts +15 -15
- package/types/components/ProjectName.d.ts +10 -10
- package/types/components/PublishLibrary.d.ts +16 -16
- package/types/components/Section.d.ts +6 -6
- package/types/components/Sidebar/Sidebar.d.ts +73 -73
- package/types/components/Sidebar/SidebarHeader.d.ts +20 -20
- package/types/components/Sidebar/common.d.ts +16 -16
- package/types/components/SingleLibraryItem.d.ts +10 -10
- package/types/components/Spinner.d.ts +6 -6
- package/types/components/Stack.d.ts +15 -15
- package/types/components/Stats.d.ts +11 -11
- package/types/components/Toast.d.ts +7 -7
- package/types/components/ToolButton.d.ts +46 -46
- package/types/components/Tooltip.d.ts +17 -17
- package/types/components/UserList.d.ts +8 -8
- package/types/components/context/tunnels.d.ts +16 -16
- package/types/components/dropdownMenu/DropdownMenu.d.ts +66 -66
- package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
- package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
- package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
- package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
- package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
- package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
- package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
- package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +9 -9
- package/types/components/dropdownMenu/common.d.ts +6 -6
- package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
- package/types/components/footer/Footer.d.ts +12 -12
- package/types/components/footer/FooterCenter.d.ts +8 -8
- package/types/components/hoc/withInternalFallback.d.ts +4 -4
- package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
- package/types/components/icons.d.ts +142 -142
- package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
- package/types/components/main-menu/DefaultItems.d.ts +44 -44
- package/types/components/main-menu/MainMenu.d.ts +60 -60
- package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
- package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
- package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -85
- package/types/constants.d.ts +170 -170
- package/types/data/blob.d.ts +48 -48
- package/types/data/encode.d.ts +53 -53
- package/types/data/encryption.d.ts +9 -9
- package/types/data/filesystem.d.ts +18 -18
- package/types/data/image.d.ts +15 -15
- package/types/data/index.d.ts +13 -13
- package/types/data/json.d.ts +16 -16
- package/types/data/library.d.ts +96 -96
- package/types/data/resave.d.ts +5 -5
- package/types/data/restore.d.ts +21 -21
- package/types/data/types.d.ts +47 -47
- package/types/distribute.d.ts +6 -6
- package/types/element/Hyperlink.d.ts +155 -154
- package/types/element/binding.d.ts +33 -33
- package/types/element/bounds.d.ts +28 -28
- package/types/element/collision.d.ts +21 -21
- package/types/element/dragElements.d.ts +5 -5
- package/types/element/image.d.ts +22 -22
- package/types/element/index.d.ts +20 -20
- package/types/element/linearElementEditor.d.ts +273 -272
- package/types/element/mutateElement.d.ts +12 -12
- package/types/element/newElement.d.ts +65 -65
- package/types/element/resizeElements.d.ts +8 -8
- package/types/element/resizeTest.d.ts +13 -13
- package/types/element/showSelectedShapeActions.d.ts +3 -3
- package/types/element/sizeHelpers.d.ts +21 -21
- package/types/element/sortElements.d.ts +2 -2
- package/types/element/textElement.d.ts +73 -73
- package/types/element/textWysiwyg.d.ts +21 -21
- package/types/element/transformHandles.d.ts +28 -28
- package/types/element/typeChecks.d.ts +27 -27
- package/types/element/types.d.ts +149 -149
- package/types/errors.d.ts +8 -8
- package/types/ga.d.ts +63 -63
- package/types/gadirections.d.ts +8 -8
- package/types/galines.d.ts +22 -22
- package/types/gapoints.d.ts +7 -7
- package/types/gatransforms.d.ts +10 -10
- package/types/gesture.d.ts +6 -6
- package/types/groups.d.ts +27 -27
- package/types/history.d.ts +52 -52
- package/types/hooks/useCallbackRefState.d.ts +1 -1
- package/types/hooks/useOutsideClick.d.ts +2 -2
- package/types/i18n.d.ts +21 -21
- package/types/jotai.d.ts +122 -122
- package/types/keys.d.ts +77 -77
- package/types/math.d.ts +29 -29
- package/types/packages/common.webpack.dev.config.d.ts +72 -71
- package/types/packages/common.webpack.prod.config.d.ts +84 -83
- package/types/packages/excalidraw/dist/excalidraw.development.d.ts +4 -4
- package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
- package/types/packages/excalidraw/entry.d.ts +1 -1
- package/types/packages/excalidraw/env.d.ts +1 -1
- package/types/packages/excalidraw/example/App.d.ts +14 -14
- package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
- package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
- package/types/packages/excalidraw/example/index.d.ts +1 -1
- package/types/packages/excalidraw/example/initialData.d.ts +172 -172
- package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
- package/types/packages/excalidraw/index.d.ts +35 -35
- package/types/packages/excalidraw/main.d.ts +2 -2
- package/types/packages/excalidraw/publicPath.d.ts +1 -1
- package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
- package/types/packages/excalidraw/webpack.dev.config.d.ts +69 -68
- package/types/packages/excalidraw/webpack.prod.config.d.ts +78 -77
- package/types/packages/utils.d.ts +42 -42
- package/types/points.d.ts +7 -7
- package/types/polyfill.d.ts +2 -2
- package/types/random.d.ts +4 -4
- package/types/renderer/easingFunctions.d.ts +6 -6
- package/types/renderer/renderElement.d.ts +35 -35
- package/types/renderer/renderScene.d.ts +41 -41
- package/types/renderer/roundRect.d.ts +11 -11
- package/types/scene/Fonts.d.ts +21 -21
- package/types/scene/Scene.d.ts +40 -40
- package/types/scene/comparisons.d.ts +10 -10
- package/types/scene/export.d.ts +20 -20
- package/types/scene/index.d.ts +5 -5
- package/types/scene/scroll.d.ts +17 -17
- package/types/scene/scrollbars.d.ts +16 -16
- package/types/scene/selection.d.ts +11 -11
- package/types/scene/types.d.ts +59 -59
- package/types/scene/zoom.d.ts +13 -13
- package/types/shapes.d.ts +62 -62
- package/types/types.d.ts +442 -441
- package/types/utility-types.d.ts +22 -22
- package/types/utils.d.ts +162 -163
- package/types/zindex.d.ts +6 -6
- package/types/bug-issue-template.d.ts +0 -2
- package/types/components/ActiveFile.d.ts +0 -7
- package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -4
- package/types/components/ClearCanvas.d.ts +0 -4
- package/types/components/CollabButton.d.ts +0 -7
- package/types/components/EncryptedIcon.d.ts +0 -2
- package/types/components/Footer.d.ts +0 -10
- package/types/components/HelpIcon.d.ts +0 -8
- package/types/components/MenuItem.d.ts +0 -11
- package/types/components/MenuUtils.d.ts +0 -2
- package/types/components/SidebarLockButton.d.ts +0 -8
- package/types/components/TopErrorBoundary.d.ts +0 -15
- package/types/components/WelcomeScreen.d.ts +0 -8
- package/types/components/WelcomeScreenDecor.d.ts +0 -6
- package/types/components/mainMenu/DefaultItems.d.ts +0 -44
- package/types/components/mainMenu/MainMenu.d.ts +0 -63
- package/types/excalidraw-app/CustomStats.d.ts +0 -9
- package/types/excalidraw-app/app_constants.d.ts +0 -32
- package/types/excalidraw-app/collab/Collab.d.ts +0 -163
- package/types/excalidraw-app/collab/Portal.d.ts +0 -28
- package/types/excalidraw-app/collab/RoomDialog.d.ts +0 -13
- package/types/excalidraw-app/collab/reconciliation.d.ts +0 -10
- package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +0 -9
- package/types/excalidraw-app/components/LanguageList.d.ts +0 -4
- package/types/excalidraw-app/components/icons.d.ts +0 -1
- package/types/excalidraw-app/data/FileManager.d.ts +0 -66
- package/types/excalidraw-app/data/LocalData.d.ts +0 -32
- package/types/excalidraw-app/data/Locker.d.ts +0 -8
- package/types/excalidraw-app/data/firebase.d.ts +0 -25
- package/types/excalidraw-app/data/index.d.ts +0 -190
- package/types/excalidraw-app/data/localStorage.d.ts +0 -116
- package/types/excalidraw-app/data/tabSync.d.ts +0 -9
- package/types/excalidraw-app/index.d.ts +0 -26
- package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +0 -5
|
@@ -1,272 +1,273 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, ExcalidrawBindableElement, ExcalidrawTextElementWithContainer } from "./types";
|
|
3
|
-
import { Point, AppState, PointerCoords } from "../types";
|
|
4
|
-
import History from "../history";
|
|
5
|
-
import Scene from "../scene/Scene";
|
|
6
|
-
declare const editorMidPointsCache: {
|
|
7
|
-
version: number | null;
|
|
8
|
-
points: (Point | null)[];
|
|
9
|
-
zoom: number | null;
|
|
10
|
-
};
|
|
11
|
-
export declare class LinearElementEditor {
|
|
12
|
-
readonly elementId: ExcalidrawElement["id"] & {
|
|
13
|
-
_brand: "excalidrawLinearElementId";
|
|
14
|
-
};
|
|
15
|
-
/** indices */
|
|
16
|
-
readonly selectedPointsIndices: readonly number[] | null;
|
|
17
|
-
readonly pointerDownState: Readonly<{
|
|
18
|
-
prevSelectedPointsIndices: readonly number[] | null;
|
|
19
|
-
/** index */
|
|
20
|
-
lastClickedPoint: number;
|
|
21
|
-
origin: Readonly<{
|
|
22
|
-
x: number;
|
|
23
|
-
y: number;
|
|
24
|
-
}> | null;
|
|
25
|
-
segmentMidpoint: {
|
|
26
|
-
value: Point | null;
|
|
27
|
-
index: number | null;
|
|
28
|
-
added: boolean;
|
|
29
|
-
};
|
|
30
|
-
}>;
|
|
31
|
-
/** whether you're dragging a point */
|
|
32
|
-
readonly isDragging: boolean;
|
|
33
|
-
readonly lastUncommittedPoint: Point | null;
|
|
34
|
-
readonly pointerOffset: Readonly<{
|
|
35
|
-
x: number;
|
|
36
|
-
y: number;
|
|
37
|
-
}>;
|
|
38
|
-
readonly startBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
39
|
-
readonly endBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
40
|
-
readonly hoverPointIndex: number;
|
|
41
|
-
readonly segmentMidPointHoveredCoords: Point | null;
|
|
42
|
-
constructor(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene);
|
|
43
|
-
static POINT_HANDLE_SIZE: number;
|
|
44
|
-
/**
|
|
45
|
-
* @param id the `elementId` from the instance of this class (so that we can
|
|
46
|
-
* statically guarantee this method returns an ExcalidrawLinearElement)
|
|
47
|
-
*/
|
|
48
|
-
static getElement(id: InstanceType<typeof LinearElementEditor>["elementId"]): NonDeleted<ExcalidrawLinearElement> | null;
|
|
49
|
-
static handleBoxSelection(event: PointerEvent, appState: AppState, setState: React.Component<any, AppState>["setState"]): false | undefined;
|
|
50
|
-
/** @returns whether point was dragged */
|
|
51
|
-
static handlePointDragging(event: PointerEvent, appState: AppState, scenePointerX: number, scenePointerY: number, maybeSuggestBinding: (element: NonDeleted<ExcalidrawLinearElement>, pointSceneCoords: {
|
|
52
|
-
x: number;
|
|
53
|
-
y: number;
|
|
54
|
-
}[]) => void, linearElementEditor: LinearElementEditor): boolean;
|
|
55
|
-
static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState): LinearElementEditor;
|
|
56
|
-
static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => (typeof editorMidPointsCache)["points"];
|
|
57
|
-
static updateEditorMidPointsCache: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => void;
|
|
58
|
-
static getSegmentMidpointHitCoords: (linearElementEditor: LinearElementEditor, scenePointer: {
|
|
59
|
-
x: number;
|
|
60
|
-
y: number;
|
|
61
|
-
}, appState: AppState) => readonly [number, number] | null;
|
|
62
|
-
static isSegmentTooShort(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, zoom: AppState["zoom"]): boolean;
|
|
63
|
-
static getSegmentMidPoint(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, endPointIndex: number): readonly [number, number];
|
|
64
|
-
static getSegmentMidPointIndex(linearElementEditor: LinearElementEditor, appState: AppState, midPoint: Point): number;
|
|
65
|
-
static handlePointerDown(event: React.PointerEvent<HTMLCanvasElement>, appState: AppState, history: History, scenePointer: {
|
|
66
|
-
x: number;
|
|
67
|
-
y: number;
|
|
68
|
-
}, linearElementEditor: LinearElementEditor): {
|
|
69
|
-
didAddPoint: boolean;
|
|
70
|
-
hitElement: NonDeleted<ExcalidrawElement> | null;
|
|
71
|
-
linearElementEditor: LinearElementEditor | null;
|
|
72
|
-
};
|
|
73
|
-
static arePointsEqual(point1: Point | null, point2: Point | null): boolean;
|
|
74
|
-
static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, appState: AppState): LinearElementEditor | null;
|
|
75
|
-
/** scene coords */
|
|
76
|
-
static getPointGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, point: Point): readonly [number, number];
|
|
77
|
-
/** scene coords */
|
|
78
|
-
static getPointsGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>): Point[];
|
|
79
|
-
static getPointAtIndexGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, indexMaybeFromEnd: number): Point;
|
|
80
|
-
static pointFromAbsoluteCoords(element: NonDeleted<ExcalidrawLinearElement>, absoluteCoords: Point): Point;
|
|
81
|
-
static getPointIndexUnderCursor(element: NonDeleted<ExcalidrawLinearElement>, zoom: AppState["zoom"], x: number, y: number): number;
|
|
82
|
-
static createPointAt(element: NonDeleted<ExcalidrawLinearElement>, scenePointerX: number, scenePointerY: number, gridSize: number | null): Point;
|
|
83
|
-
/**
|
|
84
|
-
* Normalizes line points so that the start point is at [0,0]. This is
|
|
85
|
-
* expected in various parts of the codebase. Also returns new x/y to account
|
|
86
|
-
* for the potential normalization.
|
|
87
|
-
*/
|
|
88
|
-
static getNormalizedPoints(element: ExcalidrawLinearElement): {
|
|
89
|
-
points: (readonly [number, number])[];
|
|
90
|
-
x: number;
|
|
91
|
-
y: number;
|
|
92
|
-
};
|
|
93
|
-
static normalizePoints(element: NonDeleted<ExcalidrawLinearElement>): void;
|
|
94
|
-
static duplicateSelectedPoints(appState: AppState): false | {
|
|
95
|
-
appState: {
|
|
96
|
-
editingLinearElement: {
|
|
97
|
-
selectedPointsIndices: number[];
|
|
98
|
-
elementId: string & {
|
|
99
|
-
_brand: "excalidrawLinearElementId";
|
|
100
|
-
};
|
|
101
|
-
pointerDownState: Readonly<{
|
|
102
|
-
prevSelectedPointsIndices: readonly number[] | null;
|
|
103
|
-
/** index */
|
|
104
|
-
lastClickedPoint: number;
|
|
105
|
-
origin: Readonly<{
|
|
106
|
-
x: number;
|
|
107
|
-
y: number;
|
|
108
|
-
}> | null;
|
|
109
|
-
segmentMidpoint: {
|
|
110
|
-
value: readonly [number, number] | null;
|
|
111
|
-
index: number | null;
|
|
112
|
-
added: boolean;
|
|
113
|
-
};
|
|
114
|
-
}>;
|
|
115
|
-
isDragging: boolean;
|
|
116
|
-
lastUncommittedPoint: readonly [number, number] | null;
|
|
117
|
-
pointerOffset: Readonly<{
|
|
118
|
-
x: number;
|
|
119
|
-
y: number;
|
|
120
|
-
}>;
|
|
121
|
-
startBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
122
|
-
endBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
123
|
-
hoverPointIndex: number;
|
|
124
|
-
segmentMidPointHoveredCoords: readonly [number, number] | null;
|
|
125
|
-
};
|
|
126
|
-
contextMenu: {
|
|
127
|
-
items: import("../components/ContextMenu").ContextMenuItems;
|
|
128
|
-
top: number;
|
|
129
|
-
left: number;
|
|
130
|
-
} | null;
|
|
131
|
-
showWelcomeScreen: boolean;
|
|
132
|
-
isLoading: boolean;
|
|
133
|
-
errorMessage: import("react").ReactNode;
|
|
134
|
-
draggingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
135
|
-
resizingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
136
|
-
multiElement: NonDeleted<ExcalidrawLinearElement> | null;
|
|
137
|
-
selectionElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
138
|
-
isBindingEnabled: boolean;
|
|
139
|
-
startBoundElement: NonDeleted<ExcalidrawBindableElement> | null;
|
|
140
|
-
suggestedBindings: import("./binding").SuggestedBinding[];
|
|
141
|
-
editingElement: import("./types").NonDeletedExcalidrawElement | null; /**
|
|
142
|
-
* @param id the `elementId` from the instance of this class (so that we can
|
|
143
|
-
* statically guarantee this method returns an ExcalidrawLinearElement)
|
|
144
|
-
*/
|
|
145
|
-
activeTool: {
|
|
146
|
-
lastActiveTool: import("../types").LastActiveTool;
|
|
147
|
-
locked: boolean;
|
|
148
|
-
} & ({
|
|
149
|
-
type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
|
|
150
|
-
customType: null;
|
|
151
|
-
} | {
|
|
152
|
-
type: "custom";
|
|
153
|
-
customType: string;
|
|
154
|
-
});
|
|
155
|
-
penMode: boolean;
|
|
156
|
-
penDetected: boolean;
|
|
157
|
-
exportBackground: boolean;
|
|
158
|
-
exportEmbedScene: boolean;
|
|
159
|
-
exportWithDarkMode: boolean;
|
|
160
|
-
exportScale: number;
|
|
161
|
-
currentItemStrokeColor: string;
|
|
162
|
-
currentItemBackgroundColor: string;
|
|
163
|
-
currentItemFillStyle: import("./types").FillStyle;
|
|
164
|
-
currentItemStrokeWidth: number;
|
|
165
|
-
currentItemStrokeStyle: import("./types").StrokeStyle;
|
|
166
|
-
currentItemRoughness: number;
|
|
167
|
-
currentItemOpacity: number;
|
|
168
|
-
currentItemFontFamily: number;
|
|
169
|
-
currentItemFontSize: number;
|
|
170
|
-
currentItemTextAlign: string;
|
|
171
|
-
currentItemStartArrowhead: import("./types").Arrowhead | null;
|
|
172
|
-
currentItemEndArrowhead: import("./types").Arrowhead | null;
|
|
173
|
-
currentItemRoundness: import("./types").StrokeRoundness;
|
|
174
|
-
viewBackgroundColor: string;
|
|
175
|
-
scrollX: number;
|
|
176
|
-
scrollY: number;
|
|
177
|
-
cursorButton: "up" | "down";
|
|
178
|
-
scrolledOutside: boolean;
|
|
179
|
-
name: string;
|
|
180
|
-
isResizing: boolean;
|
|
181
|
-
isRotating: boolean;
|
|
182
|
-
zoom: Readonly<{
|
|
183
|
-
value: import("../types").NormalizedZoomValue;
|
|
184
|
-
}>;
|
|
185
|
-
openMenu: "canvas" | "shape" | null;
|
|
186
|
-
openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
|
|
187
|
-
openSidebar: "library" | "customSidebar" | null;
|
|
188
|
-
openDialog: "imageExport" | "help" | "jsonExport" | null;
|
|
189
|
-
isSidebarDocked: boolean;
|
|
190
|
-
lastPointerDownWith: import("./types").PointerType;
|
|
191
|
-
selectedElementIds: {
|
|
192
|
-
[id: string]: boolean;
|
|
193
|
-
};
|
|
194
|
-
previousSelectedElementIds: {
|
|
195
|
-
[id: string]: boolean;
|
|
196
|
-
};
|
|
197
|
-
shouldCacheIgnoreZoom: boolean;
|
|
198
|
-
toast: {
|
|
199
|
-
message: string;
|
|
200
|
-
closable?: boolean | undefined;
|
|
201
|
-
duration?: number | undefined;
|
|
202
|
-
} | null;
|
|
203
|
-
zenModeEnabled: boolean;
|
|
204
|
-
theme: string;
|
|
205
|
-
gridSize: number | null;
|
|
206
|
-
previousGridSize: number | null;
|
|
207
|
-
viewModeEnabled: boolean;
|
|
208
|
-
selectedGroupIds: {
|
|
209
|
-
[groupId: string]: boolean;
|
|
210
|
-
};
|
|
211
|
-
editingGroupId: string | null;
|
|
212
|
-
width: number;
|
|
213
|
-
height: number;
|
|
214
|
-
offsetTop: number;
|
|
215
|
-
offsetLeft: number;
|
|
216
|
-
fileHandle: import("browser-fs-access").FileSystemHandle | null;
|
|
217
|
-
collaborators: Map<string, import("../types").Collaborator>;
|
|
218
|
-
showStats: boolean;
|
|
219
|
-
currentChartType: import("./types").ChartType;
|
|
220
|
-
pasteDialog: {
|
|
221
|
-
shown: false;
|
|
222
|
-
data: null;
|
|
223
|
-
} | {
|
|
224
|
-
shown: true;
|
|
225
|
-
data: import("../charts").Spreadsheet;
|
|
226
|
-
};
|
|
227
|
-
pendingImageElementId: string | null;
|
|
228
|
-
showHyperlinkPopup: false | "info" | "editor";
|
|
229
|
-
linkOpacity: number;
|
|
230
|
-
trayModeEnabled: boolean;
|
|
231
|
-
colorPalette: {
|
|
232
|
-
canvasBackground?: string[] | undefined;
|
|
233
|
-
elementBackground?: string[] | undefined;
|
|
234
|
-
elementStroke?: string[] | undefined;
|
|
235
|
-
};
|
|
236
|
-
allowWheelZoom?: boolean | undefined;
|
|
237
|
-
allowPinchZoom?: boolean | undefined;
|
|
238
|
-
pinnedScripts?: string[] | undefined;
|
|
239
|
-
customPens?: any[] | undefined;
|
|
240
|
-
currentStrokeOptions?: any;
|
|
241
|
-
resetCustomPen?: any;
|
|
242
|
-
gridColor: string;
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
static
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
static
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
private static
|
|
265
|
-
static
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
static
|
|
271
|
-
|
|
272
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, ExcalidrawBindableElement, ExcalidrawTextElementWithContainer } from "./types";
|
|
3
|
+
import { Point, AppState, PointerCoords } from "../types";
|
|
4
|
+
import History from "../history";
|
|
5
|
+
import Scene from "../scene/Scene";
|
|
6
|
+
declare const editorMidPointsCache: {
|
|
7
|
+
version: number | null;
|
|
8
|
+
points: (Point | null)[];
|
|
9
|
+
zoom: number | null;
|
|
10
|
+
};
|
|
11
|
+
export declare class LinearElementEditor {
|
|
12
|
+
readonly elementId: ExcalidrawElement["id"] & {
|
|
13
|
+
_brand: "excalidrawLinearElementId";
|
|
14
|
+
};
|
|
15
|
+
/** indices */
|
|
16
|
+
readonly selectedPointsIndices: readonly number[] | null;
|
|
17
|
+
readonly pointerDownState: Readonly<{
|
|
18
|
+
prevSelectedPointsIndices: readonly number[] | null;
|
|
19
|
+
/** index */
|
|
20
|
+
lastClickedPoint: number;
|
|
21
|
+
origin: Readonly<{
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
}> | null;
|
|
25
|
+
segmentMidpoint: {
|
|
26
|
+
value: Point | null;
|
|
27
|
+
index: number | null;
|
|
28
|
+
added: boolean;
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
/** whether you're dragging a point */
|
|
32
|
+
readonly isDragging: boolean;
|
|
33
|
+
readonly lastUncommittedPoint: Point | null;
|
|
34
|
+
readonly pointerOffset: Readonly<{
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
}>;
|
|
38
|
+
readonly startBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
39
|
+
readonly endBindingElement: ExcalidrawBindableElement | null | "keep";
|
|
40
|
+
readonly hoverPointIndex: number;
|
|
41
|
+
readonly segmentMidPointHoveredCoords: Point | null;
|
|
42
|
+
constructor(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene);
|
|
43
|
+
static POINT_HANDLE_SIZE: number;
|
|
44
|
+
/**
|
|
45
|
+
* @param id the `elementId` from the instance of this class (so that we can
|
|
46
|
+
* statically guarantee this method returns an ExcalidrawLinearElement)
|
|
47
|
+
*/
|
|
48
|
+
static getElement(id: InstanceType<typeof LinearElementEditor>["elementId"]): NonDeleted<ExcalidrawLinearElement> | null;
|
|
49
|
+
static handleBoxSelection(event: PointerEvent, appState: AppState, setState: React.Component<any, AppState>["setState"]): false | undefined;
|
|
50
|
+
/** @returns whether point was dragged */
|
|
51
|
+
static handlePointDragging(event: PointerEvent, appState: AppState, scenePointerX: number, scenePointerY: number, maybeSuggestBinding: (element: NonDeleted<ExcalidrawLinearElement>, pointSceneCoords: {
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
}[]) => void, linearElementEditor: LinearElementEditor): boolean;
|
|
55
|
+
static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState): LinearElementEditor;
|
|
56
|
+
static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => (typeof editorMidPointsCache)["points"];
|
|
57
|
+
static updateEditorMidPointsCache: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => void;
|
|
58
|
+
static getSegmentMidpointHitCoords: (linearElementEditor: LinearElementEditor, scenePointer: {
|
|
59
|
+
x: number;
|
|
60
|
+
y: number;
|
|
61
|
+
}, appState: AppState) => readonly [number, number] | null;
|
|
62
|
+
static isSegmentTooShort(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, zoom: AppState["zoom"]): boolean;
|
|
63
|
+
static getSegmentMidPoint(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, endPointIndex: number): readonly [number, number];
|
|
64
|
+
static getSegmentMidPointIndex(linearElementEditor: LinearElementEditor, appState: AppState, midPoint: Point): number;
|
|
65
|
+
static handlePointerDown(event: React.PointerEvent<HTMLCanvasElement>, appState: AppState, history: History, scenePointer: {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
}, linearElementEditor: LinearElementEditor): {
|
|
69
|
+
didAddPoint: boolean;
|
|
70
|
+
hitElement: NonDeleted<ExcalidrawElement> | null;
|
|
71
|
+
linearElementEditor: LinearElementEditor | null;
|
|
72
|
+
};
|
|
73
|
+
static arePointsEqual(point1: Point | null, point2: Point | null): boolean;
|
|
74
|
+
static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, appState: AppState): LinearElementEditor | null;
|
|
75
|
+
/** scene coords */
|
|
76
|
+
static getPointGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, point: Point): readonly [number, number];
|
|
77
|
+
/** scene coords */
|
|
78
|
+
static getPointsGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>): Point[];
|
|
79
|
+
static getPointAtIndexGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, indexMaybeFromEnd: number): Point;
|
|
80
|
+
static pointFromAbsoluteCoords(element: NonDeleted<ExcalidrawLinearElement>, absoluteCoords: Point): Point;
|
|
81
|
+
static getPointIndexUnderCursor(element: NonDeleted<ExcalidrawLinearElement>, zoom: AppState["zoom"], x: number, y: number): number;
|
|
82
|
+
static createPointAt(element: NonDeleted<ExcalidrawLinearElement>, scenePointerX: number, scenePointerY: number, gridSize: number | null): Point;
|
|
83
|
+
/**
|
|
84
|
+
* Normalizes line points so that the start point is at [0,0]. This is
|
|
85
|
+
* expected in various parts of the codebase. Also returns new x/y to account
|
|
86
|
+
* for the potential normalization.
|
|
87
|
+
*/
|
|
88
|
+
static getNormalizedPoints(element: ExcalidrawLinearElement): {
|
|
89
|
+
points: (readonly [number, number])[];
|
|
90
|
+
x: number;
|
|
91
|
+
y: number;
|
|
92
|
+
};
|
|
93
|
+
static normalizePoints(element: NonDeleted<ExcalidrawLinearElement>): void;
|
|
94
|
+
static duplicateSelectedPoints(appState: AppState): false | {
|
|
95
|
+
appState: {
|
|
96
|
+
editingLinearElement: {
|
|
97
|
+
selectedPointsIndices: number[];
|
|
98
|
+
elementId: string & {
|
|
99
|
+
_brand: "excalidrawLinearElementId";
|
|
100
|
+
};
|
|
101
|
+
pointerDownState: Readonly<{
|
|
102
|
+
prevSelectedPointsIndices: readonly number[] | null;
|
|
103
|
+
/** index */
|
|
104
|
+
lastClickedPoint: number;
|
|
105
|
+
origin: Readonly<{
|
|
106
|
+
x: number;
|
|
107
|
+
y: number;
|
|
108
|
+
}> | null;
|
|
109
|
+
segmentMidpoint: {
|
|
110
|
+
value: readonly [number, number] | null;
|
|
111
|
+
index: number | null;
|
|
112
|
+
added: boolean;
|
|
113
|
+
};
|
|
114
|
+
}>;
|
|
115
|
+
isDragging: boolean;
|
|
116
|
+
lastUncommittedPoint: readonly [number, number] | null;
|
|
117
|
+
pointerOffset: Readonly<{
|
|
118
|
+
x: number;
|
|
119
|
+
y: number;
|
|
120
|
+
}>;
|
|
121
|
+
startBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
122
|
+
endBindingElement: ExcalidrawBindableElement | "keep" | null;
|
|
123
|
+
hoverPointIndex: number;
|
|
124
|
+
segmentMidPointHoveredCoords: readonly [number, number] | null;
|
|
125
|
+
};
|
|
126
|
+
contextMenu: {
|
|
127
|
+
items: import("../components/ContextMenu").ContextMenuItems;
|
|
128
|
+
top: number;
|
|
129
|
+
left: number;
|
|
130
|
+
} | null;
|
|
131
|
+
showWelcomeScreen: boolean;
|
|
132
|
+
isLoading: boolean;
|
|
133
|
+
errorMessage: import("react").ReactNode;
|
|
134
|
+
draggingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
135
|
+
resizingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
136
|
+
multiElement: NonDeleted<ExcalidrawLinearElement> | null;
|
|
137
|
+
selectionElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
138
|
+
isBindingEnabled: boolean;
|
|
139
|
+
startBoundElement: NonDeleted<ExcalidrawBindableElement> | null;
|
|
140
|
+
suggestedBindings: import("./binding").SuggestedBinding[];
|
|
141
|
+
editingElement: import("./types").NonDeletedExcalidrawElement | null; /**
|
|
142
|
+
* @param id the `elementId` from the instance of this class (so that we can
|
|
143
|
+
* statically guarantee this method returns an ExcalidrawLinearElement)
|
|
144
|
+
*/
|
|
145
|
+
activeTool: {
|
|
146
|
+
lastActiveTool: import("../types").LastActiveTool;
|
|
147
|
+
locked: boolean;
|
|
148
|
+
} & ({
|
|
149
|
+
type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
|
|
150
|
+
customType: null;
|
|
151
|
+
} | {
|
|
152
|
+
type: "custom";
|
|
153
|
+
customType: string;
|
|
154
|
+
});
|
|
155
|
+
penMode: boolean;
|
|
156
|
+
penDetected: boolean;
|
|
157
|
+
exportBackground: boolean;
|
|
158
|
+
exportEmbedScene: boolean;
|
|
159
|
+
exportWithDarkMode: boolean;
|
|
160
|
+
exportScale: number;
|
|
161
|
+
currentItemStrokeColor: string;
|
|
162
|
+
currentItemBackgroundColor: string;
|
|
163
|
+
currentItemFillStyle: import("./types").FillStyle;
|
|
164
|
+
currentItemStrokeWidth: number;
|
|
165
|
+
currentItemStrokeStyle: import("./types").StrokeStyle;
|
|
166
|
+
currentItemRoughness: number;
|
|
167
|
+
currentItemOpacity: number;
|
|
168
|
+
currentItemFontFamily: number;
|
|
169
|
+
currentItemFontSize: number;
|
|
170
|
+
currentItemTextAlign: string;
|
|
171
|
+
currentItemStartArrowhead: import("./types").Arrowhead | null;
|
|
172
|
+
currentItemEndArrowhead: import("./types").Arrowhead | null;
|
|
173
|
+
currentItemRoundness: import("./types").StrokeRoundness;
|
|
174
|
+
viewBackgroundColor: string;
|
|
175
|
+
scrollX: number;
|
|
176
|
+
scrollY: number;
|
|
177
|
+
cursorButton: "up" | "down";
|
|
178
|
+
scrolledOutside: boolean;
|
|
179
|
+
name: string;
|
|
180
|
+
isResizing: boolean;
|
|
181
|
+
isRotating: boolean;
|
|
182
|
+
zoom: Readonly<{
|
|
183
|
+
value: import("../types").NormalizedZoomValue;
|
|
184
|
+
}>;
|
|
185
|
+
openMenu: "canvas" | "shape" | null;
|
|
186
|
+
openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
|
|
187
|
+
openSidebar: "library" | "customSidebar" | null;
|
|
188
|
+
openDialog: "imageExport" | "help" | "jsonExport" | null;
|
|
189
|
+
isSidebarDocked: boolean;
|
|
190
|
+
lastPointerDownWith: import("./types").PointerType;
|
|
191
|
+
selectedElementIds: {
|
|
192
|
+
[id: string]: boolean;
|
|
193
|
+
};
|
|
194
|
+
previousSelectedElementIds: {
|
|
195
|
+
[id: string]: boolean;
|
|
196
|
+
};
|
|
197
|
+
shouldCacheIgnoreZoom: boolean;
|
|
198
|
+
toast: {
|
|
199
|
+
message: string;
|
|
200
|
+
closable?: boolean | undefined;
|
|
201
|
+
duration?: number | undefined;
|
|
202
|
+
} | null;
|
|
203
|
+
zenModeEnabled: boolean;
|
|
204
|
+
theme: string;
|
|
205
|
+
gridSize: number | null;
|
|
206
|
+
previousGridSize: number | null;
|
|
207
|
+
viewModeEnabled: boolean;
|
|
208
|
+
selectedGroupIds: {
|
|
209
|
+
[groupId: string]: boolean;
|
|
210
|
+
};
|
|
211
|
+
editingGroupId: string | null;
|
|
212
|
+
width: number;
|
|
213
|
+
height: number;
|
|
214
|
+
offsetTop: number;
|
|
215
|
+
offsetLeft: number;
|
|
216
|
+
fileHandle: import("browser-fs-access").FileSystemHandle | null;
|
|
217
|
+
collaborators: Map<string, import("../types").Collaborator>;
|
|
218
|
+
showStats: boolean;
|
|
219
|
+
currentChartType: import("./types").ChartType;
|
|
220
|
+
pasteDialog: {
|
|
221
|
+
shown: false;
|
|
222
|
+
data: null;
|
|
223
|
+
} | {
|
|
224
|
+
shown: true;
|
|
225
|
+
data: import("../charts").Spreadsheet;
|
|
226
|
+
};
|
|
227
|
+
pendingImageElementId: string | null;
|
|
228
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
229
|
+
linkOpacity: number;
|
|
230
|
+
trayModeEnabled: boolean;
|
|
231
|
+
colorPalette: {
|
|
232
|
+
canvasBackground?: string[] | undefined;
|
|
233
|
+
elementBackground?: string[] | undefined;
|
|
234
|
+
elementStroke?: string[] | undefined;
|
|
235
|
+
};
|
|
236
|
+
allowWheelZoom?: boolean | undefined;
|
|
237
|
+
allowPinchZoom?: boolean | undefined;
|
|
238
|
+
pinnedScripts?: string[] | undefined;
|
|
239
|
+
customPens?: any[] | undefined;
|
|
240
|
+
currentStrokeOptions?: any;
|
|
241
|
+
resetCustomPen?: any;
|
|
242
|
+
gridColor: string;
|
|
243
|
+
dynamicStyle: string;
|
|
244
|
+
selectedLinearElement: LinearElementEditor | null;
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
static deletePoints(element: NonDeleted<ExcalidrawLinearElement>, pointIndices: readonly number[]): void;
|
|
248
|
+
static addPoints(element: NonDeleted<ExcalidrawLinearElement>, appState: AppState, targetPoints: {
|
|
249
|
+
point: Point;
|
|
250
|
+
}[]): void;
|
|
251
|
+
static movePoints(element: NonDeleted<ExcalidrawLinearElement>, targetPoints: {
|
|
252
|
+
index: number;
|
|
253
|
+
point: Point;
|
|
254
|
+
isDragging?: boolean;
|
|
255
|
+
}[], otherUpdates?: {
|
|
256
|
+
startBinding?: PointBinding;
|
|
257
|
+
endBinding?: PointBinding;
|
|
258
|
+
}): void;
|
|
259
|
+
static shouldAddMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, appState: AppState): boolean;
|
|
260
|
+
static addMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, appState: AppState): {
|
|
261
|
+
pointerDownState: LinearElementEditor["pointerDownState"];
|
|
262
|
+
selectedPointsIndices: LinearElementEditor["selectedPointsIndices"];
|
|
263
|
+
} | undefined;
|
|
264
|
+
private static _updatePoints;
|
|
265
|
+
private static _getShiftLockedDelta;
|
|
266
|
+
static getBoundTextElementPosition: (element: ExcalidrawLinearElement, boundTextElement: ExcalidrawTextElementWithContainer) => {
|
|
267
|
+
x: number;
|
|
268
|
+
y: number;
|
|
269
|
+
};
|
|
270
|
+
static getMinMaxXYWithBoundText: (element: ExcalidrawLinearElement, elementBounds: [number, number, number, number], boundTextElement: ExcalidrawTextElementWithContainer) => [number, number, number, number, number, number];
|
|
271
|
+
static getElementAbsoluteCoords: (element: ExcalidrawLinearElement, includeBoundText?: boolean) => [number, number, number, number, number, number];
|
|
272
|
+
}
|
|
273
|
+
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ExcalidrawElement } from "./types";
|
|
2
|
-
import { Mutable } from "../utility-types";
|
|
3
|
-
declare type ElementUpdate<TElement extends ExcalidrawElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce">;
|
|
4
|
-
export declare const mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
|
|
5
|
-
export declare const newElementWith: <TElement extends ExcalidrawElement>(element: TElement, updates: ElementUpdate<TElement>) => TElement;
|
|
6
|
-
/**
|
|
7
|
-
* Mutates element, bumping `version`, `versionNonce`, and `updated`.
|
|
8
|
-
*
|
|
9
|
-
* NOTE: does not trigger re-render.
|
|
10
|
-
*/
|
|
11
|
-
export declare const bumpVersion: (element: Mutable<ExcalidrawElement>, version?: ExcalidrawElement["version"]) => Mutable<ExcalidrawElement>;
|
|
12
|
-
export {};
|
|
1
|
+
import { ExcalidrawElement } from "./types";
|
|
2
|
+
import { Mutable } from "../utility-types";
|
|
3
|
+
declare type ElementUpdate<TElement extends ExcalidrawElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce">;
|
|
4
|
+
export declare const mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
|
|
5
|
+
export declare const newElementWith: <TElement extends ExcalidrawElement>(element: TElement, updates: ElementUpdate<TElement>) => TElement;
|
|
6
|
+
/**
|
|
7
|
+
* Mutates element, bumping `version`, `versionNonce`, and `updated`.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: does not trigger re-render.
|
|
10
|
+
*/
|
|
11
|
+
export declare const bumpVersion: (element: Mutable<ExcalidrawElement>, version?: ExcalidrawElement["version"]) => Mutable<ExcalidrawElement>;
|
|
12
|
+
export {};
|