@mui/x-date-pickers 7.0.0-alpha.2 → 7.0.0-alpha.3
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.
- package/AdapterDateFns/AdapterDateFns.js +10 -14
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +12 -16
- package/AdapterDayjs/AdapterDayjs.js +11 -8
- package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
- package/AdapterLuxon/AdapterLuxon.js +29 -16
- package/AdapterMoment/AdapterMoment.d.ts +1 -1
- package/AdapterMoment/AdapterMoment.js +14 -14
- package/AdapterMomentHijri/AdapterMomentHijri.d.ts +0 -1
- package/AdapterMomentHijri/AdapterMomentHijri.js +1 -24
- package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +0 -2
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -26
- package/CHANGELOG.md +241 -0
- package/DateCalendar/DateCalendar.js +2 -2
- package/DateCalendar/DayCalendar.d.ts +3 -3
- package/DatePicker/DatePicker.js +2 -2
- package/DateTimePicker/DateTimePicker.js +2 -2
- package/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/MobileDatePicker/MobileDatePicker.js +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +3 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
- package/PickersShortcuts/PickersShortcuts.d.ts +1 -1
- package/PickersShortcuts/PickersShortcuts.js +1 -1
- package/README.md +0 -1
- package/StaticDatePicker/StaticDatePicker.js +2 -2
- package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/index.js +1 -1
- package/internals/components/PickersTextField/Outline.d.ts +2 -0
- package/internals/components/PickersTextField/Outline.js +99 -0
- package/internals/components/PickersTextField/PickersInput.d.ts +4 -0
- package/internals/components/PickersTextField/PickersInput.js +264 -0
- package/internals/components/PickersTextField/PickersInput.types.d.ts +30 -0
- package/internals/components/PickersTextField/PickersInput.types.js +1 -0
- package/internals/components/PickersTextField/PickersTextField.d.ts +3 -0
- package/internals/components/PickersTextField/PickersTextField.js +120 -0
- package/internals/components/PickersTextField/PickersTextField.types.d.ts +18 -0
- package/internals/components/PickersTextField/PickersTextField.types.js +1 -0
- package/internals/components/PickersTextField/index.d.ts +1 -0
- package/internals/components/PickersTextField/index.js +1 -0
- package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +42 -0
- package/internals/components/PickersTextField/pickersTextFieldClasses.js +9 -0
- package/internals/hooks/useField/useField.utils.js +23 -10
- package/internals/hooks/usePicker/usePickerValue.js +2 -6
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +2 -2
- package/legacy/AdapterDateFns/AdapterDateFns.js +10 -14
- package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +12 -16
- package/legacy/AdapterDayjs/AdapterDayjs.js +11 -8
- package/legacy/AdapterLuxon/AdapterLuxon.js +30 -17
- package/legacy/AdapterMoment/AdapterMoment.js +326 -320
- package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +4 -25
- package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -30
- package/legacy/DateCalendar/DateCalendar.js +2 -2
- package/legacy/DatePicker/DatePicker.js +2 -2
- package/legacy/DateTimePicker/DateTimePicker.js +2 -2
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/legacy/MobileDatePicker/MobileDatePicker.js +2 -2
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
- package/legacy/PickersShortcuts/PickersShortcuts.js +2 -1
- package/legacy/StaticDatePicker/StaticDatePicker.js +2 -2
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/components/PickersTextField/Outline.js +100 -0
- package/legacy/internals/components/PickersTextField/PickersInput.js +273 -0
- package/legacy/internals/components/PickersTextField/PickersInput.types.js +1 -0
- package/legacy/internals/components/PickersTextField/PickersTextField.js +129 -0
- package/legacy/internals/components/PickersTextField/PickersTextField.types.js +1 -0
- package/legacy/internals/components/PickersTextField/index.js +1 -0
- package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +9 -0
- package/legacy/internals/hooks/useField/useField.utils.js +23 -10
- package/legacy/internals/hooks/usePicker/usePickerValue.js +2 -6
- package/locales/beBY.d.ts +18 -5
- package/locales/caES.d.ts +18 -5
- package/locales/csCZ.d.ts +18 -5
- package/locales/daDK.d.ts +18 -5
- package/locales/deDE.d.ts +18 -5
- package/locales/elGR.d.ts +18 -5
- package/locales/enUS.d.ts +18 -5
- package/locales/esES.d.ts +18 -5
- package/locales/eu.d.ts +18 -5
- package/locales/faIR.d.ts +18 -5
- package/locales/fiFI.d.ts +18 -5
- package/locales/frFR.d.ts +18 -5
- package/locales/heIL.d.ts +18 -5
- package/locales/huHU.d.ts +18 -5
- package/locales/isIS.d.ts +18 -5
- package/locales/itIT.d.ts +18 -5
- package/locales/jaJP.d.ts +18 -5
- package/locales/koKR.d.ts +18 -5
- package/locales/kzKZ.d.ts +18 -5
- package/locales/mk.d.ts +18 -5
- package/locales/nbNO.d.ts +18 -5
- package/locales/nlNL.d.ts +18 -5
- package/locales/plPL.d.ts +18 -5
- package/locales/ptBR.d.ts +18 -5
- package/locales/roRO.d.ts +18 -5
- package/locales/ruRU.d.ts +18 -5
- package/locales/skSK.d.ts +18 -5
- package/locales/svSE.d.ts +18 -5
- package/locales/trTR.d.ts +18 -5
- package/locales/ukUA.d.ts +18 -5
- package/locales/urPK.d.ts +18 -5
- package/locales/utils/getPickersLocalization.d.ts +18 -5
- package/locales/utils/pickersLocaleTextApi.d.ts +18 -5
- package/locales/viVN.d.ts +18 -5
- package/locales/zhCN.d.ts +18 -5
- package/locales/zhHK.d.ts +18 -5
- package/modern/AdapterDateFns/AdapterDateFns.js +10 -14
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +12 -16
- package/modern/AdapterDayjs/AdapterDayjs.js +11 -8
- package/modern/AdapterLuxon/AdapterLuxon.js +28 -16
- package/modern/AdapterMoment/AdapterMoment.js +14 -14
- package/modern/AdapterMomentHijri/AdapterMomentHijri.js +1 -24
- package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -26
- package/modern/DateCalendar/DateCalendar.js +2 -2
- package/modern/DatePicker/DatePicker.js +2 -2
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
- package/modern/PickersShortcuts/PickersShortcuts.js +1 -1
- package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersTextField/Outline.js +99 -0
- package/modern/internals/components/PickersTextField/PickersInput.js +264 -0
- package/modern/internals/components/PickersTextField/PickersInput.types.js +1 -0
- package/modern/internals/components/PickersTextField/PickersTextField.js +119 -0
- package/modern/internals/components/PickersTextField/PickersTextField.types.js +1 -0
- package/modern/internals/components/PickersTextField/index.js +1 -0
- package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +9 -0
- package/modern/internals/hooks/useField/useField.utils.js +23 -10
- package/modern/internals/hooks/usePicker/usePickerValue.js +2 -6
- package/node/AdapterDateFns/AdapterDateFns.js +10 -14
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +12 -16
- package/node/AdapterDayjs/AdapterDayjs.js +10 -7
- package/node/AdapterLuxon/AdapterLuxon.js +28 -16
- package/node/AdapterMoment/AdapterMoment.js +14 -14
- package/node/AdapterMomentHijri/AdapterMomentHijri.js +1 -24
- package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -26
- package/node/DateCalendar/DateCalendar.js +2 -2
- package/node/DatePicker/DatePicker.js +2 -2
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/node/MobileDatePicker/MobileDatePicker.js +2 -2
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
- package/node/PickersShortcuts/PickersShortcuts.js +1 -1
- package/node/StaticDatePicker/StaticDatePicker.js +2 -2
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/node/index.js +1 -1
- package/node/internals/components/PickersTextField/Outline.js +108 -0
- package/node/internals/components/PickersTextField/PickersInput.js +272 -0
- package/node/internals/components/PickersTextField/PickersInput.types.js +5 -0
- package/node/internals/components/PickersTextField/PickersTextField.js +127 -0
- package/node/internals/components/PickersTextField/PickersTextField.types.js +5 -0
- package/node/internals/components/PickersTextField/index.js +12 -0
- package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +17 -0
- package/node/internals/hooks/useField/useField.utils.js +23 -10
- package/node/internals/hooks/usePicker/usePickerValue.js +2 -6
- package/package.json +2 -2
- package/internals/components/FakeTextField/FakeTextField.d.ts +0 -22
- package/internals/components/FakeTextField/FakeTextField.js +0 -44
- package/internals/components/FakeTextField/index.d.ts +0 -1
- package/internals/components/FakeTextField/index.js +0 -1
- package/legacy/internals/components/FakeTextField/FakeTextField.js +0 -49
- package/legacy/internals/components/FakeTextField/index.js +0 -1
- package/modern/internals/components/FakeTextField/FakeTextField.js +0 -44
- package/modern/internals/components/FakeTextField/index.js +0 -1
- package/node/internals/components/FakeTextField/FakeTextField.js +0 -52
- package/node/internals/components/FakeTextField/index.js +0 -12
|
@@ -198,21 +198,6 @@ export class AdapterMomentHijri extends AdapterMoment {
|
|
|
198
198
|
this.setDate = (value, date) => {
|
|
199
199
|
return value.clone().iDate(date);
|
|
200
200
|
};
|
|
201
|
-
this.getWeekArray = value => {
|
|
202
|
-
const start = value.clone().startOf('iMonth').startOf('week');
|
|
203
|
-
const end = value.clone().endOf('iMonth').endOf('week');
|
|
204
|
-
let count = 0;
|
|
205
|
-
let current = start;
|
|
206
|
-
const nestedWeeks = [];
|
|
207
|
-
while (current.isBefore(end)) {
|
|
208
|
-
const weekNumber = Math.floor(count / 7);
|
|
209
|
-
nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
|
|
210
|
-
nestedWeeks[weekNumber].push(current);
|
|
211
|
-
current = current.clone().add(1, 'day');
|
|
212
|
-
count += 1;
|
|
213
|
-
}
|
|
214
|
-
return nestedWeeks;
|
|
215
|
-
};
|
|
216
201
|
this.getWeekNumber = value => {
|
|
217
202
|
return value.iWeek();
|
|
218
203
|
};
|
|
@@ -225,15 +210,7 @@ export class AdapterMomentHijri extends AdapterMoment {
|
|
|
225
210
|
if (end.isAfter('2076-11-26')) {
|
|
226
211
|
throw new Error('max date must be on or before 1499-12-29 H (2076-11-26)');
|
|
227
212
|
}
|
|
228
|
-
|
|
229
|
-
const endDate = this.moment(end).endOf('iYear');
|
|
230
|
-
const years = [];
|
|
231
|
-
let current = startDate;
|
|
232
|
-
while (current.isBefore(endDate)) {
|
|
233
|
-
years.push(current);
|
|
234
|
-
current = current.clone().add(1, 'iYear');
|
|
235
|
-
}
|
|
236
|
-
return years;
|
|
213
|
+
return super.getYearRange([start, end]);
|
|
237
214
|
};
|
|
238
215
|
this.moment = instance || defaultHMoment;
|
|
239
216
|
this.locale = 'ar-SA';
|
|
@@ -212,35 +212,9 @@ export class AdapterMomentJalaali extends AdapterMoment {
|
|
|
212
212
|
this.setDate = (value, date) => {
|
|
213
213
|
return value.clone().jDate(date);
|
|
214
214
|
};
|
|
215
|
-
this.getWeekArray = value => {
|
|
216
|
-
const start = value.clone().startOf('jMonth').startOf('week');
|
|
217
|
-
const end = value.clone().endOf('jMonth').endOf('week');
|
|
218
|
-
let count = 0;
|
|
219
|
-
let current = start;
|
|
220
|
-
const nestedWeeks = [];
|
|
221
|
-
while (current.isBefore(end)) {
|
|
222
|
-
const weekNumber = Math.floor(count / 7);
|
|
223
|
-
nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
|
|
224
|
-
nestedWeeks[weekNumber].push(current);
|
|
225
|
-
current = current.clone().add(1, 'day');
|
|
226
|
-
count += 1;
|
|
227
|
-
}
|
|
228
|
-
return nestedWeeks;
|
|
229
|
-
};
|
|
230
215
|
this.getWeekNumber = value => {
|
|
231
216
|
return value.jWeek();
|
|
232
217
|
};
|
|
233
|
-
this.getYearRange = ([start, end]) => {
|
|
234
|
-
const startDate = this.moment(start).startOf('jYear');
|
|
235
|
-
const endDate = this.moment(end).endOf('jYear');
|
|
236
|
-
const years = [];
|
|
237
|
-
let current = startDate;
|
|
238
|
-
while (current.isBefore(endDate)) {
|
|
239
|
-
years.push(current);
|
|
240
|
-
current = current.clone().add(1, 'jYear');
|
|
241
|
-
}
|
|
242
|
-
return years;
|
|
243
|
-
};
|
|
244
218
|
this.moment = instance || defaultJMoment;
|
|
245
219
|
this.locale = 'fa';
|
|
246
220
|
this.formats = _extends({}, defaultFormats, formats);
|
|
@@ -393,8 +393,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
393
393
|
*/
|
|
394
394
|
displayWeekNumber: PropTypes.bool,
|
|
395
395
|
/**
|
|
396
|
-
*
|
|
397
|
-
* Put it to 6
|
|
396
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
397
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
398
398
|
* @default undefined
|
|
399
399
|
*/
|
|
400
400
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -112,8 +112,8 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
112
112
|
*/
|
|
113
113
|
displayWeekNumber: PropTypes.bool,
|
|
114
114
|
/**
|
|
115
|
-
*
|
|
116
|
-
* Put it to 6
|
|
115
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
116
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
117
117
|
* @default undefined
|
|
118
118
|
*/
|
|
119
119
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -127,8 +127,8 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
127
127
|
*/
|
|
128
128
|
displayWeekNumber: PropTypes.bool,
|
|
129
129
|
/**
|
|
130
|
-
*
|
|
131
|
-
* Put it to 6
|
|
130
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
131
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
132
132
|
* @default undefined
|
|
133
133
|
*/
|
|
134
134
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -126,8 +126,8 @@ DesktopDatePicker.propTypes = {
|
|
|
126
126
|
*/
|
|
127
127
|
displayWeekNumber: PropTypes.bool,
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
130
|
-
* Put it to 6
|
|
129
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
130
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
131
131
|
* @default undefined
|
|
132
132
|
*/
|
|
133
133
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -180,8 +180,8 @@ DesktopDateTimePicker.propTypes = {
|
|
|
180
180
|
*/
|
|
181
181
|
displayWeekNumber: PropTypes.bool,
|
|
182
182
|
/**
|
|
183
|
-
*
|
|
184
|
-
* Put it to 6
|
|
183
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
184
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
185
185
|
* @default undefined
|
|
186
186
|
*/
|
|
187
187
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -123,8 +123,8 @@ MobileDatePicker.propTypes = {
|
|
|
123
123
|
*/
|
|
124
124
|
displayWeekNumber: PropTypes.bool,
|
|
125
125
|
/**
|
|
126
|
-
*
|
|
127
|
-
* Put it to 6
|
|
126
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
127
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
128
128
|
* @default undefined
|
|
129
129
|
*/
|
|
130
130
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -149,8 +149,8 @@ MobileDateTimePicker.propTypes = {
|
|
|
149
149
|
*/
|
|
150
150
|
displayWeekNumber: PropTypes.bool,
|
|
151
151
|
/**
|
|
152
|
-
*
|
|
153
|
-
* Put it to 6
|
|
152
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
153
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
154
154
|
* @default undefined
|
|
155
155
|
*/
|
|
156
156
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -249,6 +249,7 @@ export const MultiSectionDigitalClock = /*#__PURE__*/React.forwardRef(function M
|
|
|
249
249
|
},
|
|
250
250
|
items: getTimeSectionOptions({
|
|
251
251
|
value: utils.getMinutes(valueOrReferenceDate),
|
|
252
|
+
utils,
|
|
252
253
|
isDisabled: minutes => disabled || isTimeDisabled(minutes, 'minutes'),
|
|
253
254
|
resolveLabel: minutes => utils.format(utils.setMinutes(now, minutes), 'minutes'),
|
|
254
255
|
timeStep: timeSteps.minutes,
|
|
@@ -265,6 +266,7 @@ export const MultiSectionDigitalClock = /*#__PURE__*/React.forwardRef(function M
|
|
|
265
266
|
},
|
|
266
267
|
items: getTimeSectionOptions({
|
|
267
268
|
value: utils.getSeconds(valueOrReferenceDate),
|
|
269
|
+
utils,
|
|
268
270
|
isDisabled: seconds => disabled || isTimeDisabled(seconds, 'seconds'),
|
|
269
271
|
resolveLabel: seconds => utils.format(utils.setSeconds(now, seconds), 'seconds'),
|
|
270
272
|
timeStep: timeSteps.seconds,
|
|
@@ -44,6 +44,7 @@ export const getHourSectionOptions = ({
|
|
|
44
44
|
};
|
|
45
45
|
export const getTimeSectionOptions = ({
|
|
46
46
|
value,
|
|
47
|
+
utils,
|
|
47
48
|
isDisabled,
|
|
48
49
|
timeStep,
|
|
49
50
|
resolveLabel,
|
|
@@ -65,7 +66,7 @@ export const getTimeSectionOptions = ({
|
|
|
65
66
|
const timeValue = timeStep * index;
|
|
66
67
|
return {
|
|
67
68
|
value: timeValue,
|
|
68
|
-
label: resolveLabel(timeValue),
|
|
69
|
+
label: utils.formatNumber(resolveLabel(timeValue)),
|
|
69
70
|
isDisabled,
|
|
70
71
|
isSelected,
|
|
71
72
|
isFocused,
|
|
@@ -105,8 +105,8 @@ StaticDatePicker.propTypes = {
|
|
|
105
105
|
*/
|
|
106
106
|
displayWeekNumber: PropTypes.bool,
|
|
107
107
|
/**
|
|
108
|
-
*
|
|
109
|
-
* Put it to 6
|
|
108
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
109
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
110
110
|
* @default undefined
|
|
111
111
|
*/
|
|
112
112
|
fixedWeekNumber: PropTypes.number,
|
|
@@ -130,8 +130,8 @@ StaticDateTimePicker.propTypes = {
|
|
|
130
130
|
*/
|
|
131
131
|
displayWeekNumber: PropTypes.bool,
|
|
132
132
|
/**
|
|
133
|
-
*
|
|
134
|
-
* Put it to 6
|
|
133
|
+
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
134
|
+
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
135
135
|
* @default undefined
|
|
136
136
|
*/
|
|
137
137
|
fixedWeekNumber: PropTypes.number,
|
package/modern/index.js
CHANGED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
const _excluded = ["children", "classes", "className", "label", "notched"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { styled } from '@mui/material/styles';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const OutlineRoot = styled('fieldset')({
|
|
8
|
+
textAlign: 'left',
|
|
9
|
+
position: 'absolute',
|
|
10
|
+
bottom: 0,
|
|
11
|
+
right: 0,
|
|
12
|
+
top: -5,
|
|
13
|
+
left: 0,
|
|
14
|
+
margin: 0,
|
|
15
|
+
padding: '0 8px',
|
|
16
|
+
pointerEvents: 'none',
|
|
17
|
+
borderRadius: 'inherit',
|
|
18
|
+
borderStyle: 'solid',
|
|
19
|
+
borderWidth: 1,
|
|
20
|
+
overflow: 'hidden',
|
|
21
|
+
minWidth: '0%'
|
|
22
|
+
});
|
|
23
|
+
const OutlineLegend = styled('legend')(({
|
|
24
|
+
ownerState,
|
|
25
|
+
theme
|
|
26
|
+
}) => _extends({
|
|
27
|
+
float: 'unset',
|
|
28
|
+
// Fix conflict with bootstrap
|
|
29
|
+
width: 'auto',
|
|
30
|
+
// Fix conflict with bootstrap
|
|
31
|
+
overflow: 'hidden'
|
|
32
|
+
}, !ownerState.withLabel && {
|
|
33
|
+
padding: 0,
|
|
34
|
+
lineHeight: '11px',
|
|
35
|
+
// sync with `height` in `legend` styles
|
|
36
|
+
transition: theme.transitions.create('width', {
|
|
37
|
+
duration: 150,
|
|
38
|
+
easing: theme.transitions.easing.easeOut
|
|
39
|
+
})
|
|
40
|
+
}, ownerState.withLabel && _extends({
|
|
41
|
+
display: 'block',
|
|
42
|
+
// Fix conflict with normalize.css and sanitize.css
|
|
43
|
+
padding: 0,
|
|
44
|
+
height: 11,
|
|
45
|
+
// sync with `lineHeight` in `legend` styles
|
|
46
|
+
fontSize: '0.75em',
|
|
47
|
+
visibility: 'hidden',
|
|
48
|
+
maxWidth: 0.01,
|
|
49
|
+
transition: theme.transitions.create('max-width', {
|
|
50
|
+
duration: 50,
|
|
51
|
+
easing: theme.transitions.easing.easeOut
|
|
52
|
+
}),
|
|
53
|
+
whiteSpace: 'nowrap',
|
|
54
|
+
'& > span': {
|
|
55
|
+
paddingLeft: 5,
|
|
56
|
+
paddingRight: 5,
|
|
57
|
+
display: 'inline-block',
|
|
58
|
+
opacity: 0,
|
|
59
|
+
visibility: 'visible'
|
|
60
|
+
}
|
|
61
|
+
}, ownerState.notched && {
|
|
62
|
+
maxWidth: '100%',
|
|
63
|
+
transition: theme.transitions.create('max-width', {
|
|
64
|
+
duration: 100,
|
|
65
|
+
easing: theme.transitions.easing.easeOut,
|
|
66
|
+
delay: 50
|
|
67
|
+
})
|
|
68
|
+
})));
|
|
69
|
+
export default function Outline(props) {
|
|
70
|
+
const {
|
|
71
|
+
className,
|
|
72
|
+
label,
|
|
73
|
+
notched
|
|
74
|
+
} = props,
|
|
75
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
76
|
+
const withLabel = label != null && label !== '';
|
|
77
|
+
const ownerState = _extends({}, props, {
|
|
78
|
+
notched,
|
|
79
|
+
withLabel
|
|
80
|
+
});
|
|
81
|
+
return /*#__PURE__*/_jsx(OutlineRoot, _extends({
|
|
82
|
+
"aria-hidden": true,
|
|
83
|
+
className: className,
|
|
84
|
+
ownerState: ownerState
|
|
85
|
+
}, other, {
|
|
86
|
+
children: /*#__PURE__*/_jsx(OutlineLegend, {
|
|
87
|
+
ownerState: ownerState,
|
|
88
|
+
children: withLabel ? /*#__PURE__*/_jsx("span", {
|
|
89
|
+
children: label
|
|
90
|
+
}) :
|
|
91
|
+
/*#__PURE__*/
|
|
92
|
+
// notranslate needed while Google Translate will not fix zero-width space issue
|
|
93
|
+
_jsx("span", {
|
|
94
|
+
className: "notranslate",
|
|
95
|
+
children: "\u200B"
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
const _excluded = ["elements", "defaultValue", "label", "onFocus", "onWrapperClick", "onBlur", "valueStr", "onValueStrChange", "id", "InputProps", "inputProps", "autoFocus", "ownerState", "endAdornment", "startAdornment"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import Box from '@mui/material/Box';
|
|
7
|
+
import { useFormControl } from '@mui/material/FormControl';
|
|
8
|
+
import { styled } from '@mui/material/styles';
|
|
9
|
+
import useForkRef from '@mui/utils/useForkRef';
|
|
10
|
+
import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize, visuallyHidden } from '@mui/utils';
|
|
11
|
+
import { pickersInputClasses, getPickersInputUtilityClass } from './pickersTextFieldClasses';
|
|
12
|
+
import Outline from './Outline';
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
const SectionsWrapper = styled(Box, {
|
|
16
|
+
name: 'MuiPickersInput',
|
|
17
|
+
slot: 'Root',
|
|
18
|
+
overridesResolver: (props, styles) => styles.root
|
|
19
|
+
})(({
|
|
20
|
+
theme,
|
|
21
|
+
ownerState
|
|
22
|
+
}) => {
|
|
23
|
+
const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
|
|
24
|
+
return _extends({
|
|
25
|
+
cursor: 'text',
|
|
26
|
+
padding: '16.5px 14px',
|
|
27
|
+
display: 'flex',
|
|
28
|
+
justifyContent: 'flex-start',
|
|
29
|
+
alignItems: 'center',
|
|
30
|
+
width: ownerState.fullWidth ? '100%' : '25ch',
|
|
31
|
+
position: 'relative',
|
|
32
|
+
borderRadius: (theme.vars || theme).shape.borderRadius,
|
|
33
|
+
[`&:hover .${pickersInputClasses.notchedOutline}`]: {
|
|
34
|
+
borderColor: (theme.vars || theme).palette.text.primary
|
|
35
|
+
},
|
|
36
|
+
// Reset on touch devices, it doesn't add specificity
|
|
37
|
+
'@media (hover: none)': {
|
|
38
|
+
[`&:hover .${pickersInputClasses.notchedOutline}`]: {
|
|
39
|
+
borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
[`&.${pickersInputClasses.focused} .${pickersInputClasses.notchedOutline}`]: {
|
|
43
|
+
borderStyle: 'solid',
|
|
44
|
+
borderColor: (theme.vars || theme).palette[ownerState.color].main,
|
|
45
|
+
borderWidth: 2
|
|
46
|
+
},
|
|
47
|
+
[`&.${pickersInputClasses.disabled}`]: {
|
|
48
|
+
[`& .${pickersInputClasses.notchedOutline}`]: {
|
|
49
|
+
borderColor: (theme.vars || theme).palette.action.disabled
|
|
50
|
+
},
|
|
51
|
+
'*': {
|
|
52
|
+
color: (theme.vars || theme).palette.action.disabled
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
[`&.${pickersInputClasses.error} .${pickersInputClasses.notchedOutline}`]: {
|
|
56
|
+
borderColor: (theme.vars || theme).palette.error.main
|
|
57
|
+
}
|
|
58
|
+
}, ownerState.size === 'small' && {
|
|
59
|
+
padding: '8.5px 14px'
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
const SectionsContainer = styled('div', {
|
|
63
|
+
name: 'MuiPickersInput',
|
|
64
|
+
slot: 'Input',
|
|
65
|
+
overridesResolver: (props, styles) => styles.input
|
|
66
|
+
})(({
|
|
67
|
+
theme,
|
|
68
|
+
ownerState
|
|
69
|
+
}) => ({
|
|
70
|
+
fontFamily: theme.typography.fontFamily,
|
|
71
|
+
fontSize: 'inherit',
|
|
72
|
+
lineHeight: '1.4375em',
|
|
73
|
+
// 23px
|
|
74
|
+
flexGrow: 1,
|
|
75
|
+
visibility: ownerState.adornedStart || ownerState.focused ? 'visible' : 'hidden'
|
|
76
|
+
}));
|
|
77
|
+
const SectionContainer = styled('span', {
|
|
78
|
+
name: 'MuiPickersInput',
|
|
79
|
+
slot: 'Section',
|
|
80
|
+
overridesResolver: (props, styles) => styles.section
|
|
81
|
+
})(({
|
|
82
|
+
theme
|
|
83
|
+
}) => ({
|
|
84
|
+
fontFamily: theme.typography.fontFamily,
|
|
85
|
+
fontSize: 'inherit',
|
|
86
|
+
lineHeight: '1.4375em',
|
|
87
|
+
// 23px
|
|
88
|
+
flexGrow: 1
|
|
89
|
+
}));
|
|
90
|
+
const SectionInput = styled('span', {
|
|
91
|
+
name: 'MuiPickersInput',
|
|
92
|
+
slot: 'Content',
|
|
93
|
+
overridesResolver: (props, styles) => styles.content
|
|
94
|
+
})(({
|
|
95
|
+
theme
|
|
96
|
+
}) => ({
|
|
97
|
+
fontFamily: theme.typography.fontFamily,
|
|
98
|
+
lineHeight: '1.4375em',
|
|
99
|
+
// 23px
|
|
100
|
+
letterSpacing: 'inherit',
|
|
101
|
+
width: 'fit-content'
|
|
102
|
+
}));
|
|
103
|
+
const SectionSeparator = styled('span', {
|
|
104
|
+
name: 'MuiPickersInput',
|
|
105
|
+
slot: 'Separator',
|
|
106
|
+
overridesResolver: (props, styles) => styles.separator
|
|
107
|
+
})(() => ({
|
|
108
|
+
whiteSpace: 'pre'
|
|
109
|
+
}));
|
|
110
|
+
const FakeHiddenInput = styled('input', {
|
|
111
|
+
name: 'MuiPickersInput',
|
|
112
|
+
slot: 'HiddenInput',
|
|
113
|
+
overridesResolver: (props, styles) => styles.hiddenInput
|
|
114
|
+
})(_extends({}, visuallyHidden));
|
|
115
|
+
const NotchedOutlineRoot = styled(Outline, {
|
|
116
|
+
name: 'MuiPickersInput',
|
|
117
|
+
slot: 'NotchedOutline',
|
|
118
|
+
overridesResolver: (props, styles) => styles.notchedOutline
|
|
119
|
+
})(({
|
|
120
|
+
theme
|
|
121
|
+
}) => {
|
|
122
|
+
const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
|
|
123
|
+
return {
|
|
124
|
+
borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
function InputContent({
|
|
128
|
+
elements,
|
|
129
|
+
contentEditable,
|
|
130
|
+
ownerState
|
|
131
|
+
}) {
|
|
132
|
+
if (contentEditable) {
|
|
133
|
+
return elements.map(({
|
|
134
|
+
content,
|
|
135
|
+
before,
|
|
136
|
+
after
|
|
137
|
+
}) => `${before.children}${content.children}${after.children}`).join('');
|
|
138
|
+
}
|
|
139
|
+
return /*#__PURE__*/_jsx(React.Fragment, {
|
|
140
|
+
children: elements.map(({
|
|
141
|
+
container,
|
|
142
|
+
content,
|
|
143
|
+
before,
|
|
144
|
+
after
|
|
145
|
+
}, elementIndex) => /*#__PURE__*/_jsxs(SectionContainer, _extends({}, container, {
|
|
146
|
+
children: [/*#__PURE__*/_jsx(SectionSeparator, _extends({}, before, {
|
|
147
|
+
className: clsx(pickersInputClasses.before, before?.className)
|
|
148
|
+
})), /*#__PURE__*/_jsx(SectionInput, _extends({}, content, {
|
|
149
|
+
className: clsx(pickersInputClasses.content, content?.className),
|
|
150
|
+
ownerState
|
|
151
|
+
})), /*#__PURE__*/_jsx(SectionSeparator, _extends({}, after, {
|
|
152
|
+
className: clsx(pickersInputClasses.after, after?.className)
|
|
153
|
+
}))]
|
|
154
|
+
}), elementIndex))
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
const useUtilityClasses = ownerState => {
|
|
158
|
+
const {
|
|
159
|
+
focused,
|
|
160
|
+
disabled,
|
|
161
|
+
error,
|
|
162
|
+
classes,
|
|
163
|
+
fullWidth,
|
|
164
|
+
color,
|
|
165
|
+
size,
|
|
166
|
+
endAdornment,
|
|
167
|
+
startAdornment
|
|
168
|
+
} = ownerState;
|
|
169
|
+
const slots = {
|
|
170
|
+
root: ['root', focused && !disabled && 'focused', disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', `color${capitalize(color)}`, size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],
|
|
171
|
+
notchedOutline: ['notchedOutline'],
|
|
172
|
+
before: ['before'],
|
|
173
|
+
after: ['after'],
|
|
174
|
+
content: ['content'],
|
|
175
|
+
input: ['input']
|
|
176
|
+
};
|
|
177
|
+
return composeClasses(slots, getPickersInputUtilityClass, classes);
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
// TODO: move to utils
|
|
181
|
+
// Separates the state props from the form control
|
|
182
|
+
function formControlState({
|
|
183
|
+
props,
|
|
184
|
+
states,
|
|
185
|
+
muiFormControl
|
|
186
|
+
}) {
|
|
187
|
+
return states.reduce((acc, state) => {
|
|
188
|
+
acc[state] = props[state];
|
|
189
|
+
if (muiFormControl) {
|
|
190
|
+
if (typeof props[state] === 'undefined') {
|
|
191
|
+
acc[state] = muiFormControl[state];
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return acc;
|
|
195
|
+
}, {});
|
|
196
|
+
}
|
|
197
|
+
const PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(props, ref) {
|
|
198
|
+
const {
|
|
199
|
+
elements,
|
|
200
|
+
label,
|
|
201
|
+
onWrapperClick,
|
|
202
|
+
valueStr,
|
|
203
|
+
onValueStrChange,
|
|
204
|
+
id,
|
|
205
|
+
ownerState: ownerStateProp,
|
|
206
|
+
endAdornment,
|
|
207
|
+
startAdornment
|
|
208
|
+
} = props,
|
|
209
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
210
|
+
const inputRef = React.useRef(null);
|
|
211
|
+
const handleInputRef = useForkRef(ref, inputRef);
|
|
212
|
+
const muiFormControl = useFormControl();
|
|
213
|
+
const fcs = formControlState({
|
|
214
|
+
props,
|
|
215
|
+
muiFormControl,
|
|
216
|
+
states: ['color', 'disabled', 'error', 'focused', 'size', 'required', 'fullWidth', 'adornedStart']
|
|
217
|
+
});
|
|
218
|
+
React.useEffect(() => {
|
|
219
|
+
if (muiFormControl) {
|
|
220
|
+
muiFormControl.setAdornedStart(Boolean(startAdornment));
|
|
221
|
+
}
|
|
222
|
+
}, [muiFormControl, startAdornment]);
|
|
223
|
+
const ownerState = _extends({}, props, ownerStateProp, {
|
|
224
|
+
color: fcs.color || 'primary',
|
|
225
|
+
disabled: fcs.disabled,
|
|
226
|
+
error: fcs.error,
|
|
227
|
+
focused: fcs.focused,
|
|
228
|
+
fullWidth: fcs.fullWidth,
|
|
229
|
+
size: fcs.size
|
|
230
|
+
});
|
|
231
|
+
const classes = useUtilityClasses(ownerState);
|
|
232
|
+
return /*#__PURE__*/_jsxs(SectionsWrapper, _extends({
|
|
233
|
+
ref: handleInputRef
|
|
234
|
+
}, other, {
|
|
235
|
+
className: classes.root,
|
|
236
|
+
onClick: onWrapperClick,
|
|
237
|
+
ownerState: ownerState,
|
|
238
|
+
"aria-invalid": fcs.error,
|
|
239
|
+
children: [startAdornment, /*#__PURE__*/_jsxs(SectionsContainer, {
|
|
240
|
+
ownerState: ownerState,
|
|
241
|
+
className: classes.input,
|
|
242
|
+
children: [/*#__PURE__*/_jsx(InputContent, {
|
|
243
|
+
elements: elements,
|
|
244
|
+
contentEditable: other.contentEditable,
|
|
245
|
+
ownerState: ownerState
|
|
246
|
+
}), /*#__PURE__*/_jsx(FakeHiddenInput, {
|
|
247
|
+
value: valueStr,
|
|
248
|
+
onChange: onValueStrChange,
|
|
249
|
+
id: id,
|
|
250
|
+
"aria-hidden": "true",
|
|
251
|
+
tabIndex: -1
|
|
252
|
+
})]
|
|
253
|
+
}), endAdornment, /*#__PURE__*/_jsx(NotchedOutlineRoot, {
|
|
254
|
+
shrink: fcs.adornedStart || fcs.focused,
|
|
255
|
+
notched: fcs.adornedStart || fcs.focused,
|
|
256
|
+
className: classes.notchedOutline,
|
|
257
|
+
label: label != null && label !== '' && fcs.required ? /*#__PURE__*/_jsxs(React.Fragment, {
|
|
258
|
+
children: [label, "\u2009", '*']
|
|
259
|
+
}) : label,
|
|
260
|
+
ownerState: ownerState
|
|
261
|
+
})]
|
|
262
|
+
}));
|
|
263
|
+
});
|
|
264
|
+
export default PickersInput;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|