diff --git a/packages/ra-core/src/controller/index.ts b/packages/ra-core/src/controller/index.ts index d6072befc27..efd4e8b8ad4 100644 --- a/packages/ra-core/src/controller/index.ts +++ b/packages/ra-core/src/controller/index.ts @@ -12,7 +12,7 @@ import useVersion from './useVersion'; import useExpanded from './useExpanded'; import useFilterState from './useFilterState'; import useSortState, { SortProps } from './useSortState'; -import usePaginationState, { PaginationProps } from './usePaginationState'; +import usePaginationState, { PaginationHookResult } from './usePaginationState'; import useListController, { getListControllerProps, sanitizeListRestProps, @@ -39,7 +39,7 @@ export type { CreateControllerProps, ShowControllerProps, UseReferenceProps, - PaginationProps, + PaginationHookResult, SortProps, }; diff --git a/packages/ra-core/src/controller/usePaginationState.ts b/packages/ra-core/src/controller/usePaginationState.ts index c356da69758..1bfe9b661af 100644 --- a/packages/ra-core/src/controller/usePaginationState.ts +++ b/packages/ra-core/src/controller/usePaginationState.ts @@ -10,7 +10,7 @@ import { PaginationPayload } from '../types'; * @property {Function} setPerPage: Set the per page number * @property {Function} setPagination: Set page and perPage pagination numbers */ -export interface PaginationProps { +export interface PaginationHookResult { page: number; perPage: number; pagination: PaginationPayload; @@ -42,11 +42,11 @@ const defaultPagination = { * const { page, setpage, perPage, setPerPage } = usePagination(initialPerPage); * * @param {number} initialPagination the initial value per page - * @returns {PaginationProps} The pagination props + * @returns {PaginationHookResult} The pagination props */ export default ( initialPagination: { perPage?: number; page?: number } = {} -): PaginationProps => { +): PaginationHookResult => { const [pagination, setPagination] = useReducer(paginationReducer, { ...defaultPagination, ...initialPagination, diff --git a/packages/ra-core/src/form/FormDataConsumer.tsx b/packages/ra-core/src/form/FormDataConsumer.tsx index 6868f7e09e0..de0444a4470 100644 --- a/packages/ra-core/src/form/FormDataConsumer.tsx +++ b/packages/ra-core/src/form/FormDataConsumer.tsx @@ -6,14 +6,18 @@ import get from 'lodash/get'; import warning from '../util/warning'; -interface ChildrenFunctionParams { +export interface FormDataConsumerRenderParams { formData: any; scopedFormData?: any; getSource?: (source: string) => string; } +export type FormDataConsumerRender = ( + params: FormDataConsumerRenderParams +) => ReactNode; + interface ConnectedProps { - children: (params: ChildrenFunctionParams) => ReactNode; + children: FormDataConsumerRender; form?: string; record?: any; source?: string; diff --git a/packages/ra-core/src/form/index.ts b/packages/ra-core/src/form/index.ts index 6c56203ee1e..71a8c91a652 100644 --- a/packages/ra-core/src/form/index.ts +++ b/packages/ra-core/src/form/index.ts @@ -1,5 +1,8 @@ import addField from './addField'; -import FormDataConsumer from './FormDataConsumer'; +import FormDataConsumer, { + FormDataConsumerRender, + FormDataConsumerRenderParams, +} from './FormDataConsumer'; import FormContext from './FormContext'; import FormField from './FormField'; import FormWithRedirect, { @@ -23,6 +26,8 @@ import useWarnWhenUnsavedChanges from './useWarnWhenUnsavedChanges'; export type { ChoicesProps, ChoicesInputProps, + FormDataConsumerRender, + FormDataConsumerRenderParams, FormWithRedirectProps, HandleSubmitWithRedirect, InputProps, diff --git a/packages/ra-ui-materialui/src/list/pagination/index.ts b/packages/ra-ui-materialui/src/list/pagination/index.ts index 9e65e954713..68f3b590c00 100644 --- a/packages/ra-ui-materialui/src/list/pagination/index.ts +++ b/packages/ra-ui-materialui/src/list/pagination/index.ts @@ -1,5 +1,7 @@ -import Pagination from './Pagination'; +import Pagination, { PaginationProps } from './Pagination'; import PaginationActions from './PaginationActions'; import PaginationLimit from './PaginationLimit'; +export type { PaginationProps }; + export { Pagination, PaginationActions, PaginationLimit };