///
export type ChildrenInfo = {
all: RowType[];
disabled: RowIdType[];
notDisabled: RowIdType[];
notDisabledAndNotHidden: RowIdType[];
notDisabledAndNotHiddenAreSelected: boolean;
hidden: RowIdType[];
notHidden: RowIdType[];
selected: RowIdType[];
notSelected: RowIdType[];
someChildrenIsSelected: boolean;
};
export type RowKeyGetter = (row: RowType) => RowIdType;
export type RowShowCheckbox = (row: RowType, lvl?: number, parent?: RowType | null) => boolean;
export type RowCheckboxDisabled = (row: RowType, lvl?: number, parent?: RowType | null) => boolean;
export type RowGetStatesProps = {
isHaveCheckboxCalculated: boolean;
isRowSelectedCalculated: boolean;
isIndeterminateCalculated: boolean;
isRowSelectionDisabled: boolean;
rowKeyGetter: RowKeyGetter;
row: RowType;
flattenedRowsMap: Map;
selectedRows: ReadonlySet;
setSelectedRows: React.Dispatch>>;
level: number;
parent: RowType | null;
getRowChildrenInfo: () => ChildrenInfo;
rowShowCheckbox: RowShowCheckbox | undefined;
rowCheckboxDisabled: RowCheckboxDisabled | undefined;
};
export type RowGetStatesReturnType = {
checked?: boolean | null;
indeterminate?: boolean | null;
showCheckbox?: boolean | null;
checkboxDisabled?: boolean | null;
onChange?: ((p: {
allParentsMap: Map;
isRowInLevels: (row: RowType) => boolean;
defaultSetter: () => void;
getRowParentsInfo: () => {
all: RowType[];
getShouldBeSelectedInfo: (actualSelecteds: ReadonlySet) => {
shouldBeSelected: RowIdType[];
shouldNotBeSelected: RowIdType[];
};
};
}) => void) | null;
};