@thi.ng/layout
Version:
Configurable nested 2D grid layout generators
48 lines • 1.71 kB
TypeScript
import type { CellSpan, IGridLayout } 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 gapX: number;
readonly gapY: number;
protected currCol: number;
protected currRow: number;
protected rows: number;
constructor(parent: GridLayout | null, x: number, y: number, width: number, cols: number, rowH: number, gapX: number, gapY?: number);
get height(): number;
colsForWidth(w: number): number;
rowsForHeight(h: number): number;
spanForSize(size: ArrayLike<number>): CellSpan;
spanForSize(w: number, h: number): CellSpan;
next(spans?: CellSpan): import("./api.js").LayoutBox;
nextSquare(): import("./api.js").LayoutBox;
nest(cols: number, spans?: CellSpan, gapX?: number, gapY?: 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 gapX -
* @param gapY -
*/
export declare const gridLayout: (x: number, y: number, width: number, cols?: number, rowH?: number, gapX?: number, gapY?: number) => GridLayout;
//# sourceMappingURL=grid-layout.d.ts.map