Skip to content

Commit

Permalink
[pickers] Move the DateFieldInPickerProps interface to the picker fol…
Browse files Browse the repository at this point in the history
…der and rename it DatePickerFieldProps (same for time and date time)
  • Loading branch information
flaviendelangle committed Oct 4, 2024
1 parent eb5b6fd commit a1bc87f
Show file tree
Hide file tree
Showing 15 changed files with 92 additions and 64 deletions.
16 changes: 1 addition & 15 deletions packages/x-date-pickers/src/DateField/DateField.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@ import {
FieldSection,
PickerValidDate,
BuiltInFieldTextFieldProps,
BaseSingleInputFieldProps,
} from '../models';
import { UseFieldInternalProps } from '../internals/hooks/useField';
import { MakeOptional, DefaultizedProps } from '../internals/models/helpers';
import { MakeOptional } from '../internals/models/helpers';
import {
BaseDateValidationProps,
DayValidationProps,
Expand All @@ -41,19 +40,6 @@ export interface UseDateFieldProps<
BaseDateValidationProps<TDate>,
ExportedUseClearableFieldProps {}

/**
* Props the field can receive when used inside a date picker.
* (`DatePicker`, `DesktopDatePicker` or `MobileDatePicker` component).
*/
export type DateFieldInPickerProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean,
> = DefaultizedProps<
UseDateFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
'format' | 'timezone' | keyof BaseDateValidationProps<TDate>
> &
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateValidationError>;

export type UseDateFieldComponentProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean,
Expand Down
1 change: 0 additions & 1 deletion packages/x-date-pickers/src/DateField/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ export type {
UseDateFieldProps,
UseDateFieldComponentProps,
DateFieldProps,
DateFieldInPickerProps,
} from './DateField.types';
22 changes: 21 additions & 1 deletion packages/x-date-pickers/src/DatePicker/DatePicker.types.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
import { UseDateFieldProps } from '../DateField';
import {
DesktopDatePickerProps,
DesktopDatePickerSlots,
DesktopDatePickerSlotProps,
} from '../DesktopDatePicker';
import { DefaultizedProps } from '../internals/models/helpers';
import { BaseDateValidationProps } from '../internals/models/validation';
import {
MobileDatePickerProps,
MobileDatePickerSlots,
MobileDatePickerSlotProps,
} from '../MobileDatePicker';
import { PickerValidDate } from '../models';
import {
BaseSingleInputFieldProps,
DateValidationError,
FieldSection,
PickerValidDate,
} from '../models';

export interface DatePickerSlots<TDate extends PickerValidDate>
extends DesktopDatePickerSlots<TDate>,
Expand Down Expand Up @@ -47,3 +55,15 @@ export interface DatePickerProps<
*/
yearsPerRow?: 3 | 4;
}

/**
* Props the field can receive when used inside a `DatePicker`, `DesktopDatePicker` or `MobileDatePicker` component.
*/
export type DatePickerFieldProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean = false,
> = DefaultizedProps<
UseDateFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
'format' | 'timezone' | keyof BaseDateValidationProps<TDate>
> &
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateValidationError>;
7 changes: 6 additions & 1 deletion packages/x-date-pickers/src/DatePicker/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
export { DatePicker } from './DatePicker';
export type { DatePickerProps, DatePickerSlots, DatePickerSlotProps } from './DatePicker.types';
export type {
DatePickerProps,
DatePickerSlots,
DatePickerSlotProps,
DatePickerFieldProps,
} from './DatePicker.types';

export { DatePickerToolbar } from './DatePickerToolbar';
export type { DatePickerToolbarProps } from './DatePickerToolbar';
Expand Down
20 changes: 1 addition & 19 deletions packages/x-date-pickers/src/DateTimeField/DateTimeField.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ import {
FieldSection,
PickerValidDate,
BuiltInFieldTextFieldProps,
BaseSingleInputFieldProps,
} from '../models';
import { UseFieldInternalProps } from '../internals/hooks/useField';
import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
import { MakeOptional } from '../internals/models/helpers';
import {
BaseDateValidationProps,
BaseTimeValidationProps,
Expand Down Expand Up @@ -53,23 +52,6 @@ export interface UseDateTimeFieldProps<
ampm?: boolean;
}

