UNPKG

masonry-snap-grid-layout

Version:

A performant, responsive masonry layout library with smooth animations, dynamic columns, and zero dependencies.

30 lines (27 loc) 1.23 kB
import * as react_jsx_runtime from 'react/jsx-runtime'; import React from 'react'; import { a as MasonrySnapGridLayoutOptions, b as MasonrySnapGridRef } from './MasonrySnapGridLayout-CGay5M_v.js'; /** * Props for the MasonrySnapGrid React wrapper. * Generic <T> allows layout to work with any item type. */ interface MasonrySnapGridProps<T> extends Omit<MasonrySnapGridLayoutOptions<T>, 'items' | 'renderItem'> { items: T[]; renderItem: (item: T) => React.ReactNode; className?: string; style?: React.CSSProperties; } /** * React wrapper for MasonrySnapGridLayout * --------------------------------------- * Handles SSR → CSR transition, forwards ref to parent, * and manages async layout initialization after image load. */ declare const MasonrySnapGridInner: <T>({ items, renderItem, className, style, ...options }: MasonrySnapGridProps<T>, ref: React.ForwardedRef<MasonrySnapGridRef>) => react_jsx_runtime.JSX.Element; /** * ForwardRef wrapper so parent components can call layout methods. */ declare const MasonrySnapGrid: <T>(props: MasonrySnapGridProps<T> & { ref?: React.ForwardedRef<MasonrySnapGridRef>; }) => ReturnType<typeof MasonrySnapGridInner>; export { MasonrySnapGrid as default };