From 69f9540e071a1533fb983222bfa31f7e0bc7a3c0 Mon Sep 17 00:00:00 2001 From: Sajarin M Date: Sun, 26 Oct 2025 23:30:14 +0530 Subject: [PATCH] Add getPaginationItemProps to DataTable --- package/DataTable.tsx | 2 ++ package/DataTablePagination.tsx | 2 ++ package/types/DataTablePaginationProps.ts | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/package/DataTable.tsx b/package/DataTable.tsx index 9c0351c7..d8e48ddc 100644 --- a/package/DataTable.tsx +++ b/package/DataTable.tsx @@ -76,6 +76,7 @@ export function DataTable({ } return {}; }, + getPaginationItemProps, loaderBackgroundBlur, customLoader, loaderSize, @@ -417,6 +418,7 @@ export function DataTable({ paginationText={paginationText} paginationWrapBreakpoint={paginationWrapBreakpoint} getPaginationControlProps={getPaginationControlProps} + getPaginationItemProps={getPaginationItemProps} noRecordsText={noRecordsText} loadingText={loadingText} recordsLength={recordsLength} diff --git a/package/DataTablePagination.tsx b/package/DataTablePagination.tsx index b795a7d5..570ccde5 100644 --- a/package/DataTablePagination.tsx +++ b/package/DataTablePagination.tsx @@ -44,6 +44,7 @@ export function DataTablePagination({ horizontalSpacing, paginationWrapBreakpoint, getPaginationControlProps, + getPaginationItemProps, }: DataTablePaginationComponentProps) { let paginationTextValue: React.ReactNode; if (totalRecords) { @@ -104,6 +105,7 @@ export function DataTablePagination({ size={paginationSize} total={Math.ceil(totalRecords! / recordsPerPage!)} getControlProps={getPaginationControlProps} + getItemProps={getPaginationItemProps} /> ); diff --git a/package/types/DataTablePaginationProps.ts b/package/types/DataTablePaginationProps.ts index c92aa5c0..b46d92b3 100644 --- a/package/types/DataTablePaginationProps.ts +++ b/package/types/DataTablePaginationProps.ts @@ -16,6 +16,7 @@ export type DataTablePaginationProps = ( paginationText?: never; paginationWrapBreakpoint?: never; getPaginationControlProps?: never; + getPaginationItemProps?: never; } | { /** @@ -96,6 +97,11 @@ export type DataTablePaginationProps = ( * Useful for improving accessibility. */ getPaginationControlProps?: (control: 'first' | 'last' | 'previous' | 'next') => Record; + + /** + * Function that returns props object for pagination item (page number button). + */ + getPaginationItemProps?: (page: number) => Record; } ) & DataTablePageSizeSelectorProps;