From f89d6795f9db254e42e137c5d068b50a59796931 Mon Sep 17 00:00:00 2001 From: flavien Date: Wed, 5 Mar 2025 14:02:46 +0100 Subject: [PATCH] [pickers] Add TValidationProps generic to the PickerManager interface --- .../x-date-pickers-pro/src/internals/models/managers.ts | 2 +- .../x-date-pickers-pro/src/managers/useDateRangeManager.ts | 1 + .../src/managers/useDateTimeRangeManager.ts | 1 + .../x-date-pickers-pro/src/managers/useTimeRangeManager.ts | 1 + packages/x-date-pickers/src/internals/models/manager.ts | 4 +++- packages/x-date-pickers/src/managers/useDateManager.ts | 1 + packages/x-date-pickers/src/managers/useDateTimeManager.ts | 1 + packages/x-date-pickers/src/managers/useTimeManager.ts | 1 + packages/x-date-pickers/src/models/manager.ts | 6 ++++-- 9 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/x-date-pickers-pro/src/internals/models/managers.ts b/packages/x-date-pickers-pro/src/internals/models/managers.ts index 74ac8a47c5350..048d166116c13 100644 --- a/packages/x-date-pickers-pro/src/internals/models/managers.ts +++ b/packages/x-date-pickers-pro/src/internals/models/managers.ts @@ -1,4 +1,4 @@ import { PickerRangeValue } from '@mui/x-date-pickers/internals'; import { PickerManager } from '@mui/x-date-pickers/models'; -export type PickerAnyRangeManager = PickerManager; +export type PickerAnyRangeManager = PickerManager; diff --git a/packages/x-date-pickers-pro/src/managers/useDateRangeManager.ts b/packages/x-date-pickers-pro/src/managers/useDateRangeManager.ts index 7aa00ca3e456c..11c045bc5d83e 100644 --- a/packages/x-date-pickers-pro/src/managers/useDateRangeManager.ts +++ b/packages/x-date-pickers-pro/src/managers/useDateRangeManager.ts @@ -54,6 +54,7 @@ export type UseDateRangeManagerReturnValue, DateRangeManagerFieldInternalPropsWithDefaults >; diff --git a/packages/x-date-pickers-pro/src/managers/useDateTimeRangeManager.ts b/packages/x-date-pickers-pro/src/managers/useDateTimeRangeManager.ts index f06ad70261b99..a14c60f300d32 100644 --- a/packages/x-date-pickers-pro/src/managers/useDateTimeRangeManager.ts +++ b/packages/x-date-pickers-pro/src/managers/useDateTimeRangeManager.ts @@ -56,6 +56,7 @@ export type UseDateTimeRangeManagerReturnValue, DateTimeRangeManagerFieldInternalPropsWithDefaults >; diff --git a/packages/x-date-pickers-pro/src/managers/useTimeRangeManager.ts b/packages/x-date-pickers-pro/src/managers/useTimeRangeManager.ts index 1091e22e273f8..edef5b8fba6ad 100644 --- a/packages/x-date-pickers-pro/src/managers/useTimeRangeManager.ts +++ b/packages/x-date-pickers-pro/src/managers/useTimeRangeManager.ts @@ -59,6 +59,7 @@ export type UseTimeRangeManagerReturnValue, TimeRangeManagerFieldInternalPropsWithDefaults >; diff --git a/packages/x-date-pickers/src/internals/models/manager.ts b/packages/x-date-pickers/src/internals/models/manager.ts index 13842fa8468b1..2e4caab1c5bae 100644 --- a/packages/x-date-pickers/src/internals/models/manager.ts +++ b/packages/x-date-pickers/src/internals/models/manager.ts @@ -1,12 +1,13 @@ import type { PickerManager } from '../../models'; -export type PickerAnyManager = PickerManager; +export type PickerAnyManager = PickerManager; type PickerManagerProperties = TManager extends PickerManager< infer TValue, infer TEnableAccessibleFieldDOMStructure, infer TError, + infer TValidationProps, infer TFieldInternalProps, infer TFieldInternalPropsWithDefaults > @@ -14,6 +15,7 @@ type PickerManagerProperties = value: TValue; enableAccessibleFieldDOMStructure: TEnableAccessibleFieldDOMStructure; error: TError; + validationProps: TValidationProps; fieldInternalProps: TFieldInternalProps; fieldInternalPropsWithDefaults: TFieldInternalPropsWithDefaults; } diff --git a/packages/x-date-pickers/src/managers/useDateManager.ts b/packages/x-date-pickers/src/managers/useDateManager.ts index 415187e9dac8c..251a2a3baff81 100644 --- a/packages/x-date-pickers/src/managers/useDateManager.ts +++ b/packages/x-date-pickers/src/managers/useDateManager.ts @@ -70,6 +70,7 @@ export type UseDateManagerReturnValue, DateManagerFieldInternalPropsWithDefaults >; diff --git a/packages/x-date-pickers/src/managers/useDateTimeManager.ts b/packages/x-date-pickers/src/managers/useDateTimeManager.ts index 282ea55e2dad0..9eff07c97a18b 100644 --- a/packages/x-date-pickers/src/managers/useDateTimeManager.ts +++ b/packages/x-date-pickers/src/managers/useDateTimeManager.ts @@ -88,6 +88,7 @@ export type UseDateTimeManagerReturnValue, DateTimeManagerFieldInternalPropsWithDefaults >; diff --git a/packages/x-date-pickers/src/managers/useTimeManager.ts b/packages/x-date-pickers/src/managers/useTimeManager.ts index e54849bb7cd95..2bde0291f68c1 100644 --- a/packages/x-date-pickers/src/managers/useTimeManager.ts +++ b/packages/x-date-pickers/src/managers/useTimeManager.ts @@ -73,6 +73,7 @@ export type UseTimeManagerReturnValue, TimeManagerFieldInternalPropsWithDefaults >; diff --git a/packages/x-date-pickers/src/models/manager.ts b/packages/x-date-pickers/src/models/manager.ts index c7a0c42db75ec..26dd2082c9780 100644 --- a/packages/x-date-pickers/src/models/manager.ts +++ b/packages/x-date-pickers/src/models/manager.ts @@ -27,12 +27,14 @@ export interface PickerManager< TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean, TError, + TValidationProps extends {}, TFieldInternalProps extends {}, TFieldInternalPropsWithDefaults extends UseFieldInternalProps< TValue, TEnableAccessibleFieldDOMStructure, TError - >, + > & + TValidationProps, > { /** * The type of the value (e.g. 'date', 'date-time', 'time'). @@ -55,7 +57,7 @@ export interface PickerManager< * }); * ``` */ - validator: Validator; + validator: Validator; /** * Object containing basic methods to interact with the value of the picker or field. * This property is not part of the public API and should not be used directly.