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