@mui/x-date-pickers 7.0.0-beta.7 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +1 -1
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.js +1 -2
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -4
  4. package/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
  5. package/AdapterDayjs/AdapterDayjs.js +2 -4
  6. package/AdapterLuxon/AdapterLuxon.js +12 -9
  7. package/AdapterMoment/AdapterMoment.js +5 -6
  8. package/CHANGELOG.md +266 -12
  9. package/DateCalendar/DateCalendar.js +14 -16
  10. package/DateCalendar/DayCalendar.js +5 -6
  11. package/DateField/DateField.js +3 -4
  12. package/DatePicker/DatePicker.js +1 -1
  13. package/DatePicker/DatePickerToolbar.js +11 -6
  14. package/DatePicker/shared.d.ts +2 -1
  15. package/DatePicker/shared.js +3 -5
  16. package/DateTimeField/DateTimeField.js +3 -4
  17. package/DateTimePicker/DateTimePicker.js +1 -1
  18. package/DateTimePicker/DateTimePickerToolbar.js +98 -46
  19. package/DateTimePicker/shared.d.ts +2 -1
  20. package/DateTimePicker/shared.js +11 -13
  21. package/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  22. package/DesktopDatePicker/DesktopDatePicker.js +7 -11
  23. package/DesktopDateTimePicker/DesktopDateTimePicker.js +72 -37
  24. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +12 -0
  25. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +101 -0
  26. package/DesktopDateTimePicker/index.d.ts +1 -0
  27. package/DesktopDateTimePicker/index.js +2 -1
  28. package/DesktopTimePicker/DesktopTimePicker.js +8 -12
  29. package/DigitalClock/DigitalClock.js +16 -9
  30. package/LocalizationProvider/LocalizationProvider.js +1 -2
  31. package/MobileDatePicker/MobileDatePicker.js +6 -10
  32. package/MobileDateTimePicker/MobileDateTimePicker.js +8 -12
  33. package/MobileTimePicker/MobileTimePicker.js +6 -10
  34. package/MonthCalendar/MonthCalendar.js +4 -4
  35. package/MonthCalendar/PickersMonth.js +13 -8
  36. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
  37. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +1 -1
  38. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +16 -9
  39. package/PickersActionBar/PickersActionBar.js +1 -1
  40. package/PickersCalendarHeader/PickersCalendarHeader.js +17 -14
  41. package/PickersDay/PickersDay.js +30 -15
  42. package/PickersLayout/PickersLayout.js +31 -17
  43. package/PickersLayout/usePickerLayout.js +8 -9
  44. package/PickersSectionList/PickersSectionList.js +9 -11
  45. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +138 -74
  46. package/PickersTextField/PickersInput/PickersInput.js +77 -55
  47. package/PickersTextField/PickersInputBase/PickersInputBase.js +67 -28
  48. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +7 -0
  49. package/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  50. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +33 -14
  51. package/README.md +1 -1
  52. package/StaticDatePicker/StaticDatePicker.js +4 -5
  53. package/StaticDateTimePicker/StaticDateTimePicker.js +6 -7
  54. package/StaticTimePicker/StaticTimePicker.js +3 -4
  55. package/TimeClock/Clock.js +48 -35
  56. package/TimeClock/ClockNumber.js +12 -7
  57. package/TimeClock/ClockPointer.js +23 -13
  58. package/TimeClock/TimeClock.js +1 -1
  59. package/TimeField/TimeField.js +2 -3
  60. package/TimePicker/TimePickerToolbar.js +25 -16
  61. package/TimePicker/shared.d.ts +2 -1
  62. package/TimePicker/shared.js +5 -7
  63. package/YearCalendar/PickersYear.js +12 -6
  64. package/YearCalendar/YearCalendar.js +5 -6
  65. package/hooks/useClearableField.js +6 -7
  66. package/index.js +1 -1
  67. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +19 -15
  68. package/internals/components/PickersModalDialog.js +6 -7
  69. package/internals/components/PickersPopper.js +25 -24
  70. package/internals/components/PickersToolbar.js +42 -24
  71. package/internals/hooks/date-helpers-hooks.js +1 -1
  72. package/internals/hooks/defaultizedFieldProps.js +15 -18
  73. package/internals/hooks/useClockReferenceDate.js +1 -1
  74. package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
  75. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +11 -12
  76. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  77. package/internals/hooks/useField/buildSectionsFromFormat.js +35 -31
  78. package/internals/hooks/useField/useField.js +6 -4
  79. package/internals/hooks/useField/useField.types.d.ts +1 -0
  80. package/internals/hooks/useField/useField.utils.js +4 -7
  81. package/internals/hooks/useField/useFieldCharacterEditing.js +1 -2
  82. package/internals/hooks/useField/useFieldState.js +1 -1
  83. package/internals/hooks/useField/useFieldV6TextField.js +17 -18
  84. package/internals/hooks/useField/useFieldV7TextField.js +9 -11
  85. package/internals/hooks/useMobilePicker/useMobilePicker.js +7 -8
  86. package/internals/hooks/useOpenState.js +1 -1
  87. package/internals/hooks/usePicker/index.d.ts +1 -0
  88. package/internals/hooks/usePicker/usePickerViews.d.ts +4 -2
  89. package/internals/hooks/usePicker/usePickerViews.js +1 -2
  90. package/internals/hooks/useStaticPicker/useStaticPicker.js +13 -17
  91. package/internals/hooks/useValueWithTimezone.js +5 -6
  92. package/internals/hooks/useViews.js +3 -4
  93. package/internals/index.d.ts +1 -1
  94. package/internals/models/validation.d.ts +1 -1
  95. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +3 -3
  96. package/internals/utils/date-time-utils.js +2 -5
  97. package/internals/utils/fields.js +1 -1
  98. package/internals/utils/getDefaultReferenceDate.js +2 -6
  99. package/internals/utils/views.js +1 -1
  100. package/locales/csCZ.js +1 -4
  101. package/locales/daDK.js +1 -4
  102. package/locales/deDE.js +1 -4
  103. package/locales/huHU.js +1 -4
  104. package/locales/itIT.js +16 -20
  105. package/locales/jaJP.js +1 -4
  106. package/locales/roRO.js +1 -4
  107. package/locales/skSK.js +1 -4
  108. package/locales/zhHK.js +14 -17
  109. package/modern/AdapterLuxon/AdapterLuxon.js +9 -4
  110. package/modern/DateCalendar/DateCalendar.js +1 -1
  111. package/modern/DateField/DateField.js +1 -1
  112. package/modern/DatePicker/DatePicker.js +1 -1
  113. package/modern/DatePicker/DatePickerToolbar.js +11 -6
  114. package/modern/DateTimeField/DateTimeField.js +1 -1
  115. package/modern/DateTimePicker/DateTimePicker.js +1 -1
  116. package/modern/DateTimePicker/DateTimePickerToolbar.js +97 -45
  117. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  118. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  119. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +64 -25
  120. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +101 -0
  121. package/modern/DesktopDateTimePicker/index.js +2 -1
  122. package/modern/DigitalClock/DigitalClock.js +14 -6
  123. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  124. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  125. package/modern/MonthCalendar/PickersMonth.js +12 -6
  126. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  127. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  128. package/modern/PickersDay/PickersDay.js +30 -15
  129. package/modern/PickersLayout/PickersLayout.js +31 -17
  130. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  131. package/modern/PickersTextField/PickersInput/PickersInput.js +76 -54
  132. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  133. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  134. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  135. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  136. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  137. package/modern/TimeClock/Clock.js +48 -35
  138. package/modern/TimeClock/ClockNumber.js +12 -7
  139. package/modern/TimeClock/ClockPointer.js +23 -13
  140. package/modern/TimePicker/TimePickerToolbar.js +25 -16
  141. package/modern/YearCalendar/PickersYear.js +12 -6
  142. package/modern/index.js +1 -1
  143. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  144. package/modern/internals/components/PickersPopper.js +13 -9
  145. package/modern/internals/components/PickersToolbar.js +39 -18
  146. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +34 -30
  147. package/modern/internals/hooks/useField/useField.js +4 -2
  148. package/modern/internals/hooks/useField/useFieldV6TextField.js +8 -3
  149. package/modern/internals/hooks/useField/useFieldV7TextField.js +1 -1
  150. package/modern/internals/hooks/useOpenState.js +1 -1
  151. package/modern/internals/utils/fields.js +1 -1
  152. package/modern/locales/itIT.js +16 -20
  153. package/modern/locales/zhHK.js +14 -17
  154. package/node/AdapterLuxon/AdapterLuxon.js +9 -4
  155. package/node/DateCalendar/DateCalendar.js +1 -1
  156. package/node/DateField/DateField.js +1 -1
  157. package/node/DatePicker/DatePicker.js +1 -1
  158. package/node/DatePicker/DatePickerToolbar.js +11 -6
  159. package/node/DateTimeField/DateTimeField.js +1 -1
  160. package/node/DateTimePicker/DateTimePicker.js +1 -1
  161. package/node/DateTimePicker/DateTimePickerToolbar.js +97 -45
  162. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  163. package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
  164. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +63 -25
  165. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +108 -0
  166. package/node/DesktopDateTimePicker/index.js +8 -1
  167. package/node/DigitalClock/DigitalClock.js +14 -6
  168. package/node/MobileDatePicker/MobileDatePicker.js +1 -1
  169. package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  170. package/node/MonthCalendar/PickersMonth.js +12 -6
  171. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  172. package/node/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  173. package/node/PickersDay/PickersDay.js +30 -15
  174. package/node/PickersLayout/PickersLayout.js +31 -17
  175. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  176. package/node/PickersTextField/PickersInput/PickersInput.js +76 -54
  177. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  178. package/node/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  179. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  180. package/node/StaticDatePicker/StaticDatePicker.js +1 -1
  181. package/node/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  182. package/node/TimeClock/Clock.js +48 -35
  183. package/node/TimeClock/ClockNumber.js +12 -7
  184. package/node/TimeClock/ClockPointer.js +23 -13
  185. package/node/TimePicker/TimePickerToolbar.js +25 -16
  186. package/node/YearCalendar/PickersYear.js +12 -6
  187. package/node/index.js +1 -1
  188. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  189. package/node/internals/components/PickersPopper.js +13 -9
  190. package/node/internals/components/PickersToolbar.js +39 -18
  191. package/node/internals/hooks/useField/buildSectionsFromFormat.js +34 -30
  192. package/node/internals/hooks/useField/useField.js +4 -2
  193. package/node/internals/hooks/useField/useFieldV6TextField.js +8 -3
  194. package/node/internals/hooks/useField/useFieldV7TextField.js +1 -1
  195. package/node/internals/hooks/useOpenState.js +1 -1
  196. package/node/internals/utils/fields.js +1 -1
  197. package/node/locales/itIT.js +16 -20
  198. package/node/locales/zhHK.js +14 -17
  199. package/package.json +5 -5
  200. package/timeViewRenderers/timeViewRenderers.js +1 -1
  201. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +0 -15
  202. package/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -163
  203. package/dateTimeViewRenderers/index.d.ts +0 -2
  204. package/dateTimeViewRenderers/index.js +0 -1
  205. package/dateTimeViewRenderers/package.json +0 -6
  206. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -162
  207. package/modern/dateTimeViewRenderers/index.js +0 -1
  208. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -171
  209. package/node/dateTimeViewRenderers/index.js +0 -12
