@ebay/ui-core-react
Version:
Skin components build off React
55 lines • 2.2 kB
TypeScript
import { ActiveDescendantOptions } from "makeup-active-descendant";
export type { FloatingDropdownHookReturn, FloatingDropdownHookArgs, FloatingDropdownHookOptions } from "./floating-ui";
export { useFloatingDropdown } from "./floating-ui";
type ElementId = string;
export type ExpanderHookArgs<T extends HTMLElement> = {
ref: React.MutableRefObject<T> | null;
expanded?: boolean;
options: {
contentSelector: string;
hostSelector: string;
expandedClass?: string;
autoCollapse?: boolean;
expandOnFocus?: boolean;
expandOnClick?: boolean;
collapseOnFocusOut?: boolean;
collapseOnMouseOut?: boolean;
collapseOnClickOut?: boolean;
collapseOnHostFocus?: boolean;
expandOnHover?: boolean;
focusManagement?: "content" | "focusable" | "interactive" | ElementId;
simulateSpacebarClick?: boolean;
alwaysDoFocusManagement?: boolean;
ariaControls?: boolean;
};
onExpand?: () => void;
onCollapse?: () => void;
};
export type ExpanderHookReturn = {
isExpanded: boolean;
expand(): void;
collapse(): void;
};
export declare function useExpander<T extends HTMLElement>({ ref, expanded, options, onExpand, onCollapse }: ExpanderHookArgs<T>, deps?: React.DependencyList): ExpanderHookReturn;
export type ActiveDescendantChangeHandler = (event: ActiveDescendantChangeEvent, data: {
toIndex: number;
}) => void;
export type ActiveDescendantHookArgs = {
ref: React.MutableRefObject<HTMLElement>;
focusElementRef?: React.MutableRefObject<HTMLElement>;
itemContainerRef?: React.MutableRefObject<HTMLElement>;
disabled?: boolean;
onChange?: ActiveDescendantChangeHandler;
options: ActiveDescendantOptions;
};
export type ActiveDescendantHookReturn = {
setIndex: (index: number) => void;
getIndex: () => number;
};
export interface ActiveDescendantChangeEvent extends Event {
detail: {
toIndex: number;
};
}
export declare function useActiveDescendant({ ref, focusElementRef, itemContainerRef, onChange, disabled, options, }: ActiveDescendantHookArgs): ActiveDescendantHookReturn;
//# sourceMappingURL=dropdown.d.ts.map