UNPKG

@ucloud-pccl/react-components

Version:
23 lines (22 loc) 799 B
import { Context } from 'react'; export type V = number | string; export type ValueMap = Map<V, boolean>; export interface SelectableContext { valueMap?: ValueMap; toggleSelect: (v: V) => void; addItem: () => void; removeItem: () => void; } export type SelectedStatus = 'NONE' | 'ALL' | 'PART'; declare const useGroup: (value: V[], onChange: (v: V[], selectedStatus: SelectedStatus) => void) => { valueMap: ValueMap; toggleSelect: (v: V) => void; addItem: () => void; removeItem: () => void; }; declare const useItem: <T extends SelectableContext>(value: V, checked: boolean, context: Context<T>) => { checked: boolean; toggle: (v: V) => void; restContext: Omit<T, "valueMap" | "toggleSelect" | "addItem" | "removeItem">; }; export { useGroup, useItem };