@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
TypeScript
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;