react-plock
Version:
The 1kB Masonry Grid for React
30 lines (22 loc) • 1.01 kB
TypeScript
import { default as default_2 } from 'react';
import { JSX } from 'react/jsx-runtime';
export declare function createBalancedColumns<T>(items: T[], columns: number, getHeight: (item: T) => number): T[][];
export declare function createChunks<T>(data?: T[], columns?: number): T[][];
export declare function createDataColumns<T>(data?: T[][], columns?: number): T[][];
export declare function Masonry<T>({ items, render, config, as: Component, ...rest }: MasonryProps<T>): JSX.Element | null;
export declare type MasonryProps<T> = default_2.ComponentPropsWithoutRef<'div'> & {
items: T[];
render: (item: T, idx: number) => default_2.ReactNode;
config: {
columns: number | number[];
gap: number | number[];
media?: number[];
useBalancedLayout?: boolean;
};
as?: default_2.ElementType;
};
export declare function MasonryRow({ children, gap, }: {
children: default_2.ReactNode;
gap: number;
}): JSX.Element;
export { }