@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
82 lines • 2.81 kB
TypeScript
import React from 'react';
/**
* This elemProps hook adds selection support to a `*.Item` subcomponent of a collection. It adds a
* click handler that toggles selection status according to the [Selection
* Manager](#selection-manager) used.
*
* ```ts
* const useMyItem = composeHooks(
* useListItemSelect, // adds selection support to an item
* useListItemRegister
* );
* ```
*/
export declare const useListItemSelect: import("@workday/canvas-kit-react/common").BehaviorHook<{
state: {
selectedIds: string[] | "all";
unselectedIds: string[];
cursorId: string;
columnCount: number;
pageSizeRef: 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: React.RefObject<HTMLDivElement>;
id: string;
orientation: "horizontal" | "vertical";
indexRef: 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 | 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;
}, {
readonly onClick: (event: React.MouseEvent<HTMLElement>) => void;
}>;
//# sourceMappingURL=useListItemSelect.d.ts.map