@excalidraw/element 0.18.0-c141960 → 0.18.0-c1dbbdf
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 +2698 -954
- package/dist/dev/index.js.map +4 -4
- package/dist/prod/index.js +18 -18
- package/dist/types/common/debug.d.ts +21 -0
- 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 +17 -11
- package/dist/types/common/src/editorInterface.d.ts +1 -1
- package/dist/types/common/src/font-metadata.d.ts +1 -3
- package/dist/types/common/src/index.d.ts +2 -1
- 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 +46 -38
- package/dist/types/element/src/Scene.d.ts +5 -3
- package/dist/types/element/src/arrows/focus.d.ts +27 -0
- package/dist/types/element/src/arrows/helpers.d.ts +5 -0
- package/dist/types/element/src/binding.d.ts +19 -12
- package/dist/types/element/src/bounds.d.ts +2 -10
- package/dist/types/element/src/collision.d.ts +4 -3
- package/dist/types/element/src/comparisons.d.ts +7 -7
- package/dist/types/element/src/distribute.d.ts +2 -1
- 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/elbowArrow.d.ts +2 -0
- 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 +3 -0
- package/dist/types/element/src/linearElementEditor.d.ts +6 -2
- package/dist/types/element/src/mutateElement.d.ts +5 -1
- package/dist/types/element/src/newElement.d.ts +6 -6
- package/dist/types/element/src/renderElement.d.ts +0 -6
- package/dist/types/element/src/resizeElements.d.ts +10 -10
- package/dist/types/element/src/resizeTest.d.ts +1 -1
- 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 +3 -23
- package/dist/types/element/src/typeChecks.d.ts +2 -4
- package/dist/types/element/src/types.d.ts +1 -1
- package/dist/types/element/src/utils.d.ts +8 -4
- package/dist/types/{common → element}/src/visualdebug.d.ts +20 -2
- package/dist/types/element/src/zindex.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +92 -153
- package/dist/types/excalidraw/actions/actionAlign.d.ts +0 -1
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +64 -105
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +383 -618
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +64 -105
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +31 -52
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +106 -169
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +0 -1
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +0 -1
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +24 -49
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +65 -106
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +32 -53
- package/dist/types/excalidraw/actions/actionExport.d.ts +126 -211
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -2
- package/dist/types/excalidraw/actions/actionFlip.d.ts +0 -1
- package/dist/types/excalidraw/actions/actionFrame.d.ts +221 -338
- package/dist/types/excalidraw/actions/actionGroup.d.ts +68 -117
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +134 -189
- package/dist/types/excalidraw/actions/actionLink.d.ts +32 -53
- package/dist/types/excalidraw/actions/actionMenu.d.ts +23 -48
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +14 -17
- package/dist/types/excalidraw/actions/actionProperties.d.ts +79 -120
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +34 -59
- package/dist/types/excalidraw/actions/actionStyles.d.ts +30 -51
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +172 -0
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +32 -53
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +172 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +32 -53
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +22 -47
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +32 -53
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +32 -53
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +32 -53
- package/dist/types/excalidraw/actions/actionZindex.d.ts +0 -1
- package/dist/types/excalidraw/actions/index.d.ts +2 -0
- package/dist/types/excalidraw/actions/manager.d.ts +1 -1
- package/dist/types/excalidraw/actions/register.d.ts +2 -2
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +1 -1
- package/dist/types/excalidraw/appState.d.ts +12 -10
- package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
- package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
- package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
- package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
- package/dist/types/excalidraw/charts/index.d.ts +7 -0
- package/dist/types/excalidraw/clipboard.d.ts +11 -35
- package/dist/types/excalidraw/components/Actions.d.ts +1 -1
- package/dist/types/excalidraw/components/App.d.ts +43 -44
- 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 -1
- 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 -2
- 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 +1 -0
- 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/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/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/PasteChartDialog.d.ts +4 -5
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -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/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -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/CodeMirrorEditor.d.ts +11 -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 +12 -29
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -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/TTDWelcomeMessage.d.ts +1 -0
- package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -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/mermaid-lang-lite.d.ts +2 -0
- package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -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/mermaidAutoFix.d.ts +1 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.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/dropdownMenu/DropdownMenu.d.ts +48 -38
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -6
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
- 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/DropdownMenuSub.d.ts +23 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
- package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
- 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 +22 -13
- package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +2 -13
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +19 -2
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -32
- package/dist/types/excalidraw/components/shapes.d.ts +74 -1
- 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 +323 -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 +160 -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 +1 -2
- 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 -4
- package/dist/types/excalidraw/renderer/helpers.d.ts +6 -4
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -6
- 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 +7 -2
- 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 +25 -14
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
- package/dist/types/math/src/point.d.ts +6 -1
- 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/math/src/types.d.ts +25 -1
- 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
- package/dist/types/excalidraw/charts.d.ts +0 -27
|
@@ -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: (targetElements:
|
|
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,4 +1,3 @@
|
|
|
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
3
|
callback: (event: Event & {
|
|
@@ -16,7 +15,7 @@ callback: (event: Event & {
|
|
|
16
15
|
* Returning `undefined` will fallback to the default behavior.
|
|
17
16
|
*/
|
|
18
17
|
isInside?: (event: Event & {
|
|
19
|
-
target:
|
|
18
|
+
target: T;
|
|
20
19
|
},
|
|
21
20
|
/** the element of the passed ref */
|
|
22
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,12 +12,11 @@ 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
22
|
export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, getFormFactor, } from "@excalidraw/common";
|
|
@@ -36,11 +35,14 @@ export { Stats } from "./components/Stats";
|
|
|
36
35
|
export { DefaultSidebar } from "./components/DefaultSidebar";
|
|
37
36
|
export { TTDDialog } from "./components/TTDDialog/TTDDialog";
|
|
38
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";
|
|
39
40
|
export { zoomToFitBounds } from "./actions/actionCanvas";
|
|
40
|
-
export { convertToExcalidrawElements } from "
|
|
41
|
-
export { getCommonBounds, getVisibleSceneBounds } from "@excalidraw/element";
|
|
41
|
+
export { getCommonBounds, getVisibleSceneBounds, convertToExcalidrawElements, } from "@excalidraw/element";
|
|
42
42
|
export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
|
|
43
43
|
export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
|
|
44
44
|
export { getDataURL } from "./data/blob";
|
|
45
45
|
export { isElementLink } from "@excalidraw/element";
|
|
46
46
|
export { setCustomTextMetricsProvider } from "@excalidraw/element";
|
|
47
|
+
export { CommandPalette } from "./components/CommandPalette/CommandPalette";
|
|
48
|
+
export { renderSpreadsheet, tryParseSpreadsheet, isSpreadsheetValidForChartType, } from "./charts";
|
|
@@ -7,8 +7,10 @@ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normali
|
|
|
7
7
|
scale: number;
|
|
8
8
|
normalizedWidth: number;
|
|
9
9
|
normalizedHeight: number;
|
|
10
|
-
theme?:
|
|
11
|
-
isExporting?:
|
|
12
|
-
viewBackgroundColor?:
|
|
10
|
+
theme?: AppState["theme"];
|
|
11
|
+
isExporting?: StaticCanvasRenderConfig["isExporting"];
|
|
12
|
+
viewBackgroundColor?: StaticCanvasAppState["viewBackgroundColor"];
|
|
13
13
|
}) => CanvasRenderingContext2D;
|
|
14
|
-
export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean,
|
|
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,12 +1,14 @@
|
|
|
1
1
|
import { getScrollBars } from "../scene/scrollbars";
|
|
2
2
|
import type { InteractiveSceneRenderConfig, RenderableElementsMap } from "../scene/types";
|
|
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;
|
|
8
|
+
};
|
|
3
9
|
/**
|
|
4
10
|
* Interactive scene is the ui-canvas where we render bounding boxes, selections
|
|
5
11
|
* and other ui stuff.
|
|
6
12
|
*/
|
|
7
|
-
export declare const renderInteractiveScene: <U extends (
|
|
8
|
-
|
|
9
|
-
atLeastOneVisibleElement: boolean;
|
|
10
|
-
elementsMap: RenderableElementsMap;
|
|
11
|
-
animationState?: import("../scene/types").InteractiveSceneRenderAnimationState | undefined;
|
|
12
|
-
}>(renderConfig: InteractiveSceneRenderConfig) => 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;
|
|
@@ -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[]>;
|
|
@@ -115,14 +117,17 @@ export type ScrollBars = {
|
|
|
115
117
|
deltaMultiplier: number;
|
|
116
118
|
} | null;
|
|
117
119
|
};
|
|
118
|
-
export type
|
|
120
|
+
export type SVGPathString = string & {
|
|
121
|
+
__brand: "SVGPathString";
|
|
122
|
+
};
|
|
123
|
+
export type ElementShape = Drawable | Drawable[] | Path2D | (Drawable | SVGPathString)[] | null;
|
|
119
124
|
export type ElementShapes = {
|
|
120
125
|
rectangle: Drawable;
|
|
121
126
|
ellipse: Drawable;
|
|
122
127
|
diamond: Drawable;
|
|
123
128
|
iframe: Drawable;
|
|
124
129
|
embeddable: Drawable;
|
|
125
|
-
freedraw: Drawable |
|
|
130
|
+
freedraw: (Drawable | SVGPathString)[];
|
|
126
131
|
arrow: Drawable[];
|
|
127
132
|
line: Drawable[];
|
|
128
133
|
text: null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type GlobalPoint } from "@excalidraw/math";
|
|
2
2
|
import type { InclusiveRange } from "@excalidraw/math";
|
|
3
|
-
import type { Bounds } from "@excalidraw/
|
|
3
|
+
import type { Bounds } from "@excalidraw/common";
|
|
4
4
|
import type { MaybeTransformHandleType } from "@excalidraw/element";
|
|
5
5
|
import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
6
6
|
import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
|
|
@@ -70,9 +70,9 @@ export declare const isSnappingEnabled: ({ event, app, selectedElements, }: {
|
|
|
70
70
|
}) => boolean;
|
|
71
71
|
export declare const areRoughlyEqual: (a: number, b: number, precision?: number) => boolean;
|
|
72
72
|
export declare const getElementsCorners: (elements: ExcalidrawElement[], elementsMap: ElementsMap, { omitCenter, boundingBoxCorners, dragOffset, }?: {
|
|
73
|
-
omitCenter?: boolean
|
|
74
|
-
boundingBoxCorners?: boolean
|
|
75
|
-
dragOffset?: Vector2D
|
|
73
|
+
omitCenter?: boolean;
|
|
74
|
+
boundingBoxCorners?: boolean;
|
|
75
|
+
dragOffset?: Vector2D;
|
|
76
76
|
}) => GlobalPoint[];
|
|
77
77
|
export declare const getVisibleGaps: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => {
|
|
78
78
|
horizontalGaps: Gap[];
|
|
@@ -107,5 +107,5 @@ export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElemen
|
|
|
107
107
|
};
|
|
108
108
|
snapLines: PointerSnapLine[];
|
|
109
109
|
};
|
|
110
|
-
export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) =>
|
|
110
|
+
export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => activeToolType is "text" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "magicframe";
|
|
111
111
|
export {};
|
|
@@ -38,7 +38,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
38
38
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
39
39
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
40
40
|
*/
|
|
41
|
-
declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array
|
|
41
|
+
declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array<ArrayBuffer>;
|
|
42
42
|
declare const _default: {
|
|
43
43
|
subset: typeof subset;
|
|
44
44
|
};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* In the future consider separating common utils into a separate shared chunk.
|
|
8
8
|
*/
|
|
9
9
|
declare const load: () => Promise<{
|
|
10
|
-
subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array
|
|
10
|
+
subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array<ArrayBuffer>;
|
|
11
11
|
}>;
|
|
12
12
|
declare const _default: () => ReturnType<typeof load>;
|
|
13
13
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: Uint8Array
|
|
1
|
+
declare const _default: Uint8Array<ArrayBuffer>;
|
|
2
2
|
export default _default;
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* In the future consider separating common utils into a separate shared chunk.
|
|
8
8
|
*/
|
|
9
9
|
declare const load: () => Promise<{
|
|
10
|
-
compress: (buffer: ArrayBuffer) => Uint8Array
|
|
11
|
-
decompress: (buffer: ArrayBuffer) => Uint8Array
|
|
10
|
+
compress: (buffer: ArrayBuffer) => Uint8Array<ArrayBuffer>;
|
|
11
|
+
decompress: (buffer: ArrayBuffer) => Uint8Array<ArrayBuffer>;
|
|
12
12
|
}>;
|
|
13
13
|
declare const _default: () => ReturnType<typeof load>;
|
|
14
14
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: Uint8Array
|
|
1
|
+
declare const _default: Uint8Array<ArrayBuffer>;
|
|
2
2
|
export default _default;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { IMAGE_MIME_TYPES, UserIdleState, throttleRAF, MIME_TYPES, EditorInterface } from "@excalidraw/common";
|
|
2
2
|
import type { LinearElementEditor } from "@excalidraw/element";
|
|
3
3
|
import type { MaybeTransformHandleType } from "@excalidraw/element";
|
|
4
|
-
import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead,
|
|
4
|
+
import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead, FontFamilyValues, FileId, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement, BindMode } from "@excalidraw/element/types";
|
|
5
5
|
import type { Merge, MaybePromise, ValueOf, MakeBrand } from "@excalidraw/common/utility-types";
|
|
6
6
|
import type { CaptureUpdateActionType, DurableIncrement, EphemeralIncrement } from "@excalidraw/element";
|
|
7
|
+
import type { GlobalPoint } from "@excalidraw/math";
|
|
7
8
|
import type { Action } from "./actions/types";
|
|
8
9
|
import type { Spreadsheet } from "./charts";
|
|
9
10
|
import type { ClipboardData } from "./clipboard";
|
|
@@ -17,6 +18,7 @@ import type { Language } from "./i18n";
|
|
|
17
18
|
import type { isOverScrollBars } from "./scene/scrollbars";
|
|
18
19
|
import type React from "react";
|
|
19
20
|
import type { JSX } from "react";
|
|
21
|
+
export type { App };
|
|
20
22
|
export type SocketId = string & {
|
|
21
23
|
_brand: "SocketId";
|
|
22
24
|
};
|
|
@@ -128,6 +130,7 @@ export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
|
128
130
|
croppingElementId: AppState["croppingElementId"];
|
|
129
131
|
}>;
|
|
130
132
|
export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
133
|
+
activeTool: AppState["activeTool"];
|
|
131
134
|
activeEmbeddable: AppState["activeEmbeddable"];
|
|
132
135
|
selectionElement: AppState["selectionElement"];
|
|
133
136
|
selectedGroupIds: AppState["selectedGroupIds"];
|
|
@@ -135,6 +138,7 @@ export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
|
135
138
|
multiElement: AppState["multiElement"];
|
|
136
139
|
newElement: AppState["newElement"];
|
|
137
140
|
isBindingEnabled: AppState["isBindingEnabled"];
|
|
141
|
+
isMidpointSnappingEnabled: AppState["isMidpointSnappingEnabled"];
|
|
138
142
|
suggestedBinding: AppState["suggestedBinding"];
|
|
139
143
|
isRotating: AppState["isRotating"];
|
|
140
144
|
elementsToHighlight: AppState["elementsToHighlight"];
|
|
@@ -150,6 +154,7 @@ export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
|
150
154
|
frameRendering: AppState["frameRendering"];
|
|
151
155
|
shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
|
|
152
156
|
exportScale: AppState["exportScale"];
|
|
157
|
+
currentItemArrowType: AppState["currentItemArrowType"];
|
|
153
158
|
}>;
|
|
154
159
|
export type ObservedAppState = ObservedStandaloneAppState & ObservedElementsAppState;
|
|
155
160
|
export type ObservedStandaloneAppState = {
|
|
@@ -201,9 +206,20 @@ export interface AppState {
|
|
|
201
206
|
* - set on pointer down, updated during pointer move
|
|
202
207
|
*/
|
|
203
208
|
selectionElement: NonDeletedExcalidrawElement | null;
|
|
209
|
+
/**
|
|
210
|
+
* tracking current arrow binding editor state (takes into account
|
|
211
|
+
* `bindingPreference` and keyboard modifiers (ctrl/alt)
|
|
212
|
+
*/
|
|
204
213
|
isBindingEnabled: boolean;
|
|
214
|
+
/** user arrow binding preference */
|
|
215
|
+
bindingPreference: "enabled" | "disabled";
|
|
216
|
+
/** user preference whether arrow snap to midpoints while binding */
|
|
217
|
+
isMidpointSnappingEnabled: boolean;
|
|
205
218
|
startBoundElement: NonDeleted<ExcalidrawBindableElement> | null;
|
|
206
|
-
suggestedBinding:
|
|
219
|
+
suggestedBinding: {
|
|
220
|
+
element: NonDeleted<ExcalidrawBindableElement>;
|
|
221
|
+
midPoint?: GlobalPoint;
|
|
222
|
+
} | null;
|
|
207
223
|
frameToHighlight: NonDeleted<ExcalidrawFrameLikeElement> | null;
|
|
208
224
|
frameRendering: {
|
|
209
225
|
enabled: boolean;
|
|
@@ -278,6 +294,10 @@ export interface AppState {
|
|
|
278
294
|
} | {
|
|
279
295
|
name: "elementLinkSelector";
|
|
280
296
|
sourceElementId: ExcalidrawElement["id"];
|
|
297
|
+
} | {
|
|
298
|
+
name: "charts";
|
|
299
|
+
data: Spreadsheet;
|
|
300
|
+
rawText: string;
|
|
281
301
|
};
|
|
282
302
|
/**
|
|
283
303
|
* Reflects user preference for whether the default sidebar should be docked.
|
|
@@ -329,14 +349,6 @@ export interface AppState {
|
|
|
329
349
|
/** bitmap. Use `STATS_PANELS` bit values */
|
|
330
350
|
panels: number;
|
|
331
351
|
};
|
|
332
|
-
currentChartType: ChartType;
|
|
333
|
-
pasteDialog: {
|
|
334
|
-
shown: false;
|
|
335
|
-
data: null;
|
|
336
|
-
} | {
|
|
337
|
-
shown: true;
|
|
338
|
-
data: Spreadsheet;
|
|
339
|
-
};
|
|
340
352
|
showHyperlinkPopup: false | "info" | "editor";
|
|
341
353
|
selectedLinearElement: LinearElementEditor | null;
|
|
342
354
|
snapLines: readonly SnapLine[];
|
|
@@ -375,7 +387,7 @@ export type SearchMatch = {
|
|
|
375
387
|
showOnCanvas: boolean;
|
|
376
388
|
}[];
|
|
377
389
|
};
|
|
378
|
-
export type UIAppState = Omit<AppState, "
|
|
390
|
+
export type UIAppState = Omit<AppState, "startBoundElement" | "cursorButton" | "scrollX" | "scrollY">;
|
|
379
391
|
export type NormalizedZoomValue = number & {
|
|
380
392
|
_brand: "normalizedZoom";
|
|
381
393
|
};
|
|
@@ -515,8 +527,7 @@ export type UIOptions = Partial<{
|
|
|
515
527
|
* Optionally control the editor form factor and desktop UI mode from the host app.
|
|
516
528
|
* If not provided, we will take care of it internally.
|
|
517
529
|
*/
|
|
518
|
-
|
|
519
|
-
desktopUIMode?: EditorInterface["desktopUIMode"];
|
|
530
|
+
getFormFactor?: (editorWidth: number, editorHeight: number) => EditorInterface["formFactor"];
|
|
520
531
|
/** @deprecated does nothing. Will be removed in 0.15 */
|
|
521
532
|
welcomeScreen?: boolean;
|
|
522
533
|
}>;
|
|
@@ -577,6 +588,7 @@ export type AppClassProperties = {
|
|
|
577
588
|
onPointerUpEmitter: App["onPointerUpEmitter"];
|
|
578
589
|
updateEditorAtom: App["updateEditorAtom"];
|
|
579
590
|
onPointerDownEmitter: App["onPointerDownEmitter"];
|
|
591
|
+
lastPointerMoveCoords: App["lastPointerMoveCoords"];
|
|
580
592
|
bindModeHandler: App["bindModeHandler"];
|
|
581
593
|
};
|
|
582
594
|
export type PointerDownState = Readonly<{
|
|
@@ -716,4 +728,3 @@ export type Offsets = Partial<{
|
|
|
716
728
|
bottom: number;
|
|
717
729
|
left: number;
|
|
718
730
|
}>;
|
|
719
|
-
export {};
|
|
@@ -9,7 +9,7 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
|
|
|
9
9
|
* Note: `text`, which can be wrapped and therefore different from `originalText`,
|
|
10
10
|
* is derived from `originalText`
|
|
11
11
|
*/
|
|
12
|
-
onChange?: (
|
|
12
|
+
onChange?: (nextOriginalText: string) => void;
|
|
13
13
|
onSubmit: (data: {
|
|
14
14
|
viaKeyboard: boolean;
|
|
15
15
|
nextOriginalText: string;
|
|
@@ -19,6 +19,6 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
|
|
|
19
19
|
canvas: HTMLCanvasElement;
|
|
20
20
|
excalidrawContainer: HTMLDivElement | null;
|
|
21
21
|
app: App;
|
|
22
|
-
autoSelect?: boolean
|
|
22
|
+
autoSelect?: boolean;
|
|
23
23
|
}) => SubmitHandler;
|
|
24
24
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LocalPoint, GlobalPoint, Radians, Degrees, Vector } from "./types";
|
|
1
|
+
import type { LocalPoint, GlobalPoint, Radians, Degrees, Vector, GlobalCoord, LocalCoord } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Create a properly typed Point instance from the X and Y coordinates.
|
|
4
4
|
*
|
|
@@ -7,6 +7,11 @@ import type { LocalPoint, GlobalPoint, Radians, Degrees, Vector } from "./types"
|
|
|
7
7
|
* @returns The branded and created point
|
|
8
8
|
*/
|
|
9
9
|
export declare function pointFrom<Point extends GlobalPoint | LocalPoint>(x: number, y: number): Point;
|
|
10
|
+
export declare function pointFrom<Coord extends GlobalCoord | LocalCoord>(coords: Coord): Coord extends GlobalCoord ? GlobalPoint : LocalPoint;
|
|
11
|
+
export declare function pointFrom<Point extends GlobalPoint | LocalPoint>(coords: {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
}): Point;
|
|
10
15
|
/**
|
|
11
16
|
* Converts and remaps an array containing a pair of numbers to Point.
|
|
12
17
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GlobalPoint, LocalPoint, Polygon } from "./types";
|
|
2
2
|
export declare function polygon<Point extends GlobalPoint | LocalPoint>(...points: Point[]): Polygon<Point>;
|
|
3
3
|
export declare function polygonFromPoints<Point extends GlobalPoint | LocalPoint>(points: Point[]): Polygon<Point>;
|
|
4
|
-
export declare const polygonIncludesPoint: <Point extends
|
|
4
|
+
export declare const polygonIncludesPoint: <Point extends LocalPoint | GlobalPoint>(point: Point, polygon: Polygon<Point>) => boolean;
|
|
5
5
|
export declare const polygonIncludesPointNonZero: <Point extends [number, number]>(point: Point, polygon: Point[]) => boolean;
|
|
6
|
-
export declare const pointOnPolygon: <Point extends
|
|
6
|
+
export declare const pointOnPolygon: <Point extends LocalPoint | GlobalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;
|
|
@@ -13,9 +13,7 @@ export declare function rangeInclusive(start: number, end: number): InclusiveRan
|
|
|
13
13
|
* @param pair The number pair to convert to an inclusive range
|
|
14
14
|
* @returns The new inclusive range
|
|
15
15
|
*/
|
|
16
|
-
export declare function rangeInclusiveFromPair(pair: [start: number, end: number]):
|
|
17
|
-
_brand: "excalimath_degree";
|
|
18
|
-
};
|
|
16
|
+
export declare function rangeInclusiveFromPair(pair: [start: number, end: number]): InclusiveRange;
|
|
19
17
|
/**
|
|
20
18
|
* Given two ranges, return if the two ranges overlap with each other e.g.
|
|
21
19
|
* [1, 3] overlaps with [2, 4] while [1, 3] does not overlap with [4, 5].
|
|
@@ -21,14 +21,14 @@ export declare const isLineSegment: <Point extends GlobalPoint | LocalPoint>(seg
|
|
|
21
21
|
* @param origin
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
export declare const lineSegmentRotate: <Point extends
|
|
24
|
+
export declare const lineSegmentRotate: <Point extends LocalPoint | GlobalPoint>(l: LineSegment<Point>, angle: Radians, origin?: Point) => LineSegment<Point>;
|
|
25
25
|
/**
|
|
26
26
|
* Calculates the point two line segments with a definite start and end point
|
|
27
27
|
* intersect at.
|
|
28
28
|
*/
|
|
29
29
|
export declare const segmentsIntersectAt: <Point extends GlobalPoint | LocalPoint>(a: Readonly<LineSegment<Point>>, b: Readonly<LineSegment<Point>>) => Point | null;
|
|
30
|
-
export declare const pointOnLineSegment: <Point extends
|
|
31
|
-
export declare const distanceToLineSegment: <Point extends
|
|
30
|
+
export declare const pointOnLineSegment: <Point extends LocalPoint | GlobalPoint>(point: Point, line: LineSegment<Point>, threshold?: number) => boolean;
|
|
31
|
+
export declare const distanceToLineSegment: <Point extends LocalPoint | GlobalPoint>(point: Point, line: LineSegment<Point>) => number;
|
|
32
32
|
/**
|
|
33
33
|
* Returns the intersection point of a segment and a line
|
|
34
34
|
*
|
|
@@ -19,12 +19,24 @@ export type InclusiveRange = [number, number] & {
|
|
|
19
19
|
_brand: "excalimath_degree";
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* Represents a 2D position in world
|
|
22
|
+
* Represents a 2D position in world/canvas/scene space. A
|
|
23
23
|
* global coordinate.
|
|
24
24
|
*/
|
|
25
25
|
export type GlobalPoint = [x: number, y: number] & {
|
|
26
26
|
_brand: "excalimath__globalpoint";
|
|
27
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Represents a 2D position in world/canvas/scene space. A
|
|
30
|
+
* global coordinate.
|
|
31
|
+
*
|
|
32
|
+
* TODO remove this once we migrate the codebase to use Point tuples everywhere
|
|
33
|
+
*/
|
|
34
|
+
export type GlobalCoord = {
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
} & {
|
|
38
|
+
_brand: "excalimath__globalcoord";
|
|
39
|
+
};
|
|
28
40
|
/**
|
|
29
41
|
* Represents a 2D position in whatever local space it's
|
|
30
42
|
* needed. A local coordinate.
|
|
@@ -32,6 +44,18 @@ export type GlobalPoint = [x: number, y: number] & {
|
|
|
32
44
|
export type LocalPoint = [x: number, y: number] & {
|
|
33
45
|
_brand: "excalimath__localpoint";
|
|
34
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Represents a 2D position in whatever local space it's needed.
|
|
49
|
+
* A local coordinate.
|
|
50
|
+
*
|
|
51
|
+
* TODO remove this once we migrate the codebase to use Point tuples everywhere
|
|
52
|
+
*/
|
|
53
|
+
export type LocalCoord = {
|
|
54
|
+
x: number;
|
|
55
|
+
y: number;
|
|
56
|
+
} & {
|
|
57
|
+
_brand: "excalimath__localcoord";
|
|
58
|
+
};
|
|
35
59
|
/**
|
|
36
60
|
* A line is an infinitely long object with no width, depth, or curvature.
|
|
37
61
|
*/
|