@@ -39,8 +39,7 @@ const useUtilityClasses = ownerState => {
39
39
  return (0, _utils.unstable_composeClasses)(slots, _pickersDayClasses.getPickersDayUtilityClass, classes);
40
40
  };
41
41
  const styleArg = ({
42
- theme,
43
- ownerState
42
+ theme
44
43
  }) => (0, _extends2.default)({}, theme.typography.caption, {
45
44
  width: _dimensions.DAY_SIZE,
46
45
  height: _dimensions.DAY_SIZE,
@@ -78,15 +77,33 @@ const styleArg = ({
78
77
  },
79
78
  [`&.${_pickersDayClasses.pickersDayClasses.disabled}&.${_pickersDayClasses.pickersDayClasses.selected}`]: {
80
79
  opacity: 0.6
81
- }
82
- }, !ownerState.disableMargin && {
83
- margin: `0 ${_dimensions.DAY_MARGIN}px`
84
- }, ownerState.outsideCurrentMonth && ownerState.showDaysOutsideCurrentMonth && {
85
- color: (theme.vars || theme).palette.text.secondary
86
- }, !ownerState.disableHighlightToday && ownerState.today && {
87
- [`&:not(.${_pickersDayClasses.pickersDayClasses.selected})`]: {
88
- border: `1px solid ${(theme.vars || theme).palette.text.secondary}`
89
- }
80
+ },
81
+ variants: [{
82
+ props: {
83
+ disableMargin: false
84
+ },
85
+ style: {
86
+ margin: `0 ${_dimensions.DAY_MARGIN}px`
87
+ }
88
+ }, {
89
+ props: {
90
+ outsideCurrentMonth: true,
91
+ showDaysOutsideCurrentMonth: true
92
+ },
93
+ style: {
94
+ color: (theme.vars || theme).palette.text.secondary
95
+ }
96
+ }, {
97
+ props: {
98
+ disableHighlightToday: false,
99
+ today: true
100
+ },
101
+ style: {
102
+ [`&:not(.${_pickersDayClasses.pickersDayClasses.selected})`]: {
103
+ border: `1px solid ${(theme.vars || theme).palette.text.secondary}`
104
+ }
105
+ }
106
+ }]
90
107
  });
