@ducor/react
Version:
admin template ui interface
32 lines (31 loc) • 939 B
TypeScript
import React, { ReactNode, FC } from "react";
interface Dimensions {
width: number;
height: number;
}
type RenderProp = ReactNode | ((htmlProps: React.HTMLProps<HTMLElement>) => ReactNode);
interface CompositeProps {
render?: RenderProp;
direction?: "horizontal" | "vertical" | "both";
loop?: boolean;
cols?: number;
disabledIndices?: number[];
activeIndex?: number;
onNavigate?(index: number): void;
itemSizes?: Dimensions[];
dense?: boolean;
children?: ReactNode;
}
export declare const useComposite: () => {
focusedIndex: number;
setFocusedIndex: React.Dispatch<React.SetStateAction<number>>;
itemsRef: React.RefObject<(HTMLDivElement | null)[]>;
};
export declare const Composite: FC<CompositeProps>;
interface CompositeItemProps {
render?: RenderProp;
index: number;
children?: ReactNode;
}
export declare const CompositeItem: FC<CompositeItemProps>;
export {};