UNPKG

@gravity-ui/graph

Version:

Modern graph editor component

54 lines (53 loc) 2.3 kB
import { Scheduler } from "./Scheduler"; import { ITree, Tree } from "./Tree"; type TOptions = { readonly key?: string; readonly ref?: ((inst: any) => void) | string; }; export type TCoreComponent = CoreComponent<CoreComponentProps, CoreComponentContext>; type TPrivateComponentData = { parent: CoreComponent | undefined; treeNode: Tree; context: { scheduler: Scheduler; globalIterateId: number; }; children: object; childrenKeys: string[]; prevChildrenArr: object[]; updated: boolean; iterateId: number; }; export type CoreComponentProps = Record<string, unknown>; export type CoreComponentContext = Record<string, unknown>; export type ComponentDescriptor<Props extends CoreComponentProps = CoreComponentProps, Context extends CoreComponentContext = CoreComponentContext> = { props: Props; options: TOptions; klass: Constructor<CoreComponent<Props, Context>>; }; export declare class CoreComponent<Props extends CoreComponentProps = CoreComponentProps, Context extends CoreComponentContext = CoreComponentContext> implements ITree { $: object; context: Context; props: Props; protected __comp: TPrivateComponentData; get zIndex(): number; set zIndex(index: number); get renderOrder(): number; constructor(props: Props, parent?: CoreComponent); isIterated(): boolean; performRender: () => void; getParent(): CoreComponent | undefined; setContext<K extends keyof Context>(context: Pick<Context, K>): void; protected unmount(): void; protected render(): void; protected updateChildren(): void | ComponentDescriptor[]; protected setProps<K extends keyof Props>(_: Pick<Props, K>): void; private __unmount; iterate(): boolean; protected __updateChildren(): void; private __unmountChildren; static create<Props extends CoreComponentProps, Context extends CoreComponentContext>(this: Constructor<CoreComponent<Props, Context>>, props?: Props, options?: TOptions): ComponentDescriptor<Props, Context>; static mount<Props extends CoreComponentProps, Context extends CoreComponentContext>(Component: Constructor<CoreComponent<Props, Context>>, props?: Props): CoreComponent<Props, Context>; static unmount(instance: any): void; } export {};