@zsviczian/excalidraw 0.15.2-obsidian-1 → 0.15.2-obsidian-2
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/excalidraw.development.js +462 -198
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/actions/actionAddToLibrary.d.ts +15 -6
- package/types/actions/actionBoundText.d.ts +10 -4
- package/types/actions/actionCanvas.d.ts +50 -20
- package/types/actions/actionClipboard.d.ts +25 -10
- package/types/actions/actionDeleteSelected.d.ts +15 -6
- package/types/actions/actionExport.d.ts +45 -18
- package/types/actions/actionFinalize.d.ts +10 -4
- package/types/actions/actionLinearEditor.d.ts +5 -2
- package/types/actions/actionMenu.d.ts +15 -6
- package/types/actions/actionProperties.d.ts +65 -26
- package/types/actions/actionStyles.d.ts +5 -2
- package/types/actions/actionToggleGridMode.d.ts +5 -2
- package/types/actions/actionToggleLock.d.ts +5 -2
- package/types/actions/actionToggleStats.d.ts +5 -2
- package/types/actions/actionToggleViewMode.d.ts +5 -2
- package/types/actions/actionToggleZenMode.d.ts +5 -2
- package/types/appState.d.ts +5 -2
- package/types/clipboard.d.ts +2 -2
- package/types/components/Actions.d.ts +5 -5
- package/types/components/App.d.ts +10 -3
- package/types/components/Button.d.ts +3 -1
- package/types/components/DefaultSidebar.d.ts +30 -0
- package/types/components/HintViewer.d.ts +2 -2
- package/types/components/ImageExportDialog.d.ts +4 -4
- package/types/components/JSONExportDialog.d.ts +3 -3
- package/types/components/LayerUI.d.ts +3 -10
- package/types/components/LibraryMenu.d.ts +32 -13
- package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
- package/types/components/LibraryMenuControlButtons.d.ts +9 -0
- package/types/components/LibraryMenuHeaderContent.d.ts +9 -28
- package/types/components/LibraryMenuItems.d.ts +2 -2
- package/types/components/MobileMenu.d.ts +3 -3
- package/types/components/PasteChartDialog.d.ts +4 -5
- package/types/components/PublishLibrary.d.ts +2 -2
- package/types/components/Sidebar/Sidebar.d.ts +68 -45
- package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
- package/types/components/Sidebar/SidebarTab.d.ts +9 -0
- package/types/components/Sidebar/SidebarTabTrigger.d.ts +10 -0
- package/types/components/Sidebar/SidebarTabTriggers.d.ts +7 -0
- package/types/components/Sidebar/SidebarTabs.d.ts +7 -0
- package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
- package/types/components/Sidebar/common.d.ts +23 -6
- package/types/components/Stats.d.ts +3 -3
- package/types/components/Trans.d.ts +8 -0
- package/types/components/footer/Footer.d.ts +2 -2
- package/types/constants.d.ts +5 -0
- package/types/context/tunnels.d.ts +18 -0
- package/types/context/ui-appState.d.ts +4 -0
- package/types/data/types.d.ts +2 -4
- package/types/element/Hyperlink.d.ts +7 -4
- package/types/element/linearElementEditor.d.ts +5 -2
- package/types/element/newElement.d.ts +6 -1
- package/types/element/showSelectedShapeActions.d.ts +2 -2
- package/types/element/textElement.d.ts +2 -2
- package/types/hooks/useOutsideClick.d.ts +1 -1
- package/types/packages/excalidraw/index.d.ts +2 -1
- package/types/packages/utils.d.ts +1 -1
- package/types/scene/selection.d.ts +4 -4
- package/types/types.d.ts +23 -12
- package/types/utils.d.ts +2 -2
|
@@ -1,35 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { LibraryItem, UIAppState } from "../types";
|
|
2
3
|
import Library from "../data/library";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
write: (get: {
|
|
6
|
-
<Value>(atom: import("jotai").Atom<Value | Promise<Value>>): Value;
|
|
7
|
-
<Value_1>(atom: import("jotai").Atom<Promise<Value_1>>): Value_1;
|
|
8
|
-
<Value_2>(atom: import("jotai").Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
|
|
9
|
-
} & {
|
|
10
|
-
<Value_3>(atom: import("jotai").Atom<Value_3 | Promise<Value_3>>, options: {
|
|
11
|
-
unstable_promise: true;
|
|
12
|
-
}): Value_3 | Promise<Value_3>;
|
|
13
|
-
<Value_4>(atom: import("jotai").Atom<Promise<Value_4>>, options: {
|
|
14
|
-
unstable_promise: true;
|
|
15
|
-
}): Value_4 | Promise<Value_4>;
|
|
16
|
-
<Value_5>(atom: import("jotai").Atom<Value_5>, options: {
|
|
17
|
-
unstable_promise: true;
|
|
18
|
-
}): (Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5) | Promise<Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5>;
|
|
19
|
-
}, set: {
|
|
20
|
-
<Value_6, Result extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_6, undefined, Result>): Result;
|
|
21
|
-
<Value_7, Update, Result_1 extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_7, Update, Result_1>, update: Update): Result_1;
|
|
22
|
-
}, update: boolean | ((prev: boolean) => boolean)) => void;
|
|
23
|
-
onMount?: (<S extends (update: boolean | ((prev: boolean) => boolean)) => void>(setAtom: S) => void | (() => void)) | undefined;
|
|
24
|
-
} & {
|
|
25
|
-
init: boolean;
|
|
26
|
-
};
|
|
27
|
-
export declare const LibraryMenuHeader: React.FC<{
|
|
28
|
-
setAppState: React.Component<any, AppState>["setState"];
|
|
4
|
+
export declare const LibraryDropdownMenuButton: React.FC<{
|
|
5
|
+
setAppState: React.Component<any, UIAppState>["setState"];
|
|
29
6
|
selectedItems: LibraryItem["id"][];
|
|
30
7
|
library: Library;
|
|
31
8
|
onRemoveFromLibrary: () => void;
|
|
32
9
|
resetLibrary: () => void;
|
|
33
10
|
onSelectItems: (items: LibraryItem["id"][]) => void;
|
|
34
|
-
appState:
|
|
11
|
+
appState: UIAppState;
|
|
35
12
|
}>;
|
|
13
|
+
export declare const LibraryDropdownMenu: ({ selectedItems, onSelectItems, }: {
|
|
14
|
+
selectedItems: LibraryItem["id"][];
|
|
15
|
+
onSelectItems: (id: LibraryItem["id"][]) => void;
|
|
16
|
+
}) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExcalidrawProps, LibraryItem, LibraryItems, UIAppState } from "../types";
|
|
2
2
|
import "./LibraryMenuItems.scss";
|
|
3
3
|
declare const LibraryMenuItems: ({ isLoading, libraryItems, onAddToLibrary, onInsertLibraryItems, pendingElements, selectedItems, onSelectItems, theme, id, libraryReturnUrl, }: {
|
|
4
4
|
isLoading: boolean;
|
|
@@ -9,7 +9,7 @@ declare const LibraryMenuItems: ({ isLoading, libraryItems, onAddToLibrary, onIn
|
|
|
9
9
|
selectedItems: LibraryItem["id"][];
|
|
10
10
|
onSelectItems: (id: LibraryItem["id"][]) => void;
|
|
11
11
|
libraryReturnUrl: ExcalidrawProps["libraryReturnUrl"];
|
|
12
|
-
theme:
|
|
12
|
+
theme: UIAppState["theme"];
|
|
13
13
|
id: string;
|
|
14
14
|
}) => JSX.Element;
|
|
15
15
|
export default LibraryMenuItems;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { AppState, Device, ExcalidrawProps } from "../types";
|
|
2
|
+
import { AppState, Device, ExcalidrawProps, UIAppState } from "../types";
|
|
3
3
|
import { ActionManager } from "../actions/manager";
|
|
4
4
|
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
5
5
|
declare type MobileMenuProps = {
|
|
6
|
-
appState:
|
|
6
|
+
appState: UIAppState;
|
|
7
7
|
actionManager: ActionManager;
|
|
8
8
|
renderJSONExportDialog: () => React.ReactNode;
|
|
9
9
|
renderImageExportDialog: () => React.ReactNode;
|
|
@@ -16,7 +16,7 @@ declare type MobileMenuProps = {
|
|
|
16
16
|
onImageAction: (data: {
|
|
17
17
|
insertOnCanvasDirectly: boolean;
|
|
18
18
|
}) => void;
|
|
19
|
-
renderTopRightUI?: (isMobile: boolean, appState:
|
|
19
|
+
renderTopRightUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
|
|
20
20
|
renderCustomStats?: ExcalidrawProps["renderCustomStats"];
|
|
21
21
|
renderSidebars: () => JSX.Element | null;
|
|
22
22
|
device: Device;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { UIAppState } from "../types";
|
|
3
3
|
import "./PasteChartDialog.scss";
|
|
4
|
-
export declare const PasteChartDialog: ({ setAppState, appState, onClose,
|
|
5
|
-
appState:
|
|
4
|
+
export declare const PasteChartDialog: ({ setAppState, appState, onClose, }: {
|
|
5
|
+
appState: UIAppState;
|
|
6
6
|
onClose: () => void;
|
|
7
|
-
setAppState: React.Component<any,
|
|
8
|
-
onInsertChart: (elements: LibraryItem["elements"]) => void;
|
|
7
|
+
setAppState: React.Component<any, UIAppState>["setState"];
|
|
9
8
|
}) => JSX.Element;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LibraryItems, UIAppState } from "../types";
|
|
2
2
|
import "./PublishLibrary.scss";
|
|
3
3
|
declare const PublishLibrary: ({ onClose, libraryItems, appState, onSuccess, onError, updateItemsInStorage, onRemove, }: {
|
|
4
4
|
onClose: () => void;
|
|
5
5
|
libraryItems: LibraryItems;
|
|
6
|
-
appState:
|
|
6
|
+
appState: UIAppState;
|
|
7
7
|
onSuccess: (data: {
|
|
8
8
|
url: string;
|
|
9
9
|
authorName: string;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import "./Sidebar.scss";
|
|
3
|
-
/**
|
|
4
|
-
* the
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Flags whether the currently rendered Sidebar is docked or not, for use
|
|
5
|
+
* in upstream components that need to act on this (e.g. LayerUI to shift the
|
|
6
|
+
* UI). We use an atom because of potential host app sidebars (for the default
|
|
7
|
+
* sidebar we could just read from appState.defaultSidebarDockedPreference).
|
|
8
|
+
*
|
|
9
|
+
* Since we can only render one Sidebar at a time, we can use a simple flag.
|
|
10
|
+
*/
|
|
11
|
+
export declare const isSidebarDockedAtom: import("jotai").Atom<boolean> & {
|
|
9
12
|
write: (get: {
|
|
10
13
|
<Value>(atom: import("jotai").Atom<Value | Promise<Value>>): Value;
|
|
11
14
|
<Value_1>(atom: import("jotai").Atom<Promise<Value_1>>): Value_1;
|
|
@@ -23,51 +26,71 @@ export declare const hostSidebarCountersAtom: import("jotai").Atom<{
|
|
|
23
26
|
}, set: {
|
|
24
27
|
<Value_6, Result extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_6, undefined, Result>): Result;
|
|
25
28
|
<Value_7, Update, Result_1 extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_7, Update, Result_1>, update: Update): Result_1;
|
|
26
|
-
}, update:
|
|
27
|
-
|
|
28
|
-
docked: number;
|
|
29
|
-
} | ((prev: {
|
|
30
|
-
rendered: number;
|
|
31
|
-
docked: number;
|
|
32
|
-
}) => {
|
|
33
|
-
rendered: number;
|
|
34
|
-
docked: number;
|
|
35
|
-
})) => void;
|
|
36
|
-
onMount?: (<S extends (update: {
|
|
37
|
-
rendered: number;
|
|
38
|
-
docked: number;
|
|
39
|
-
} | ((prev: {
|
|
40
|
-
rendered: number;
|
|
41
|
-
docked: number;
|
|
42
|
-
}) => {
|
|
43
|
-
rendered: number;
|
|
44
|
-
docked: number;
|
|
45
|
-
})) => void>(setAtom: S) => void | (() => void)) | undefined;
|
|
29
|
+
}, update: boolean | ((prev: boolean) => boolean)) => void;
|
|
30
|
+
onMount?: (<S extends (update: boolean | ((prev: boolean) => boolean)) => void>(setAtom: S) => void | (() => void)) | undefined;
|
|
46
31
|
} & {
|
|
47
|
-
init:
|
|
48
|
-
rendered: number;
|
|
49
|
-
docked: number;
|
|
50
|
-
};
|
|
32
|
+
init: boolean;
|
|
51
33
|
};
|
|
52
|
-
export declare const
|
|
53
|
-
|
|
54
|
-
|
|
34
|
+
export declare const SidebarInner: React.ForwardRefExoticComponent<Pick<{
|
|
35
|
+
name: string;
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
onStateChange?: ((state: {
|
|
38
|
+
name: string;
|
|
39
|
+
tab?: string | undefined;
|
|
40
|
+
} | null) => void) | undefined;
|
|
55
41
|
onDock?: ((docked: boolean) => void) | undefined;
|
|
56
42
|
docked?: boolean | undefined;
|
|
57
|
-
initialDockedState?: boolean | undefined;
|
|
58
|
-
dockable?: boolean | undefined;
|
|
59
43
|
className?: string | undefined;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
44
|
+
__fallback?: boolean | undefined;
|
|
45
|
+
} & Omit<React.RefAttributes<HTMLDivElement>, "onSelect">, "className" | "name" | "children" | "key" | "onDock" | "docked" | "onStateChange" | "__fallback"> & React.RefAttributes<HTMLDivElement>>;
|
|
46
|
+
export declare const Sidebar: React.ForwardRefExoticComponent<{
|
|
47
|
+
name: string;
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
onStateChange?: ((state: {
|
|
50
|
+
name: string;
|
|
51
|
+
tab?: string | undefined;
|
|
52
|
+
} | null) => void) | undefined;
|
|
53
|
+
onDock?: ((docked: boolean) => void) | undefined;
|
|
54
|
+
docked?: boolean | undefined;
|
|
55
|
+
className?: string | undefined;
|
|
56
|
+
__fallback?: boolean | undefined;
|
|
57
|
+
} & React.RefAttributes<HTMLDivElement>> & {
|
|
64
58
|
Header: {
|
|
65
|
-
(
|
|
66
|
-
children?:
|
|
59
|
+
({ children, className, }: {
|
|
60
|
+
children?: React.ReactNode;
|
|
67
61
|
className?: string | undefined;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
}): JSX.Element;
|
|
63
|
+
displayName: string;
|
|
64
|
+
};
|
|
65
|
+
TabTriggers: {
|
|
66
|
+
({ children, ...rest }: {
|
|
67
|
+
children: React.ReactNode;
|
|
68
|
+
} & Omit<React.RefAttributes<HTMLDivElement>, "onSelect">): JSX.Element;
|
|
69
|
+
displayName: string;
|
|
70
|
+
};
|
|
71
|
+
TabTrigger: {
|
|
72
|
+
({ children, tab, onSelect, ...rest }: {
|
|
73
|
+
children: React.ReactNode;
|
|
74
|
+
tab: string;
|
|
75
|
+
onSelect?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
76
|
+
} & Omit<React.HTMLAttributes<HTMLButtonElement>, "onSelect">): JSX.Element;
|
|
77
|
+
displayName: string;
|
|
78
|
+
};
|
|
79
|
+
Tabs: {
|
|
80
|
+
({ children, ...rest }: {
|
|
81
|
+
children: React.ReactNode;
|
|
82
|
+
} & Omit<React.RefAttributes<HTMLDivElement>, "onSelect">): JSX.Element | null;
|
|
83
|
+
displayName: string;
|
|
84
|
+
};
|
|
85
|
+
Tab: {
|
|
86
|
+
({ tab, children, ...rest }: {
|
|
87
|
+
tab: string;
|
|
88
|
+
children: React.ReactNode;
|
|
89
|
+
} & React.HTMLAttributes<HTMLDivElement>): JSX.Element;
|
|
90
|
+
displayName: string;
|
|
91
|
+
};
|
|
92
|
+
Trigger: {
|
|
93
|
+
({ name, tab, icon, title, children, onToggle, className, style, }: import("./common").SidebarTriggerProps): JSX.Element;
|
|
71
94
|
displayName: string;
|
|
72
95
|
};
|
|
73
96
|
};
|
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
})
|
|
6
|
-
|
|
7
|
-
export declare const SidebarHeaderComponents: {
|
|
8
|
-
Context: import("react").FC<{
|
|
9
|
-
children: import("react").ReactNode;
|
|
10
|
-
}>;
|
|
11
|
-
Component: {
|
|
12
|
-
(props: {
|
|
13
|
-
children?: React.ReactNode;
|
|
14
|
-
className?: string | undefined;
|
|
15
|
-
} & {
|
|
16
|
-
__isFallback?: boolean | undefined;
|
|
17
|
-
}): JSX.Element | null;
|
|
18
|
-
displayName: string;
|
|
19
|
-
};
|
|
1
|
+
export declare const SidebarHeader: {
|
|
2
|
+
({ children, className, }: {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
className?: string | undefined;
|
|
5
|
+
}): JSX.Element;
|
|
6
|
+
displayName: string;
|
|
20
7
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SidebarTabName } from "../../types";
|
|
3
|
+
export declare const SidebarTab: {
|
|
4
|
+
({ tab, children, ...rest }: {
|
|
5
|
+
tab: SidebarTabName;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
} & import("react").HTMLAttributes<HTMLDivElement>): JSX.Element;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SidebarTabName } from "../../types";
|
|
3
|
+
export declare const SidebarTabTrigger: {
|
|
4
|
+
({ children, tab, onSelect, ...rest }: {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
tab: SidebarTabName;
|
|
7
|
+
onSelect?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
8
|
+
} & Omit<import("react").HTMLAttributes<HTMLButtonElement>, "onSelect">): JSX.Element;
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { AppState, SidebarName, SidebarTabName } from "../../types";
|
|
3
|
+
export declare type SidebarTriggerProps = {
|
|
4
|
+
name: SidebarName;
|
|
5
|
+
tab?: SidebarTabName;
|
|
6
|
+
icon?: JSX.Element;
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
title?: string;
|
|
9
|
+
className?: string;
|
|
10
|
+
onToggle?: (open: boolean) => void;
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
|
+
};
|
|
2
13
|
export declare type SidebarProps<P = {}> = {
|
|
14
|
+
name: SidebarName;
|
|
3
15
|
children: React.ReactNode;
|
|
4
16
|
/**
|
|
5
|
-
* Called on sidebar close
|
|
17
|
+
* Called on sidebar open/close or tab change.
|
|
18
|
+
*/
|
|
19
|
+
onStateChange?: (state: AppState["openSidebar"]) => void;
|
|
20
|
+
/**
|
|
21
|
+
* supply alongside `docked` prop in order to make the Sidebar user-dockable
|
|
6
22
|
*/
|
|
7
|
-
onClose?: () => void | boolean;
|
|
8
|
-
/** if not supplied, sidebar won't be dockable */
|
|
9
23
|
onDock?: (docked: boolean) => void;
|
|
10
24
|
docked?: boolean;
|
|
11
|
-
initialDockedState?: boolean;
|
|
12
|
-
dockable?: boolean;
|
|
13
25
|
className?: string;
|
|
26
|
+
/** @private internal */
|
|
27
|
+
__fallback?: boolean;
|
|
14
28
|
} & P;
|
|
15
|
-
export declare type SidebarPropsContextValue = Pick<SidebarProps, "
|
|
29
|
+
export declare type SidebarPropsContextValue = Pick<SidebarProps, "onDock" | "docked"> & {
|
|
30
|
+
onCloseRequest: () => void;
|
|
31
|
+
shouldRenderDockButton: boolean;
|
|
32
|
+
};
|
|
16
33
|
export declare const SidebarPropsContext: React.Context<SidebarPropsContextValue>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
3
|
-
import {
|
|
3
|
+
import { ExcalidrawProps, UIAppState } from "../types";
|
|
4
4
|
import "./Stats.scss";
|
|
5
5
|
export declare const Stats: (props: {
|
|
6
|
-
appState:
|
|
7
|
-
setAppState: React.Component<any,
|
|
6
|
+
appState: UIAppState;
|
|
7
|
+
setAppState: React.Component<any, UIAppState>["setState"];
|
|
8
8
|
elements: readonly NonDeletedExcalidrawElement[];
|
|
9
9
|
onClose: () => void;
|
|
10
10
|
renderCustomStats: ExcalidrawProps["renderCustomStats"];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const Trans: ({ i18nKey, children, ...props }: {
|
|
3
|
+
[key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
|
|
4
|
+
i18nKey: string;
|
|
5
|
+
}) => React.FunctionComponentElement<{
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
}>;
|
|
8
|
+
export default Trans;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ActionManager } from "../../actions/manager";
|
|
2
|
-
import {
|
|
2
|
+
import { UIAppState } from "../../types";
|
|
3
3
|
declare const Footer: {
|
|
4
4
|
({ appState, actionManager, showExitZenModeBtn, renderWelcomeScreen, }: {
|
|
5
|
-
appState:
|
|
5
|
+
appState: UIAppState;
|
|
6
6
|
actionManager: ActionManager;
|
|
7
7
|
showExitZenModeBtn: boolean;
|
|
8
8
|
renderWelcomeScreen: boolean;
|
package/types/constants.d.ts
CHANGED
|
@@ -190,3 +190,8 @@ export declare const DEFAULT_ELEMENT_PROPS: {
|
|
|
190
190
|
opacity: ExcalidrawElement["opacity"];
|
|
191
191
|
locked: ExcalidrawElement["locked"];
|
|
192
192
|
};
|
|
193
|
+
export declare const LIBRARY_SIDEBAR_TAB = "library";
|
|
194
|
+
export declare const DEFAULT_SIDEBAR: {
|
|
195
|
+
readonly name: "default";
|
|
196
|
+
readonly defaultTab: "library";
|
|
197
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import tunnel from "tunnel-rat";
|
|
3
|
+
export declare type Tunnel = ReturnType<typeof tunnel>;
|
|
4
|
+
declare type TunnelsContextValue = {
|
|
5
|
+
MainMenuTunnel: Tunnel;
|
|
6
|
+
WelcomeScreenMenuHintTunnel: Tunnel;
|
|
7
|
+
WelcomeScreenToolbarHintTunnel: Tunnel;
|
|
8
|
+
WelcomeScreenHelpHintTunnel: Tunnel;
|
|
9
|
+
WelcomeScreenCenterTunnel: Tunnel;
|
|
10
|
+
FooterCenterTunnel: Tunnel;
|
|
11
|
+
DefaultSidebarTriggerTunnel: Tunnel;
|
|
12
|
+
DefaultSidebarTabTriggersTunnel: Tunnel;
|
|
13
|
+
jotaiScope: symbol;
|
|
14
|
+
};
|
|
15
|
+
export declare const TunnelsContext: React.Context<TunnelsContextValue>;
|
|
16
|
+
export declare const useTunnels: () => TunnelsContextValue;
|
|
17
|
+
export declare const useInitializeTunnels: () => TunnelsContextValue;
|
|
18
|
+
export {};
|
package/types/data/types.d.ts
CHANGED
|
@@ -18,10 +18,8 @@ export interface ExportedDataState {
|
|
|
18
18
|
* Don't consume on its own.
|
|
19
19
|
*/
|
|
20
20
|
export declare type LegacyAppState = {
|
|
21
|
-
/** @deprecated #
|
|
22
|
-
|
|
23
|
-
/** @deprecated #5663 TODO remove 22-12-15 */
|
|
24
|
-
isLibraryMenuDocked: [boolean, "isSidebarDocked"];
|
|
21
|
+
/** @deprecated #6213 TODO remove 23-06-01 */
|
|
22
|
+
isSidebarDocked: [boolean, "defaultSidebarDockedPreference"];
|
|
25
23
|
};
|
|
26
24
|
export interface ImportedDataState {
|
|
27
25
|
type?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { AppState, ExcalidrawProps } from "../types";
|
|
2
|
+
import { AppState, ExcalidrawProps, UIAppState } from "../types";
|
|
3
3
|
import { NonDeletedExcalidrawElement } from "./types";
|
|
4
4
|
import { Bounds } from "./bounds";
|
|
5
5
|
import "./Hyperlink.scss";
|
|
@@ -76,9 +76,12 @@ export declare const actionLink: {
|
|
|
76
76
|
value: import("../types").NormalizedZoomValue;
|
|
77
77
|
}>;
|
|
78
78
|
openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
|
|
79
|
-
openSidebar:
|
|
79
|
+
openSidebar: {
|
|
80
|
+
name: string;
|
|
81
|
+
tab?: string | undefined;
|
|
82
|
+
} | null;
|
|
80
83
|
openDialog: "imageExport" | "help" | "jsonExport" | null;
|
|
81
|
-
|
|
84
|
+
defaultSidebarDockedPreference: boolean;
|
|
82
85
|
lastPointerDownWith: import("./types").PointerType;
|
|
83
86
|
selectedElementIds: {
|
|
84
87
|
[id: string]: boolean;
|
|
@@ -149,7 +152,7 @@ export declare const actionLink: {
|
|
|
149
152
|
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
|
|
150
153
|
};
|
|
151
154
|
export declare const getContextMenuLabel: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => "labels.link.edit" | "labels.link.create";
|
|
152
|
-
export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, appState:
|
|
155
|
+
export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, appState: UIAppState) => [x: number, y: number, width: number, height: number];
|
|
153
156
|
export declare const isPointHittingLinkIcon: (element: NonDeletedExcalidrawElement, appState: AppState, [x, y]: readonly [number, number], isMobile: boolean) => boolean;
|
|
154
157
|
export declare const showHyperlinkTooltip: (element: NonDeletedExcalidrawElement, appState: AppState) => void;
|
|
155
158
|
export declare const hideHyperlinkToolip: () => void;
|
|
@@ -181,9 +181,12 @@ export declare class LinearElementEditor {
|
|
|
181
181
|
}>;
|
|
182
182
|
openMenu: "canvas" | "shape" | null;
|
|
183
183
|
openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
|
|
184
|
-
openSidebar:
|
|
184
|
+
openSidebar: {
|
|
185
|
+
name: string;
|
|
186
|
+
tab?: string | undefined;
|
|
187
|
+
} | null;
|
|
185
188
|
openDialog: "imageExport" | "help" | "jsonExport" | null;
|
|
186
|
-
|
|
189
|
+
defaultSidebarDockedPreference: boolean;
|
|
187
190
|
lastPointerDownWith: import("./types").PointerType;
|
|
188
191
|
selectedElementIds: {
|
|
189
192
|
[id: string]: boolean;
|
|
@@ -80,6 +80,11 @@ export declare const duplicateElement: <TElement extends ExcalidrawElement>(edit
|
|
|
80
80
|
* it's advised to supply the whole elements array, or sets of elements that
|
|
81
81
|
* are encapsulated (such as library items), if the purpose is to retain
|
|
82
82
|
* bindings to the cloned elements intact.
|
|
83
|
+
*
|
|
84
|
+
* NOTE by default does not randomize or regenerate anything except the id.
|
|
83
85
|
*/
|
|
84
|
-
export declare const duplicateElements: (elements: readonly ExcalidrawElement[]
|
|
86
|
+
export declare const duplicateElements: (elements: readonly ExcalidrawElement[], opts?: {
|
|
87
|
+
/** NOTE also updates version flags and `updated` */
|
|
88
|
+
randomizeSeed: boolean;
|
|
89
|
+
}) => ExcalidrawElement[];
|
|
85
90
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { AppState } from "../types";
|
|
2
1
|
import { NonDeletedExcalidrawElement } from "./types";
|
|
3
|
-
|
|
2
|
+
import { UIAppState } from "../types";
|
|
3
|
+
export declare const showSelectedShapeActions: (appState: UIAppState, elements: readonly NonDeletedExcalidrawElement[]) => boolean;
|
|
@@ -71,8 +71,8 @@ export declare const getTextBindableContainerAtPosition: (elements: readonly Exc
|
|
|
71
71
|
declare const VALID_CONTAINER_TYPES: Set<string>;
|
|
72
72
|
export declare const isValidTextContainer: (element: ExcalidrawElement) => boolean;
|
|
73
73
|
export declare const computeContainerDimensionForBoundText: (dimension: number, containerType: ExtractSetType<typeof VALID_CONTAINER_TYPES>, legacy?: boolean) => number;
|
|
74
|
-
export declare const
|
|
75
|
-
export declare const
|
|
74
|
+
export declare const getBoundTextMaxWidth: (container: ExcalidrawElement) => number;
|
|
75
|
+
export declare const getBoundTextMaxHeight: (container: ExcalidrawElement, boundTextElement: ExcalidrawTextElementWithContainer) => number;
|
|
76
76
|
export declare const isMeasureTextSupported: () => boolean;
|
|
77
77
|
export declare const getDefaultLineHeight: (fontFamily: FontFamilyValues) => number & {
|
|
78
78
|
_brand: "unitlessLineHeight";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const useOutsideClick: (handler: (event: Event) => void) => import("react").MutableRefObject<null>;
|
|
@@ -19,7 +19,7 @@ measureText, //zsviczian
|
|
|
19
19
|
getDefaultLineHeight, //zsviczian
|
|
20
20
|
wrapText, //zsviczian
|
|
21
21
|
getFontString, //zsviczian
|
|
22
|
-
|
|
22
|
+
getBoundTextMaxWidth, //zsviczian
|
|
23
23
|
exportToClipboard, mergeLibraryItems, } from "../../packages/utils";
|
|
24
24
|
export { isLinearElement } from "../../element/typeChecks";
|
|
25
25
|
export { FONT_FAMILY, THEME, MIME_TYPES } from "../../constants";
|
|
@@ -33,3 +33,4 @@ export { MainMenu };
|
|
|
33
33
|
export { useDevice } from "../../components/App";
|
|
34
34
|
export { WelcomeScreen };
|
|
35
35
|
export { LiveCollaborationTrigger };
|
|
36
|
+
export { DefaultSidebar } from "../../components/DefaultSidebar";
|
|
@@ -38,5 +38,5 @@ export { intersectElementWithLine } from "../element/collision";
|
|
|
38
38
|
export { determineFocusDistance } from "../element/collision";
|
|
39
39
|
export { measureText, wrapText, getDefaultLineHeight } from "../element/textElement";
|
|
40
40
|
export { getFontString } from "../utils";
|
|
41
|
-
export {
|
|
41
|
+
export { getBoundTextMaxWidth } from "../element/textElement";
|
|
42
42
|
export { mergeLibraryItems } from "../data/library";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ExcalidrawElement, NonDeletedExcalidrawElement } from "../element/types";
|
|
2
2
|
import { AppState } from "../types";
|
|
3
3
|
export declare const getElementsWithinSelection: (elements: readonly NonDeletedExcalidrawElement[], selection: NonDeletedExcalidrawElement) => NonDeletedExcalidrawElement[];
|
|
4
|
-
export declare const isSomeElementSelected: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => boolean;
|
|
4
|
+
export declare const isSomeElementSelected: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">) => boolean;
|
|
5
5
|
/**
|
|
6
6
|
* Returns common attribute (picked by `getAttribute` callback) of selected
|
|
7
7
|
* elements. If elements don't share the same value, returns `null`.
|
|
8
8
|
*/
|
|
9
|
-
export declare const getCommonAttributeOfSelectedElements: <T>(elements: readonly NonDeletedExcalidrawElement[], appState: AppState, getAttribute: (element: ExcalidrawElement) => T) => T | null;
|
|
10
|
-
export declare const getSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, includeBoundTextElement?: boolean) => NonDeletedExcalidrawElement[];
|
|
11
|
-
export declare const getTargetElements: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => NonDeletedExcalidrawElement[];
|
|
9
|
+
export declare const getCommonAttributeOfSelectedElements: <T>(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, getAttribute: (element: ExcalidrawElement) => T) => T | null;
|
|
10
|
+
export declare const getSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, includeBoundTextElement?: boolean) => NonDeletedExcalidrawElement[];
|
|
11
|
+
export declare const getTargetElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds" | "editingElement">) => NonDeletedExcalidrawElement[];
|