UNPKG

@base-ui/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.

37 lines 2.13 kB
import * as React from 'react'; import { type CompositeMetadata } from "../list/CompositeList.js"; import type { BaseUIComponentProps, BaseUIEvent } from "../../types.js"; import type { Dimensions, ModifierKey } from "../composite.js"; import { StateAttributesMapping } from "../../getStateAttributesProps.js"; /** * @internal */ export declare function CompositeRoot<Metadata extends {}, State extends Record<string, any>>(componentProps: CompositeRoot.Props<Metadata, State>): import("react/jsx-runtime").JSX.Element; export interface CompositeRootState {} export interface CompositeRootProps<Metadata, State extends Record<string, any>> extends Pick<BaseUIComponentProps<'div', State>, 'render' | 'className' | 'children' | 'style'> { props?: Array<Record<string, any> | (() => Record<string, any>)> | undefined; state?: State | undefined; stateAttributesMapping?: StateAttributesMapping<State> | undefined; refs?: React.Ref<HTMLElement | null>[] | undefined; tag?: keyof React.JSX.IntrinsicElements | undefined; orientation?: 'horizontal' | 'vertical' | 'both' | undefined; cols?: number | undefined; loopFocus?: boolean | undefined; onLoop?: ((event: React.KeyboardEvent, prevIndex: number, nextIndex: number, elementsRef: React.RefObject<(HTMLDivElement | null)[]>) => number) | undefined; highlightedIndex?: number | undefined; onHighlightedIndexChange?: ((index: number) => void) | undefined; itemSizes?: Dimensions[] | undefined; dense?: boolean | undefined; enableHomeAndEndKeys?: boolean | undefined; onMapChange?: ((newMap: Map<Node, CompositeMetadata<Metadata> | null>) => void) | undefined; onKeyDown?: ((event: BaseUIEvent<React.KeyboardEvent>) => void) | undefined; stopEventPropagation?: boolean | undefined; rootRef?: React.RefObject<HTMLElement | null> | undefined; disabledIndices?: number[] | undefined; modifierKeys?: ModifierKey[] | undefined; highlightItemOnHover?: boolean | undefined; } export declare namespace CompositeRoot { type State = CompositeRootState; type Props<Metadata, TState extends Record<string, any>> = CompositeRootProps<Metadata, TState>; }