UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

1,145 lines (1,144 loc) • 53.1 kB
export type ListProps<T = any> = { children: React.ReactNode | ((item: T) => React.ReactNode); }; export type ListItemProps = { children?: React.ReactNode; 'data-id'?: string; }; /** * The List model contains the the state and events necessary to track items, selection, and a cursor. * Various hooks can be used for a List model to create common behaviors associated with lists, such as * navigating a list with a keyboard, selection (single and multiple), and virtualization. * * A list also has a "cursor". A cursor is often represented by focus, but it is not always a 1:1 * mapping. Think of the cursor as the focus item within the list. If the list has browser focus, the * cursor will map to browser focus. Behaviors such as `useListRovingFocus` will map the cursor to the * active tab stop of the list. For more information, see * [Roving Tabindex](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_roving_tabindex). `useListRovingFocus` * adds keyboard events that map to navigation events. A [Navigation Manager](#navigation-manager) is * used to map new cursor ids to these events. The `ListModel` takes an optional `navigation` * configuration to change the default navigation behavior. The default navigation manager is a * [wrappingNavigationManager](#wrappingnavigationmanager) meaning the cursor will wrap around the * beginning and the ends. The cursor also provides a [navigationManager](#navigationmanager) that does * not wrap. This is the default navigation for grids. * * The cursor also adds the concept of `orientation` which defaults to `'vertical'`. A Tab list is an * example of a `'horizontal'` list. * * ```tsx * const list = useListModel({ * // custom handling for selection. single and multi select are provided * selection: mySelectionManager, * // wrapping and non-wrapping navigation are provided * navigation: myNavigationManager, * items: [{ id: '1', text: 'First'}, { id: '2', text: 'Second' }], * getId: item => item.id, // get the unique identifier of your item * }) * ``` */ export declare const useListModel: (<TT_Special_Generic>(config?: (Partial<{ initialSelectedIds: import("./useSelectionListModel").SelectedIds; initialUnselectedIds: string[]; selection: import("./useSelectionListModel").SelectionManager; initialCursorId: string; columnCount: number; navigation: import("./useCursorListModel").NavigationManager; pageSize: number; id: string; getId: (item: any) => string; getTextValue: (item: any) => string; nonInteractiveIds: string[]; orientation: import("./useBaseListModel").Orientation; defaultItemHeight: number; shouldVirtualize: boolean; items: any[]; }> & { onSelect?: ((data: { id: string; }, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onSelectAll?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onUnselectAll?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onSetSelectedIds?: ((data: string[] | "all", prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onRemove?: ((data: { id: string; nextId?: string | undefined; event?: Event | import("react").SyntheticEvent<Element, Event> | undefined; }, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoTo?: ((data: { id: string; }, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToNext?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToPrevious?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToPreviousRow?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToNextRow?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToFirst?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToLast?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToFirstOfRow?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToLastOfRow?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToNextPage?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onGoToPreviousPage?: ((data: undefined, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onRegisterItem?: ((data: { id: string; textValue: string; }, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onUnregisterItem?: ((data: { id: string; }, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; onUpdateItemHeight?: ((data: { value: number; }, prevState: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => void) | undefined; } & { shouldSelect?: ((data: { id: string; }, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldSelectAll?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldUnselectAll?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldSetSelectedIds?: ((data: string[] | "all", state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldRemove?: ((data: { id: string; nextId?: string | undefined; event?: Event | import("react").SyntheticEvent<Element, Event> | undefined; }, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoTo?: ((data: { id: string; }, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToNext?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToPrevious?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToPreviousRow?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToNextRow?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToFirst?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToLast?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToFirstOfRow?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToLastOfRow?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToNextPage?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldGoToPreviousPage?: ((data: undefined, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldRegisterItem?: ((data: { id: string; textValue: string; }, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldUnregisterItem?: ((data: { id: string; }, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; shouldUpdateItemHeight?: ((data: { value: number; }, state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }) => boolean) | undefined; }) | undefined) => { state: { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }; events: { select(data: { id: string; }): void; selectAll(): void; unselectAll(): void; setSelectedIds(ids: string[] | "all"): void; remove(data: { id: string; nextId?: string | undefined; event?: Event | import("react").SyntheticEvent<Element, Event> | undefined; }): void; goTo(data: { id: string; }): void; goToNext(): void; goToPrevious(): void; goToPreviousRow(): void; goToNextRow(): void; goToFirst(): void; goToLast(): void; goToFirstOfRow(): void; goToLastOfRow(): void; goToNextPage(): void; goToPreviousPage(): void; registerItem(data: { id: string; textValue: string; }): void; unregisterItem(data: { id: string; }): void; updateItemHeight(data: { value: number; }): void; }; selection: import("./useSelectionListModel").SelectionManager; navigation: import("./useCursorListModel").NavigationManager; getId: (item: any) => string; }) & import("@workday/canvas-kit-react/common").ModelExtras<{ initialSelectedIds: import("./useSelectionListModel").SelectedIds; initialUnselectedIds: string[]; selection: import("./useSelectionListModel").SelectionManager; initialCursorId: string; columnCount: number; navigation: import("./useCursorListModel").NavigationManager; pageSize: number; id: string; getId: (item: any) => string; getTextValue: (item: any) => string; nonInteractiveIds: string[]; orientation: import("./useBaseListModel").Orientation; defaultItemHeight: number; shouldVirtualize: boolean; items: any[]; }, {}, { selectedIds: string[] | "all"; unselectedIds: string[]; cursorId: string; columnCount: number; pageSizeRef: import("react").MutableRefObject<number>; cursorIndexRef: { readonly current: number; }; UNSTABLE_virtual: { virtualItems: import("./react-virtual").VirtualItem[]; totalSize: number; scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void; scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void; measure: () => void; }; UNSTABLE_defaultItemHeight: number; containerRef: import("react").RefObject<HTMLDivElement>; id: string; orientation: "horizontal" | "vertical"; indexRef: import("react").MutableRefObject<number>; nonInteractiveIds: string[]; isVirtualized: boolean; items: import("./useBaseListModel").Item<any>[]; }, { select(data: { id: string;