@mui/x-date-pickers 7.0.0-alpha.0 → 7.0.0-alpha.2
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.d.ts +6 -17
- package/AdapterDateFns/AdapterDateFns.js +9 -93
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +6 -17
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +9 -93
- package/AdapterDayjs/AdapterDayjs.d.ts +7 -19
- package/AdapterDayjs/AdapterDayjs.js +13 -67
- package/AdapterLuxon/AdapterLuxon.d.ts +6 -17
- package/AdapterLuxon/AdapterLuxon.js +5 -96
- package/AdapterMoment/AdapterMoment.d.ts +6 -22
- package/AdapterMoment/AdapterMoment.js +11 -75
- package/AdapterMomentHijri/AdapterMomentHijri.d.ts +2 -9
- package/AdapterMomentHijri/AdapterMomentHijri.js +1 -33
- package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +2 -11
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -43
- package/CHANGELOG.md +591 -5
- package/DateCalendar/DateCalendar.js +2 -9
- package/DateCalendar/DateCalendar.types.d.ts +0 -4
- package/DateCalendar/DayCalendar.d.ts +1 -2
- package/DateCalendar/DayCalendar.js +9 -16
- package/DateCalendar/dayCalendarClasses.d.ts +1 -1
- package/DateCalendar/dayCalendarClasses.js +1 -1
- package/DateCalendar/index.d.ts +1 -2
- package/DateCalendar/index.js +2 -4
- package/DateCalendar/useCalendarState.d.ts +1 -1
- package/DateCalendar/useCalendarState.js +1 -9
- package/DateField/DateField.js +1 -1
- package/DatePicker/DatePicker.js +1 -6
- package/DatePicker/shared.d.ts +1 -1
- package/DateTimeField/DateTimeField.js +1 -9
- package/DateTimePicker/DateTimePicker.js +1 -14
- package/DateTimePicker/shared.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +1 -6
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -14
- package/DesktopTimePicker/DesktopTimePicker.js +1 -9
- package/DigitalClock/DigitalClock.js +6 -17
- package/LocalizationProvider/LocalizationProvider.js +0 -6
- package/MobileDatePicker/MobileDatePicker.js +1 -6
- package/MobileDateTimePicker/MobileDateTimePicker.js +1 -14
- package/MobileTimePicker/MobileTimePicker.js +1 -9
- package/MonthCalendar/MonthCalendar.js +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -15
- package/PickersCalendarHeader/PickersCalendarHeader.js +11 -4
- package/PickersDay/PickersDay.js +1 -1
- package/StaticDatePicker/StaticDatePicker.js +1 -6
- package/StaticDateTimePicker/StaticDateTimePicker.js +1 -14
- package/StaticTimePicker/StaticTimePicker.js +1 -9
- package/TimeClock/Clock.js +1 -1
- package/TimeClock/TimeClock.js +3 -15
- package/TimeField/TimeField.js +1 -9
- package/TimePicker/TimePicker.js +1 -9
- package/TimePicker/shared.d.ts +1 -1
- package/YearCalendar/YearCalendar.js +2 -2
- package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +2 -2
- package/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
- package/dateViewRenderers/dateViewRenderers.d.ts +1 -1
- package/dateViewRenderers/dateViewRenderers.js +0 -2
- package/index.d.ts +1 -0
- package/index.js +4 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +5 -0
- package/internals/hooks/date-helpers-hooks.js +2 -2
- package/internals/hooks/useField/useField.utils.js +8 -9
- package/internals/hooks/useField/useFieldState.js +2 -2
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +1 -1
- package/internals/hooks/useUtils.js +1 -1
- package/internals/hooks/useViews.js +2 -2
- package/internals/models/validation.d.ts +0 -8
- package/internals/utils/date-utils.js +2 -2
- package/internals/utils/getDefaultReferenceDate.d.ts +1 -2
- package/internals/utils/getDefaultReferenceDate.js +0 -4
- package/internals/utils/validation/extractValidationProps.d.ts +1 -1
- package/internals/utils/validation/extractValidationProps.js +1 -1
- package/internals/utils/validation/validateDate.js +1 -1
- package/internals/utils/validation/validateTime.js +1 -8
- package/legacy/AdapterDateFns/AdapterDateFns.js +13 -94
- package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +13 -94
- package/legacy/AdapterDayjs/AdapterDayjs.js +19 -69
- package/legacy/AdapterLuxon/AdapterLuxon.js +10 -97
- package/legacy/AdapterMoment/AdapterMoment.js +16 -78
- package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +5 -33
- package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +5 -43
- package/legacy/DateCalendar/DateCalendar.js +2 -9
- package/legacy/DateCalendar/DayCalendar.js +7 -11
- package/legacy/DateCalendar/PickersSlideTransition.js +8 -9
- package/legacy/DateCalendar/dayCalendarClasses.js +1 -1
- package/legacy/DateCalendar/index.js +2 -4
- package/legacy/DateCalendar/useCalendarState.js +1 -9
- package/legacy/DateField/DateField.js +1 -1
- package/legacy/DatePicker/DatePicker.js +1 -6
- package/legacy/DateTimeField/DateTimeField.js +1 -9
- package/legacy/DateTimePicker/DateTimePicker.js +1 -14
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +1 -6
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -14
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +1 -9
- package/legacy/DigitalClock/DigitalClock.js +6 -17
- package/legacy/LocalizationProvider/LocalizationProvider.js +0 -6
- package/legacy/MobileDatePicker/MobileDatePicker.js +1 -6
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +1 -14
- package/legacy/MobileTimePicker/MobileTimePicker.js +1 -9
- package/legacy/MonthCalendar/MonthCalendar.js +1 -1
- package/legacy/MonthCalendar/PickersMonth.js +4 -5
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -15
- package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +11 -3
- package/legacy/PickersDay/PickersDay.js +6 -7
- package/legacy/PickersLayout/PickersLayout.js +5 -6
- package/legacy/StaticDatePicker/StaticDatePicker.js +1 -6
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +1 -14
- package/legacy/StaticTimePicker/StaticTimePicker.js +1 -9
- package/legacy/TimeClock/Clock.js +1 -1
- package/legacy/TimeClock/ClockNumber.js +4 -5
- package/legacy/TimeClock/TimeClock.js +3 -15
- package/legacy/TimeField/TimeField.js +1 -9
- package/legacy/TimePicker/TimePicker.js +1 -9
- package/legacy/TimePicker/TimePickerToolbar.js +1 -2
- package/legacy/YearCalendar/PickersYear.js +4 -5
- package/legacy/YearCalendar/YearCalendar.js +2 -2
- package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
- package/legacy/dateViewRenderers/dateViewRenderers.js +0 -2
- package/legacy/index.js +4 -1
- package/legacy/internals/components/PickersModalDialog.js +3 -4
- package/legacy/internals/hooks/date-helpers-hooks.js +2 -2
- package/legacy/internals/hooks/useField/useField.utils.js +8 -9
- package/legacy/internals/hooks/useField/useFieldState.js +2 -2
- package/legacy/internals/hooks/useUtils.js +1 -1
- package/legacy/internals/hooks/useViews.js +2 -2
- package/legacy/internals/utils/date-utils.js +2 -2
- package/legacy/internals/utils/getDefaultReferenceDate.js +0 -6
- package/legacy/internals/utils/validation/extractValidationProps.js +1 -1
- package/legacy/internals/utils/validation/validateDate.js +1 -1
- package/legacy/internals/utils/validation/validateTime.js +1 -8
- package/legacy/locales/deDE.js +4 -3
- package/legacy/locales/index.js +1 -0
- package/legacy/locales/mk.js +91 -0
- package/legacy/timeViewRenderers/timeViewRenderers.js +0 -6
- package/locales/deDE.js +2 -3
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/mk.d.ts +53 -0
- package/locales/mk.js +55 -0
- package/models/adapters.d.ts +16 -145
- package/models/fields.d.ts +0 -6
- package/models/timezone.d.ts +1 -1
- package/models/validation.d.ts +1 -1
- package/modern/AdapterDateFns/AdapterDateFns.js +9 -93
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +9 -93
- package/modern/AdapterDayjs/AdapterDayjs.js +13 -66
- package/modern/AdapterLuxon/AdapterLuxon.js +5 -96
- package/modern/AdapterMoment/AdapterMoment.js +11 -74
- package/modern/AdapterMomentHijri/AdapterMomentHijri.js +1 -33
- package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -43
- package/modern/DateCalendar/DateCalendar.js +2 -9
- package/modern/DateCalendar/DayCalendar.js +9 -15
- package/modern/DateCalendar/dayCalendarClasses.js +1 -1
- package/modern/DateCalendar/index.js +2 -4
- package/modern/DateCalendar/useCalendarState.js +1 -9
- package/modern/DateField/DateField.js +1 -1
- package/modern/DatePicker/DatePicker.js +1 -6
- package/modern/DateTimeField/DateTimeField.js +1 -9
- package/modern/DateTimePicker/DateTimePicker.js +1 -14
- package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -6
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -14
- package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -9
- package/modern/DigitalClock/DigitalClock.js +6 -17
- package/modern/LocalizationProvider/LocalizationProvider.js +0 -6
- package/modern/MobileDatePicker/MobileDatePicker.js +1 -6
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -14
- package/modern/MobileTimePicker/MobileTimePicker.js +1 -9
- package/modern/MonthCalendar/MonthCalendar.js +1 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -15
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +11 -4
- package/modern/PickersDay/PickersDay.js +1 -1
- package/modern/StaticDatePicker/StaticDatePicker.js +1 -6
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +1 -14
- package/modern/StaticTimePicker/StaticTimePicker.js +1 -9
- package/modern/TimeClock/Clock.js +1 -1
- package/modern/TimeClock/TimeClock.js +3 -15
- package/modern/TimeField/TimeField.js +1 -9
- package/modern/TimePicker/TimePicker.js +1 -9
- package/modern/YearCalendar/YearCalendar.js +2 -2
- package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
- package/modern/dateViewRenderers/dateViewRenderers.js +0 -2
- package/modern/index.js +4 -1
- package/modern/internals/hooks/date-helpers-hooks.js +2 -2
- package/modern/internals/hooks/useField/useField.utils.js +8 -9
- package/modern/internals/hooks/useField/useFieldState.js +2 -2
- package/modern/internals/hooks/useUtils.js +1 -1
- package/modern/internals/hooks/useViews.js +2 -2
- package/modern/internals/utils/date-utils.js +2 -2
- package/modern/internals/utils/getDefaultReferenceDate.js +0 -1
- package/modern/internals/utils/validation/extractValidationProps.js +1 -1
- package/modern/internals/utils/validation/validateDate.js +1 -1
- package/modern/internals/utils/validation/validateTime.js +1 -8
- package/modern/locales/deDE.js +2 -3
- package/modern/locales/index.js +1 -0
- package/modern/locales/mk.js +55 -0
- package/modern/timeViewRenderers/timeViewRenderers.js +0 -6
- package/node/AdapterDateFns/AdapterDateFns.js +9 -93
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +9 -93
- package/node/AdapterDayjs/AdapterDayjs.js +13 -66
- package/node/AdapterLuxon/AdapterLuxon.js +5 -96
- package/node/AdapterMoment/AdapterMoment.js +11 -74
- package/node/AdapterMomentHijri/AdapterMomentHijri.js +1 -33
- package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -43
- package/node/DateCalendar/DateCalendar.js +2 -9
- package/node/DateCalendar/DayCalendar.js +9 -15
- package/node/DateCalendar/dayCalendarClasses.js +2 -2
- package/node/DateCalendar/index.js +3 -23
- package/node/DateCalendar/useCalendarState.js +1 -9
- package/node/DateField/DateField.js +1 -1
- package/node/DatePicker/DatePicker.js +1 -6
- package/node/DateTimeField/DateTimeField.js +1 -9
- package/node/DateTimePicker/DateTimePicker.js +1 -14
- package/node/DesktopDatePicker/DesktopDatePicker.js +1 -6
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -14
- package/node/DesktopTimePicker/DesktopTimePicker.js +1 -9
- package/node/DigitalClock/DigitalClock.js +6 -17
- package/node/LocalizationProvider/LocalizationProvider.js +0 -6
- package/node/MobileDatePicker/MobileDatePicker.js +1 -6
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -14
- package/node/MobileTimePicker/MobileTimePicker.js +1 -9
- package/node/MonthCalendar/MonthCalendar.js +1 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -15
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +11 -4
- package/node/PickersDay/PickersDay.js +1 -1
- package/node/StaticDatePicker/StaticDatePicker.js +1 -6
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +1 -14
- package/node/StaticTimePicker/StaticTimePicker.js +1 -9
- package/node/TimeClock/Clock.js +1 -1
- package/node/TimeClock/TimeClock.js +3 -15
- package/node/TimeField/TimeField.js +1 -9
- package/node/TimePicker/TimePicker.js +1 -9
- package/node/YearCalendar/YearCalendar.js +2 -2
- package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
- package/node/dateViewRenderers/dateViewRenderers.js +0 -2
- package/node/index.js +13 -1
- package/node/internals/hooks/date-helpers-hooks.js +2 -2
- package/node/internals/hooks/useField/useField.utils.js +8 -9
- package/node/internals/hooks/useField/useFieldState.js +2 -2
- package/node/internals/hooks/useUtils.js +1 -1
- package/node/internals/hooks/useViews.js +2 -2
- package/node/internals/utils/date-utils.js +2 -2
- package/node/internals/utils/getDefaultReferenceDate.js +1 -3
- package/node/internals/utils/validation/extractValidationProps.js +1 -1
- package/node/internals/utils/validation/validateDate.js +1 -1
- package/node/internals/utils/validation/validateTime.js +1 -8
- package/node/locales/deDE.js +2 -3
- package/node/locales/index.js +11 -0
- package/node/locales/mk.js +60 -0
- package/node/timeViewRenderers/timeViewRenderers.js +0 -6
- package/package.json +7 -6
- package/themeAugmentation/overrides.d.ts +1 -1
- package/timeViewRenderers/timeViewRenderers.d.ts +3 -3
- package/timeViewRenderers/timeViewRenderers.js +0 -6
|
@@ -106,19 +106,13 @@ const defaultFormats = {
|
|
|
106
106
|
minutes: 'mm',
|
|
107
107
|
seconds: 'ss',
|
|
108
108
|
fullDate: 'll',
|
|
109
|
-
fullDateWithWeekday: 'dddd, LL',
|
|
110
109
|
keyboardDate: 'L',
|
|
111
110
|
shortDate: 'MMM D',
|
|
112
111
|
normalDate: 'D MMMM',
|
|
113
112
|
normalDateWithWeekday: 'ddd, MMM D',
|
|
114
|
-
monthAndYear: 'MMMM YYYY',
|
|
115
|
-
monthAndDate: 'MMMM D',
|
|
116
113
|
fullTime: 'LT',
|
|
117
114
|
fullTime12h: 'hh:mm A',
|
|
118
115
|
fullTime24h: 'HH:mm',
|
|
119
|
-
fullDateTime: 'lll',
|
|
120
|
-
fullDateTime12h: 'll hh:mm A',
|
|
121
|
-
fullDateTime24h: 'll HH:mm',
|
|
122
116
|
keyboardDateTime: 'L LT',
|
|
123
117
|
keyboardDateTime12h: 'L hh:mm A',
|
|
124
118
|
keyboardDateTime24h: 'L HH:mm'
|
|
@@ -155,14 +149,11 @@ const withLocale = (dayjs, locale) => !locale ? dayjs : (...args) => dayjs(...ar
|
|
|
155
149
|
export class AdapterDayjs {
|
|
156
150
|
constructor({
|
|
157
151
|
locale: _locale,
|
|
158
|
-
formats
|
|
159
|
-
instance
|
|
152
|
+
formats
|
|
160
153
|
} = {}) {
|
|
161
|
-
var _this$rawDayJsInstanc;
|
|
162
154
|
this.isMUIAdapter = true;
|
|
163
155
|
this.isTimezoneCompatible = true;
|
|
164
156
|
this.lib = 'dayjs';
|
|
165
|
-
this.rawDayJsInstance = void 0;
|
|
166
157
|
this.dayjs = void 0;
|
|
167
158
|
this.locale = void 0;
|
|
168
159
|
this.formats = void 0;
|
|
@@ -204,11 +195,6 @@ export class AdapterDayjs {
|
|
|
204
195
|
}
|
|
205
196
|
};
|
|
206
197
|
this.createSystemDate = value => {
|
|
207
|
-
// TODO v7: Stop using `this.rawDayJsInstance` (drop the `instance` param on the adapters)
|
|
208
|
-
/* istanbul ignore next */
|
|
209
|
-
if (this.rawDayJsInstance) {
|
|
210
|
-
return this.rawDayJsInstance(value);
|
|
211
|
-
}
|
|
212
198
|
if (this.hasUTCPlugin() && this.hasTimezonePlugin()) {
|
|
213
199
|
const timezone = defaultDayjs.tz.guess();
|
|
214
200
|
|
|
@@ -273,13 +259,7 @@ export class AdapterDayjs {
|
|
|
273
259
|
}
|
|
274
260
|
return value;
|
|
275
261
|
};
|
|
276
|
-
this.date = value => {
|
|
277
|
-
if (value === null) {
|
|
278
|
-
return null;
|
|
279
|
-
}
|
|
280
|
-
return this.dayjs(value);
|
|
281
|
-
};
|
|
282
|
-
this.dateWithTimezone = (value, timezone) => {
|
|
262
|
+
this.date = (value, timezone = 'default') => {
|
|
283
263
|
if (value === null) {
|
|
284
264
|
return null;
|
|
285
265
|
}
|
|
@@ -296,6 +276,7 @@ export class AdapterDayjs {
|
|
|
296
276
|
}
|
|
297
277
|
return parsedValue.locale(this.locale);
|
|
298
278
|
};
|
|
279
|
+
this.getInvalidDate = () => defaultDayjs(new Date('Invalid date'));
|
|
299
280
|
this.getTimezone = value => {
|
|
300
281
|
if (this.hasTimezonePlugin()) {
|
|
301
282
|
var _value$$x;
|
|
@@ -341,12 +322,6 @@ export class AdapterDayjs {
|
|
|
341
322
|
this.toJsDate = value => {
|
|
342
323
|
return value.toDate();
|
|
343
324
|
};
|
|
344
|
-
this.parseISO = isoString => {
|
|
345
|
-
return this.dayjs(isoString);
|
|
346
|
-
};
|
|
347
|
-
this.toISO = value => {
|
|
348
|
-
return value.toISOString();
|
|
349
|
-
};
|
|
350
325
|
this.parse = (value, format) => {
|
|
351
326
|
if (value === '') {
|
|
352
327
|
return null;
|
|
@@ -370,14 +345,11 @@ export class AdapterDayjs {
|
|
|
370
345
|
return a || localeFormats[b] || t(localeFormats[B]);
|
|
371
346
|
});
|
|
372
347
|
};
|
|
373
|
-
this.getFormatHelperText = format => {
|
|
374
|
-
return this.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
|
|
375
|
-
};
|
|
376
|
-
this.isNull = value => {
|
|
377
|
-
return value === null;
|
|
378
|
-
};
|
|
379
348
|
this.isValid = value => {
|
|
380
|
-
|
|
349
|
+
if (value == null) {
|
|
350
|
+
return false;
|
|
351
|
+
}
|
|
352
|
+
return value.isValid();
|
|
381
353
|
};
|
|
382
354
|
this.format = (value, formatKey) => {
|
|
383
355
|
return this.formatByString(value, this.formats[formatKey]);
|
|
@@ -388,14 +360,14 @@ export class AdapterDayjs {
|
|
|
388
360
|
this.formatNumber = numberToFormat => {
|
|
389
361
|
return numberToFormat;
|
|
390
362
|
};
|
|
391
|
-
this.getDiff = (value, comparing, unit) => {
|
|
392
|
-
return value.diff(comparing, unit);
|
|
393
|
-
};
|
|
394
363
|
this.isEqual = (value, comparing) => {
|
|
395
364
|
if (value === null && comparing === null) {
|
|
396
365
|
return true;
|
|
397
366
|
}
|
|
398
|
-
|
|
367
|
+
if (value === null || comparing === null) {
|
|
368
|
+
return false;
|
|
369
|
+
}
|
|
370
|
+
return value.toDate().getTime() === comparing.toDate().getTime();
|
|
399
371
|
};
|
|
400
372
|
this.isSameYear = (value, comparing) => {
|
|
401
373
|
return this.isSame(value, comparing, 'YYYY');
|
|
@@ -532,28 +504,6 @@ export class AdapterDayjs {
|
|
|
532
504
|
this.getDaysInMonth = value => {
|
|
533
505
|
return value.daysInMonth();
|
|
534
506
|
};
|
|
535
|
-
this.getNextMonth = value => {
|
|
536
|
-
return this.addMonths(value, 1);
|
|
537
|
-
};
|
|
538
|
-
this.getPreviousMonth = value => {
|
|
539
|
-
return this.addMonths(value, -1);
|
|
540
|
-
};
|
|
541
|
-
this.getMonthArray = value => {
|
|
542
|
-
const firstMonth = value.startOf('year');
|
|
543
|
-
const monthArray = [firstMonth];
|
|
544
|
-
while (monthArray.length < 12) {
|
|
545
|
-
const prevMonth = monthArray[monthArray.length - 1];
|
|
546
|
-
monthArray.push(this.addMonths(prevMonth, 1));
|
|
547
|
-
}
|
|
548
|
-
return monthArray;
|
|
549
|
-
};
|
|
550
|
-
this.mergeDateAndTime = (dateParam, timeParam) => {
|
|
551
|
-
return dateParam.hour(timeParam.hour()).minute(timeParam.minute()).second(timeParam.second());
|
|
552
|
-
};
|
|
553
|
-
this.getWeekdays = () => {
|
|
554
|
-
const start = this.dayjs().startOf('week');
|
|
555
|
-
return [0, 1, 2, 3, 4, 5, 6].map(diff => this.formatByString(this.addDays(start, diff), 'dd'));
|
|
556
|
-
};
|
|
557
507
|
this.getWeekArray = value => {
|
|
558
508
|
const cleanValue = this.setLocaleToValue(value);
|
|
559
509
|
const start = cleanValue.startOf('month').startOf('week');
|
|
@@ -573,7 +523,7 @@ export class AdapterDayjs {
|
|
|
573
523
|
this.getWeekNumber = value => {
|
|
574
524
|
return value.week();
|
|
575
525
|
};
|
|
576
|
-
this.getYearRange = (start, end) => {
|
|
526
|
+
this.getYearRange = ([start, end]) => {
|
|
577
527
|
const startDate = start.startOf('year');
|
|
578
528
|
const endDate = end.endOf('year');
|
|
579
529
|
const years = [];
|
|
@@ -584,11 +534,7 @@ export class AdapterDayjs {
|
|
|
584
534
|
}
|
|
585
535
|
return years;
|
|
586
536
|
};
|
|
587
|
-
this.
|
|
588
|
-
return ampm === 'am' ? 'AM' : 'PM';
|
|
589
|
-
};
|
|
590
|
-
this.rawDayJsInstance = instance;
|
|
591
|
-
this.dayjs = withLocale((_this$rawDayJsInstanc = this.rawDayJsInstance) != null ? _this$rawDayJsInstanc : defaultDayjs, _locale);
|
|
537
|
+
this.dayjs = withLocale(defaultDayjs, _locale);
|
|
592
538
|
this.locale = _locale;
|
|
593
539
|
this.formats = _extends({}, defaultFormats, formats);
|
|
594
540
|
defaultDayjs.extend(weekOfYear);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DateTime } from 'luxon';
|
|
2
|
-
import { AdapterFormats, AdapterOptions,
|
|
2
|
+
import { AdapterFormats, AdapterOptions, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter, PickersTimezone } from '../models';
|
|
3
3
|
/**
|
|
4
4
|
* Based on `@date-io/luxon`
|
|
5
5
|
*
|
|
@@ -38,25 +38,20 @@ export declare class AdapterLuxon implements MuiPickersAdapter<DateTime, string>
|
|
|
38
38
|
formatTokenMap: FieldFormatTokenMap;
|
|
39
39
|
constructor({ locale, formats }?: AdapterOptions<string, never>);
|
|
40
40
|
private setLocaleToValue;
|
|
41
|
-
date: (value?:
|
|
42
|
-
|
|
41
|
+
date: <T extends string | null | undefined>(value?: T | undefined, timezone?: PickersTimezone) => DateBuilderReturnType<T, DateTime>;
|
|
42
|
+
getInvalidDate: () => DateTime;
|
|
43
43
|
getTimezone: (value: DateTime) => string;
|
|
44
44
|
setTimezone: (value: DateTime, timezone: PickersTimezone) => DateTime;
|
|
45
45
|
toJsDate: (value: DateTime) => Date;
|
|
46
|
-
parseISO: (isoString: string) => DateTime;
|
|
47
|
-
toISO: (value: DateTime) => string;
|
|
48
46
|
parse: (value: string, formatString: string) => DateTime | null;
|
|
49
47
|
getCurrentLocaleCode: () => string;
|
|
50
48
|
is12HourCycleInCurrentLocale: () => boolean;
|
|
51
49
|
expandFormat: (format: string) => string;
|
|
52
|
-
|
|
53
|
-
isNull: (value: DateTime | null) => boolean;
|
|
54
|
-
isValid: (value: any) => boolean;
|
|
50
|
+
isValid: (value: DateTime | null) => boolean;
|
|
55
51
|
format: (value: DateTime, formatKey: keyof AdapterFormats) => string;
|
|
56
52
|
formatByString: (value: DateTime, format: string) => string;
|
|
57
53
|
formatNumber: (numberToFormat: string) => string;
|
|
58
|
-
|
|
59
|
-
isEqual: (value: any, comparing: any) => boolean;
|
|
54
|
+
isEqual: (value: DateTime | null, comparing: DateTime | null) => boolean;
|
|
60
55
|
isSameYear: (value: DateTime, comparing: DateTime) => boolean;
|
|
61
56
|
isSameMonth: (value: DateTime, comparing: DateTime) => boolean;
|
|
62
57
|
isSameDay: (value: DateTime, comparing: DateTime) => boolean;
|
|
@@ -98,13 +93,7 @@ export declare class AdapterLuxon implements MuiPickersAdapter<DateTime, string>
|
|
|
98
93
|
setSeconds: (value: DateTime, seconds: number) => DateTime;
|
|
99
94
|
setMilliseconds: (value: DateTime, milliseconds: number) => DateTime;
|
|
100
95
|
getDaysInMonth: (value: DateTime) => import("luxon").PossibleDaysInMonth;
|
|
101
|
-
getNextMonth: (value: DateTime) => DateTime;
|
|
102
|
-
getPreviousMonth: (value: DateTime) => DateTime;
|
|
103
|
-
getMonthArray: (value: DateTime) => DateTime[];
|
|
104
|
-
mergeDateAndTime: (dateParam: DateTime, timeParam: DateTime) => DateTime;
|
|
105
|
-
getWeekdays: () => string[];
|
|
106
96
|
getWeekArray: (value: DateTime) => DateTime[][];
|
|
107
97
|
getWeekNumber: (value: DateTime) => number;
|
|
108
|
-
getYearRange: (start
|
|
109
|
-
getMeridiemText: (ampm: 'am' | 'pm') => string;
|
|
98
|
+
getYearRange: ([start, end]: [DateTime, DateTime]) => DateTime[];
|
|
110
99
|
}
|
|
@@ -120,19 +120,13 @@ const defaultFormats = {
|
|
|
120
120
|
minutes: 'mm',
|
|
121
121
|
seconds: 'ss',
|
|
122
122
|
fullDate: 'DD',
|
|
123
|
-
fullDateWithWeekday: 'DDDD',
|
|
124
123
|
keyboardDate: 'D',
|
|
125
124
|
shortDate: 'MMM d',
|
|
126
125
|
normalDate: 'd MMMM',
|
|
127
126
|
normalDateWithWeekday: 'EEE, MMM d',
|
|
128
|
-
monthAndYear: 'LLLL yyyy',
|
|
129
|
-
monthAndDate: 'MMMM d',
|
|
130
127
|
fullTime: 't',
|
|
131
128
|
fullTime12h: 'hh:mm a',
|
|
132
129
|
fullTime24h: 'HH:mm',
|
|
133
|
-
fullDateTime: 'ff',
|
|
134
|
-
fullDateTime12h: 'DD, hh:mm a',
|
|
135
|
-
fullDateTime24h: 'DD, T',
|
|
136
130
|
keyboardDateTime: 'D t',
|
|
137
131
|
keyboardDateTime12h: 'D hh:mm a',
|
|
138
132
|
keyboardDateTime24h: 'D T'
|
|
@@ -185,29 +179,7 @@ export class AdapterLuxon {
|
|
|
185
179
|
}
|
|
186
180
|
return value.setLocale(expectedLocale);
|
|
187
181
|
};
|
|
188
|
-
this.date = value => {
|
|
189
|
-
if (typeof value === 'undefined') {
|
|
190
|
-
return DateTime.local();
|
|
191
|
-
}
|
|
192
|
-
if (value === null) {
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
if (typeof value === 'string') {
|
|
196
|
-
// @ts-ignore
|
|
197
|
-
return DateTime.fromJSDate(new Date(value), {
|
|
198
|
-
locale: this.locale
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
if (DateTime.isDateTime(value)) {
|
|
202
|
-
return value;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// @ts-ignore
|
|
206
|
-
return DateTime.fromJSDate(value, {
|
|
207
|
-
locale: this.locale
|
|
208
|
-
});
|
|
209
|
-
};
|
|
210
|
-
this.dateWithTimezone = (value, timezone) => {
|
|
182
|
+
this.date = (value, timezone = 'default') => {
|
|
211
183
|
if (value === null) {
|
|
212
184
|
return null;
|
|
213
185
|
}
|
|
@@ -225,6 +197,7 @@ export class AdapterLuxon {
|
|
|
225
197
|
zone: timezone
|
|
226
198
|
});
|
|
227
199
|
};
|
|
200
|
+
this.getInvalidDate = () => DateTime.fromJSDate(new Date('Invalid Date'));
|
|
228
201
|
this.getTimezone = value => {
|
|
229
202
|
// When using the system zone, we want to return "system", not something like "Europe/Paris"
|
|
230
203
|
if (value.zone.type === 'system') {
|
|
@@ -241,14 +214,6 @@ export class AdapterLuxon {
|
|
|
241
214
|
this.toJsDate = value => {
|
|
242
215
|
return value.toJSDate();
|
|
243
216
|
};
|
|
244
|
-
this.parseISO = isoString => {
|
|
245
|
-
return DateTime.fromISO(isoString);
|
|
246
|
-
};
|
|
247
|
-
this.toISO = value => {
|
|
248
|
-
return value.toUTC().toISO({
|
|
249
|
-
format: 'extended'
|
|
250
|
-
});
|
|
251
|
-
};
|
|
252
217
|
this.parse = (value, formatString) => {
|
|
253
218
|
if (value === '') {
|
|
254
219
|
return null;
|
|
@@ -298,20 +263,11 @@ export class AdapterLuxon {
|
|
|
298
263
|
// To avoid conflicts, we replace it by 4 digits which is enough for most use-cases.
|
|
299
264
|
.replace('yyyyy', 'yyyy');
|
|
300
265
|
};
|
|
301
|
-
this.getFormatHelperText = format => {
|
|
302
|
-
return this.expandFormat(format).replace(/(a)/g, '(a|p)m').toLocaleLowerCase();
|
|
303
|
-
};
|
|
304
|
-
this.isNull = value => {
|
|
305
|
-
return value === null;
|
|
306
|
-
};
|
|
307
266
|
this.isValid = value => {
|
|
308
|
-
if (DateTime.isDateTime(value)) {
|
|
309
|
-
return value.isValid;
|
|
310
|
-
}
|
|
311
267
|
if (value === null) {
|
|
312
268
|
return false;
|
|
313
269
|
}
|
|
314
|
-
return
|
|
270
|
+
return value.isValid;
|
|
315
271
|
};
|
|
316
272
|
this.format = (value, formatKey) => {
|
|
317
273
|
return this.formatByString(value, this.formats[formatKey]);
|
|
@@ -322,25 +278,14 @@ export class AdapterLuxon {
|
|
|
322
278
|
this.formatNumber = numberToFormat => {
|
|
323
279
|
return numberToFormat;
|
|
324
280
|
};
|
|
325
|
-
this.getDiff = (value, comparing, unit) => {
|
|
326
|
-
if (typeof comparing === 'string') {
|
|
327
|
-
comparing = DateTime.fromJSDate(new Date(comparing));
|
|
328
|
-
}
|
|
329
|
-
if (unit) {
|
|
330
|
-
return Math.floor(value.diff(comparing).as(unit));
|
|
331
|
-
}
|
|
332
|
-
return value.diff(comparing).as('millisecond');
|
|
333
|
-
};
|
|
334
281
|
this.isEqual = (value, comparing) => {
|
|
335
282
|
if (value === null && comparing === null) {
|
|
336
283
|
return true;
|
|
337
284
|
}
|
|
338
|
-
|
|
339
|
-
// Make sure that null will not be passed to this.date
|
|
340
285
|
if (value === null || comparing === null) {
|
|
341
286
|
return false;
|
|
342
287
|
}
|
|
343
|
-
return +
|
|
288
|
+
return +value === +comparing;
|
|
344
289
|
};
|
|
345
290
|
this.isSameYear = (value, comparing) => {
|
|
346
291
|
const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));
|
|
@@ -506,37 +451,6 @@ export class AdapterLuxon {
|
|
|
506
451
|
this.getDaysInMonth = value => {
|
|
507
452
|
return value.daysInMonth;
|
|
508
453
|
};
|
|
509
|
-
this.getNextMonth = value => {
|
|
510
|
-
return value.plus({
|
|
511
|
-
months: 1
|
|
512
|
-
});
|
|
513
|
-
};
|
|
514
|
-
this.getPreviousMonth = value => {
|
|
515
|
-
return value.minus({
|
|
516
|
-
months: 1
|
|
517
|
-
});
|
|
518
|
-
};
|
|
519
|
-
this.getMonthArray = value => {
|
|
520
|
-
const firstMonth = value.startOf('year');
|
|
521
|
-
const monthArray = [firstMonth];
|
|
522
|
-
while (monthArray.length < 12) {
|
|
523
|
-
const prevMonth = monthArray[monthArray.length - 1];
|
|
524
|
-
monthArray.push(this.addMonths(prevMonth, 1));
|
|
525
|
-
}
|
|
526
|
-
return monthArray;
|
|
527
|
-
};
|
|
528
|
-
this.mergeDateAndTime = (dateParam, timeParam) => {
|
|
529
|
-
return dateParam.set({
|
|
530
|
-
second: timeParam.second,
|
|
531
|
-
hour: timeParam.hour,
|
|
532
|
-
minute: timeParam.minute
|
|
533
|
-
});
|
|
534
|
-
};
|
|
535
|
-
this.getWeekdays = () => {
|
|
536
|
-
return Info.weekdaysFormat('narrow', {
|
|
537
|
-
locale: this.locale
|
|
538
|
-
});
|
|
539
|
-
};
|
|
540
454
|
this.getWeekArray = value => {
|
|
541
455
|
const cleanValue = this.setLocaleToValue(value);
|
|
542
456
|
const {
|
|
@@ -557,7 +471,7 @@ export class AdapterLuxon {
|
|
|
557
471
|
this.getWeekNumber = value => {
|
|
558
472
|
return value.weekNumber;
|
|
559
473
|
};
|
|
560
|
-
this.getYearRange = (start, end) => {
|
|
474
|
+
this.getYearRange = ([start, end]) => {
|
|
561
475
|
const startDate = start.startOf('year');
|
|
562
476
|
const endDate = end.endOf('year');
|
|
563
477
|
let current = startDate;
|
|
@@ -570,11 +484,6 @@ export class AdapterLuxon {
|
|
|
570
484
|
}
|
|
571
485
|
return years;
|
|
572
486
|
};
|
|
573
|
-
this.getMeridiemText = ampm => {
|
|
574
|
-
return Info.meridiems({
|
|
575
|
-
locale: this.locale
|
|
576
|
-
}).find(v => v.toLowerCase() === ampm.toLowerCase());
|
|
577
|
-
};
|
|
578
487
|
this.locale = locale || 'en-US';
|
|
579
488
|
this.formats = _extends({}, defaultFormats, formats);
|
|
580
489
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import defaultMoment, { Moment } from 'moment';
|
|
2
|
-
import { AdapterFormats, AdapterOptions,
|
|
2
|
+
import { AdapterFormats, AdapterOptions, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter, PickersTimezone } from '../models';
|
|
3
3
|
/**
|
|
4
4
|
* Based on `@date-io/moment`
|
|
5
5
|
*
|
|
@@ -39,34 +39,24 @@ export declare class AdapterMoment implements MuiPickersAdapter<Moment, string>
|
|
|
39
39
|
formatTokenMap: FieldFormatTokenMap;
|
|
40
40
|
constructor({ locale, formats, instance }?: AdapterOptions<string, typeof defaultMoment>);
|
|
41
41
|
private setLocaleToValue;
|
|
42
|
-
/**
|
|
43
|
-
* Some methods from moment can't take the locale as a parameter and always use the current locale.
|
|
44
|
-
* To respect the adapter locale, we need to set it as the current locale and then reset the previous locale.
|
|
45
|
-
*/
|
|
46
|
-
private syncMomentLocale;
|
|
47
42
|
private hasTimezonePlugin;
|
|
48
43
|
private createSystemDate;
|
|
49
44
|
private createUTCDate;
|
|
50
45
|
private createTZDate;
|
|
51
|
-
date: (value?:
|
|
52
|
-
|
|
46
|
+
date: <T extends string | null | undefined>(value?: T | undefined, timezone?: PickersTimezone) => DateBuilderReturnType<T, defaultMoment.Moment>;
|
|
47
|
+
getInvalidDate: () => defaultMoment.Moment;
|
|
53
48
|
getTimezone: (value: Moment) => string;
|
|
54
49
|
setTimezone: (value: Moment, timezone: PickersTimezone) => Moment;
|
|
55
50
|
toJsDate: (value: Moment) => Date;
|
|
56
|
-
parseISO: (isoString: string) => defaultMoment.Moment;
|
|
57
|
-
toISO: (value: Moment) => string;
|
|
58
51
|
parse: (value: string, format: string) => defaultMoment.Moment | null;
|
|
59
52
|
getCurrentLocaleCode: () => string;
|
|
60
53
|
is12HourCycleInCurrentLocale: () => boolean;
|
|
61
54
|
expandFormat: (format: string) => string;
|
|
62
|
-
|
|
63
|
-
isNull: (value: Moment | null) => boolean;
|
|
64
|
-
isValid: (value: any) => boolean;
|
|
55
|
+
isValid: (value: Moment | null) => boolean;
|
|
65
56
|
format: (value: Moment, formatKey: keyof AdapterFormats) => string;
|
|
66
57
|
formatByString: (value: Moment, formatString: string) => string;
|
|
67
58
|
formatNumber: (numberToFormat: string) => string;
|
|
68
|
-
|
|
69
|
-
isEqual: (value: any, comparing: any) => boolean;
|
|
59
|
+
isEqual: (value: Moment | null, comparing: Moment | null) => boolean;
|
|
70
60
|
isSameYear: (value: Moment, comparing: Moment) => boolean;
|
|
71
61
|
isSameMonth: (value: Moment, comparing: Moment) => boolean;
|
|
72
62
|
isSameDay: (value: Moment, comparing: Moment) => boolean;
|
|
@@ -108,13 +98,7 @@ export declare class AdapterMoment implements MuiPickersAdapter<Moment, string>
|
|
|
108
98
|
setSeconds: (value: Moment, seconds: number) => defaultMoment.Moment;
|
|
109
99
|
setMilliseconds: (value: Moment, milliseconds: number) => defaultMoment.Moment;
|
|
110
100
|
getDaysInMonth: (value: Moment) => number;
|
|
111
|
-
getNextMonth: (value: Moment) => defaultMoment.Moment;
|
|
112
|
-
getPreviousMonth: (value: Moment) => defaultMoment.Moment;
|
|
113
|
-
getMonthArray: (value: Moment) => defaultMoment.Moment[];
|
|
114
|
-
mergeDateAndTime: (dateParam: Moment, timeParam: Moment) => defaultMoment.Moment;
|
|
115
|
-
getWeekdays: () => string[];
|
|
116
101
|
getWeekArray: (value: Moment) => defaultMoment.Moment[][];
|
|
117
102
|
getWeekNumber: (value: Moment) => number;
|
|
118
|
-
getYearRange: (start
|
|
119
|
-
getMeridiemText: (ampm: 'am' | 'pm') => string;
|
|
103
|
+
getYearRange: ([start, end]: [Moment, Moment]) => defaultMoment.Moment[];
|
|
120
104
|
}
|
|
@@ -109,19 +109,13 @@ const defaultFormats = {
|
|
|
109
109
|
minutes: 'mm',
|
|
110
110
|
seconds: 'ss',
|
|
111
111
|
fullDate: 'll',
|
|
112
|
-
fullDateWithWeekday: 'dddd, LL',
|
|
113
112
|
keyboardDate: 'L',
|
|
114
113
|
shortDate: 'MMM D',
|
|
115
114
|
normalDate: 'D MMMM',
|
|
116
115
|
normalDateWithWeekday: 'ddd, MMM D',
|
|
117
|
-
monthAndYear: 'MMMM YYYY',
|
|
118
|
-
monthAndDate: 'MMMM D',
|
|
119
116
|
fullTime: 'LT',
|
|
120
117
|
fullTime12h: 'hh:mm A',
|
|
121
118
|
fullTime24h: 'HH:mm',
|
|
122
|
-
fullDateTime: 'lll',
|
|
123
|
-
fullDateTime12h: 'll hh:mm A',
|
|
124
|
-
fullDateTime24h: 'll HH:mm',
|
|
125
119
|
keyboardDateTime: 'L LT',
|
|
126
120
|
keyboardDateTime12h: 'L hh:mm A',
|
|
127
121
|
keyboardDateTime24h: 'L HH:mm'
|
|
@@ -177,22 +171,6 @@ export class AdapterMoment {
|
|
|
177
171
|
}
|
|
178
172
|
return value.locale(expectedLocale);
|
|
179
173
|
};
|
|
180
|
-
/**
|
|
181
|
-
* Some methods from moment can't take the locale as a parameter and always use the current locale.
|
|
182
|
-
* To respect the adapter locale, we need to set it as the current locale and then reset the previous locale.
|
|
183
|
-
*/
|
|
184
|
-
this.syncMomentLocale = runner => {
|
|
185
|
-
var _this$locale;
|
|
186
|
-
const momentLocale = defaultMoment.locale();
|
|
187
|
-
const adapterLocale = (_this$locale = this.locale) != null ? _this$locale : 'en-us';
|
|
188
|
-
if (momentLocale !== adapterLocale) {
|
|
189
|
-
defaultMoment.locale(adapterLocale);
|
|
190
|
-
const result = runner();
|
|
191
|
-
defaultMoment.locale(momentLocale);
|
|
192
|
-
return result;
|
|
193
|
-
}
|
|
194
|
-
return runner();
|
|
195
|
-
};
|
|
196
174
|
this.hasTimezonePlugin = () => typeof this.moment.tz !== 'undefined';
|
|
197
175
|
this.createSystemDate = value => {
|
|
198
176
|
const parsedValue = this.moment(value).local();
|
|
@@ -219,15 +197,7 @@ export class AdapterMoment {
|
|
|
219
197
|
}
|
|
220
198
|
return parsedValue.locale(this.locale);
|
|
221
199
|
};
|
|
222
|
-
this.date = value => {
|
|
223
|
-
if (value === null) {
|
|
224
|
-
return null;
|
|
225
|
-
}
|
|
226
|
-
const moment = this.moment(value);
|
|
227
|
-
moment.locale(this.getCurrentLocaleCode());
|
|
228
|
-
return moment;
|
|
229
|
-
};
|
|
230
|
-
this.dateWithTimezone = (value, timezone) => {
|
|
200
|
+
this.date = (value, timezone = 'default') => {
|
|
231
201
|
if (value === null) {
|
|
232
202
|
return null;
|
|
233
203
|
}
|
|
@@ -239,6 +209,7 @@ export class AdapterMoment {
|
|
|
239
209
|
}
|
|
240
210
|
return this.createTZDate(value, timezone);
|
|
241
211
|
};
|
|
212
|
+
this.getInvalidDate = () => this.moment(new Date('Invalid Date'));
|
|
242
213
|
this.getTimezone = value => {
|
|
243
214
|
var _value$_z, _ref, _this$moment$defaultZ;
|
|
244
215
|
// @ts-ignore
|
|
@@ -279,12 +250,6 @@ export class AdapterMoment {
|
|
|
279
250
|
this.toJsDate = value => {
|
|
280
251
|
return value.toDate();
|
|
281
252
|
};
|
|
282
|
-
this.parseISO = isoString => {
|
|
283
|
-
return this.moment(isoString, true);
|
|
284
|
-
};
|
|
285
|
-
this.toISO = value => {
|
|
286
|
-
return value.toISOString();
|
|
287
|
-
};
|
|
288
253
|
this.parse = (value, format) => {
|
|
289
254
|
if (value === '') {
|
|
290
255
|
return null;
|
|
@@ -311,14 +276,11 @@ export class AdapterMoment {
|
|
|
311
276
|
return token;
|
|
312
277
|
}).join('');
|
|
313
278
|
};
|
|
314
|
-
this.getFormatHelperText = format => {
|
|
315
|
-
return this.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
|
|
316
|
-
};
|
|
317
|
-
this.isNull = value => {
|
|
318
|
-
return value === null;
|
|
319
|
-
};
|
|
320
279
|
this.isValid = value => {
|
|
321
|
-
|
|
280
|
+
if (value == null) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
return value.isValid();
|
|
322
284
|
};
|
|
323
285
|
this.format = (value, formatKey) => {
|
|
324
286
|
return this.formatByString(value, this.formats[formatKey]);
|
|
@@ -331,14 +293,14 @@ export class AdapterMoment {
|
|
|
331
293
|
this.formatNumber = numberToFormat => {
|
|
332
294
|
return numberToFormat;
|
|
333
295
|
};
|
|
334
|
-
this.getDiff = (value, comparing, unit) => {
|
|
335
|
-
return value.diff(comparing, unit);
|
|
336
|
-
};
|
|
337
296
|
this.isEqual = (value, comparing) => {
|
|
338
297
|
if (value === null && comparing === null) {
|
|
339
298
|
return true;
|
|
340
299
|
}
|
|
341
|
-
|
|
300
|
+
if (value === null || comparing === null) {
|
|
301
|
+
return false;
|
|
302
|
+
}
|
|
303
|
+
return value.isSame(comparing);
|
|
342
304
|
};
|
|
343
305
|
this.isSameYear = (value, comparing) => {
|
|
344
306
|
return value.isSame(comparing, 'year');
|
|
@@ -463,25 +425,6 @@ export class AdapterMoment {
|
|
|
463
425
|
this.getDaysInMonth = value => {
|
|
464
426
|
return value.daysInMonth();
|
|
465
427
|
};
|
|
466
|
-
this.getNextMonth = value => {
|
|
467
|
-
return value.clone().add(1, 'month');
|
|
468
|
-
};
|
|
469
|
-
this.getPreviousMonth = value => {
|
|
470
|
-
return value.clone().subtract(1, 'month');
|
|
471
|
-
};
|
|
472
|
-
this.getMonthArray = value => {
|
|
473
|
-
const firstMonth = this.startOfYear(value);
|
|
474
|
-
const monthArray = [firstMonth];
|
|
475
|
-
while (monthArray.length < 12) {
|
|
476
|
-
const prevMonth = monthArray[monthArray.length - 1];
|
|
477
|
-
monthArray.push(this.getNextMonth(prevMonth));
|
|
478
|
-
}
|
|
479
|
-
return monthArray;
|
|
480
|
-
};
|
|
481
|
-
this.mergeDateAndTime = (dateParam, timeParam) => {
|
|
482
|
-
return dateParam.clone().hour(timeParam.hour()).minute(timeParam.minute()).second(timeParam.second());
|
|
483
|
-
};
|
|
484
|
-
this.getWeekdays = () => this.syncMomentLocale(() => defaultMoment.weekdaysShort(true));
|
|
485
428
|
this.getWeekArray = value => {
|
|
486
429
|
const cleanValue = this.setLocaleToValue(value);
|
|
487
430
|
const start = cleanValue.clone().startOf('month').startOf('week');
|
|
@@ -501,7 +444,7 @@ export class AdapterMoment {
|
|
|
501
444
|
this.getWeekNumber = value => {
|
|
502
445
|
return value.week();
|
|
503
446
|
};
|
|
504
|
-
this.getYearRange = (start, end) => {
|
|
447
|
+
this.getYearRange = ([start, end]) => {
|
|
505
448
|
const startDate = this.moment(start).startOf('year');
|
|
506
449
|
const endDate = this.moment(end).endOf('year');
|
|
507
450
|
const years = [];
|
|
@@ -512,13 +455,6 @@ export class AdapterMoment {
|
|
|
512
455
|
}
|
|
513
456
|
return years;
|
|
514
457
|
};
|
|
515
|
-
this.getMeridiemText = ampm => {
|
|
516
|
-
if (this.is12HourCycleInCurrentLocale()) {
|
|
517
|
-
// AM/PM translation only possible in those who have 12 hour cycle in locale.
|
|
518
|
-
return defaultMoment.localeData(this.getCurrentLocaleCode()).meridiem(ampm === 'am' ? 0 : 13, 0, false);
|
|
519
|
-
}
|
|
520
|
-
return ampm === 'am' ? 'AM' : 'PM'; // fallback for de, ru, ...etc
|
|
521
|
-
};
|
|
522
458
|
this.moment = instance || defaultMoment;
|
|
523
459
|
this.locale = locale;
|
|
524
460
|
this.formats = _extends({}, defaultFormats, formats);
|
|
@@ -32,14 +32,11 @@ export declare class AdapterMomentHijri extends AdapterMoment implements MuiPick
|
|
|
32
32
|
isTimezoneCompatible: boolean;
|
|
33
33
|
formatTokenMap: FieldFormatTokenMap;
|
|
34
34
|
constructor({ formats, instance }?: AdapterOptions<string, typeof defaultHMoment>);
|
|
35
|
-
date: (value?:
|
|
36
|
-
dateWithTimezone: <T extends string | null | undefined>(value: T) => DateBuilderReturnType<T, defaultHMoment.Moment>;
|
|
35
|
+
date: <T extends string | null | undefined>(value?: T | undefined) => DateBuilderReturnType<T, defaultHMoment.Moment>;
|
|
37
36
|
getTimezone: () => string;
|
|
38
37
|
setTimezone: (value: Moment) => Moment;
|
|
39
38
|
parse: (value: string, format: string) => defaultHMoment.Moment | null;
|
|
40
|
-
getFormatHelperText: (format: string) => string;
|
|
41
39
|
formatNumber: (numberToFormat: string) => string;
|
|
42
|
-
isEqual: (value: any, comparing: any) => boolean;
|
|
43
40
|
startOfYear: (value: Moment) => defaultHMoment.Moment;
|
|
44
41
|
startOfMonth: (value: Moment) => defaultHMoment.Moment;
|
|
45
42
|
endOfYear: (value: Moment) => defaultHMoment.Moment;
|
|
@@ -52,11 +49,7 @@ export declare class AdapterMomentHijri extends AdapterMoment implements MuiPick
|
|
|
52
49
|
setYear: (value: Moment, year: number) => defaultHMoment.Moment;
|
|
53
50
|
setMonth: (value: Moment, month: number) => defaultHMoment.Moment;
|
|
54
51
|
setDate: (value: Moment, date: number) => defaultHMoment.Moment;
|
|
55
|
-
getNextMonth: (value: Moment) => defaultHMoment.Moment;
|
|
56
|
-
getPreviousMonth: (value: Moment) => defaultHMoment.Moment;
|
|
57
|
-
getWeekdays: () => string[];
|
|
58
52
|
getWeekArray: (value: Moment) => defaultHMoment.Moment[][];
|
|
59
53
|
getWeekNumber: (value: Moment) => number;
|
|
60
|
-
getYearRange: (start
|
|
61
|
-
getMeridiemText: (ampm: 'am' | 'pm') => string;
|
|
54
|
+
getYearRange: ([start, end]: [Moment, Moment]) => defaultHMoment.Moment[];
|
|
62
55
|
}
|