UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

57 lines (56 loc) 2.71 kB
import * as React from 'react'; import { useFloatingRootContext } from '@floating-ui/react'; import type { TransitionStatus } from '../../utils/useTransitionStatus.js'; import type { useFieldControlValidation } from '../../field/control/useFieldControlValidation.js'; import type { GenericHTMLProps } from '../../utils/types.js'; export interface SelectRootContext { name: string | undefined; disabled: boolean; readOnly: boolean; required: boolean; value: any; setValue: (nextValue: any, event?: Event) => void; open: boolean; setOpen: (nextOpen: boolean, event?: Event) => void; mounted: boolean; setMounted: React.Dispatch<React.SetStateAction<boolean>>; transitionStatus: TransitionStatus; triggerElement: HTMLElement | null; setTriggerElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>; positionerElement: HTMLElement | null; setPositionerElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>; scrollUpArrowVisible: boolean; setScrollUpArrowVisible: React.Dispatch<React.SetStateAction<boolean>>; scrollDownArrowVisible: boolean; setScrollDownArrowVisible: React.Dispatch<React.SetStateAction<boolean>>; setcontrolledAlignItemToTrigger: React.Dispatch<React.SetStateAction<boolean>>; listRef: React.MutableRefObject<Array<HTMLElement | null>>; popupRef: React.MutableRefObject<HTMLDivElement | null>; getRootTriggerProps: (props?: GenericHTMLProps) => GenericHTMLProps; getRootPositionerProps: (props?: GenericHTMLProps) => GenericHTMLProps; getItemProps: (props?: GenericHTMLProps & { active?: boolean; selected?: boolean; }) => Record<string, unknown>; floatingRootContext: ReturnType<typeof useFloatingRootContext>; label: string; setLabel: React.Dispatch<React.SetStateAction<string>>; valuesRef: React.MutableRefObject<Array<any>>; valueRef: React.MutableRefObject<HTMLSpanElement | null>; selectedItemTextRef: React.MutableRefObject<HTMLSpanElement | null>; labelsRef: React.MutableRefObject<Array<string | null>>; touchModality: boolean; setTouchModality: React.Dispatch<React.SetStateAction<boolean>>; alignItemToTrigger: boolean; typingRef: React.MutableRefObject<boolean>; selectionRef: React.MutableRefObject<{ allowUnselectedMouseUp: boolean; allowSelectedMouseUp: boolean; allowSelect: boolean; }>; id: string | undefined; fieldControlValidation: ReturnType<typeof useFieldControlValidation>; modal: boolean; } export declare const SelectRootContext: React.Context<SelectRootContext | null>; export declare function useSelectRootContext(): SelectRootContext;