Interface TreeStackOpts<Id>

    interface TreeStackOpts<Id> {
        container: (id: Id) => boolean;
        emptyHeight?: number;
        gap?: number;
        header?: number;
        kids: (id: Id) => readonly Id[];
        leaf: (id: Id) => { h: number; w: number };
        minWidth?: number;
        origin: (id: Id) => { x: number; y: number };
        pad?: number;
        roots: () => readonly Id[];
    }

    Type Parameters

    • Id
    Index

    Properties

    container: (id: Id) => boolean

    Containers stack their kids; non-containers are sized by leaf.

    emptyHeight?: number

    Height of an empty container. Default header + 2·pad.

    gap?: number

    Space between adjacent children. Default 0.

    header?: number

    Space reserved above a container's children (a title bar). Default 0.

    kids: (id: Id) => readonly Id[]

    A container's children, in order (read inside a derive).

    leaf: (id: Id) => { h: number; w: number }

    Intrinsic size of a non-container node.

    minWidth?: number

    Minimum container width. Default 0.

    origin: (id: Id) => { x: number; y: number }

    Top-left of a root node.

    pad?: number

    Inset around a container's children. Default 0.

    roots: () => readonly Id[]

    Top-level node ids, in order (read inside a derive; cell reads track).