@rafal.lemieszewski/tide-ui 0.40.2 → 0.41.0

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.
@@ -184,8 +184,43 @@ export interface DataTableProps<TData, TValue> {
184
184
  onColumnSizingChange?: (updaterOrValue: Record<string, number> | ((old: Record<string, number>) => Record<string, number>)) => void;
185
185
  renderSectionHeaderRow?: (row: any) => React.ReactNode | null;
186
186
  autoExpandChildren?: boolean;
187
+ /**
188
+ * Callback fired when a row is clicked.
189
+ * Receives the row object from @tanstack/react-table and the click event.
190
+ * Use row.original to access the underlying data.
191
+ *
192
+ * By default, only leaf rows and single-item groups are clickable.
193
+ * Use isRowClickable to customize which rows can be clicked.
194
+ *
195
+ * @example
196
+ * onRowClick={(row, event) => {
197
+ * console.log('Clicked data:', row.original);
198
+ * setSelectedItem(row.original);
199
+ * }}
200
+ */
201
+ onRowClick?: (row: any, event: React.MouseEvent<HTMLTableRowElement>) => void;
202
+ /**
203
+ * Filter which rows should be clickable.
204
+ * Return false to prevent row from being clickable.
205
+ *
206
+ * By default, leaf rows and single-item groups are clickable.
207
+ *
208
+ * @example
209
+ * // Only allow leaf rows to be clicked
210
+ * isRowClickable={(row) => !row.getIsGrouped()}
211
+ *
212
+ * @example
213
+ * // Allow all rows including parent groups
214
+ * isRowClickable={(row) => true}
215
+ */
216
+ isRowClickable?: (row: any) => boolean;
217
+ /**
218
+ * CSS class name to apply to clickable rows.
219
+ * Default: applies cursor-pointer and hover background if onRowClick is provided
220
+ */
221
+ clickableRowClassName?: string;
187
222
  }
188
- export declare function DataTable<TData, TValue>({ columns, data, searchKey, searchPlaceholder, title, className, stickyHeader, stickyFirstColumn, stickyLeftColumns, stickyRightColumns, enableResponsiveWrapper, showScrollIndicators, isLoading, loadingRowCount, borderStyle, enableGlobalSearch, globalSearchPlaceholder, enableGlobalFaceting, enableColumnResizing, columnResizeMode, enableColumnResizePersistence, storageKey, enableExpanding, getSubRows, enableGrouping, groupedColumnMode, enableManualGrouping, groupDisplayColumn, hideChildrenForSingleItemGroups, hideExpanderForSingleItemGroups, enableRowPinning, keepPinnedRows, enableVirtualization, nestedHeaders, enableNestedHeaders, enableColumnOrdering, enableRowSelection, showHeader, showPagination, onTableReady, initialState, sorting: controlledSorting, onSortingChange: onControlledSortingChange, columnVisibility: controlledColumnVisibility, onColumnVisibilityChange: onControlledColumnVisibilityChange, grouping: controlledGrouping, onGroupingChange: onControlledGroupingChange, columnOrder: controlledColumnOrder, onColumnOrderChange: onControlledColumnOrderChange, columnSizing: controlledColumnSizing, onColumnSizingChange: onControlledColumnSizingChange, renderSectionHeaderRow, autoExpandChildren, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
223
+ export declare function DataTable<TData, TValue>({ columns, data, searchKey, searchPlaceholder, title, className, stickyHeader, stickyFirstColumn, stickyLeftColumns, stickyRightColumns, enableResponsiveWrapper, showScrollIndicators, isLoading, loadingRowCount, borderStyle, enableGlobalSearch, globalSearchPlaceholder, enableGlobalFaceting, enableColumnResizing, columnResizeMode, enableColumnResizePersistence, storageKey, enableExpanding, getSubRows, enableGrouping, groupedColumnMode, enableManualGrouping, groupDisplayColumn, hideChildrenForSingleItemGroups, hideExpanderForSingleItemGroups, enableRowPinning, keepPinnedRows, enableVirtualization, nestedHeaders, enableNestedHeaders, enableColumnOrdering, enableRowSelection, showHeader, showPagination, onTableReady, initialState, sorting: controlledSorting, onSortingChange: onControlledSortingChange, columnVisibility: controlledColumnVisibility, onColumnVisibilityChange: onControlledColumnVisibilityChange, grouping: controlledGrouping, onGroupingChange: onControlledGroupingChange, columnOrder: controlledColumnOrder, onColumnOrderChange: onControlledColumnOrderChange, columnSizing: controlledColumnSizing, onColumnSizingChange: onControlledColumnSizingChange, renderSectionHeaderRow, autoExpandChildren, onRowClick, isRowClickable, clickableRowClassName, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
189
224
  export { DataTableColumnHeader, DataTableFilter, DataTableToolbar, DataTablePagination, DataTableSkeleton, fuzzyFilter, multiSelectFilter };
190
225
  export { useReactTable } from '@tanstack/react-table';
191
226
  export type { SortingState, ColumnFiltersState, VisibilityState, ExpandedState, GroupingState, ColumnOrderState, FilterFn, ColumnResizeMode, } from '@tanstack/react-table';