UNPKG

@thi.ng/layout

Version:

Configurable nested 2D grid layout generators

45 lines 1.56 kB
import type { CellSpan, IGridLayout, LayoutBox } from "./api.js"; /** @internal */ export declare const __DEFAULT_SPANS: CellSpan; export declare class GridLayout implements IGridLayout<GridLayout> { readonly parent: GridLayout | null; readonly cols: number; readonly width: number; readonly x: number; readonly y: number; readonly cellW: number; readonly cellH: number; readonly cellWG: number; readonly cellHG: number; readonly gap: number; protected currCol: number; protected currRow: number; protected rows: number; constructor(parent: GridLayout | null, x: number, y: number, width: number, cols: number, rowH: number, gap: number); colsForWidth(w: number): number; rowsForHeight(h: number): number; spanForSize(size: ArrayLike<number>): CellSpan; spanForSize(w: number, h: number): CellSpan; next(spans?: CellSpan): LayoutBox; nextSquare(): LayoutBox; nest(cols: number, spans?: CellSpan, gap?: number): GridLayout; /** * Updates max rows used in this layout and all of its parents. * * @param rspan - */ propagateSize(rspan: number): void; } /** * Syntax sugar for {@link GridLayout} ctor. By default creates a * single-column layout at given position and width. * * @param x - * @param y - * @param width - * @param cols - * @param rowH - * @param gap - */ export declare const gridLayout: (x: number, y: number, width: number, cols?: number, rowH?: number, gap?: number) => GridLayout; //# sourceMappingURL=grid-layout.d.ts.map