91
108
  const overridesResolver = (props, styles) => {
92
109
  const {
@@ -104,11 +121,9 @@ const PickersDayFiller = (0, _styles.styled)('div', {
104
121
  slot: 'Root',
105
122
  overridesResolver
106
123
  })(({
107
- theme,
108
- ownerState
124
+ theme
109
125
  }) => (0, _extends2.default)({}, styleArg({
110
- theme,
111
- ownerState
126
+ theme
112
127
  }), {
113
128
  // visibility: 'hidden' does not work here as it hides the element from screen readers as well
114
129
  opacity: 0,
@@ -31,30 +31,44 @@ const PickersLayoutRoot = exports.PickersLayoutRoot = (0, _styles.styled)('div',
31
31
  slot: 'Root',
32
32
  overridesResolver: (props, styles) => styles.root
33
33
  })(({
34
- theme,
35
- ownerState
34
+ theme
36
35
  }) => ({
37
36
  display: 'grid',
38
37
  gridAutoColumns: 'max-content auto max-content',
39
38
  gridAutoRows: 'max-content auto max-content',
40
- [`& .${_pickersLayoutClasses.pickersLayoutClasses.toolbar}`]: ownerState.isLandscape ? {
41
- gridColumn: theme.direction === 'rtl' ? 3 : 1,
42
- gridRow: '2 / 3'
43
- } : {
44
- gridColumn: '2 / 4',
45
- gridRow: 1
46
- },
47
- [`.${_pickersLayoutClasses.pickersLayoutClasses.shortcuts}`]: ownerState.isLandscape ? {
48
- gridColumn: '2 / 4',
49
- gridRow: 1
50
- } : {
51
- gridColumn: theme.direction === 'rtl' ? 3 : 1,
52
- gridRow: '2 / 3'
53
- },
54
39
  [`& .${_pickersLayoutClasses.pickersLayoutClasses.actionBar}`]: {
55
40
  gridColumn: '1 / 4',
56
41
  gridRow: 3
57
- }
42
+ },
43
+ variants: [{
44
+ props: {
45
+ isLandscape: true
46
+ },
47
+ style: {
48
+ [`& .${_pickersLayoutClasses.pickersLayoutClasses.toolbar}`]: {
49
+ gridColumn: theme.direction === 'rtl' ? 3 : 1,
50
+ gridRow: '2 / 3'
51
+ },
52
+ [`.${_pickersLayoutClasses.pickersLayoutClasses.shortcuts}`]: {
53
+ gridColumn: '2 / 4',
54
+ gridRow: 1
55
+ }
56
+ }
57
+ }, {
58
+ props: {
59
+ isLandscape: false
60
+ },
61
+ style: {
62
+ [`& .${_pickersLayoutClasses.pickersLayoutClasses.toolbar}`]: {
63
+ gridColumn: '2 / 4',
64
+ gridRow: 1
65
+ },
66
+ [`& .${_pickersLayoutClasses.pickersLayoutClasses.shortcuts}`]: {
67
+ gridColumn: theme.direction === 'rtl' ? 3 : 1,
68
+ gridRow: '2 / 3'
69
+ }
70
+ }
71
+ }]
58
72
  }));
59
73
  PickersLayoutRoot.propTypes = {
60
74
  // ----------------------------- Warning --------------------------------
@@ -11,29 +11,30 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _FormControl = require("@mui/material/FormControl");
13
13
  var _styles = require("@mui/material/styles");
14
+ var _system = require("@mui/system");
14
15
  var _utils = require("@mui/utils");
15
16
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
17
  var _pickersFilledInputClasses = require("./pickersFilledInputClasses");
17
18
  var _PickersInputBase = require("../PickersInputBase");
18
19
  var _PickersInputBase2 = require("../PickersInputBase/PickersInputBase");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["label", "autoFocus", "ownerState"];
21
+ const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState"];
21
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
24
  const PickersFilledInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInputBaseRoot, {
24
25
  name: 'MuiPickersFilledInput',
25
26
  slot: 'Root',
26
- overridesResolver: (props, styles) => styles.root
27
+ overridesResolver: (props, styles) => styles.root,
28
+ shouldForwardProp: prop => (0, _system.shouldForwardProp)(prop) && prop !== 'disableUnderline'
27
29
  })(({
28
- theme,
29
- ownerState
30
+ theme
30
31
  }) => {
31
32
  const light = theme.palette.mode === 'light';
32
33
  const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
33
34
  const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';
34
35
  const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';
35
36
  const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';
36
- return (0, _extends2.default)({
37
+ return {
37
38
  backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,
38
39
  borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,
39
40
  borderTopRightRadius: (theme.vars || theme).shape.borderRadius,
@@ -53,83 +54,136 @@ const PickersFilledInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInp
53
54
  },
54
55
  [`&.${_pickersFilledInputClasses.pickersFilledInputClasses.disabled}`]: {
55
56
  backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground
56
- }
57
- }, !ownerState.disableUnderline && {
58
- '&::after': {
59
- borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color || 'primary']?.main}`,
60
- left: 0,
61
- bottom: 0,
62
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
63
- content: '""',
64
- position: 'absolute',
65
- right: 0,
66
- transform: 'scaleX(0)',
67
- transition: theme.transitions.create('transform', {
68
- duration: theme.transitions.duration.shorter,
69
- easing: theme.transitions.easing.easeOut
70
- }),
71
- pointerEvents: 'none' // Transparent to the hover style.
72
- },
73
- [`&.${_pickersFilledInputClasses.pickersFilledInputClasses.focused}:after`]: {
74
- // translateX(0) is a workaround for Safari transform scale bug
75
- // See https://github.com/mui/material-ui/issues/31766
76
- transform: 'scaleX(1) translateX(0)'
77
57
  },
78
- [`&.${_pickersFilledInputClasses.pickersFilledInputClasses.error}`]: {
79
- '&:before, &:after': {
80
- borderBottomColor: (theme.vars || theme).palette.error.main
58
+ variants: [...Object.keys((theme.vars ?? theme).palette)
59
+ // @ts-ignore
60
+ .filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
61
+ props: {
62
+ color,
63
+ disableUnderline: false
64
+ },
65
+ style: {
66
+ '&::after': {
67
+ // @ts-ignore
68
+ borderBottom: `2px solid ${(theme.vars || theme).palette[color]?.main}`
69
+ }
81
70
  }
82
- },
83
- '&::before': {
84
- borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,
85
- left: 0,
86
- bottom: 0,
87
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
88
- content: '"\\00a0"',
89
- position: 'absolute',
90
- right: 0,
91
- transition: theme.transitions.create('border-bottom-color', {
92
- duration: theme.transitions.duration.shorter
93
- }),
94
- pointerEvents: 'none' // Transparent to the hover style.
95
- },
96
- [`&:hover:not(.${_pickersFilledInputClasses.pickersFilledInputClasses.disabled}, .${_pickersFilledInputClasses.pickersFilledInputClasses.error}):before`]: {
97
- borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`
98
- },
99
- [`&.${_pickersFilledInputClasses.pickersFilledInputClasses.disabled}:before`]: {
100
- borderBottomStyle: 'dotted'
101
- }
102
- }, ownerState.startAdornment && {
103
- paddingLeft: 12
104
- }, ownerState.endAdornment && {
105
- paddingRight: 12
106
- });
71
+ })), {
72
+ props: {
73
+ disableUnderline: false
74
+ },
75
+ style: {
76
+ '&::after': {
77
+ left: 0,
78
+ bottom: 0,
79
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
80
+ content: '""',
81
+ position: 'absolute',
82
+ right: 0,
83
+ transform: 'scaleX(0)',
84
+ transition: theme.transitions.create('transform', {
85
+ duration: theme.transitions.duration.shorter,
86
+ easing: theme.transitions.easing.easeOut
87
+ }),
88
+ pointerEvents: 'none' // Transparent to the hover style.
89
+ },
90
+ [`&.${_pickersFilledInputClasses.pickersFilledInputClasses.focused}:after`]: {
91
+ // translateX(0) is a workaround for Safari transform scale bug
92
+ // See https://github.com/mui/material-ui/issues/31766
93
+ transform: 'scaleX(1) translateX(0)'
94
+ },
95
+ [`&.${_pickersFilledInputClasses.pickersFilledInputClasses.error}`]: {
96
+ '&:before, &:after': {
97
+ borderBottomColor: (theme.vars || theme).palette.error.main
98
+ }
99
+ },
100
+ '&::before': {
101
+ borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,
102
+ left: 0,
103
+ bottom: 0,
104
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
105
+ content: '"\\00a0"',
106
+ position: 'absolute',
107
+ right: 0,
108
+ transition: theme.transitions.create('border-bottom-color', {
109
+ duration: theme.transitions.duration.shorter
110
+ }),
111
+ pointerEvents: 'none' // Transparent to the hover style.
112
+ },
113
+ [`&:hover:not(.${_pickersFilledInputClasses.pickersFilledInputClasses.disabled}, .${_pickersFilledInputClasses.pickersFilledInputClasses.error}):before`]: {
114
+ borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`
115
+ },
116
+ [`&.${_pickersFilledInputClasses.pickersFilledInputClasses.disabled}:before`]: {
117
+ borderBottomStyle: 'dotted'
118
+ }
119
+ }
120
+ }, {
121
+ props: ({
122
+ startAdornment
123
+ }) => !!startAdornment,
124
+ style: {
125
+ paddingLeft: 12
126
+ }
127
+ }, {
128
+ props: ({
129
+ endAdornment
130
+ }) => !!endAdornment,
131
+ style: {
132
+ paddingRight: 12
133
+ }
134
+ }]
135
+ };
107
136
  });
108
137
  const PickersFilledSectionsContainer = (0, _styles.styled)(_PickersInputBase2.PickersInputBaseSectionsContainer, {
109
138
  name: 'MuiPickersFilledInput',
110
139
  slot: 'sectionsContainer',
111
140
  overridesResolver: (props, styles) => styles.sectionsContainer
112
- })(({
113
- ownerState
114
- }) => (0, _extends2.default)({
141
+ })({
115
142
  paddingTop: 25,
116
143
  paddingRight: 12,
117
144
  paddingBottom: 8,
118
- paddingLeft: 12
119
- }, ownerState.size === 'small' && {
120
- paddingTop: 21,
121
- paddingBottom: 4
122
- }, ownerState.startAdornment && {
123
- paddingLeft: 0
124
- }, ownerState.endAdornment && {
125
- paddingRight: 0
126
- }, ownerState.hiddenLabel && {
127
- paddingTop: 16,
128
- paddingBottom: 17
129
- }, ownerState.hiddenLabel && ownerState.size === 'small' && {
130
- paddingTop: 8,
131
- paddingBottom: 9
132
- }));
145
+ paddingLeft: 12,
146
+ variants: [{
147
+ props: {
148
+ size: 'small'
149
+ },
150
+ style: {
151
+ paddingTop: 21,
152
+ paddingBottom: 4
153
+ }
154
+ }, {
155
+ props: ({
156
+ startAdornment
157
+ }) => !!startAdornment,
158
+ style: {
159
+ paddingLeft: 0
160
+ }
161
+ }, {
162
+ props: ({
163
+ endAdornment
164
+ }) => !!endAdornment,
165
+ style: {
166
+ paddingRight: 0
167
+ }
168
+ }, {
169
+ props: {
170
+ hiddenLabel: true
171
+ },
172
+ style: {
173
+ paddingTop: 16,
174
+ paddingBottom: 17
175
+ }
176
+ }, {
177
+ props: {
178
+ hiddenLabel: true,
179
+ size: 'small'
180
+ },
181
+ style: {
182
+ paddingTop: 8,
183
+ paddingBottom: 9
184
+ }
185
+ }]
186
+ });
133
187
  const useUtilityClasses = ownerState => {
134
188
  const {
135
189
  classes,
@@ -152,6 +206,7 @@ const PickersFilledInput = exports.PickersFilledInput = /*#__PURE__*/React.forwa
152
206
  });
153
207
  const {
154
208
  label,
209
+ disableUnderline = false,
155
210
  ownerState: ownerStateProp
156
211
  } = props,
157
212
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
@@ -164,6 +219,11 @@ const PickersFilledInput = exports.PickersFilledInput = /*#__PURE__*/React.forwa
164
219
  slots: {
165
220
  root: PickersFilledInputRoot,
166
221
  input: PickersFilledSectionsContainer
222
+ },
223
+ slotProps: {
224
+ root: {
225
+ disableUnderline
226
+ }
167
227
  }
168
228
  }, other, {
169
229
  label: label,
@@ -229,6 +289,11 @@ process.env.NODE_ENV !== "production" ? PickersFilledInput.propTypes = {
229
289
  getSectionIndexFromDOMElement: _propTypes.default.func.isRequired
230
290
  })
231
291
  })]),
292
+ /**
293
+ * The props used for each component slot.
294
+ * @default {}
295
+ */
296
+ slotProps: _propTypes.default.object,
232
297
  /**
233
298
  * The components used for each slot inside.
234
299
  *
@@ -17,7 +17,7 @@ var _pickersInputClasses = require("./pickersInputClasses");
17
17
  var _PickersInputBase = require("../PickersInputBase");
18
18
  var _PickersInputBase2 = require("../PickersInputBase/PickersInputBase");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["label", "autoFocus", "ownerState"];
20
+ const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState"];
21
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
23
  const PickersInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInputBaseRoot, {
@@ -25,70 +25,85 @@ const PickersInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInputBase
25
25
  slot: 'Root',
26
26
  overridesResolver: (props, styles) => styles.root
27
27
  })(({
28
- theme,
29
- ownerState
28
+ theme
30
29
  }) => {
31
30
  const light = theme.palette.mode === 'light';
32
31
  let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
33
32
  if (theme.vars) {
34
33
  bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;
35
34
  }
36
- return (0, _extends2.default)({
35
+ return {
37
36
  'label + &': {
38
37
  marginTop: 16
39
- }
40
- }, !ownerState.disableUnderline && {
41
- '&::after': {
42
- background: 'red',
43
- // @ts-ignore
44
- borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`,
45
- left: 0,
46
- bottom: 0,
47
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
48
- content: '""',
49
- position: 'absolute',
50
- right: 0,
51
- transform: 'scaleX(0)',
52
- transition: theme.transitions.create('transform', {
53
- duration: theme.transitions.duration.shorter,
54
- easing: theme.transitions.easing.easeOut
55
- }),
56
- pointerEvents: 'none' // Transparent to the hover style.
57
- },
58
- [`&.${_pickersInputClasses.pickersInputClasses.focused}:after`]: {
59
- // translateX(0) is a workaround for Safari transform scale bug
60
- // See https://github.com/mui/material-ui/issues/31766
61
- transform: 'scaleX(1) translateX(0)'
62
38
  },
63
- [`&.${_pickersInputClasses.pickersInputClasses.error}`]: {
64
- '&:before, &:after': {
65
- borderBottomColor: (theme.vars || theme).palette.error.main
39
+ variants: [...Object.keys((theme.vars ?? theme).palette)
40
+ // @ts-ignore
41
+ .filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
42
+ props: {
43
+ color
44
+ },
45
+ style: {
46
+ '&::after': {
47
+ // @ts-ignore
48
+ borderBottom: `2px solid ${(theme.vars || theme).palette[color].main}`
49
+ }
66
50
  }
67
- },
68
- '&::before': {
69
- borderBottom: `1px solid ${bottomLineColor}`,
70
- left: 0,
71
- bottom: 0,
72
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
73
- content: '"\\00a0"',
74
- position: 'absolute',
75
- right: 0,
76
- transition: theme.transitions.create('border-bottom-color', {
77
- duration: theme.transitions.duration.shorter
78
- }),
79
- pointerEvents: 'none' // Transparent to the hover style.
80
- },
81
- [`&:hover:not(.${_pickersInputClasses.pickersInputClasses.disabled}, .${_pickersInputClasses.pickersInputClasses.error}):before`]: {
82
- borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,
83
- // Reset on touch devices, it doesn't add specificity
84
- '@media (hover: none)': {
85
- borderBottom: `1px solid ${bottomLineColor}`
51
+ })), {
52
+ props: {
53
+ disableUnderline: false
54
+ },
55
+ style: {
56
+ '&::after': {
57
+ background: 'red',
58
+ left: 0,
59
+ bottom: 0,
60
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
61
+ content: '""',
62
+ position: 'absolute',
63
+ right: 0,
64
+ transform: 'scaleX(0)',
65
+ transition: theme.transitions.create('transform', {
66
+ duration: theme.transitions.duration.shorter,
67
+ easing: theme.transitions.easing.easeOut
68
+ }),
69
+ pointerEvents: 'none' // Transparent to the hover style.
70
+ },
71
+ [`&.${_pickersInputClasses.pickersInputClasses.focused}:after`]: {
72
+ // translateX(0) is a workaround for Safari transform scale bug
73
+ // See https://github.com/mui/material-ui/issues/31766
74
+ transform: 'scaleX(1) translateX(0)'
75
+ },
76
+ [`&.${_pickersInputClasses.pickersInputClasses.error}`]: {
77
+ '&:before, &:after': {
78
+ borderBottomColor: (theme.vars || theme).palette.error.main
79
+ }
80
+ },
81
+ '&::before': {
82
+ borderBottom: `1px solid ${bottomLineColor}`,
83
+ left: 0,
84
+ bottom: 0,
85
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
86
+ content: '"\\00a0"',
87
+ position: 'absolute',
88
+ right: 0,
89
+ transition: theme.transitions.create('border-bottom-color', {
90
+ duration: theme.transitions.duration.shorter
91
+ }),
92
+ pointerEvents: 'none' // Transparent to the hover style.
93
+ },
94
+ [`&:hover:not(.${_pickersInputClasses.pickersInputClasses.disabled}, .${_pickersInputClasses.pickersInputClasses.error}):before`]: {
95
+ borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,
96
+ // Reset on touch devices, it doesn't add specificity
97
+ '@media (hover: none)': {
98
+ borderBottom: `1px solid ${bottomLineColor}`
99
+ }
100
+ },
101
+ [`&.${_pickersInputClasses.pickersInputClasses.disabled}:before`]: {
102
+ borderBottomStyle: 'dotted'
103
+ }
86
104
  }
87
- },
88
- [`&.${_pickersInputClasses.pickersInputClasses.disabled}:before`]: {
89
- borderBottomStyle: 'dotted'
90
- }
91
- });
105
+ }]
106
+ };
92
107
  });
93
108
  const useUtilityClasses = ownerState => {
94
109
  const {
@@ -112,11 +127,13 @@ const PickersInput = exports.PickersInput = /*#__PURE__*/React.forwardRef(functi
112
127
  });
113
128
  const {
114
129
  label,
130
+ disableUnderline = false,
115
131
  ownerState: ownerStateProp
116
132
  } = props,
117
133
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
118
134
  const muiFormControl = (0, _FormControl.useFormControl)();
119
135
  const ownerState = (0, _extends2.default)({}, props, ownerStateProp, muiFormControl, {
136
+ disableUnderline,
120
137
  color: muiFormControl?.color || 'primary'
121
138
  });
122
139
  const classes = useUtilityClasses(ownerState);
@@ -187,6 +204,11 @@ process.env.NODE_ENV !== "production" ? PickersInput.propTypes = {
187
204
  getSectionIndexFromDOMElement: _propTypes.default.func.isRequired
188
205
  })
189
206
  })]),
207
+ /**
208
+ * The props used for each component slot.
209
+ * @default {}
210
+ */
211
+ slotProps: _propTypes.default.object,
190
212
  /**
191
213
  * The components used for each slot inside.
192
214
  *