Skip to content

Commit

Permalink
[pickers] Add TValidationProps generic to the PickerManager interface
Browse files Browse the repository at this point in the history
  • Loading branch information
flaviendelangle committed Mar 5, 2025
1 parent 229dfea commit f89d679
Show file tree
Hide file tree
Showing 9 changed files with 14 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PickerRangeValue } from '@mui/x-date-pickers/internals';
import { PickerManager } from '@mui/x-date-pickers/models';

export type PickerAnyRangeManager = PickerManager<PickerRangeValue, any, any, any, any>;
export type PickerAnyRangeManager = PickerManager<PickerRangeValue, any, any, any, any, any>;
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export type UseDateRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure ex
PickerRangeValue,
TEnableAccessibleFieldDOMStructure,
DateRangeValidationError,
ValidateDateRangeProps,
DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>,
DateRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>
>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ export type UseDateTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructur
PickerRangeValue,
TEnableAccessibleFieldDOMStructure,
DateTimeRangeValidationError,
ValidateDateTimeRangeProps,
DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>,
DateTimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>
>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ export type UseTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure ex
PickerRangeValue,
TEnableAccessibleFieldDOMStructure,
TimeRangeValidationError,
ValidateTimeRangeProps,
TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>,
TimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>
>;
Expand Down
4 changes: 3 additions & 1 deletion packages/x-date-pickers/src/internals/models/manager.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
import type { PickerManager } from '../../models';

export type PickerAnyManager = PickerManager<any, any, any, any, any>;
export type PickerAnyManager = PickerManager<any, any, any, any, any, any>;

type PickerManagerProperties<TManager extends PickerAnyManager> =
TManager extends PickerManager<
infer TValue,
infer TEnableAccessibleFieldDOMStructure,
infer TError,
infer TValidationProps,
infer TFieldInternalProps,
infer TFieldInternalPropsWithDefaults
>
? {
value: TValue;
enableAccessibleFieldDOMStructure: TEnableAccessibleFieldDOMStructure;
error: TError;
validationProps: TValidationProps;
fieldInternalProps: TFieldInternalProps;
fieldInternalPropsWithDefaults: TFieldInternalPropsWithDefaults;
}
Expand Down
1 change: 1 addition & 0 deletions packages/x-date-pickers/src/managers/useDateManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ export type UseDateManagerReturnValue<TEnableAccessibleFieldDOMStructure extends
PickerValue,
TEnableAccessibleFieldDOMStructure,
DateValidationError,
ValidateDateProps,
DateManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>,
DateManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>
>;
Expand Down
1 change: 1 addition & 0 deletions packages/x-date-pickers/src/managers/useDateTimeManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ export type UseDateTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure ext
PickerValue,
TEnableAccessibleFieldDOMStructure,
DateTimeValidationError,
ValidateDateTimeProps,
DateTimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>,
DateTimeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>
>;
Expand Down
1 change: 1 addition & 0 deletions packages/x-date-pickers/src/managers/useTimeManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ export type UseTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends
PickerValue,
TEnableAccessibleFieldDOMStructure,
TimeValidationError,
ValidateTimeProps,
TimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>,
TimeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>
>;
Expand Down
6 changes: 4 additions & 2 deletions packages/x-date-pickers/src/models/manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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').
Expand All @@ -55,7 +57,7 @@ export interface PickerManager<
* });
* ```
*/
validator: Validator<TValue, TError, TFieldInternalPropsWithDefaults>;
validator: Validator<TValue, TError, TValidationProps>;
/**
* 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.
Expand Down

0 comments on commit f89d679

Please sign in to comment.