UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

1,148 lines (1,147 loc) • 93.4 kB
import React from 'react'; /** * An input model can be used by compound components that need to work with form fields. Some form * libraries use `onChange` and `value` to update a form object. Others use `onChange` and `ref` to * avoid rerendering. Also autocomplete and test libraries may use the `value` `HTMLInputElement` * property. We need to normalize these use cases so subcomponents can have correct data and all * use-cases are supported. */ export declare const useInputModel: (<TT_Special_Generic>(config?: (Partial<{ value: string | undefined; onFilterChange(event: React.ChangeEvent<HTMLInputElement>): void; onChange(event: React.ChangeEvent<HTMLInputElement>): void; }> & {} & {}) | undefined) => { onFilterChange: (event: React.ChangeEvent<HTMLInputElement>) => void; onChange: (event: React.ChangeEvent<HTMLInputElement>) => void; state: { value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; }; events: {}; }) & import("@workday/canvas-kit-react/common").ModelExtras<{ value: string | undefined; onFilterChange(event: React.ChangeEvent<HTMLInputElement>): void; onChange(event: React.ChangeEvent<HTMLInputElement>): void; }, {}, { value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; }, {}, { onFilterChange: (event: React.ChangeEvent<HTMLInputElement>) => void; onChange: (event: React.ChangeEvent<HTMLInputElement>) => void; state: { value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; }; events: {}; }>; /** * `ComboboxModel` extends the {@link ListModel} and the {@link InputModel}. Selecting items from * the menu will dispatch an * [input](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event) event on the * input which should work with form libraries, automation, and autofill. * * ```tsx * const model = useComboboxModel() * * <Combobox model={model}>{Combobox child components}</Combobox> * ``` */ export declare const useComboboxModel: (<TT_Special_Generic>(config?: (Partial<{ shouldVirtualize: boolean; mode: "multiple" | "single"; returnFocusRef: React.RefObject<any> | undefined; initialFocusRef: React.RefObject<any> | undefined; id: string; initialVisibility: import("../../..").Visibility; initialSelectedIds: import("../../..").SelectedIds; initialUnselectedIds: string[]; selection: import("../../..").SelectionManager; initialCursorId: string; columnCount: number; navigation: import("../../..").NavigationManager; pageSize: number; getId: (item: any) => string; getTextValue: (item: any) => string; nonInteractiveIds: string[]; orientation: import("../../..").Orientation; defaultItemHeight: number; items: any[]; value: string | undefined; onFilterChange(event: React.ChangeEvent<HTMLInputElement>): void; onChange(event: React.ChangeEvent<HTMLInputElement>): void; }> & { onSetWidth?: ((data: number, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onUpdatePlacement?: ((data: { placement: import("@popperjs/core").Placement; }, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onShow?: ((data: Event | React.SyntheticEvent<Element, Event> | undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onHide?: ((data: Event | React.SyntheticEvent<Element, Event> | undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onSelect?: ((data: { id: string; }, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onSelectAll?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onUnselectAll?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onSetSelectedIds?: ((data: string[] | "all", prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onRemove?: ((data: { id: string; nextId?: string | undefined; event?: Event | React.SyntheticEvent<Element, Event> | undefined; }, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoTo?: ((data: { id: string; }, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToNext?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToPrevious?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToPreviousRow?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToNextRow?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToFirst?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToLast?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToFirstOfRow?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToLastOfRow?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToNextPage?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onGoToPreviousPage?: ((data: undefined, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onRegisterItem?: ((data: { id: string; textValue: string; }, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onUnregisterItem?: ((data: { id: string; }, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; onUpdateItemHeight?: ((data: { value: number; }, prevState: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => void) | undefined; } & { shouldSetWidth?: ((data: number, state: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => boolean) | undefined; shouldUpdatePlacement?: ((data: { placement: import("@popperjs/core").Placement; }, state: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => boolean) | undefined; shouldShow?: ((data: Event | React.SyntheticEvent<Element, Event> | undefined, state: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => boolean) | undefined; shouldHide?: ((data: Event | React.SyntheticEvent<Element, Event> | undefined, state: { stackRef: React.RefObject<HTMLDivElement>; targetRef: React.RefObject<HTMLButtonElement>; initialFocusRef: React.RefObject<any> | undefined; returnFocusRef: React.RefObject<any> | undefined; placement: import("@popperjs/core").Placement; id: string; visibility: "hidden" | "visible"; selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: React.MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("../../..").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("../../..").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("../../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: React.RefObject<HTMLDivElement>; orientation: "horizontal" | "vertical"; indexRef: React.MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("../../..").Item<any>[]; mode: "multiple" | "single"; value: string | undefined; inputRef: React.RefObject<HTMLInputElement>; /** * The width of the combobox input. This is used to make sure the UI renders the menu the same * width as the input. */ width: number; }) => boolean) | undefined; shouldSelect?: ((data: { id: string;