Skip to content

Commit d0d5bff

Browse files
[pickers] Move the DateFieldInPickerProps interface to the DatePicker folder and rename it DatePickerFieldProps (same for time and date time) (#14828)
1 parent d5010da commit d0d5bff

File tree

16 files changed

+94
-67
lines changed

16 files changed

+94
-67
lines changed

docs/data/date-pickers/experimentation/CustomField.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ import TextField from '@mui/material/TextField';
44
import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
55
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
66
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
7-
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
7+
import { DatePicker, DatePickerFieldProps } from '@mui/x-date-pickers/DatePicker';
88
import { useValidation, validateDate } from '@mui/x-date-pickers/validation';
99
import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
10-
import { DateFieldInPickerProps } from '@mui/x-date-pickers/DateField';
1110

12-
function ReadOnlyField(props: DateFieldInPickerProps<Dayjs, false>) {
11+
function ReadOnlyField(props: DatePickerFieldProps<Dayjs, false>) {
1312
const { internalProps, forwardedProps } = useSplitFieldProps(props, 'date');
1413

1514
const { value, timezone, format } = internalProps;

packages/x-date-pickers/src/DateField/DateField.types.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ import {
1111
FieldSection,
1212
PickerValidDate,
1313
BuiltInFieldTextFieldProps,
14-
BaseSingleInputFieldProps,
1514
} from '../models';
1615
import { UseFieldInternalProps } from '../internals/hooks/useField';
17-
import { MakeOptional, DefaultizedProps } from '../internals/models/helpers';
16+
import { MakeOptional } from '../internals/models/helpers';
1817
import {
1918
BaseDateValidationProps,
2019
DayValidationProps,
@@ -41,19 +40,6 @@ export interface UseDateFieldProps<
4140
BaseDateValidationProps<TDate>,
4241
ExportedUseClearableFieldProps {}
4342

44-
/**
45-
* Props the field can receive when used inside a date picker.
46-
* (`DatePicker`, `DesktopDatePicker` or `MobileDatePicker` component).
47-
*/
48-
export type DateFieldInPickerProps<
49-
TDate extends PickerValidDate,
50-
TEnableAccessibleFieldDOMStructure extends boolean,
51-
> = DefaultizedProps<
52-
UseDateFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
53-
'format' | 'timezone' | keyof BaseDateValidationProps<TDate>
54-
> &
55-
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateValidationError>;
56-
5743
export type UseDateFieldComponentProps<
5844
TDate extends PickerValidDate,
5945
TEnableAccessibleFieldDOMStructure extends boolean,

packages/x-date-pickers/src/DateField/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ export type {
44
UseDateFieldProps,
55
UseDateFieldComponentProps,
66
DateFieldProps,
7-
DateFieldInPickerProps,
87
} from './DateField.types';

packages/x-date-pickers/src/DatePicker/DatePicker.types.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
1+
import { UseDateFieldProps } from '../DateField';
12
import {
23
DesktopDatePickerProps,
34
DesktopDatePickerSlots,
45
DesktopDatePickerSlotProps,
56
} from '../DesktopDatePicker';
7+
import { DefaultizedProps } from '../internals/models/helpers';
8+
import { BaseDateValidationProps } from '../internals/models/validation';
69
import {
710
MobileDatePickerProps,
811
MobileDatePickerSlots,
912
MobileDatePickerSlotProps,
1013
} from '../MobileDatePicker';
11-
import { PickerValidDate } from '../models';
14+
import {
15+
BaseSingleInputFieldProps,
16+
DateValidationError,
17+
FieldSection,
18+
PickerValidDate,
19+
} from '../models';
1220

1321
export interface DatePickerSlots<TDate extends PickerValidDate>
1422
extends DesktopDatePickerSlots<TDate>,
@@ -47,3 +55,15 @@ export interface DatePickerProps<
4755
*/
4856
yearsPerRow?: 3 | 4;
4957
}
58+
59+
/**
60+
* Props the field can receive when used inside a `DatePicker`, `DesktopDatePicker` or `MobileDatePicker` component.
61+
*/
62+
export type DatePickerFieldProps<
63+
TDate extends PickerValidDate,
64+
TEnableAccessibleFieldDOMStructure extends boolean = false,
65+
> = DefaultizedProps<
66+
UseDateFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
67+
'format' | 'timezone' | keyof BaseDateValidationProps<TDate>
68+
> &
69+
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateValidationError>;

packages/x-date-pickers/src/DatePicker/index.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
export { DatePicker } from './DatePicker';
2-
export type { DatePickerProps, DatePickerSlots, DatePickerSlotProps } from './DatePicker.types';
2+
export type {
3+
DatePickerProps,
4+
DatePickerSlots,
5+
DatePickerSlotProps,
6+
DatePickerFieldProps,
7+
} from './DatePicker.types';
38

49
export { DatePickerToolbar } from './DatePickerToolbar';
510
export type { DatePickerToolbarProps } from './DatePickerToolbar';

packages/x-date-pickers/src/DateTimeField/DateTimeField.types.ts

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ import {
66
FieldSection,
77
PickerValidDate,
88
BuiltInFieldTextFieldProps,
9-
BaseSingleInputFieldProps,
109
} from '../models';
1110
import { UseFieldInternalProps } from '../internals/hooks/useField';
12-
import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
11+
import { MakeOptional } from '../internals/models/helpers';
1312
import {
1413
BaseDateValidationProps,
1514
BaseTimeValidationProps,
@@ -53,23 +52,6 @@ export interface UseDateTimeFieldProps<
5352
ampm?: boolean;
5453
}
5554

56-
/**
57-
* Props the field can receive when used inside a date time picker.
58-
* (`DateTimePicker`, `DesktopDateTimePicker` or `MobileDateTimePicker` component).
59-
*/
60-
export type DateTimeFieldInPickerProps<
61-
TDate extends PickerValidDate,
62-
TEnableAccessibleFieldDOMStructure extends boolean,
63-
> = DefaultizedProps<
64-
UseDateTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
65-
| 'format'
66-
| 'timezone'
67-
| 'ampm'
68-
| keyof BaseDateValidationProps<TDate>
69-
| keyof BaseTimeValidationProps
70-
> &
71-
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateTimeValidationError>;
72-
7355
export type UseDateTimeFieldComponentProps<
7456
TDate extends PickerValidDate,
7557
TEnableAccessibleFieldDOMStructure extends boolean,

packages/x-date-pickers/src/DateTimeField/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ export type {
44
UseDateTimeFieldProps,
55
UseDateTimeFieldComponentProps,
66
DateTimeFieldProps,
7-
DateTimeFieldInPickerProps,
87
} from './DateTimeField.types';

packages/x-date-pickers/src/DateTimePicker/DateTimePicker.types.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
1+
import { UseDateTimeFieldProps } from '../DateTimeField';
12
import {
23
DesktopDateTimePickerProps,
34
DesktopDateTimePickerSlots,
45
DesktopDateTimePickerSlotProps,
56
} from '../DesktopDateTimePicker';
67
import { DateOrTimeViewWithMeridiem } from '../internals/models';
8+
import { DefaultizedProps } from '../internals/models/helpers';
9+
import { BaseDateValidationProps, BaseTimeValidationProps } from '../internals/models/validation';
710
import {
811
MobileDateTimePickerProps,
912
MobileDateTimePickerSlots,
1013
MobileDateTimePickerSlotProps,
1114
} from '../MobileDateTimePicker';
12-
import { PickerValidDate } from '../models';
15+
import {
16+
BaseSingleInputFieldProps,
17+
DateTimeValidationError,
18+
FieldSection,
19+
PickerValidDate,
20+
} from '../models';
1321
import { ExportedYearCalendarProps } from '../YearCalendar/YearCalendar.types';
1422

1523
export interface DateTimePickerSlots<TDate extends PickerValidDate>
@@ -61,3 +69,20 @@ export interface DateTimePickerProps<
6169
*/
6270
yearsPerRow?: 3 | 4;
6371
}
72+
73+
/**
74+
* Props the field can receive when used inside a date time picker.
75+
* (`DateTimePicker`, `DesktopDateTimePicker` or `MobileDateTimePicker` component).
76+
*/
77+
export type DateTimePickerFieldProps<
78+
TDate extends PickerValidDate,
79+
TEnableAccessibleFieldDOMStructure extends boolean = false,
80+
> = DefaultizedProps<
81+
UseDateTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>,
82+
| 'format'
83+
| 'timezone'
84+
| 'ampm'
85+
| keyof BaseDateValidationProps<TDate>
86+
| keyof BaseTimeValidationProps
87+
> &
88+
BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, DateTimeValidationError>;

packages/x-date-pickers/src/DateTimePicker/DateTimePickerTabs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ const DateTimePickerTabs = function DateTimePickerTabs<TDate extends PickerValid
126126
variant="fullWidth"
127127
value={viewToTab(view)}
128128
onChange={handleChange}
129-
className={clsx(classes.root, className)}
129+
className={clsx(className, classes.root)}
130130
sx={sx}
131131
>
132132
<Tab

packages/x-date-pickers/src/DateTimePicker/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export type {
33
DateTimePickerProps,
44
DateTimePickerSlots,
55
DateTimePickerSlotProps,
6+
DateTimePickerFieldProps,
67
} from './DateTimePicker.types';
78

89
export { DateTimePickerTabs } from './DateTimePickerTabs';

0 commit comments

Comments
 (0)