UNPKG

@trellixio/roaster-coffee

Version:
57 lines 2.8 kB
import { Placement } from '@floating-ui/react'; import React from 'react'; export interface UseDropdownOptions { /** Determines where the dropdown should be positioned relative to its trigger */ placement?: Placement; /** whether the dropdown should be open or closed by default */ open?: boolean; /** This callback function is triggered when the dropdown's open state changes */ onOpenChange?: (open: boolean) => void; } export declare function useDropdown({ placement, open: controlledOpen, onOpenChange: setControlledOpen, }?: UseDropdownOptions): { placement: Placement; strategy: import("@floating-ui/utils").Strategy; middlewareData: import("@floating-ui/core").MiddlewareData; x: number; y: number; isPositioned: boolean; update: () => void; floatingStyles: React.CSSProperties; refs: { reference: React.MutableRefObject<import("@floating-ui/react-dom").ReferenceType>; floating: React.MutableRefObject<HTMLElement>; setReference: (node: import("@floating-ui/react-dom").ReferenceType) => void; setFloating: (node: HTMLElement) => void; } & import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>; elements: { reference: import("@floating-ui/react-dom").ReferenceType; floating: HTMLElement; } & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>; context: { update: () => void; placement: Placement; strategy: import("@floating-ui/utils").Strategy; x: number; y: number; middlewareData: import("@floating-ui/core").MiddlewareData; isPositioned: boolean; floatingStyles: React.CSSProperties; open: boolean; onOpenChange: (open: boolean, event?: Event, reason?: import("@floating-ui/react").OpenChangeReason) => void; events: import("@floating-ui/react").FloatingEvents; dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>; nodeId: string; floatingId: string; refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>; elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>; }; getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>; getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>; getItemProps: (userProps?: Omit<React.HTMLProps<HTMLElement>, "selected" | "active"> & { active?: boolean; selected?: boolean; }) => Record<string, unknown>; open: boolean; setOpen: React.Dispatch<React.SetStateAction<boolean>>; }; //# sourceMappingURL=useDropdown.d.ts.map