/**
* Props the field can receive when used inside a date time picker.
* (`DateTimePicker`, `DesktopDateTimePicker` or `MobileDateTimePicker` component).
*/
export type DateTimeFieldInPickerProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean,
> = DefaultizedProps<
UseDateTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
| 'format'
| 'timezone'
| 'ampm'
| keyof BaseDateValidationProps<TDate>
| keyof BaseTimeValidationProps
> &
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateTimeValidationError>;

export type UseDateTimeFieldComponentProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean,
Expand Down
1 change: 0 additions & 1 deletion packages/x-date-pickers/src/DateTimeField/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ export type {
UseDateTimeFieldProps,
UseDateTimeFieldComponentProps,
DateTimeFieldProps,
DateTimeFieldInPickerProps,
} from './DateTimeField.types';
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
import { UseDateTimeFieldProps } from '../DateTimeField';
import {
DesktopDateTimePickerProps,
DesktopDateTimePickerSlots,
DesktopDateTimePickerSlotProps,
} from '../DesktopDateTimePicker';
import { DateOrTimeViewWithMeridiem } from '../internals/models';
import { DefaultizedProps } from '../internals/models/helpers';
import { BaseDateValidationProps, BaseTimeValidationProps } from '../internals/models/validation';
import {
MobileDateTimePickerProps,
MobileDateTimePickerSlots,
MobileDateTimePickerSlotProps,
} from '../MobileDateTimePicker';
import { PickerValidDate } from '../models';
import {
BaseSingleInputFieldProps,
DateTimeValidationError,
FieldSection,
PickerValidDate,
} from '../models';
import { ExportedYearCalendarProps } from '../YearCalendar/YearCalendar.types';

export interface DateTimePickerSlots<TDate extends PickerValidDate>
Expand Down Expand Up @@ -61,3 +69,20 @@ export interface DateTimePickerProps<
*/
yearsPerRow?: 3 | 4;
}

/**
* Props the field can receive when used inside a date time picker.
* (`DateTimePicker`, `DesktopDateTimePicker` or `MobileDateTimePicker` component).
*/
export type DateTimePickerFieldProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean = false,
> = DefaultizedProps<
UseDateTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
| 'format'
| 'timezone'
| 'ampm'
| keyof BaseDateValidationProps<TDate>
| keyof BaseTimeValidationProps
> &
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateTimeValidationError>;
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ const DateTimePickerTabs = function DateTimePickerTabs<TDate extends PickerValid
variant="fullWidth"
value={viewToTab(view)}
onChange={handleChange}
className={clsx(classes.root, className)}
className={clsx(className, classes.root)}
sx={sx}
>
<Tab
Expand Down
1 change: 1 addition & 0 deletions packages/x-date-pickers/src/DateTimePicker/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ export type {
DateTimePickerProps,
DateTimePickerSlots,
DateTimePickerSlotProps,
DateTimePickerFieldProps,
} from './DateTimePicker.types';

export { DateTimePickerTabs } from './DateTimePickerTabs';
Expand Down
16 changes: 1 addition & 15 deletions packages/x-date-pickers/src/TimeField/TimeField.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ import * as React from 'react';
import { SlotComponentProps } from '@mui/utils';
import TextField from '@mui/material/TextField';
import { UseFieldInternalProps } from '../internals/hooks/useField';
import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
import { MakeOptional } from '../internals/models/helpers';
import { BaseTimeValidationProps, TimeValidationProps } from '../internals/models/validation';
import {
FieldSection,
PickerValidDate,
TimeValidationError,
BuiltInFieldTextFieldProps,
BaseSingleInputFieldProps,
} from '../models';
import {
ExportedUseClearableFieldProps,
Expand Down Expand Up @@ -40,19 +39,6 @@ export interface UseTimeFieldProps<
ampm?: boolean;
}

