@trellixio/roaster-coffee
Version:
Beans' product component library
24 lines • 945 B
TypeScript
export declare enum SelectionType {
All = "all",
Page = "page",
Single = "single"
}
/** A type alias for a function that takes a resource of type `T` and returns a string representing its ID. */
declare type ResourceIDResolver<T extends {
[key: string]: unknown;
}> = (resource: T) => string;
export declare function useSelectableResourceState<T extends {
[key: string]: unknown;
}>(resources: T[], { selectedResources: initSelectedResources, allResourcesSelected: initAllResourcesSelected, resourceIDResolver, }?: {
selectedResources?: string[];
allResourcesSelected?: boolean;
resourceIDResolver?: ResourceIDResolver<T>;
}): {
selectedResources: string[];
allResourcesSelected: boolean;
handleSelectionChange: (selectionType: SelectionType, selection?: string) => void;
clearSelection: () => void;
removeResource: (resource: string) => void;
};
export {};
//# sourceMappingURL=index.d.ts.map