diff --git a/packages/blade/src/components/Table/Table.web.tsx b/packages/blade/src/components/Table/Table.web.tsx index c5dabd68906..207efc51730 100644 --- a/packages/blade/src/components/Table/Table.web.tsx +++ b/packages/blade/src/components/Table/Table.web.tsx @@ -4,7 +4,11 @@ import { useTheme as useTableTheme } from '@table-library/react-table-library/th import type { MiddlewareFunction } from '@table-library/react-table-library/types/common'; import { useSort } from '@table-library/react-table-library/sort'; import { usePagination } from '@table-library/react-table-library/pagination'; -import { SelectTypes, useRowSelect } from '@table-library/react-table-library/select'; +import { + SelectClickTypes, + SelectTypes, + useRowSelect, +} from '@table-library/react-table-library/select'; import styled from 'styled-components'; import usePresence from 'use-presence'; import type { TableContextType } from './TableContext'; @@ -116,6 +120,7 @@ const RefreshWrapper = styled(BaseBox)<{ const _Table = ({ children, data, + multiSelectionMode = 'row', selectionType = 'none', onSelectionChange, isHeaderSticky, @@ -257,6 +262,8 @@ const _Table = ({ onChange: onSelectChange, }, { + clickType: + multiSelectionMode === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick, rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined, }, ); diff --git a/packages/blade/src/components/Table/types.ts b/packages/blade/src/components/Table/types.ts index 2f0b2852e42..09d8ce9dca3 100644 --- a/packages/blade/src/components/Table/types.ts +++ b/packages/blade/src/components/Table/types.ts @@ -72,6 +72,11 @@ type TableProps = { * The object should have an id property that is a unique identifier for the row. */ data: TableData; + /** + * Selection mode determines how the table rows can be selected. + * @default 'row' + **/ + multiSelectionMode?: 'checkbox' | 'row'; /** * The selectionType prop determines the type of selection that is allowed on the table. * The selectionType prop can be 'none', 'single' or 'multiple'.