/**
* Props the field can receive when used inside a time picker.
* (`TimePicker`, `DesktopTimePicker` or `MobileTimePicker` component).
*/
export type TimeFieldInPickerProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean,
> = DefaultizedProps<
UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
'format' | 'timezone' | 'ampm' | keyof BaseTimeValidationProps
> &
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, TimeValidationError>;

export type UseTimeFieldComponentProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean,
Expand Down
1 change: 0 additions & 1 deletion packages/x-date-pickers/src/TimeField/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ export type {
UseTimeFieldProps,
UseTimeFieldComponentProps,
TimeFieldProps,
TimeFieldInPickerProps,
} from './TimeField.types';
23 changes: 22 additions & 1 deletion packages/x-date-pickers/src/TimePicker/TimePicker.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,20 @@ import {
DesktopTimePickerSlotProps,
} from '../DesktopTimePicker';
import { TimeViewWithMeridiem } from '../internals/models';
import { DefaultizedProps } from '../internals/models/helpers';
import { BaseTimeValidationProps } from '../internals/models/validation';
import {
MobileTimePickerProps,
MobileTimePickerSlots,
MobileTimePickerSlotProps,
} from '../MobileTimePicker';
import { PickerValidDate } from '../models';
import {
BaseSingleInputFieldProps,
FieldSection,
PickerValidDate,
TimeValidationError,
} from '../models';
import { UseTimeFieldProps } from '../TimeField';

export interface TimePickerSlots<TDate extends PickerValidDate>
extends DesktopTimePickerSlots<TDate>,
Expand Down Expand Up @@ -46,3 +54,16 @@ export interface TimePickerProps<
*/
slotProps?: TimePickerSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
}

/**
* Props the field can receive when used inside a time picker.
* (`TimePicker`, `DesktopTimePicker` or `MobileTimePicker` component).
*/
export type TimePickerFieldProps<
TDate extends PickerValidDate,
TEnableAccessibleFieldDOMStructure extends boolean = false,
> = DefaultizedProps<
UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
'format' | 'timezone' | 'ampm' | keyof BaseTimeValidationProps
> &
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, TimeValidationError>;
7 changes: 6 additions & 1 deletion packages/x-date-pickers/src/TimePicker/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
export { TimePicker } from './TimePicker';
export type { TimePickerProps, TimePickerSlots, TimePickerSlotProps } from './TimePicker.types';
export type {
TimePickerProps,
TimePickerSlots,
TimePickerSlotProps,
TimePickerFieldProps,
} from './TimePicker.types';

