import { CustomElement } from '../../Abstracts/CustomElement'; import type { IMasonryElementProps } from './IMasonryElementProps'; declare const MasonryElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Fitable").IFitableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Gapable").IGapableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Masonry - A dynamic grid layout system that arranges elements of varying heights in optimal vertical columns. * * @description * The Masonry layout component creates a Pinterest-style grid where elements are arranged in columns with * optimal space utilization, minimizing gaps and creating visually pleasing layouts. Unlike traditional * grid systems, Masonry dynamically positions elements to fill available space efficiently, making it * perfect for content with varying heights. The component supports configurable column counts, gap spacing, * responsive behavior, and automatic height distribution. It handles dynamic content addition and removal, * maintains layout integrity during window resizing, and provides smooth transitions. Essential for image * galleries, card layouts, dashboard widgets, blog post grids, and any interface displaying heterogeneous * content that needs optimal space utilization. * * @name Masonry * @element mosaik-masonry * @category Layouts * * @slot - The default slot for elements to be arranged in masonry layout. * * @cssprop {String} --masonry-columns - The number of columns in the masonry grid. * @cssprop {String} --masonry-gap - The gap between masonry items. * * @example * ```html * *
Short content
*
Much longer content that spans multiple lines and creates different heights
*
Medium content
*
Another short item
*
* ``` * * @example * ```html * * Card 1 * Card 2 with more content * Card 3 * * ``` * * @public */ export declare class MasonryElement extends MasonryElement_base implements IMasonryElementProps { private _columns; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `columns` property. * * @public */ get columns(): number; set columns(value: number); } /** * @public */ export declare namespace MasonryElement { type Props = IMasonryElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-masonry': MasonryElement; } } export {}; //# sourceMappingURL=MasonryElement.d.ts.map