@yeger/vue-masonry-wall
Version:
Responsive masonry layout with SSR support and zero dependencies for Vue 3.
47 lines (46 loc) • 1.94 kB
text/typescript
import { NonEmptyArray } from '@yeger/vue-masonry-wall-core';
import { VNode, VNodeProps, AllowedComponentProps, ComponentCustomProps, ShallowUnwrapRef } from 'vue';
export type KeyMapper<T> = (item: T, column: number, row: number, index: number) => string | number | symbol | undefined;
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
readonly onRedraw?: () => any;
readonly onRedrawSkip?: () => any;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onRedraw" | "onRedrawSkip"> & {
columnWidth?: number | NonEmptyArray<number> | undefined;
items: T[];
gap?: number | undefined;
rtl?: boolean | undefined;
ssrColumns?: number | undefined;
scrollContainer?: HTMLElement | null | undefined;
minColumns?: number | undefined;
maxColumns?: number | undefined;
keyMapper?: KeyMapper<T> | undefined;
} & Partial<{}>> & ( VNodeProps & AllowedComponentProps & ComponentCustomProps);
expose(exposed: ShallowUnwrapRef<{}>): void;
attrs: any;
slots: Readonly<{
default?: (props: {
item: T;
column: number;
row: number;
index: number;
}) => VNode;
}> & {
default?: (props: {
item: T;
column: number;
row: number;
index: number;
}) => VNode;
};
emit: {
(event: "redraw"): void;
(event: "redrawSkip"): void;
};
}>) => VNode & {
__ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
[K in keyof T]: T[K];
} & {};