///
import { MenuTriggerType } from '@react-types/menu';
import { PopoverProps } from '../popover';
export interface UseDropdownProps extends Omit {
type?: 'menu' | 'listbox';
/**
* Whether menu trigger is disabled.
* @default false
*/
isDisabled?: boolean;
/**
* How the menu is triggered.
* @default 'press'
*/
trigger?: MenuTriggerType;
/**
* Whether the Menu closes when a selection is made.
* @default true
*/
closeOnSelect?: boolean;
}
/**
* @internal
*/
export declare function useDropdown(props?: UseDropdownProps): {
popoverProps: {
offset?: number | undefined;
ref?: import("react").RefObject | undefined;
isFocusVisible?: boolean | "true" | "false" | ({
"@xs"?: boolean | "true" | "false" | undefined;
"@sm"?: boolean | "true" | "false" | undefined;
"@md"?: boolean | "true" | "false" | undefined;
"@lg"?: boolean | "true" | "false" | undefined;
"@xl"?: boolean | "true" | "false" | undefined;
"@dark"?: boolean | "true" | "false" | undefined;
"@light"?: boolean | "true" | "false" | undefined;
"@hover"?: boolean | "true" | "false" | undefined;
"@motion"?: boolean | "true" | "false" | undefined;
"@xsMax"?: boolean | "true" | "false" | undefined;
"@smMax"?: boolean | "true" | "false" | undefined;
"@mdMax"?: boolean | "true" | "false" | undefined;
"@lgMax"?: boolean | "true" | "false" | undefined;
"@xlMax"?: boolean | "true" | "false" | undefined;
"@safari"?: boolean | "true" | "false" | undefined;
"@initial"?: boolean | "true" | "false" | undefined;
} & {
[x: string]: boolean | "true" | "false" | undefined;
}) | undefined;
placement?: import("../popover").PopoverPlacement | undefined;
onClose?: (() => void) | undefined;
isBordered?: boolean | "true" | ({
"@xs"?: boolean | "true" | undefined;
"@sm"?: boolean | "true" | undefined;
"@md"?: boolean | "true" | undefined;
"@lg"?: boolean | "true" | undefined;
"@xl"?: boolean | "true" | undefined;
"@dark"?: boolean | "true" | undefined;
"@light"?: boolean | "true" | undefined;
"@hover"?: boolean | "true" | undefined;
"@motion"?: boolean | "true" | undefined;
"@xsMax"?: boolean | "true" | undefined;
"@smMax"?: boolean | "true" | undefined;
"@mdMax"?: boolean | "true" | undefined;
"@lgMax"?: boolean | "true" | undefined;
"@xlMax"?: boolean | "true" | undefined;
"@safari"?: boolean | "true" | undefined;
"@initial"?: boolean | "true" | undefined;
} & {
[x: string]: boolean | "true" | undefined;
}) | undefined;
disableShadow?: boolean | "true" | ({
"@xs"?: boolean | "true" | undefined;
"@sm"?: boolean | "true" | undefined;
"@md"?: boolean | "true" | undefined;
"@lg"?: boolean | "true" | undefined;
"@xl"?: boolean | "true" | undefined;
"@dark"?: boolean | "true" | undefined;
"@light"?: boolean | "true" | undefined;
"@hover"?: boolean | "true" | undefined;
"@motion"?: boolean | "true" | undefined;
"@xsMax"?: boolean | "true" | undefined;
"@smMax"?: boolean | "true" | undefined;
"@mdMax"?: boolean | "true" | undefined;
"@lgMax"?: boolean | "true" | undefined;
"@xlMax"?: boolean | "true" | undefined;
"@safari"?: boolean | "true" | undefined;
"@initial"?: boolean | "true" | undefined;
} & {
[x: string]: boolean | "true" | undefined;
}) | undefined;
scrollRef?: import("react").RefObject | undefined;
isOpen?: boolean | undefined;
defaultOpen?: boolean | undefined;
onOpenChange?: ((isOpen: boolean) => void) | undefined;
shouldFlip?: boolean | undefined;
triggerType?: "grid" | "dialog" | "menu" | "listbox" | "tree" | undefined;
isDismissable?: boolean | undefined;
shouldCloseOnBlur?: boolean | undefined;
isKeyboardDismissDisabled?: boolean | undefined;
shouldCloseOnInteractOutside?: ((element: HTMLElement) => boolean) | undefined;
};
state: import("@react-stately/menu").MenuTriggerState;
ref: import("react").RefObject;
onClose: () => void;
autoFocus: import("@react-types/shared").FocusStrategy;
disableAnimation: boolean;
menuRef: import("react").RefObject;
borderWeight: "light" | "normal" | "bold" | "extrabold" | "black" | ({
"@xs"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@sm"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@md"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@lg"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@xl"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@dark"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@light"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@hover"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@motion"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@xsMax"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@smMax"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@mdMax"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@lgMax"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@xlMax"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@safari"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
"@initial"?: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
} & {
[x: string]: "light" | "normal" | "bold" | "extrabold" | "black" | undefined;
}) | undefined;
menuPopoverRef: import("react").RefObject;
menuTriggerRef: import("react").RefObject;
closeOnSelect: boolean | undefined;
getMenuTriggerProps: (props?: any, _ref?: any) => any;
defaultChecked?: boolean | undefined;
defaultValue?: string | number | readonly string[] | undefined;
suppressContentEditableWarning?: boolean | undefined;
suppressHydrationWarning?: boolean | undefined;
accessKey?: string | undefined;
className?: string | undefined;
contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
contextMenu?: string | undefined;
dir?: string | undefined;
draggable?: (boolean | "true" | "false") | undefined;
hidden?: boolean | undefined;
id?: string | undefined;
lang?: string | undefined;
placeholder?: string | undefined;
slot?: string | undefined;
spellCheck?: (boolean | "true" | "false") | undefined;
style?: import("react").CSSProperties | undefined;
tabIndex?: number | undefined;
title?: string | undefined;
translate?: "yes" | "no" | undefined;
radioGroup?: string | undefined;
role?: import("react").AriaRole | undefined;
about?: string | undefined;
datatype?: string | undefined;
inlist?: any;
prefix?: string | undefined;
property?: string | undefined;
resource?: string | undefined;
typeof?: string | undefined;
vocab?: string | undefined;
autoCapitalize?: string | undefined;
autoCorrect?: string | undefined;
autoSave?: string | undefined;
color?: string | undefined;
itemProp?: string | undefined;
itemScope?: boolean | undefined;
itemType?: string | undefined;
itemID?: string | undefined;
itemRef?: string | undefined;
results?: number | undefined;
security?: string | undefined;
unselectable?: "on" | "off" | undefined;
inputMode?: "none" | "text" | "search" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
is?: string | undefined;
'aria-activedescendant'?: string | undefined;
'aria-atomic'?: (boolean | "true" | "false") | undefined;
'aria-autocomplete'?: "none" | "inline" | "both" | "list" | undefined;
'aria-busy'?: (boolean | "true" | "false") | undefined;
'aria-checked'?: boolean | "mixed" | "true" | "false" | undefined;
'aria-colcount'?: number | undefined;
'aria-colindex'?: number | undefined;
'aria-colspan'?: number | undefined;
'aria-controls'?: string | undefined;
'aria-current'?: boolean | "time" | "page" | "true" | "false" | "step" | "location" | "date" | undefined;
'aria-describedby'?: string | undefined;
'aria-details'?: string | undefined;
'aria-disabled'?: (boolean | "true" | "false") | undefined;
'aria-dropeffect'?: "none" | "link" | "copy" | "move" | "execute" | "popup" | undefined;
'aria-errormessage'?: string | undefined;
'aria-expanded'?: (boolean | "true" | "false") | undefined;
'aria-flowto'?: string | undefined;
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
'aria-haspopup'?: boolean | "grid" | "dialog" | "menu" | "listbox" | "true" | "false" | "tree" | undefined;
'aria-hidden'?: (boolean | "true" | "false") | undefined;
'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
'aria-keyshortcuts'?: string | undefined;
'aria-label'?: string | undefined;
'aria-labelledby'?: string | undefined;
'aria-level'?: number | undefined;
'aria-live'?: "off" | "assertive" | "polite" | undefined;
'aria-modal'?: (boolean | "true" | "false") | undefined;
'aria-multiline'?: (boolean | "true" | "false") | undefined;
'aria-multiselectable'?: (boolean | "true" | "false") | undefined;
'aria-orientation'?: "horizontal" | "vertical" | undefined;
'aria-owns'?: string | undefined;
'aria-placeholder'?: string | undefined;
'aria-posinset'?: number | undefined;
'aria-pressed'?: boolean | "mixed" | "true" | "false" | undefined;
'aria-readonly'?: (boolean | "true" | "false") | undefined;
'aria-relevant'?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
'aria-required'?: (boolean | "true" | "false") | undefined;
'aria-roledescription'?: string | undefined;
'aria-rowcount'?: number | undefined;
'aria-rowindex'?: number | undefined;
'aria-rowspan'?: number | undefined;
'aria-selected'?: (boolean | "true" | "false") | undefined;
'aria-setsize'?: number | undefined;
'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined;
'aria-valuemax'?: number | undefined;
'aria-valuemin'?: number | undefined;
'aria-valuenow'?: number | undefined;
'aria-valuetext'?: string | undefined;
children?: import("react").ReactNode;
dangerouslySetInnerHTML?: {
__html: string;
} | undefined;
onCopy?: import("react").ClipboardEventHandler | undefined;
onCopyCapture?: import("react").ClipboardEventHandler | undefined;
onCut?: import("react").ClipboardEventHandler | undefined;
onCutCapture?: import("react").ClipboardEventHandler | undefined;
onPaste?: import("react").ClipboardEventHandler | undefined;
onPasteCapture?: import("react").ClipboardEventHandler | undefined;
onCompositionEnd?: import("react").CompositionEventHandler | undefined;
onCompositionEndCapture?: import("react").CompositionEventHandler | undefined;
onCompositionStart?: import("react").CompositionEventHandler | undefined;
onCompositionStartCapture?: import("react").CompositionEventHandler | undefined;
onCompositionUpdate?: import("react").CompositionEventHandler | undefined;
onCompositionUpdateCapture?: import("react").CompositionEventHandler | undefined;
onFocus?: import("react").FocusEventHandler | undefined;
onFocusCapture?: import("react").FocusEventHandler | undefined;
onBlur?: import("react").FocusEventHandler | undefined;
onBlurCapture?: import("react").FocusEventHandler | undefined;
onChange?: import("react").FormEventHandler | undefined;
onChangeCapture?: import("react").FormEventHandler | undefined;
onBeforeInput?: import("react").FormEventHandler | undefined;
onBeforeInputCapture?: import("react").FormEventHandler | undefined;
onInput?: import("react").FormEventHandler | undefined;
onInputCapture?: import("react").FormEventHandler | undefined;
onReset?: import("react").FormEventHandler | undefined;
onResetCapture?: import("react").FormEventHandler | undefined;
onSubmit?: import("react").FormEventHandler | undefined;
onSubmitCapture?: import("react").FormEventHandler | undefined;
onInvalid?: import("react").FormEventHandler | undefined;
onInvalidCapture?: import("react").FormEventHandler | undefined;
onLoad?: import("react").ReactEventHandler | undefined;
onLoadCapture?: import("react").ReactEventHandler | undefined;
onError?: import("react").ReactEventHandler | undefined;
onErrorCapture?: import("react").ReactEventHandler | undefined;
onKeyDown?: import("react").KeyboardEventHandler | undefined;
onKeyDownCapture?: import("react").KeyboardEventHandler | undefined;
onKeyPress?: import("react").KeyboardEventHandler | undefined;
onKeyPressCapture?: import("react").KeyboardEventHandler | undefined;
onKeyUp?: import("react").KeyboardEventHandler | undefined;
onKeyUpCapture?: import("react").KeyboardEventHandler | undefined;
onAbort?: import("react").ReactEventHandler | undefined;
onAbortCapture?: import("react").ReactEventHandler | undefined;
onCanPlay?: import("react").ReactEventHandler | undefined;
onCanPlayCapture?: import("react").ReactEventHandler | undefined;
onCanPlayThrough?: import("react").ReactEventHandler | undefined;
onCanPlayThroughCapture?: import("react").ReactEventHandler | undefined;
onDurationChange?: import("react").ReactEventHandler | undefined;
onDurationChangeCapture?: import("react").ReactEventHandler | undefined;
onEmptied?: import("react").ReactEventHandler | undefined;
onEmptiedCapture?: import("react").ReactEventHandler | undefined;
onEncrypted?: import("react").ReactEventHandler | undefined;
onEncryptedCapture?: import("react").ReactEventHandler | undefined;
onEnded?: import("react").ReactEventHandler | undefined;
onEndedCapture?: import("react").ReactEventHandler | undefined;
onLoadedData?: import("react").ReactEventHandler | undefined;
onLoadedDataCapture?: import("react").ReactEventHandler | undefined;
onLoadedMetadata?: import("react").ReactEventHandler | undefined;
onLoadedMetadataCapture?: import("react").ReactEventHandler | undefined;
onLoadStart?: import("react").ReactEventHandler | undefined;
onLoadStartCapture?: import("react").ReactEventHandler | undefined;
onPause?: import("react").ReactEventHandler | undefined;
onPauseCapture?: import("react").ReactEventHandler | undefined;
onPlay?: import("react").ReactEventHandler | undefined;
onPlayCapture?: import("react").ReactEventHandler | undefined;
onPlaying?: import("react").ReactEventHandler | undefined;
onPlayingCapture?: import("react").ReactEventHandler | undefined;
onProgress?: import("react").ReactEventHandler | undefined;
onProgressCapture?: import("react").ReactEventHandler | undefined;
onRateChange?: import("react").ReactEventHandler | undefined;
onRateChangeCapture?: import("react").ReactEventHandler | undefined;
onSeeked?: import("react").ReactEventHandler | undefined;
onSeekedCapture?: import("react").ReactEventHandler | undefined;
onSeeking?: import("react").ReactEventHandler | undefined;
onSeekingCapture?: import("react").ReactEventHandler | undefined;
onStalled?: import("react").ReactEventHandler | undefined;
onStalledCapture?: import("react").ReactEventHandler | undefined;
onSuspend?: import("react").ReactEventHandler | undefined;
onSuspendCapture?: import("react").ReactEventHandler | undefined;
onTimeUpdate?: import("react").ReactEventHandler | undefined;
onTimeUpdateCapture?: import("react").ReactEventHandler | undefined;
onVolumeChange?: import("react").ReactEventHandler | undefined;
onVolumeChangeCapture?: import("react").ReactEventHandler | undefined;
onWaiting?: import("react").ReactEventHandler | undefined;
onWaitingCapture?: import("react").ReactEventHandler | undefined;
onAuxClick?: import("react").MouseEventHandler | undefined;
onAuxClickCapture?: import("react").MouseEventHandler | undefined;
onClick?: import("react").MouseEventHandler | undefined;
onClickCapture?: import("react").MouseEventHandler | undefined;
onContextMenu?: import("react").MouseEventHandler | undefined;
onContextMenuCapture?: import("react").MouseEventHandler | undefined;
onDoubleClick?: import("react").MouseEventHandler | undefined;
onDoubleClickCapture?: import("react").MouseEventHandler | undefined;
onDrag?: import("react").DragEventHandler | undefined;
onDragCapture?: import("react").DragEventHandler | undefined;
onDragEnd?: import("react").DragEventHandler | undefined;
onDragEndCapture?: import("react").DragEventHandler | undefined;
onDragEnter?: import("react").DragEventHandler | undefined;
onDragEnterCapture?: import("react").DragEventHandler | undefined;
onDragExit?: import("react").DragEventHandler | undefined;
onDragExitCapture?: import("react").DragEventHandler | undefined;
onDragLeave?: import("react").DragEventHandler | undefined;
onDragLeaveCapture?: import("react").DragEventHandler | undefined;
onDragOver?: import("react").DragEventHandler | undefined;
onDragOverCapture?: import("react").DragEventHandler | undefined;
onDragStart?: import("react").DragEventHandler | undefined;
onDragStartCapture?: import("react").DragEventHandler | undefined;
onDrop?: import("react").DragEventHandler | undefined;
onDropCapture?: import("react").DragEventHandler | undefined;
onMouseDown?: import("react").MouseEventHandler | undefined;
onMouseDownCapture?: import("react").MouseEventHandler | undefined;
onMouseEnter?: import("react").MouseEventHandler | undefined;
onMouseLeave?: import("react").MouseEventHandler | undefined;
onMouseMove?: import("react").MouseEventHandler | undefined;
onMouseMoveCapture?: import("react").MouseEventHandler | undefined;
onMouseOut?: import("react").MouseEventHandler | undefined;
onMouseOutCapture?: import("react").MouseEventHandler | undefined;
onMouseOver?: import("react").MouseEventHandler | undefined;
onMouseOverCapture?: import("react").MouseEventHandler | undefined;
onMouseUp?: import("react").MouseEventHandler | undefined;
onMouseUpCapture?: import("react").MouseEventHandler | undefined;
onSelect?: import("react").ReactEventHandler | undefined;
onSelectCapture?: import("react").ReactEventHandler | undefined;
onTouchCancel?: import("react").TouchEventHandler | undefined;
onTouchCancelCapture?: import("react").TouchEventHandler | undefined;
onTouchEnd?: import("react").TouchEventHandler | undefined;
onTouchEndCapture?: import("react").TouchEventHandler | undefined;
onTouchMove?: import("react").TouchEventHandler | undefined;
onTouchMoveCapture?: import("react").TouchEventHandler | undefined;
onTouchStart?: import("react").TouchEventHandler | undefined;
onTouchStartCapture?: import("react").TouchEventHandler | undefined;
onPointerDown?: import("react").PointerEventHandler | undefined;
onPointerDownCapture?: import("react").PointerEventHandler | undefined;
onPointerMove?: import("react").PointerEventHandler | undefined;
onPointerMoveCapture?: import("react").PointerEventHandler | undefined;
onPointerUp?: import("react").PointerEventHandler | undefined;
onPointerUpCapture?: import("react").PointerEventHandler | undefined;
onPointerCancel?: import("react").PointerEventHandler | undefined;
onPointerCancelCapture?: import("react").PointerEventHandler | undefined;
onPointerEnter?: import("react").PointerEventHandler | undefined;
onPointerEnterCapture?: import("react").PointerEventHandler | undefined;
onPointerLeave?: import("react").PointerEventHandler | undefined;
onPointerLeaveCapture?: import("react").PointerEventHandler | undefined;
onPointerOver?: import("react").PointerEventHandler | undefined;
onPointerOverCapture?: import("react").PointerEventHandler | undefined;
onPointerOut?: import("react").PointerEventHandler | undefined;
onPointerOutCapture?: import("react").PointerEventHandler | undefined;
onGotPointerCapture?: import("react").PointerEventHandler | undefined;
onGotPointerCaptureCapture?: import("react").PointerEventHandler | undefined;
onLostPointerCapture?: import("react").PointerEventHandler | undefined;
onLostPointerCaptureCapture?: import("react").PointerEventHandler | undefined;
onScroll?: import("react").UIEventHandler | undefined;
onScrollCapture?: import("react").UIEventHandler | undefined;
onWheel?: import("react").WheelEventHandler | undefined;
onWheelCapture?: import("react").WheelEventHandler | undefined;
onAnimationStart?: import("react").AnimationEventHandler | undefined;
onAnimationStartCapture?: import("react").AnimationEventHandler | undefined;
onAnimationEnd?: import("react").AnimationEventHandler | undefined;
onAnimationEndCapture?: import("react").AnimationEventHandler | undefined;
onAnimationIteration?: import("react").AnimationEventHandler | undefined;
onAnimationIterationCapture?: import("react").AnimationEventHandler | undefined;
onTransitionEnd?: import("react").TransitionEventHandler | undefined;
onTransitionEndCapture?: import("react").TransitionEventHandler | undefined;
};
export declare type UseDropdownReturn = ReturnType;