@hitachivantara/uikit-react-core 5.36.8 → 5.36.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs +11 -0
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
- package/dist/esm/components/Table/hooks/useRowSelection.js +11 -0
- package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/package.json +2 -2
|
@@ -14,6 +14,7 @@ reactTable.actions.toggleRowLockedSelection = "toggleRowLockedSelection";
|
|
|
14
14
|
const DEFAULT_LABELS = {
|
|
15
15
|
selectRowCheckBoxAriaLabel: "Select this row"
|
|
16
16
|
};
|
|
17
|
+
const hideHeaderVariants = ["checkbox", "actions"];
|
|
17
18
|
const CellWithCheckBox = ({
|
|
18
19
|
row,
|
|
19
20
|
labels: labelsProp
|
|
@@ -39,6 +40,15 @@ const visibleColumnsHook = (columns) => {
|
|
|
39
40
|
};
|
|
40
41
|
return [selectionColumn, ...columns];
|
|
41
42
|
};
|
|
43
|
+
const getHeaderPropsHook = (props, {
|
|
44
|
+
column
|
|
45
|
+
}) => {
|
|
46
|
+
const nextProps = {};
|
|
47
|
+
if (hideHeaderVariants.includes(column.variant)) {
|
|
48
|
+
nextProps["aria-hidden"] = true;
|
|
49
|
+
}
|
|
50
|
+
return [props, nextProps];
|
|
51
|
+
};
|
|
42
52
|
const getRowPropsHook = (props, {
|
|
43
53
|
row
|
|
44
54
|
}) => {
|
|
@@ -455,6 +465,7 @@ function prepareRow(row, {
|
|
|
455
465
|
const useRowSelection = (hooks) => {
|
|
456
466
|
hooks.visibleColumns.push(visibleColumnsHook);
|
|
457
467
|
hooks.getRowProps.push(getRowPropsHook);
|
|
468
|
+
hooks.getHeaderProps.push(getHeaderPropsHook);
|
|
458
469
|
hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];
|
|
459
470
|
hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];
|
|
460
471
|
hooks.getToggleAllPageRowsSelectedProps = [defaultGetToggleAllPageRowsSelectedProps];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowSelection.cjs","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\nimport { HvCheckBox } from \"@core/components/CheckBox\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n isSelectionLocked: boolean;\n toggleRowLockedSelection: (set?: boolean) => void;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, meta) => {\n const { instance, row } = meta;\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","jsx","HvCheckBox","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","meta","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRowSelection.cjs","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\nimport { HvCheckBox } from \"@core/components/CheckBox\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\n// getRowProps:\nexport interface UseHvRowSelectionTableColumnProps {\n \"aria-hidden\"?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n isSelectionLocked: boolean;\n toggleRowLockedSelection: (set?: boolean) => void;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nconst hideHeaderVariants = [\"checkbox\", \"actions\"];\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getHeaderPropsHook = (props, { column }) => {\n const nextProps: UseHvRowSelectionTableColumnProps = {};\n\n if (hideHeaderVariants.includes(column.variant)) {\n nextProps[\"aria-hidden\"] = true;\n }\n return [props, nextProps];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, meta) => {\n const { instance, row } = meta;\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","hideHeaderVariants","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","jsx","HvCheckBox","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getHeaderPropsHook","props","column","nextProps","includes","getRowPropsHook","selected","isSelected","defaultGetToggleRowSelectedProps","meta","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","getHeaderProps","stateReducers","pluginName"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ actions.toggleRowLockedSelection = "toggleRowLockedSelection";
|
|
|
12
12
|
const DEFAULT_LABELS = {
|
|
13
13
|
selectRowCheckBoxAriaLabel: "Select this row"
|
|
14
14
|
};
|
|
15
|
+
const hideHeaderVariants = ["checkbox", "actions"];
|
|
15
16
|
const CellWithCheckBox = ({
|
|
16
17
|
row,
|
|
17
18
|
labels: labelsProp
|
|
@@ -37,6 +38,15 @@ const visibleColumnsHook = (columns) => {
|
|
|
37
38
|
};
|
|
38
39
|
return [selectionColumn, ...columns];
|
|
39
40
|
};
|
|
41
|
+
const getHeaderPropsHook = (props, {
|
|
42
|
+
column
|
|
43
|
+
}) => {
|
|
44
|
+
const nextProps = {};
|
|
45
|
+
if (hideHeaderVariants.includes(column.variant)) {
|
|
46
|
+
nextProps["aria-hidden"] = true;
|
|
47
|
+
}
|
|
48
|
+
return [props, nextProps];
|
|
49
|
+
};
|
|
40
50
|
const getRowPropsHook = (props, {
|
|
41
51
|
row
|
|
42
52
|
}) => {
|
|
@@ -453,6 +463,7 @@ function prepareRow(row, {
|
|
|
453
463
|
const useRowSelection = (hooks) => {
|
|
454
464
|
hooks.visibleColumns.push(visibleColumnsHook);
|
|
455
465
|
hooks.getRowProps.push(getRowPropsHook);
|
|
466
|
+
hooks.getHeaderProps.push(getHeaderPropsHook);
|
|
456
467
|
hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];
|
|
457
468
|
hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];
|
|
458
469
|
hooks.getToggleAllPageRowsSelectedProps = [defaultGetToggleAllPageRowsSelectedProps];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\nimport { HvCheckBox } from \"@core/components/CheckBox\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n isSelectionLocked: boolean;\n toggleRowLockedSelection: (set?: boolean) => void;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, meta) => {\n const { instance, row } = meta;\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","meta","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\nimport { HvCheckBox } from \"@core/components/CheckBox\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\n// getRowProps:\nexport interface UseHvRowSelectionTableColumnProps {\n \"aria-hidden\"?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n isSelectionLocked: boolean;\n toggleRowLockedSelection: (set?: boolean) => void;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nconst hideHeaderVariants = [\"checkbox\", \"actions\"];\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getHeaderPropsHook = (props, { column }) => {\n const nextProps: UseHvRowSelectionTableColumnProps = {};\n\n if (hideHeaderVariants.includes(column.variant)) {\n nextProps[\"aria-hidden\"] = true;\n }\n return [props, nextProps];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, meta) => {\n const { instance, row } = meta;\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","hideHeaderVariants","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getHeaderPropsHook","props","column","nextProps","includes","getRowPropsHook","selected","isSelected","defaultGetToggleRowSelectedProps","meta","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","getHeaderProps","stateReducers","pluginName"],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -10433,6 +10433,10 @@ export declare interface UseHvRowSelectionState<D extends object> {
|
|
|
10433
10433
|
lockedSelectionRowIds: Record<IdType_2<D>, boolean>;
|
|
10434
10434
|
}
|
|
10435
10435
|
|
|
10436
|
+
export declare interface UseHvRowSelectionTableColumnProps {
|
|
10437
|
+
"aria-hidden"?: boolean;
|
|
10438
|
+
}
|
|
10439
|
+
|
|
10436
10440
|
export declare interface UseHvRowSelectionTableInstance<D extends object> {
|
|
10437
10441
|
toggleRowSelected: (rowId: IdType_2<D>, set?: boolean) => void;
|
|
10438
10442
|
toggleAllRowsSelected: (value?: boolean) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-core",
|
|
3
|
-
"version": "5.36.
|
|
3
|
+
"version": "5.36.10",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Hitachi Vantara UI Kit Team",
|
|
6
6
|
"description": "Core React components for the NEXT Design System.",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"access": "public",
|
|
65
65
|
"directory": "package"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "51d5aaf46b3f007d313ead5ce8bfd5d3b248bc80",
|
|
68
68
|
"main": "dist/cjs/index.cjs",
|
|
69
69
|
"exports": {
|
|
70
70
|
".": {
|