UNPKG

react-layout-masonry

Version:
39 lines (38 loc) 1.82 kB
import { ComponentPropsWithRef, ComponentPropsWithoutRef, ElementType, PropsWithChildren, ReactNode } from "react"; import * as react_jsx_runtime1 from "react/jsx-runtime"; //#region src/types.d.ts type BreakPoints = Record<number, number> | Array<number | undefined>; type BreakPointsArray = Array<number | undefined>; type BreakPointSpec = BreakPoints | BreakPointsArray; type Columns = number | BreakPointSpec; type AsProp<T extends ElementType> = { as?: T; }; type PropsToOmit<T extends ElementType, P> = keyof (AsProp<T> & P); type PolymorphicComponentProp<T extends ElementType, Props = {}> = PropsWithChildren<Props & AsProp<T>> & Omit<ComponentPropsWithoutRef<T>, PropsToOmit<T, Props>>; type PolymorphicComponentPropWithRef<T extends ElementType, Props = {}> = PolymorphicComponentProp<T, Props> & { ref?: PolymorphicRef<T>; }; type PolymorphicRef<T extends ElementType> = ComponentPropsWithRef<T>['ref']; type MasonryOwnProps<T extends ElementType> = { columns?: Columns; gap?: number; columnProps?: PolymorphicComponentPropWithRef<T, {}>; }; type MasonryProps<T extends ElementType> = PolymorphicComponentPropWithRef<T, MasonryOwnProps<T>>; //#endregion //#region src/Masonry.d.ts declare const Masonry: <T extends ElementType = "div">(props: MasonryProps<T>) => react_jsx_runtime1.JSX.Element; //#endregion //#region src/useMasonry.d.ts declare const useMasonry: (children: ReactNode, columns?: Columns) => ReactNode[][]; //#endregion //#region src/context.d.ts interface MasonryItemContextValues { column: number; position: number; } declare const useMasonryItem: () => MasonryItemContextValues; //#endregion export { BreakPointSpec, BreakPoints, BreakPointsArray, Columns, MasonryProps, PolymorphicRef, Masonry as default, useMasonry, useMasonryItem }; //# sourceMappingURL=index.d.ts.map