import CwElement from '../../internal/cw-element.js'; import type { CSSResultGroup, PropertyValues } from 'lit'; /** * @summary Lays its children out in columns, one child per cell, dropping to fewer columns as it narrows. * @documentation https://cordwainer.dev/components/grid * @status experimental * @since 1.6 * * @slot - The grid's items. Each direct child is one cell, filled in rows from the start. * * @csspart base - The component's base wrapper, which lays out the slotted items. * * @cssproperty [--cw-grid-stack-below=40rem] - Ratio splits stack into a single column when the grid is narrower than * this. Set it on `:root` to change it everywhere, or on one grid. */ export default class CwGrid extends CwElement { static styles: CSSResultGroup; /** * The number of columns. An equal count (`1`–`6`) is a maximum: the grid drops to fewer columns whenever a column * would be narrower than `min-column-width`. A ratio split (`2-1`, `1-2`, `3-1`, `1-3`, `2-1-1`, `1-2-1`, `1-1-2`) * sizes its columns in that proportion and stacks them into one column below `--cw-grid-stack-below`. */ columns: '1' | '2' | '3' | '4' | '5' | '6' | '2-1' | '1-2' | '3-1' | '1-3' | '2-1-1' | '1-2-1' | '1-1-2'; /** * The narrowest an equal column can get before the grid drops a column, as a CSS length. Has no effect on ratio * splits. */ minColumnWidth: string; /** The space between rows and columns, as a spacing token name. */ gap: '3x-small' | '2x-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | '2x-large' | '3x-large' | '4x-large'; /** * How items are aligned vertically within their row. `stretch` makes every item in a row as tall as the tallest, so * cards in a row are equal height. */ align: 'stretch' | 'start' | 'center' | 'end'; private resolvedColumns; private resolvedGap; private resolvedAlign; willUpdate(changedProperties: PropertyValues): void; render(): import("lit-html").TemplateResult<1>; }