export { TimePickerToolbar } from './TimePickerToolbar';
export type { TimePickerToolbarProps } from './TimePickerToolbar';
Expand Down
6 changes: 3 additions & 3 deletions scripts/x-date-pickers-pro.exports.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@
{ "name": "DateCalendarSlotProps", "kind": "Interface" },
{ "name": "DateCalendarSlots", "kind": "Interface" },
{ "name": "DateField", "kind": "Variable" },
{ "name": "DateFieldInPickerProps", "kind": "TypeAlias" },
{ "name": "DateFieldProps", "kind": "TypeAlias" },
{ "name": "DateOrTimeView", "kind": "TypeAlias" },
{ "name": "DatePicker", "kind": "Variable" },
{ "name": "DatePickerFieldProps", "kind": "TypeAlias" },
{ "name": "DatePickerProps", "kind": "Interface" },
{ "name": "DatePickerSlotProps", "kind": "Interface" },
{ "name": "DatePickerSlots", "kind": "Interface" },
Expand Down Expand Up @@ -72,9 +72,9 @@
{ "name": "DateRangeValidationError", "kind": "TypeAlias" },
{ "name": "DateRangeViewRendererProps", "kind": "Interface" },
{ "name": "DateTimeField", "kind": "Variable" },
{ "name": "DateTimeFieldInPickerProps", "kind": "TypeAlias" },
{ "name": "DateTimeFieldProps", "kind": "TypeAlias" },
{ "name": "DateTimePicker", "kind": "Variable" },
{ "name": "DateTimePickerFieldProps", "kind": "TypeAlias" },
{ "name": "DateTimePickerProps", "kind": "Interface" },
{ "name": "DateTimePickerSlotProps", "kind": "Interface" },
{ "name": "DateTimePickerSlots", "kind": "Interface" },
Expand Down Expand Up @@ -372,10 +372,10 @@
{ "name": "TimeClockSlotProps", "kind": "Interface" },
{ "name": "TimeClockSlots", "kind": "Interface" },
{ "name": "TimeField", "kind": "Variable" },
{ "name": "TimeFieldInPickerProps", "kind": "TypeAlias" },
{ "name": "TimeFieldProps", "kind": "TypeAlias" },
{ "name": "TimeIcon", "kind": "Variable" },
{ "name": "TimePicker", "kind": "Variable" },
{ "name": "TimePickerFieldProps", "kind": "TypeAlias" },
{ "name": "TimePickerProps", "kind": "Interface" },
{ "name": "TimePickerSlotProps", "kind": "Interface" },
{ "name": "TimePickerSlots", "kind": "Interface" },
Expand Down
6 changes: 3 additions & 3 deletions scripts/x-date-pickers.exports.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@
{ "name": "DateCalendarSlotProps", "kind": "Interface" },
{ "name": "DateCalendarSlots", "kind": "Interface" },
{ "name": "DateField", "kind": "Variable" },
{ "name": "DateFieldInPickerProps", "kind": "TypeAlias" },
{ "name": "DateFieldProps", "kind": "TypeAlias" },
{ "name": "DateOrTimeView", "kind": "TypeAlias" },
{ "name": "DatePicker", "kind": "Variable" },
{ "name": "DatePickerFieldProps", "kind": "TypeAlias" },
{ "name": "DatePickerProps", "kind": "Interface" },
{ "name": "DatePickerSlotProps", "kind": "Interface" },
{ "name": "DatePickerSlots", "kind": "Interface" },
Expand All @@ -45,9 +45,9 @@
{ "name": "DatePickerToolbarProps", "kind": "Interface" },
{ "name": "DateRangeIcon", "kind": "Variable" },
{ "name": "DateTimeField", "kind": "Variable" },
{ "name": "DateTimeFieldInPickerProps", "kind": "TypeAlias" },
{ "name": "DateTimeFieldProps", "kind": "TypeAlias" },
{ "name": "DateTimePicker", "kind": "Variable" },
{ "name": "DateTimePickerFieldProps", "kind": "TypeAlias" },
{ "name": "DateTimePickerProps", "kind": "Interface" },
{ "name": "DateTimePickerSlotProps", "kind": "Interface" },
{ "name": "DateTimePickerSlots", "kind": "Interface" },
Expand Down Expand Up @@ -271,10 +271,10 @@
{ "name": "TimeClockSlotProps", "kind": "Interface" },
{ "name": "TimeClockSlots", "kind": "Interface" },
{ "name": "TimeField", "kind": "Variable" },
{ "name": "TimeFieldInPickerProps", "kind": "TypeAlias" },
{ "name": "TimeFieldProps", "kind": "TypeAlias" },
{ "name": "TimeIcon", "kind": "Variable" },
{ "name": "TimePicker", "kind": "Variable" },
{ "name": "TimePickerFieldProps", "kind": "TypeAlias" },
{ "name": "TimePickerProps", "kind": "Interface" },
{ "name": "TimePickerSlotProps", "kind": "Interface" },
{ "name": "TimePickerSlots", "kind": "Interface" },
Expand Down

0 comments on commit a1bc87f

Please sign in to comment.