@excalidraw/element 0.18.0-5fffc47 → 0.18.0-6135548
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 +3183 -1798
- package/dist/dev/index.js.map +4 -4
- package/dist/prod/index.js +17 -17
- package/dist/types/common/src/bounds.d.ts +10 -0
- package/dist/types/common/src/colors.d.ts +59 -39
- package/dist/types/common/src/constants.d.ts +15 -27
- package/dist/types/common/src/editorInterface.d.ts +34 -0
- package/dist/types/common/src/font-metadata.d.ts +1 -3
- package/dist/types/common/src/index.d.ts +2 -0
- package/dist/types/common/src/keys.d.ts +1 -1
- package/dist/types/common/src/utility-types.d.ts +0 -1
- package/dist/types/common/src/utils.d.ts +47 -35
- package/dist/types/element/src/Scene.d.ts +3 -3
- package/dist/types/element/src/binding.d.ts +58 -44
- package/dist/types/element/src/bounds.d.ts +2 -10
- package/dist/types/element/src/collision.d.ts +6 -2
- package/dist/types/element/src/comparisons.d.ts +7 -7
- package/dist/types/element/src/dragElements.d.ts +3 -3
- package/dist/types/element/src/duplicate.d.ts +3 -3
- package/dist/types/element/src/fractionalIndex.d.ts +2 -2
- package/dist/types/element/src/frame.d.ts +5 -1
- package/dist/types/element/src/heading.d.ts +2 -1
- package/dist/types/element/src/image.d.ts +1 -11
- package/dist/types/element/src/index.d.ts +1 -3
- package/dist/types/element/src/linearElementEditor.d.ts +16 -20
- package/dist/types/element/src/mutateElement.d.ts +3 -1
- package/dist/types/element/src/newElement.d.ts +6 -6
- package/dist/types/element/src/renderElement.d.ts +1 -7
- package/dist/types/element/src/resizeElements.d.ts +10 -10
- package/dist/types/element/src/resizeTest.d.ts +6 -5
- package/dist/types/element/src/selection.d.ts +3 -7
- package/dist/types/element/src/shape.d.ts +8 -7
- package/dist/types/element/src/textMeasurements.d.ts +1 -3
- package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
- package/dist/types/element/src/transformHandles.d.ts +8 -27
- package/dist/types/element/src/typeChecks.d.ts +4 -7
- package/dist/types/element/src/types.d.ts +7 -11
- package/dist/types/element/src/utils.d.ts +5 -2
- package/dist/types/element/src/visualdebug.d.ts +59 -0
- package/dist/types/element/src/zindex.d.ts +7 -1
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +78 -136
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +57 -96
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +341 -763
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +76 -876
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +27 -47
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +95 -159
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +23 -45
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +56 -95
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +28 -48
- package/dist/types/excalidraw/actions/actionExport.d.ts +124 -1129
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -404
- package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +207 -322
- package/dist/types/excalidraw/actions/actionGroup.d.ts +60 -107
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +134 -194
- package/dist/types/excalidraw/actions/actionLink.d.ts +26 -46
- package/dist/types/excalidraw/actions/actionMenu.d.ts +21 -43
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -369
- package/dist/types/excalidraw/actions/actionProperties.d.ts +117 -2560
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +30 -54
- package/dist/types/excalidraw/actions/actionStyles.d.ts +27 -47
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +27 -47
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +27 -47
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +20 -42
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +27 -47
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +27 -47
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +28 -48
- package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -3
- package/dist/types/excalidraw/actions/register.d.ts +2 -2
- package/dist/types/excalidraw/actions/types.d.ts +3 -3
- package/dist/types/excalidraw/appState.d.ts +7 -6
- package/dist/types/excalidraw/clipboard.d.ts +7 -31
- package/dist/types/excalidraw/components/Actions.d.ts +5 -2
- package/dist/types/excalidraw/components/App.d.ts +58 -58
- package/dist/types/excalidraw/components/Card.d.ts +1 -3
- package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -2
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +0 -1
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
- package/dist/types/excalidraw/components/CommandPalette/types.d.ts +1 -3
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
- package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -1
- package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
- package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
- package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
- package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
- package/dist/types/excalidraw/components/InlineIcon.d.ts +2 -2
- package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
- package/dist/types/excalidraw/components/MobileMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -1
- package/dist/types/excalidraw/components/Modal.d.ts +0 -1
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
- package/dist/types/excalidraw/components/Popover.d.ts +2 -1
- package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
- package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
- package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
- package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
- package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
- package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +27 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +26 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
- package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +4 -25
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +2 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +8 -0
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
- package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
- package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
- package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
- package/dist/types/excalidraw/components/TTDDialog/types.d.ts +91 -0
- package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +24 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
- package/dist/types/excalidraw/components/Toast.d.ts +3 -3
- package/dist/types/excalidraw/components/Trans.d.ts +2 -2
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +6 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +30 -33
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +5 -5
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +12 -19
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
- package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +1 -1
- package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
- package/dist/types/excalidraw/components/icons.d.ts +21 -12
- package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +4 -3
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +2 -2
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +26 -32
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +6 -6
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +15 -16
- package/dist/types/excalidraw/data/blob.d.ts +321 -3
- package/dist/types/excalidraw/data/encode.d.ts +4 -4
- package/dist/types/excalidraw/data/encryption.d.ts +5 -5
- package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
- package/dist/types/excalidraw/data/index.d.ts +3 -3
- package/dist/types/excalidraw/data/json.d.ts +159 -2
- package/dist/types/excalidraw/data/library.d.ts +24 -9
- package/dist/types/excalidraw/data/restore.d.ts +25 -10
- package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
- package/dist/types/excalidraw/errors.d.ts +14 -0
- package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
- package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
- package/dist/types/excalidraw/i18n.d.ts +2 -2
- package/dist/types/excalidraw/index.d.ts +6 -7
- package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -14
- package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
- package/dist/types/excalidraw/scene/export.d.ts +2 -2
- package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
- package/dist/types/excalidraw/scene/types.d.ts +22 -5
- package/dist/types/excalidraw/shortcut.d.ts +1 -0
- package/dist/types/excalidraw/snapping.d.ts +5 -5
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
- package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
- package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
- package/dist/types/excalidraw/types.d.ts +22 -20
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
- package/dist/types/math/src/polygon.d.ts +2 -2
- package/dist/types/math/src/range.d.ts +1 -3
- package/dist/types/math/src/segment.d.ts +3 -3
- package/dist/types/utils/src/bbox.d.ts +1 -1
- package/dist/types/utils/src/export.d.ts +5 -5
- package/dist/types/utils/src/shape.d.ts +6 -6
- package/dist/types/utils/src/withinBounds.d.ts +2 -2
- package/package.json +9 -3
|
@@ -2,10 +2,167 @@ import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
|
2
2
|
import type { AppState, BinaryFiles, LibraryItems } from "../types";
|
|
3
3
|
import type { ImportedDataState, ImportedLibraryData } from "./types";
|
|
4
4
|
export declare const serializeAsJSON: (elements: readonly ExcalidrawElement[], appState: Partial<AppState>, files: BinaryFiles, type: "local" | "database") => string;
|
|
5
|
-
export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles,
|
|
5
|
+
export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles,
|
|
6
|
+
/** filename */
|
|
7
|
+
name?: string) => Promise<{
|
|
6
8
|
fileHandle: import("browser-fs-access").FileSystemHandle | null;
|
|
7
9
|
}>;
|
|
8
|
-
export declare const loadFromJSON: (localAppState: AppState, localElements: readonly ExcalidrawElement[] | null) => Promise<
|
|
10
|
+
export declare const loadFromJSON: (localAppState: AppState, localElements: readonly ExcalidrawElement[] | null) => Promise<{
|
|
11
|
+
elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
12
|
+
appState: {
|
|
13
|
+
viewBackgroundColor: string;
|
|
14
|
+
theme: import("@excalidraw/element/types").Theme;
|
|
15
|
+
frameRendering: {
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
name: boolean;
|
|
18
|
+
outline: boolean;
|
|
19
|
+
clip: boolean;
|
|
20
|
+
};
|
|
21
|
+
name: string | null;
|
|
22
|
+
zoom: import("../types").Zoom;
|
|
23
|
+
scrollX: number;
|
|
24
|
+
scrollY: number;
|
|
25
|
+
viewModeEnabled: boolean;
|
|
26
|
+
openDialog: null | {
|
|
27
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
28
|
+
} | {
|
|
29
|
+
name: "ttd";
|
|
30
|
+
tab: "text-to-diagram" | "mermaid";
|
|
31
|
+
} | {
|
|
32
|
+
name: "commandPalette";
|
|
33
|
+
} | {
|
|
34
|
+
name: "settings";
|
|
35
|
+
} | {
|
|
36
|
+
name: "elementLinkSelector";
|
|
37
|
+
sourceElementId: ExcalidrawElement["id"];
|
|
38
|
+
};
|
|
39
|
+
editingGroupId: import("@excalidraw/element/types").GroupId | null;
|
|
40
|
+
selectedElementIds: Readonly<{
|
|
41
|
+
[id: string]: true;
|
|
42
|
+
}>;
|
|
43
|
+
frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
|
|
44
|
+
activeEmbeddable: {
|
|
45
|
+
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
|
|
46
|
+
state: "hover" | "active";
|
|
47
|
+
} | null;
|
|
48
|
+
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
|
|
49
|
+
selectedGroupIds: {
|
|
50
|
+
[groupId: string]: boolean;
|
|
51
|
+
};
|
|
52
|
+
selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
|
|
53
|
+
multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
|
|
54
|
+
newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
|
|
55
|
+
isBindingEnabled: boolean;
|
|
56
|
+
suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
|
|
57
|
+
isRotating: boolean;
|
|
58
|
+
elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
|
|
59
|
+
collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
|
|
60
|
+
snapLines: readonly import("../snapping").SnapLine[];
|
|
61
|
+
zenModeEnabled: boolean;
|
|
62
|
+
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
|
|
63
|
+
isCropping: boolean;
|
|
64
|
+
croppingElementId: ExcalidrawElement["id"] | null;
|
|
65
|
+
searchMatches: Readonly<{
|
|
66
|
+
focusedId: ExcalidrawElement["id"] | null;
|
|
67
|
+
matches: readonly import("../types").SearchMatch[];
|
|
68
|
+
}> | null;
|
|
69
|
+
activeLockedId: string | null;
|
|
70
|
+
hoveredElementIds: Readonly<{
|
|
71
|
+
[id: string]: true;
|
|
72
|
+
}>;
|
|
73
|
+
shouldCacheIgnoreZoom: boolean;
|
|
74
|
+
exportScale: number;
|
|
75
|
+
bindMode: import("@excalidraw/element/types").BindMode;
|
|
76
|
+
gridSize: number;
|
|
77
|
+
contextMenu: {
|
|
78
|
+
items: import("../components/ContextMenu").ContextMenuItems;
|
|
79
|
+
top: number;
|
|
80
|
+
left: number;
|
|
81
|
+
} | null;
|
|
82
|
+
showWelcomeScreen: boolean;
|
|
83
|
+
isLoading: boolean;
|
|
84
|
+
errorMessage: React.ReactNode;
|
|
85
|
+
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
|
|
86
|
+
startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
|
|
87
|
+
editingFrame: string | null;
|
|
88
|
+
activeTool: {
|
|
89
|
+
lastActiveTool: import("../types").ActiveTool | null;
|
|
90
|
+
locked: boolean;
|
|
91
|
+
fromSelection: boolean;
|
|
92
|
+
} & import("../types").ActiveTool;
|
|
93
|
+
preferredSelectionTool: {
|
|
94
|
+
type: "selection" | "lasso";
|
|
95
|
+
initialized: boolean;
|
|
96
|
+
};
|
|
97
|
+
penMode: boolean;
|
|
98
|
+
penDetected: boolean;
|
|
99
|
+
exportBackground: boolean;
|
|
100
|
+
exportEmbedScene: boolean;
|
|
101
|
+
exportWithDarkMode: boolean;
|
|
102
|
+
currentItemStrokeColor: string;
|
|
103
|
+
currentItemBackgroundColor: string;
|
|
104
|
+
currentItemFillStyle: ExcalidrawElement["fillStyle"];
|
|
105
|
+
currentItemStrokeWidth: number;
|
|
106
|
+
currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
|
|
107
|
+
currentItemRoughness: number;
|
|
108
|
+
currentItemOpacity: number;
|
|
109
|
+
currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
|
|
110
|
+
currentItemFontSize: number;
|
|
111
|
+
currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
|
|
112
|
+
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
|
|
113
|
+
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
|
|
114
|
+
currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
|
|
115
|
+
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
|
|
116
|
+
currentItemArrowType: "sharp" | "round" | "elbow";
|
|
117
|
+
cursorButton: "up" | "down";
|
|
118
|
+
scrolledOutside: boolean;
|
|
119
|
+
isResizing: boolean;
|
|
120
|
+
openMenu: "canvas" | null;
|
|
121
|
+
openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
|
|
122
|
+
openSidebar: {
|
|
123
|
+
name: import("../types").SidebarName;
|
|
124
|
+
tab?: import("../types").SidebarTabName;
|
|
125
|
+
} | null;
|
|
126
|
+
defaultSidebarDockedPreference: boolean;
|
|
127
|
+
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
|
|
128
|
+
previousSelectedElementIds: {
|
|
129
|
+
[id: string]: true;
|
|
130
|
+
};
|
|
131
|
+
selectedElementsAreBeingDragged: boolean;
|
|
132
|
+
toast: {
|
|
133
|
+
message: string;
|
|
134
|
+
closable?: boolean;
|
|
135
|
+
duration?: number;
|
|
136
|
+
} | null;
|
|
137
|
+
gridStep: number;
|
|
138
|
+
gridModeEnabled: boolean;
|
|
139
|
+
fileHandle: import("browser-fs-access").FileSystemHandle | null;
|
|
140
|
+
stats: {
|
|
141
|
+
open: boolean;
|
|
142
|
+
panels: number;
|
|
143
|
+
};
|
|
144
|
+
currentChartType: import("@excalidraw/element/types").ChartType;
|
|
145
|
+
pasteDialog: {
|
|
146
|
+
shown: false;
|
|
147
|
+
data: null;
|
|
148
|
+
} | {
|
|
149
|
+
shown: true;
|
|
150
|
+
data: import("../charts").Spreadsheet;
|
|
151
|
+
};
|
|
152
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
153
|
+
originSnapOffset: {
|
|
154
|
+
x: number;
|
|
155
|
+
y: number;
|
|
156
|
+
} | null;
|
|
157
|
+
objectsSnapModeEnabled: boolean;
|
|
158
|
+
userToFollow: import("../types").UserToFollow | null;
|
|
159
|
+
followedBy: Set<import("../types").SocketId>;
|
|
160
|
+
lockedMultiSelections: {
|
|
161
|
+
[groupId: string]: true;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
files: BinaryFiles;
|
|
165
|
+
}>;
|
|
9
166
|
export declare const isValidExcalidrawData: (data?: {
|
|
10
167
|
type?: any;
|
|
11
168
|
elements?: any;
|
|
@@ -74,16 +74,31 @@ declare class Library {
|
|
|
74
74
|
getLatestLibrary: () => Promise<LibraryItems>;
|
|
75
75
|
updateLibrary: ({ libraryItems, prompt, merge, openLibraryMenu, defaultStatus, }: {
|
|
76
76
|
libraryItems: LibraryItemsSource;
|
|
77
|
-
merge?: boolean
|
|
78
|
-
prompt?: boolean
|
|
79
|
-
openLibraryMenu?: boolean
|
|
80
|
-
defaultStatus?: "
|
|
77
|
+
merge?: boolean;
|
|
78
|
+
prompt?: boolean;
|
|
79
|
+
openLibraryMenu?: boolean;
|
|
80
|
+
defaultStatus?: "unpublished" | "published";
|
|
81
81
|
}) => Promise<LibraryItems>;
|
|
82
|
-
setLibrary: (
|
|
82
|
+
setLibrary: (
|
|
83
|
+
/**
|
|
84
|
+
* LibraryItems that will replace current items. Can be a function which
|
|
85
|
+
* will be invoked after all previous tasks are resolved
|
|
86
|
+
* (this is the prefered way to update the library to avoid race conditions,
|
|
87
|
+
* but you'll want to manually merge the library items in the callback
|
|
88
|
+
* - which is what we're doing in Library.importLibrary()).
|
|
89
|
+
*
|
|
90
|
+
* If supplied promise is rejected with AbortError, we swallow it and
|
|
91
|
+
* do not update the library.
|
|
92
|
+
*/
|
|
93
|
+
libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
|
|
83
94
|
}
|
|
84
95
|
export default Library;
|
|
85
96
|
export declare const distributeLibraryItemsOnSquareGrid: (libraryItems: LibraryItems) => ExcalidrawElement[];
|
|
86
|
-
export declare const validateLibraryUrl: (libraryUrl: string,
|
|
97
|
+
export declare const validateLibraryUrl: (libraryUrl: string,
|
|
98
|
+
/**
|
|
99
|
+
* @returns `true` if the URL is valid, throws otherwise.
|
|
100
|
+
*/
|
|
101
|
+
validator?: ((libraryUrl: string) => boolean) | string[]) => true;
|
|
87
102
|
export declare const parseLibraryTokensFromUrl: () => {
|
|
88
103
|
libraryUrl: string;
|
|
89
104
|
idToken: string | null;
|
|
@@ -95,10 +110,10 @@ export declare const useHandleLibrary: (opts: {
|
|
|
95
110
|
* Return `true` if the library install url should be allowed.
|
|
96
111
|
* If not supplied, only the excalidraw.com base domain is allowed.
|
|
97
112
|
*/
|
|
98
|
-
validateLibraryUrl?: (
|
|
113
|
+
validateLibraryUrl?: (libraryUrl: string) => boolean;
|
|
99
114
|
} & ({
|
|
100
115
|
/** @deprecated we recommend using `opts.adapter` instead */
|
|
101
|
-
getInitialLibraryItems?: (
|
|
116
|
+
getInitialLibraryItems?: () => MaybePromise<LibraryItemsSource>;
|
|
102
117
|
} | {
|
|
103
118
|
adapter: LibraryPersistenceAdapter;
|
|
104
119
|
/**
|
|
@@ -108,5 +123,5 @@ export declare const useHandleLibrary: (opts: {
|
|
|
108
123
|
*
|
|
109
124
|
* Can be a different LibraryPersistenceAdapter.
|
|
110
125
|
*/
|
|
111
|
-
migrationAdapter?: LibraryMigrationAdapter
|
|
126
|
+
migrationAdapter?: LibraryMigrationAdapter;
|
|
112
127
|
})) => void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type CombineBrandsIfNeeded } from "@excalidraw/common";
|
|
2
|
+
import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawSelectionElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
3
|
import type { AppState, BinaryFiles, LibraryItem } from "../types";
|
|
3
4
|
import type { ImportedDataState } from "./types";
|
|
4
5
|
type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
|
|
@@ -8,19 +9,33 @@ export type RestoredDataState = {
|
|
|
8
9
|
appState: RestoredAppState;
|
|
9
10
|
files: BinaryFiles;
|
|
10
11
|
};
|
|
11
|
-
export declare const restoreElement: (
|
|
12
|
+
export declare const restoreElement: (
|
|
13
|
+
/** element to be restored */
|
|
14
|
+
element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>,
|
|
15
|
+
/** all elements to be restored */
|
|
16
|
+
targetElementsMap: Readonly<ElementsMap>,
|
|
17
|
+
/** used for additional context */
|
|
18
|
+
existingElementsMap: Readonly<ElementsMap> | null | undefined, opts?: {
|
|
12
19
|
deleteInvisibleElements?: boolean;
|
|
13
|
-
}) =>
|
|
14
|
-
export declare const restoreElements:
|
|
20
|
+
}) => typeof element | null;
|
|
21
|
+
export declare const restoreElements: <T extends ExcalidrawElement>(targetElements: readonly T[] | undefined | null,
|
|
22
|
+
/** used for additional context (e.g. repairing arrow bindings) */
|
|
23
|
+
existingElements: Readonly<ElementsMapOrArray> | null | undefined, opts?: {
|
|
15
24
|
refreshDimensions?: boolean;
|
|
16
25
|
repairBindings?: boolean;
|
|
17
26
|
deleteInvisibleElements?: boolean;
|
|
18
|
-
} | undefined) => OrderedExcalidrawElement
|
|
27
|
+
} | undefined) => CombineBrandsIfNeeded<T, OrderedExcalidrawElement>;
|
|
28
|
+
/**
|
|
29
|
+
* When replacing elements that may exist locally, this bumps their versions
|
|
30
|
+
* to the local version + 1. Mainly for later reconciliation to work properly.
|
|
31
|
+
*
|
|
32
|
+
* See https://github.com/excalidraw/excalidraw/issues/3795
|
|
33
|
+
*
|
|
34
|
+
* Generally use this on editor boundaries (importing from file etc.), though
|
|
35
|
+
* it does not apply universally (e.g. we don't want to do this for collab
|
|
36
|
+
* updates).
|
|
37
|
+
*/
|
|
38
|
+
export declare const bumpElementVersions: <T extends ExcalidrawElement>(targetElements: readonly T[], localElements: Readonly<ElementsMapOrArray> | null | undefined) => T[];
|
|
19
39
|
export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
|
|
20
|
-
export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
|
|
21
|
-
refreshDimensions?: boolean;
|
|
22
|
-
repairBindings?: boolean;
|
|
23
|
-
deleteInvisibleElements?: boolean;
|
|
24
|
-
}) => RestoredDataState;
|
|
25
40
|
export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
|
|
26
41
|
export {};
|
|
@@ -7,8 +7,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
|
|
|
7
7
|
set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
|
|
8
8
|
sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
|
|
9
9
|
} | ({
|
|
10
|
-
get: <
|
|
11
|
-
set: <
|
|
10
|
+
get: <Value>(atom: import("jotai").Atom<Value>) => Value;
|
|
11
|
+
set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
|
|
12
12
|
sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
|
|
13
13
|
} & {
|
|
14
14
|
dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
|
|
@@ -19,21 +19,21 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
|
|
|
19
19
|
readonly l: Set<() => void>;
|
|
20
20
|
readonly d: Set<import("jotai").Atom<unknown>>;
|
|
21
21
|
readonly t: Set<import("jotai").Atom<unknown>>;
|
|
22
|
-
u?: (
|
|
23
|
-
}
|
|
22
|
+
u?: () => void;
|
|
23
|
+
};
|
|
24
24
|
v?: unknown;
|
|
25
25
|
e?: unknown;
|
|
26
26
|
}>;
|
|
27
27
|
dev4_get_mounted_atoms: () => Set<import("jotai").Atom<unknown>>;
|
|
28
28
|
dev4_restore_atoms: (values: Iterable<readonly [import("jotai").Atom<unknown>, unknown]>) => void;
|
|
29
|
-
})
|
|
29
|
+
});
|
|
30
30
|
} | undefined) => {
|
|
31
|
-
get: <
|
|
32
|
-
set: <
|
|
31
|
+
get: <Value>(atom: import("jotai").Atom<Value>) => Value;
|
|
32
|
+
set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
|
|
33
33
|
sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
|
|
34
34
|
} | ({
|
|
35
|
-
get: <
|
|
36
|
-
set: <
|
|
35
|
+
get: <Value>(atom: import("jotai").Atom<Value>) => Value;
|
|
36
|
+
set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
|
|
37
37
|
sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
|
|
38
38
|
} & {
|
|
39
39
|
dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
|
|
@@ -44,8 +44,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
|
|
|
44
44
|
readonly l: Set<() => void>;
|
|
45
45
|
readonly d: Set<import("jotai").Atom<unknown>>;
|
|
46
46
|
readonly t: Set<import("jotai").Atom<unknown>>;
|
|
47
|
-
u?: (
|
|
48
|
-
}
|
|
47
|
+
u?: () => void;
|
|
48
|
+
};
|
|
49
49
|
v?: unknown;
|
|
50
50
|
e?: unknown;
|
|
51
51
|
}>;
|
|
@@ -26,4 +26,18 @@ export declare class WorkerInTheMainChunkError extends Error {
|
|
|
26
26
|
export declare class ExcalidrawError extends Error {
|
|
27
27
|
constructor(message: string);
|
|
28
28
|
}
|
|
29
|
+
export declare class RequestError extends Error {
|
|
30
|
+
status: number;
|
|
31
|
+
data: any;
|
|
32
|
+
toObject(): {
|
|
33
|
+
name: string;
|
|
34
|
+
status: number;
|
|
35
|
+
message: string;
|
|
36
|
+
};
|
|
37
|
+
constructor({ message, status, data, }?: {
|
|
38
|
+
message?: string;
|
|
39
|
+
status?: number;
|
|
40
|
+
data?: any;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
29
43
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export declare function useOutsideClick<T extends HTMLElement>(ref: React.RefObject<T | null>,
|
|
3
2
|
/** if performance is of concern, memoize the callback */
|
|
4
|
-
callback: (event: Event
|
|
3
|
+
callback: (event: Event & {
|
|
4
|
+
target: T;
|
|
5
|
+
}) => void,
|
|
5
6
|
/**
|
|
6
7
|
* Optional callback which is called on every click.
|
|
7
8
|
*
|
|
@@ -14,7 +15,7 @@ callback: (event: Event) => void,
|
|
|
14
15
|
* Returning `undefined` will fallback to the default behavior.
|
|
15
16
|
*/
|
|
16
17
|
isInside?: (event: Event & {
|
|
17
|
-
target:
|
|
18
|
+
target: T;
|
|
18
19
|
},
|
|
19
20
|
/** the element of the passed ref */
|
|
20
21
|
container: T) => boolean | undefined): void;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const useScrollPosition: <T extends HTMLElement>(elementRef: import("react").RefObject<T | null>) => number;
|
|
1
|
+
export declare const useScrollPosition: <T extends HTMLElement>(elementRef: React.RefObject<T | null>) => number;
|
|
@@ -15,10 +15,10 @@ export declare const setLanguage: (lang: Language) => Promise<void>;
|
|
|
15
15
|
export declare const getLanguage: () => Language;
|
|
16
16
|
export declare const t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
|
|
17
17
|
[key: string]: string | number;
|
|
18
|
-
} | null
|
|
18
|
+
} | null, fallback?: string) => string;
|
|
19
19
|
export declare const useI18n: () => {
|
|
20
20
|
t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
|
|
21
21
|
[key: string]: string | number;
|
|
22
|
-
} | null
|
|
22
|
+
} | null, fallback?: string) => string;
|
|
23
23
|
langCode: string;
|
|
24
24
|
};
|
|
@@ -12,34 +12,33 @@ export { getSceneVersion, hashElementsVersion, hashString, getNonDeletedElements
|
|
|
12
12
|
export { getTextFromElements } from "@excalidraw/element";
|
|
13
13
|
export { isInvisiblySmallElement } from "@excalidraw/element";
|
|
14
14
|
export { defaultLang, useI18n, languages } from "./i18n";
|
|
15
|
-
export {
|
|
15
|
+
export { restoreAppState, restoreElement, restoreElements, restoreLibraryItems, } from "./data/restore";
|
|
16
16
|
export { reconcileElements } from "./data/reconcile";
|
|
17
17
|
export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
|
|
18
18
|
export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
|
|
19
19
|
export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
|
|
20
|
-
export { getFreeDrawSvgPath } from "@excalidraw/element";
|
|
21
20
|
export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
|
|
22
21
|
export { isLinearElement } from "@excalidraw/element";
|
|
23
|
-
export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, } from "@excalidraw/common";
|
|
22
|
+
export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, getFormFactor, } from "@excalidraw/common";
|
|
24
23
|
export { mutateElement, newElementWith, bumpVersion, } from "@excalidraw/element";
|
|
25
24
|
export { CaptureUpdateAction } from "@excalidraw/element";
|
|
26
25
|
export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
|
|
27
|
-
export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, } from "@excalidraw/common";
|
|
28
26
|
export { Sidebar } from "./components/Sidebar/Sidebar";
|
|
29
27
|
export { Button } from "./components/Button";
|
|
30
28
|
export { Footer };
|
|
31
29
|
export { MainMenu };
|
|
32
30
|
export { Ellipsify } from "./components/Ellipsify";
|
|
33
|
-
export {
|
|
31
|
+
export { useEditorInterface, useStylesPanelMode } from "./components/App";
|
|
34
32
|
export { WelcomeScreen };
|
|
35
33
|
export { LiveCollaborationTrigger };
|
|
36
34
|
export { Stats } from "./components/Stats";
|
|
37
35
|
export { DefaultSidebar } from "./components/DefaultSidebar";
|
|
38
36
|
export { TTDDialog } from "./components/TTDDialog/TTDDialog";
|
|
39
37
|
export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
|
|
38
|
+
export { TTDStreamFetch } from "./components/TTDDialog/utils/TTDStreamFetch";
|
|
39
|
+
export type { TTDPersistenceAdapter, SavedChat, SavedChats, } from "./components/TTDDialog/types";
|
|
40
40
|
export { zoomToFitBounds } from "./actions/actionCanvas";
|
|
41
|
-
export { convertToExcalidrawElements } from "
|
|
42
|
-
export { getCommonBounds, getVisibleSceneBounds } from "@excalidraw/element";
|
|
41
|
+
export { getCommonBounds, getVisibleSceneBounds, convertToExcalidrawElements, } from "@excalidraw/element";
|
|
43
42
|
export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
|
|
44
43
|
export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
|
|
45
44
|
export { getDataURL } from "./data/blob";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type Animation<R extends object> = (params: {
|
|
2
|
+
deltaTime: number;
|
|
3
|
+
state?: R;
|
|
4
|
+
}) => R | null | undefined;
|
|
5
|
+
export declare class AnimationController {
|
|
6
|
+
private static isRunning;
|
|
7
|
+
private static animations;
|
|
8
|
+
static start<R extends object>(key: string, animation: Animation<R>): void;
|
|
9
|
+
private static tick;
|
|
10
|
+
static running(key: string): boolean;
|
|
11
|
+
static cancel(key: string): void;
|
|
12
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ElementsMap, ExcalidrawDiamondElement, ExcalidrawRectanguloidElement } from "@excalidraw/element/types";
|
|
2
1
|
import type { StaticCanvasRenderConfig } from "../scene/types";
|
|
3
2
|
import type { AppState, StaticCanvasAppState } from "../types";
|
|
4
3
|
export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
|
|
@@ -8,11 +7,10 @@ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normali
|
|
|
8
7
|
scale: number;
|
|
9
8
|
normalizedWidth: number;
|
|
10
9
|
normalizedHeight: number;
|
|
11
|
-
theme?:
|
|
12
|
-
isExporting?:
|
|
13
|
-
viewBackgroundColor?:
|
|
10
|
+
theme?: AppState["theme"];
|
|
11
|
+
isExporting?: StaticCanvasRenderConfig["isExporting"];
|
|
12
|
+
viewBackgroundColor?: StaticCanvasAppState["viewBackgroundColor"];
|
|
14
13
|
}) => CanvasRenderingContext2D;
|
|
15
|
-
export declare const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export declare const drawHighlightForDiamondWithRotation: (context: CanvasRenderingContext2D, padding: number, element: ExcalidrawDiamondElement, elementsMap: ElementsMap) => void;
|
|
14
|
+
export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean,
|
|
15
|
+
/** should account for zoom */
|
|
16
|
+
radius?: number) => void;
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
+
import { getScrollBars } from "../scene/scrollbars";
|
|
1
2
|
import type { InteractiveSceneRenderConfig, RenderableElementsMap } from "../scene/types";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
declare const _renderInteractiveScene: ({ app, canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, editorInterface, animationState, deltaTime, }: InteractiveSceneRenderConfig) => {
|
|
4
|
+
scrollBars?: ReturnType<typeof getScrollBars>;
|
|
5
|
+
atLeastOneVisibleElement: boolean;
|
|
6
|
+
elementsMap: RenderableElementsMap;
|
|
7
|
+
animationState?: typeof animationState;
|
|
7
8
|
};
|
|
8
9
|
/**
|
|
9
10
|
* Interactive scene is the ui-canvas where we render bounding boxes, selections
|
|
10
11
|
* and other ui stuff.
|
|
11
12
|
*/
|
|
12
|
-
export declare const renderInteractiveScene: <U extends (
|
|
13
|
-
|
|
14
|
-
elementsMap: RenderableElementsMap;
|
|
15
|
-
scrollBars?: undefined;
|
|
16
|
-
} | {
|
|
17
|
-
scrollBars: import("../scene/types").ScrollBars | undefined;
|
|
18
|
-
atLeastOneVisibleElement: boolean;
|
|
19
|
-
elementsMap: RenderableElementsMap;
|
|
20
|
-
}, T extends boolean = false>(renderConfig: InteractiveSceneRenderConfig, throttle?: T | undefined) => T extends true ? void : ReturnType<U>;
|
|
13
|
+
export declare const renderInteractiveScene: <U extends typeof _renderInteractiveScene>(renderConfig: InteractiveSceneRenderConfig) => ReturnType<U>;
|
|
14
|
+
export {};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
2
|
import type { Scene } from "@excalidraw/element";
|
|
3
|
+
import type { RenderableElementsMap } from "./types";
|
|
3
4
|
import type { AppState } from "../types";
|
|
4
5
|
export declare class Renderer {
|
|
5
6
|
private scene;
|
|
6
7
|
constructor(scene: Scene);
|
|
7
8
|
getRenderableElements: ((opts: {
|
|
8
|
-
zoom:
|
|
9
|
+
zoom: Readonly<{
|
|
10
|
+
value: import("../types").NormalizedZoomValue;
|
|
11
|
+
}>;
|
|
9
12
|
offsetLeft: AppState["offsetLeft"];
|
|
10
13
|
offsetTop: AppState["offsetTop"];
|
|
11
14
|
scrollX: AppState["scrollX"];
|
|
@@ -18,7 +21,7 @@ export declare class Renderer {
|
|
|
18
21
|
newElementId: ExcalidrawElement["id"] | undefined;
|
|
19
22
|
sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
|
|
20
23
|
}) => {
|
|
21
|
-
elementsMap:
|
|
24
|
+
elementsMap: RenderableElementsMap;
|
|
22
25
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
23
26
|
}) & {
|
|
24
27
|
clear: () => void;
|
|
@@ -2,9 +2,9 @@ import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@e
|
|
|
2
2
|
import type { AppState, BinaryFiles } from "../types";
|
|
3
3
|
export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, exportingFrame, }: {
|
|
4
4
|
exportBackground: boolean;
|
|
5
|
-
exportPadding?: number
|
|
5
|
+
exportPadding?: number;
|
|
6
6
|
viewBackgroundColor: string;
|
|
7
|
-
exportingFrame?: ExcalidrawFrameLikeElement | null
|
|
7
|
+
exportingFrame?: ExcalidrawFrameLikeElement | null;
|
|
8
8
|
}, createCanvas?: (width: number, height: number) => {
|
|
9
9
|
canvas: HTMLCanvasElement;
|
|
10
10
|
scale: number;
|
|
@@ -7,12 +7,7 @@ export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, of
|
|
|
7
7
|
width: number;
|
|
8
8
|
};
|
|
9
9
|
zoom: Zoom;
|
|
10
|
-
offsets?:
|
|
11
|
-
top: number;
|
|
12
|
-
right: number;
|
|
13
|
-
bottom: number;
|
|
14
|
-
left: number;
|
|
15
|
-
}> | undefined;
|
|
10
|
+
offsets?: Offsets;
|
|
16
11
|
}) => {
|
|
17
12
|
scrollX: number;
|
|
18
13
|
scrollY: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { UserIdleState } from "@excalidraw/common";
|
|
1
|
+
import type { UserIdleState, EditorInterface } from "@excalidraw/common";
|
|
2
2
|
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
|
|
3
3
|
import type { MakeBrand } from "@excalidraw/common/utility-types";
|
|
4
|
-
import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId,
|
|
4
|
+
import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, PendingExcalidrawElements } from "../types";
|
|
5
5
|
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
6
6
|
import type { Drawable } from "roughjs/bin/core";
|
|
7
7
|
export type RenderableElementsMap = NonDeletedElementsMap & MakeBrand<"RenderableElementsMap">;
|
|
@@ -15,6 +15,7 @@ export type StaticCanvasRenderConfig = {
|
|
|
15
15
|
embedsValidationStatus: EmbedsValidationStatus;
|
|
16
16
|
elementsPendingErasure: ElementsPendingErasure;
|
|
17
17
|
pendingFlowchartNodes: PendingExcalidrawElements | null;
|
|
18
|
+
theme: AppState["theme"];
|
|
18
19
|
};
|
|
19
20
|
export type SVGRenderConfig = {
|
|
20
21
|
offsetX: number;
|
|
@@ -32,6 +33,7 @@ export type SVGRenderConfig = {
|
|
|
32
33
|
* @default true
|
|
33
34
|
*/
|
|
34
35
|
reuseImages: boolean;
|
|
36
|
+
theme: AppState["theme"];
|
|
35
37
|
};
|
|
36
38
|
export type InteractiveCanvasRenderConfig = {
|
|
37
39
|
remoteSelectedElementIds: Map<ExcalidrawElement["id"], SocketId[]>;
|
|
@@ -43,6 +45,10 @@ export type InteractiveCanvasRenderConfig = {
|
|
|
43
45
|
remotePointerUsernames: Map<SocketId, string>;
|
|
44
46
|
remotePointerButton: Map<SocketId, string | undefined>;
|
|
45
47
|
selectionColor: string;
|
|
48
|
+
lastViewportPosition: {
|
|
49
|
+
x: number;
|
|
50
|
+
y: number;
|
|
51
|
+
};
|
|
46
52
|
renderScrollbars?: boolean;
|
|
47
53
|
};
|
|
48
54
|
export type RenderInteractiveSceneCallback = {
|
|
@@ -60,7 +66,13 @@ export type StaticSceneRenderConfig = {
|
|
|
60
66
|
appState: StaticCanvasAppState;
|
|
61
67
|
renderConfig: StaticCanvasRenderConfig;
|
|
62
68
|
};
|
|
69
|
+
export type InteractiveSceneRenderAnimationState = {
|
|
70
|
+
bindingHighlight: {
|
|
71
|
+
runtime: number;
|
|
72
|
+
} | undefined;
|
|
73
|
+
};
|
|
63
74
|
export type InteractiveSceneRenderConfig = {
|
|
75
|
+
app: AppClassProperties;
|
|
64
76
|
canvas: HTMLCanvasElement | null;
|
|
65
77
|
elementsMap: RenderableElementsMap;
|
|
66
78
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
@@ -69,8 +81,10 @@ export type InteractiveSceneRenderConfig = {
|
|
|
69
81
|
scale: number;
|
|
70
82
|
appState: InteractiveCanvasAppState;
|
|
71
83
|
renderConfig: InteractiveCanvasRenderConfig;
|
|
72
|
-
|
|
84
|
+
editorInterface: EditorInterface;
|
|
73
85
|
callback: (data: RenderInteractiveSceneCallback) => void;
|
|
86
|
+
animationState?: InteractiveSceneRenderAnimationState;
|
|
87
|
+
deltaTime: number;
|
|
74
88
|
};
|
|
75
89
|
export type NewElementSceneRenderConfig = {
|
|
76
90
|
canvas: HTMLCanvasElement | null;
|
|
@@ -103,14 +117,17 @@ export type ScrollBars = {
|
|
|
103
117
|
deltaMultiplier: number;
|
|
104
118
|
} | null;
|
|
105
119
|
};
|
|
106
|
-
export type
|
|
120
|
+
export type SVGPathString = string & {
|
|
121
|
+
__brand: "SVGPathString";
|
|
122
|
+
};
|
|
123
|
+
export type ElementShape = Drawable | Drawable[] | Path2D | (Drawable | SVGPathString)[] | null;
|
|
107
124
|
export type ElementShapes = {
|
|
108
125
|
rectangle: Drawable;
|
|
109
126
|
ellipse: Drawable;
|
|
110
127
|
diamond: Drawable;
|
|
111
128
|
iframe: Drawable;
|
|
112
129
|
embeddable: Drawable;
|
|
113
|
-
freedraw: Drawable |
|
|
130
|
+
freedraw: (Drawable | SVGPathString)[];
|
|
114
131
|
arrow: Drawable[];
|
|
115
132
|
line: Drawable[];
|
|
116
133
|
text: null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getShortcutKey: (shortcut: string) => string;
|