Skip to content

Commit efa0fbe

Browse files
authored
[pickers] Fix theme augmentation issues (#7800)
1 parent 28e1d3a commit efa0fbe

File tree

9 files changed

+244
-9
lines changed

9 files changed

+244
-9
lines changed

packages/x-date-pickers-pro/src/DateRangeCalendar/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ export {
99
getDateRangeCalendarUtilityClass,
1010
dateRangeCalendarClasses,
1111
} from './dateRangeCalendarClasses';
12+
export type {
13+
DateRangeCalendarClassKey,
14+
DateRangeCalendarClasses,
15+
} from './dateRangeCalendarClasses';

packages/x-date-pickers-pro/src/themeAugmentation/components.d.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,34 @@ export interface PickersProComponents<Theme = unknown> {
1313
defaultProps?: ComponentsProps['MuiDateRangePickerToolbar'];
1414
styleOverrides?: ComponentsOverrides<Theme>['MuiDateRangePickerToolbar'];
1515
};
16+
17+
// Multi input range fields
1618
MuiMultiInputDateRangeField?: {
1719
defaultProps?: ComponentsProps['MuiMultiInputDateRangeField'];
1820
styleOverrides?: ComponentsOverrides['MuiMultiInputDateRangeField'];
1921
};
22+
MuiMultiInputDateTimeRangeField?: {
23+
defaultProps?: ComponentsProps['MuiMultiInputDateTimeRangeField'];
24+
styleOverrides?: ComponentsOverrides['MuiMultiInputDateTimeRangeField'];
25+
};
26+
MuiMultiInputTimeRangeField?: {
27+
defaultProps?: ComponentsProps['MuiMultiInputTimeRangeField'];
28+
styleOverrides?: ComponentsOverrides['MuiMultiInputTimeRangeField'];
29+
};
30+
31+
// Single input range fields
2032
MuiSingleInputDateRangeField?: {
2133
defaultProps?: ComponentsProps['MuiSingleInputDateRangeField'];
2234
styleOverrides?: ComponentsOverrides['MuiSingleInputDateRangeField'];
2335
};
36+
MuiSingleInputDateTimeRangeField?: {
37+
defaultProps?: ComponentsProps['MuiSingleInputDateTimeRangeField'];
38+
styleOverrides?: ComponentsOverrides['MuiSingleInputDateTimeRangeField'];
39+
};
40+
MuiSingleInputTimeRangeField?: {
41+
defaultProps?: ComponentsProps['MuiSingleInputTimeRangeField'];
42+
styleOverrides?: ComponentsOverrides['MuiSingleInputTimeRangeField'];
43+
};
2444

2545
// Date Range Pickers
2646
MuiDateRangePicker?: {

packages/x-date-pickers-pro/src/themeAugmentation/overrides.d.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,19 @@ import { DateRangePickerToolbarClassKey } from '../DateRangePicker';
44

55
// prettier-ignore
66
export interface PickersProComponentNameToClassKey {
7-
MuiDateRangeCalendar: DateRangeCalendarClassKey
7+
MuiDateRangeCalendar: DateRangeCalendarClassKey;
88
MuiDateRangePickerDay: DateRangePickerDayClassKey;
99
MuiDateRangePickerToolbar: DateRangePickerToolbarClassKey;
10-
MuiDateRangePickerViewDesktop: DateRangePickerViewDesktopClassKey;
10+
11+
// Multi input range fields
1112
MuiMultiInputDateRangeField: never;
13+
MuiMultiInputDateTimeRangeField: never;
14+
MuiMultiInputTimeRangeField: never;
15+
16+
// Single input range fields
1217
MuiSingleInputDateRangeField: never;
18+
MuiSingleInputDateTimeRangeField: never;
19+
MuiSingleInputTimeRangeField: never;
1320

1421
// Date Range Pickers
1522
MuiDateRangePicker: never;

packages/x-date-pickers-pro/src/themeAugmentation/props.d.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,25 @@ import { DateRangePickerProps, DateRangePickerToolbarProps } from '../DateRangeP
77
import { DesktopDateRangePickerProps } from '../DesktopDateRangePicker';
88
import { MobileDateRangePickerProps } from '../MobileDateRangePicker';
99
import { StaticDateRangePickerProps } from '../StaticDateRangePicker';
10+
import { MultiInputDateTimeRangeFieldProps } from '../MultiInputDateTimeRangeField';
11+
import { MultiInputTimeRangeFieldProps } from '../MultiInputTimeRangeField';
12+
import { SingleInputDateTimeRangeFieldProps } from '../SingleInputDateTimeRangeField';
13+
import { SingleInputTimeRangeFieldProps } from '../SingleInputTimeRangeField';
1014

1115
export interface PickersProComponentsPropsList {
1216
MuiDateRangeCalendar: DateRangeCalendarProps<unknown>;
1317
MuiDateRangePickerDay: DateRangePickerDayProps<unknown>;
1418
MuiDateRangePickerToolbar: DateRangePickerToolbarProps<unknown>;
15-
MuiMultiInputDateRangeField: MultiInputDateRangeFieldProps<unknown, unknown>;
16-
MuiSingleInputDateRangeField: SingleInputDateRangeFieldProps<unknown, unknown>;
19+
20+
// Multi input range fields
21+
MuiMultiInputDateRangeField: MultiInputDateRangeFieldProps<unknown>;
22+
MuiMultiInputDateTimeRangeField: MultiInputDateTimeRangeFieldProps<unknown>;
23+
MuiMultiInputTimeRangeField: MultiInputTimeRangeFieldProps<unknown>;
24+
25+
// Single input range fields
26+
MuiSingleInputDateRangeField: SingleInputDateRangeFieldProps<unknown>;
27+
MuiSingleInputDateTimeRangeField: SingleInputDateTimeRangeFieldProps<unknown>;
28+
MuiSingleInputTimeRangeField: SingleInputTimeRangeFieldProps<unknown>;
1729

1830
// Date Range Pickers
1931
MuiDateRangePicker: DateRangePickerProps<unknown>;

packages/x-date-pickers-pro/src/themeAugmentation/themeAugmentation.spec.ts

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,112 @@
11
import { createTheme } from '@mui/material/styles';
2+
import { dateRangeCalendarClasses } from '../DateRangeCalendar';
3+
import { dateRangePickerToolbarClasses } from '../DateRangePicker';
4+
import { dateRangePickerDayClasses } from '../DateRangePickerDay';
25

36
createTheme({
47
components: {
8+
MuiDateRangeCalendar: {
9+
defaultProps: {
10+
calendars: 3,
11+
// @ts-expect-error invalid MuiDateRangeCalendar prop
12+
someRandomProp: true,
13+
},
14+
styleOverrides: {
15+
root: {
16+
backgroundColor: 'red',
17+
[`.${dateRangeCalendarClasses.monthContainer}`]: {
18+
backgroundColor: 'green',
19+
},
20+
},
21+
// @ts-expect-error invalid MuiDateRangeCalendar class key
22+
content: {
23+
backgroundColor: 'blue',
24+
},
25+
},
26+
},
527
MuiDateRangePickerDay: {
628
defaultProps: {
729
color: 'red',
830
// @ts-expect-error invalid MuiDateRangePickerDay prop
931
someRandomProp: true,
1032
},
33+
styleOverrides: {
34+
root: {
35+
backgroundColor: 'red',
36+
[`.${dateRangePickerDayClasses.day}`]: {
37+
backgroundColor: 'green',
38+
},
39+
},
40+
// @ts-expect-error invalid MuiDateTimePickerToolbar class key
41+
content: {
42+
backgroundColor: 'blue',
43+
},
44+
},
1145
},
1246
MuiDateRangePickerToolbar: {
1347
defaultProps: {
1448
toolbarPlaceholder: 'empty',
1549
// @ts-expect-error invalid MuiDateRangePickerToolbar prop
1650
someRandomProp: true,
1751
},
52+
styleOverrides: {
53+
root: {
54+
backgroundColor: 'red',
55+
[`.${dateRangePickerToolbarClasses.container}`]: {
56+
backgroundColor: 'green',
57+
},
58+
},
59+
// @ts-expect-error invalid MuiDateRangePickerToolbar class key
60+
content: {
61+
backgroundColor: 'blue',
62+
},
63+
},
64+
},
65+
66+
// Multi input range fields
67+
MuiMultiInputDateRangeField: {
68+
defaultProps: {
69+
disabled: true,
70+
// @ts-expect-error invalid MuiMultiInputDateRangeField prop
71+
someRandomProp: true,
72+
},
73+
},
74+
MuiMultiInputDateTimeRangeField: {
75+
defaultProps: {
76+
disabled: true,
77+
// @ts-expect-error invalid MuiMultiInputDateTimeRangeField prop
78+
someRandomProp: true,
79+
},
80+
},
81+
MuiMultiInputTimeRangeField: {
82+
defaultProps: {
83+
disabled: true,
84+
// @ts-expect-error invalid MuiMultiInputTimeRangeField prop
85+
someRandomProp: true,
86+
},
87+
},
88+
89+
// Single input range fields
90+
MuiSingleInputDateRangeField: {
91+
defaultProps: {
92+
disabled: true,
93+
// @ts-expect-error invalid MuiSingleInputDateRangeField prop
94+
someRandomProp: true,
95+
},
96+
},
97+
MuiSingleInputDateTimeRangeField: {
98+
defaultProps: {
99+
disabled: true,
100+
// @ts-expect-error invalid MuiSingleInputDateTimeRangeField prop
101+
someRandomProp: true,
102+
},
103+
},
104+
MuiSingleInputTimeRangeField: {
105+
defaultProps: {
106+
disabled: true,
107+
// @ts-expect-error invalid MuiSingleInputTimeRangeField prop
108+
someRandomProp: true,
109+
},
18110
},
19111

20112
// Date Range Pickers

packages/x-date-pickers/src/themeAugmentation/overrides.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { PickersYearClassKey, YearCalendarClassKey } from '../YearCalendar';
1818
import { PickersLayoutClassKey } from '../PickersLayout';
1919
import { DatePickerToolbarClassKey } from '../DatePicker';
2020
import { TimePickerToolbarClassKey } from '../TimePicker';
21-
import { DateTimePickerToolbarClassKey } from '../DateTimePicker';
21+
import { DateTimePickerToolbarClassKey, DateTimePickerTabsClassKey } from '../DateTimePicker';
2222
import {
2323
PickersArrowSwitcherClassKey,
2424
PickersPopperClassKey,

packages/x-date-pickers/src/themeAugmentation/props.d.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { DateFieldProps } from '../DateField';
1212
import { LocalizationProviderProps } from '../LocalizationProvider';
1313
import { PickersLayoutProps } from '../PickersLayout';
1414
import {
15-
CalendarOrClockPickerProps,
1615
DayCalendarProps,
1716
ExportedPickersArrowSwitcherProps,
1817
PickerPopperProps,
@@ -43,7 +42,6 @@ import { MobileTimePickerProps } from '../MobileTimePicker';
4342
import { StaticTimePickerProps } from '../StaticTimePicker';
4443

4544
export interface PickersComponentsPropsList {
46-
MuiCalendarOrClockPicker: CalendarOrClockPickerProps<unknown, DateOrTimeView>;
4745
MuiClock: ClockProps<unknown>;
4846
MuiClockNumber: ClockNumberProps;
4947
MuiClockPointer: ClockPointerProps;
@@ -63,7 +61,7 @@ export interface PickersComponentsPropsList {
6361
MuiPickersMonth: ExportedPickersMonthProps;
6462
MuiPickersPopper: PickerPopperProps;
6563
MuiPickersSlideTransition: ExportedSlideTransitionProps;
66-
MuiPickersToolbar: PickersToolbarProps<unknown, unknown>;
64+
MuiPickersToolbar: PickersToolbarProps<unknown, DateOrTimeView>;
6765
MuiPickersToolbarButton: PickersToolbarButtonProps;
6866
MuiPickersToolbarText: ExportedPickersToolbarTextProps;
6967
MuiPickersLayout: PickersLayoutProps<unknown, unknown, DateOrTimeView>;

0 commit comments

Comments
 (0)