react-easy-diagram
Version:
<img src="https://github.com/tokarchyn/react-easy-diagram/blob/main/repo/logo-with-name.png?raw=true" alt="React Easy Diagram logo" height="50">
70 lines • 2.57 kB
TypeScript
import { Point } from "../utils/point";
import { LinkPointEndpointState } from "./linkPointEndpointState";
import { LinkPortEndpointState, ILinkPortEndpoint } from "./linkPortEndpointState";
import { RootStore } from "./rootStore";
export declare class LinkState implements ILinkInteractionState {
private _id;
private _type;
private _source?;
private _sourceEndpoint;
private _target?;
private _targetEndpoint;
private _segments;
private _selected;
private _hovered;
private _data;
private _isSelectionEnabled;
private _rootStore;
constructor(rootStore: RootStore, id: string, state: ILinkStateWithoutId);
import: (state: ILinkStateWithoutId) => void;
export: () => ILinkStateWithId;
get id(): string;
get type(): string;
setType: (value: string | null | undefined) => void;
get segments(): ILinkSegment[];
setSegments: (value: ILinkSegment[] | null | undefined) => void;
get path(): ILinkPath | undefined;
get componentDefinition(): import("./visualComponentState").VisualComponentState<import("./linksSettings").ILinkVisualComponentProps<any>, any>;
get selected(): boolean;
set selected(value: boolean);
get hovered(): boolean;
set hovered(value: boolean);
get data(): any;
get source(): LinkPortEndpointState | undefined;
get sourceEndpoint(): ILinkPortEndpoint;
get target(): LinkPortEndpointState | undefined;
get targetEndpoint(): ILinkPortEndpoint;
swapEndpoints: () => void;
setData: (value: any) => void;
get isSelectionEnabled(): boolean;
setIsSelectionEnabled: (value: boolean | null | undefined) => void;
private _createEndpointState;
}
export declare function createLinkPath(rootStore: RootStore, source: LinkPortEndpointState, target: LinkPortEndpointState | LinkPointEndpointState): ILinkPath | undefined;
export interface ILinkInteractionState {
selected: boolean;
hovered: boolean;
}
export interface ILinkStateWithoutId {
type?: string;
source: ILinkPortEndpoint;
target: ILinkPortEndpoint;
segments?: ILinkSegment[];
data?: any;
isSelectionEnabled?: boolean;
}
export interface ILinkStateWithId extends ILinkStateWithoutId {
id: string;
}
export interface ILinkState extends ILinkStateWithoutId {
id?: string;
}
export interface ILinkSegment {
position: Point;
}
export interface ILinkPath {
svgPath: string;
source: Point;
target: Point;
}
//# sourceMappingURL=linkState.d.ts.map