first commit
This commit is contained in:
97
node_modules/obsidian/canvas.d.ts
generated
vendored
Normal file
97
node_modules/obsidian/canvas.d.ts
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
|
||||
/**
|
||||
* A color used to encode color data for nodes and edges
|
||||
* can be a number (like '1') representing one of the (currently 6) supported colors.
|
||||
* or can be a custom color using the hex format '#FFFFFFF'.
|
||||
*/
|
||||
export type CanvasColor = string;
|
||||
|
||||
/** The overall canvas file's JSON */
|
||||
export interface CanvasData {
|
||||
nodes: AllCanvasNodeData[];
|
||||
edges: CanvasEdgeData[];
|
||||
|
||||
/** Support arbitrary keys for forward compatibility */
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
/** A node */
|
||||
export interface CanvasNodeData {
|
||||
/** The unique ID for this node */
|
||||
id: string;
|
||||
// The positional data
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
/** The color of this node */
|
||||
color?: CanvasColor;
|
||||
|
||||
// Support arbitrary keys for forward compatibility
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
export type AllCanvasNodeData = CanvasFileData | CanvasTextData | CanvasLinkData | CanvasGroupData;
|
||||
|
||||
/** A node that is a file, where the file is located somewhere in the vault. */
|
||||
export interface CanvasFileData extends CanvasNodeData {
|
||||
type: 'file';
|
||||
file: string;
|
||||
/** An optional subpath which links to a heading or a block. Always starts with a `#`. */
|
||||
subpath?: string;
|
||||
}
|
||||
|
||||
/** A node that is plaintext. */
|
||||
export interface CanvasTextData extends CanvasNodeData {
|
||||
type: 'text';
|
||||
text: string;
|
||||
}
|
||||
|
||||
/** A node that is an external resource. */
|
||||
export interface CanvasLinkData extends CanvasNodeData {
|
||||
type: 'link';
|
||||
url: string;
|
||||
}
|
||||
|
||||
/** The background image rendering style */
|
||||
export type BackgroundStyle = 'cover' | 'ratio' | 'repeat';
|
||||
|
||||
/** A node that represents a group. */
|
||||
export interface CanvasGroupData extends CanvasNodeData {
|
||||
type: 'group';
|
||||
/** Optional label to display on top of the group. */
|
||||
label?: string;
|
||||
/** Optional background image, stores the path to the image file in the vault. */
|
||||
background?: string;
|
||||
/** Optional background image rendering style; defaults to 'cover'. */
|
||||
backgroundStyle?: BackgroundStyle;
|
||||
}
|
||||
|
||||
/** The side of the node that a connection is connected to */
|
||||
export type NodeSide = 'top' | 'right' | 'bottom' | 'left';
|
||||
|
||||
/** What to display at the end of an edge */
|
||||
export type EdgeEnd = 'none' | 'arrow';
|
||||
|
||||
/** An edge */
|
||||
export interface CanvasEdgeData {
|
||||
/** The unique ID for this edge */
|
||||
id: string;
|
||||
/** The node ID and side where this edge starts */
|
||||
fromNode: string;
|
||||
fromSide?: NodeSide;
|
||||
/** The starting edge end; defaults to 'none' */
|
||||
fromEnd?: EdgeEnd;
|
||||
/** The node ID and side where this edge ends */
|
||||
toNode: string;
|
||||
toSide?: NodeSide;
|
||||
/** The ending edge end; defaults to 'arrow' */
|
||||
toEnd?: EdgeEnd;
|
||||
/** The color of this edge */
|
||||
color?: CanvasColor;
|
||||
/** The text label of this edge, if available */
|
||||
label?: string;
|
||||
|
||||
// Support arbitrary keys for forward compatibility
|
||||
[key: string]: any;
|
||||
}
|
||||
Reference in New Issue
Block a user