@reactodia/workspace
Version:
Reactodia Workspace -- library for visual interaction with graphs in a form of a diagram.
42 lines • 2.14 kB
TypeScript
import * as React from 'react';
import type { HotkeyString } from '../coreUtils/hotkey';
import { Link } from '../diagram/elements';
export interface LinkActionContext {
readonly link: Link;
readonly buttonSize: number;
readonly getPosition: (side: 'source' | 'target', index: number) => Pick<React.CSSProperties, 'top' | 'left'>;
readonly getAngleInDegrees: (side: 'source' | 'target') => number;
}
export declare const LinkActionProvidedContext: React.Context<LinkActionContext | null>;
export declare function useLinkActionContext(): LinkActionContext;
export interface LinkActionStyleProps {
dockSide: 'source' | 'target';
dockIndex: number;
className?: string;
title?: string;
hotkey?: HotkeyString | null;
}
export interface LinkActionProps extends LinkActionStyleProps {
disabled?: boolean;
onSelect?: () => void;
onMouseDown?: (e: React.MouseEvent) => void;
children?: React.ReactNode;
}
export declare function LinkAction(props: LinkActionProps): import("react/jsx-runtime").JSX.Element;
export interface LinkActionSpinnerProps extends LinkActionStyleProps {
}
export declare function LinkActionSpinner(props: LinkActionStyleProps): import("react/jsx-runtime").JSX.Element;
export interface LinkActionEditProps extends LinkActionStyleProps {
}
export declare function LinkActionEdit(props: LinkActionEditProps): import("react/jsx-runtime").JSX.Element | null;
export interface LinkActionDeleteProps extends LinkActionStyleProps {
hotkey?: HotkeyString | null;
}
export declare function LinkActionDelete(props: LinkActionDeleteProps): import("react/jsx-runtime").JSX.Element | null;
export interface LinkActionMoveEndpointProps extends Omit<LinkActionStyleProps, 'dockIndex'> {
}
export declare function LinkActionMoveEndpoint(props: LinkActionMoveEndpointProps): import("react/jsx-runtime").JSX.Element | null;
export interface LinkActionRenameProps extends Pick<LinkActionStyleProps, 'className' | 'title'> {
}
export declare function LinkActionRename(props: LinkActionRenameProps): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=linkAction.d.ts.map