@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
|
@@ -381,10 +381,10 @@ export class AdapterDateFns {
|
|
|
381
381
|
return isBefore(value, comparing);
|
|
382
382
|
};
|
|
383
383
|
this.isBeforeYear = (value, comparing) => {
|
|
384
|
-
return isBefore(value, startOfYear(comparing));
|
|
384
|
+
return isBefore(value, this.startOfYear(comparing));
|
|
385
385
|
};
|
|
386
386
|
this.isBeforeDay = (value, comparing) => {
|
|
387
|
-
return isBefore(value, startOfDay(comparing));
|
|
387
|
+
return isBefore(value, this.startOfDay(comparing));
|
|
388
388
|
};
|
|
389
389
|
this.isWithinRange = (value, [start, end]) => {
|
|
390
390
|
return isWithinInterval(value, {
|
|
@@ -487,20 +487,16 @@ export class AdapterDateFns {
|
|
|
487
487
|
return getDaysInMonth(value);
|
|
488
488
|
};
|
|
489
489
|
this.getWeekArray = value => {
|
|
490
|
-
const start = startOfWeek(startOfMonth(value)
|
|
491
|
-
|
|
492
|
-
});
|
|
493
|
-
const end = endOfWeek(endOfMonth(value), {
|
|
494
|
-
locale: this.locale
|
|
495
|
-
});
|
|
490
|
+
const start = this.startOfWeek(this.startOfMonth(value));
|
|
491
|
+
const end = this.endOfWeek(this.endOfMonth(value));
|
|
496
492
|
let count = 0;
|
|
497
493
|
let current = start;
|
|
498
494
|
const nestedWeeks = [];
|
|
499
|
-
while (isBefore(current, end)) {
|
|
495
|
+
while (this.isBefore(current, end)) {
|
|
500
496
|
const weekNumber = Math.floor(count / 7);
|
|
501
497
|
nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
|
|
502
498
|
nestedWeeks[weekNumber].push(current);
|
|
503
|
-
current = addDays(current, 1);
|
|
499
|
+
current = this.addDays(current, 1);
|
|
504
500
|
count += 1;
|
|
505
501
|
}
|
|
506
502
|
return nestedWeeks;
|
|
@@ -511,13 +507,13 @@ export class AdapterDateFns {
|
|
|
511
507
|
});
|
|
512
508
|
};
|
|
513
509
|
this.getYearRange = ([start, end]) => {
|
|
514
|
-
const startDate = startOfYear(start);
|
|
515
|
-
const endDate = endOfYear(end);
|
|
510
|
+
const startDate = this.startOfYear(start);
|
|
511
|
+
const endDate = this.endOfYear(end);
|
|
516
512
|
const years = [];
|
|
517
513
|
let current = startDate;
|
|
518
|
-
while (isBefore(current, endDate)) {
|
|
514
|
+
while (this.isBefore(current, endDate)) {
|
|
519
515
|
years.push(current);
|
|
520
|
-
current = addYears(current, 1);
|
|
516
|
+
current = this.addYears(current, 1);
|
|
521
517
|
}
|
|
522
518
|
return years;
|
|
523
519
|
};
|
|
@@ -384,19 +384,19 @@ export class AdapterDateFnsJalali {
|
|
|
384
384
|
return isAfter(value, comparing);
|
|
385
385
|
};
|
|
386
386
|
this.isAfterYear = (value, comparing) => {
|
|
387
|
-
return isAfter(value, endOfYear(comparing));
|
|
387
|
+
return isAfter(value, this.endOfYear(comparing));
|
|
388
388
|
};
|
|
389
389
|
this.isAfterDay = (value, comparing) => {
|
|
390
|
-
return isAfter(value, endOfDay(comparing));
|
|
390
|
+
return isAfter(value, this.endOfDay(comparing));
|
|
391
391
|
};
|
|
392
392
|
this.isBefore = (value, comparing) => {
|
|
393
393
|
return isBefore(value, comparing);
|
|
394
394
|
};
|
|
395
395
|
this.isBeforeYear = (value, comparing) => {
|
|
396
|
-
return isBefore(value, startOfYear(comparing));
|
|
396
|
+
return isBefore(value, this.startOfYear(comparing));
|
|
397
397
|
};
|
|
398
398
|
this.isBeforeDay = (value, comparing) => {
|
|
399
|
-
return isBefore(value, startOfDay(comparing));
|
|
399
|
+
return isBefore(value, this.startOfDay(comparing));
|
|
400
400
|
};
|
|
401
401
|
this.isWithinRange = (value, [start, end]) => {
|
|
402
402
|
return isWithinInterval(value, {
|
|
@@ -499,20 +499,16 @@ export class AdapterDateFnsJalali {
|
|
|
499
499
|
return getDaysInMonth(value);
|
|
500
500
|
};
|
|
501
501
|
this.getWeekArray = value => {
|
|
502
|
-
const start = startOfWeek(startOfMonth(value)
|
|
503
|
-
|
|
504
|
-
});
|
|
505
|
-
const end = endOfWeek(endOfMonth(value), {
|
|
506
|
-
locale: this.locale
|
|
507
|
-
});
|
|
502
|
+
const start = this.startOfWeek(this.startOfMonth(value));
|
|
503
|
+
const end = this.endOfWeek(this.endOfMonth(value));
|
|
508
504
|
let count = 0;
|
|
509
505
|
let current = start;
|
|
510
506
|
const nestedWeeks = [];
|
|
511
|
-
while (isBefore(current, end)) {
|
|
507
|
+
while (this.isBefore(current, end)) {
|
|
512
508
|
const weekNumber = Math.floor(count / 7);
|
|
513
509
|
nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
|
|
514
510
|
nestedWeeks[weekNumber].push(current);
|
|
515
|
-
current = addDays(current, 1);
|
|
511
|
+
current = this.addDays(current, 1);
|
|
516
512
|
count += 1;
|
|
517
513
|
}
|
|
518
514
|
return nestedWeeks;
|
|
@@ -523,13 +519,13 @@ export class AdapterDateFnsJalali {
|
|
|
523
519
|
});
|
|
524
520
|
};
|
|
525
521
|
this.getYearRange = ([start, end]) => {
|
|
526
|
-
const startDate = startOfYear(start);
|
|
527
|
-
const endDate = endOfYear(end);
|
|
522
|
+
const startDate = this.startOfYear(start);
|
|
523
|
+
const endDate = this.endOfYear(end);
|
|
528
524
|
const years = [];
|
|
529
525
|
let current = startDate;
|
|
530
|
-
while (isBefore(current, endDate)) {
|
|
526
|
+
while (this.isBefore(current, endDate)) {
|
|
531
527
|
years.push(current);
|
|
532
|
-
current = addYears(current, 1);
|
|
528
|
+
current = this.addYears(current, 1);
|
|
533
529
|
}
|
|
534
530
|
return years;
|
|
535
531
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
/* eslint-disable class-methods-use-this */
|
|
3
3
|
import defaultDayjs from 'dayjs';
|
|
4
|
-
import
|
|
4
|
+
import weekOfYearPlugin from 'dayjs/plugin/weekOfYear';
|
|
5
5
|
import customParseFormatPlugin from 'dayjs/plugin/customParseFormat';
|
|
6
6
|
import localizedFormatPlugin from 'dayjs/plugin/localizedFormat';
|
|
7
7
|
import isBetweenPlugin from 'dayjs/plugin/isBetween';
|
|
8
8
|
import { buildWarning } from '../internals/utils/warning';
|
|
9
|
-
defaultDayjs.extend(customParseFormatPlugin);
|
|
10
9
|
defaultDayjs.extend(localizedFormatPlugin);
|
|
10
|
+
defaultDayjs.extend(weekOfYearPlugin);
|
|
11
11
|
defaultDayjs.extend(isBetweenPlugin);
|
|
12
12
|
const localeNotFoundWarning = buildWarning(['Your locale has not been found.', 'Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale', "Or you forget to import the locale from 'dayjs/locale/{localeUsed}'", 'fallback on English locale']);
|
|
13
13
|
const formatTokenMap = {
|
|
@@ -506,8 +506,8 @@ export class AdapterDayjs {
|
|
|
506
506
|
};
|
|
507
507
|
this.getWeekArray = value => {
|
|
508
508
|
const cleanValue = this.setLocaleToValue(value);
|
|
509
|
-
const start =
|
|
510
|
-
const end =
|
|
509
|
+
const start = this.startOfWeek(this.startOfMonth(cleanValue));
|
|
510
|
+
const end = this.endOfWeek(this.endOfMonth(cleanValue));
|
|
511
511
|
let count = 0;
|
|
512
512
|
let current = start;
|
|
513
513
|
const nestedWeeks = [];
|
|
@@ -524,11 +524,11 @@ export class AdapterDayjs {
|
|
|
524
524
|
return value.week();
|
|
525
525
|
};
|
|
526
526
|
this.getYearRange = ([start, end]) => {
|
|
527
|
-
const startDate =
|
|
528
|
-
const endDate =
|
|
527
|
+
const startDate = this.startOfYear(start);
|
|
528
|
+
const endDate = this.endOfYear(end);
|
|
529
529
|
const years = [];
|
|
530
530
|
let current = startDate;
|
|
531
|
-
while (current
|
|
531
|
+
while (this.isBefore(current, endDate)) {
|
|
532
532
|
years.push(current);
|
|
533
533
|
current = this.addYears(current, 1);
|
|
534
534
|
}
|
|
@@ -537,6 +537,9 @@ export class AdapterDayjs {
|
|
|
537
537
|
this.dayjs = withLocale(defaultDayjs, _locale);
|
|
538
538
|
this.locale = _locale;
|
|
539
539
|
this.formats = _extends({}, defaultFormats, formats);
|
|
540
|
-
|
|
540
|
+
|
|
541
|
+
// Moved plugins to the constructor to allow for users to use options on the library
|
|
542
|
+
// for reference: https://github.com/mui/mui-x/pull/11151
|
|
543
|
+
defaultDayjs.extend(customParseFormatPlugin);
|
|
541
544
|
}
|
|
542
545
|
}
|
|
@@ -94,6 +94,6 @@ export declare class AdapterLuxon implements MuiPickersAdapter<DateTime, string>
|
|
|
94
94
|
setMilliseconds: (value: DateTime, milliseconds: number) => DateTime;
|
|
95
95
|
getDaysInMonth: (value: DateTime) => import("luxon").PossibleDaysInMonth;
|
|
96
96
|
getWeekArray: (value: DateTime) => DateTime[][];
|
|
97
|
-
getWeekNumber: (value: DateTime) =>
|
|
97
|
+
getWeekNumber: (value: DateTime) => any;
|
|
98
98
|
getYearRange: ([start, end]: [DateTime, DateTime]) => DateTime[];
|
|
99
99
|
}
|
|
@@ -308,12 +308,12 @@ export class AdapterLuxon {
|
|
|
308
308
|
};
|
|
309
309
|
this.isAfterYear = (value, comparing) => {
|
|
310
310
|
const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));
|
|
311
|
-
const diff = value.diff(
|
|
311
|
+
const diff = value.diff(this.endOfYear(comparingInValueTimezone), 'years').toObject();
|
|
312
312
|
return diff.years > 0;
|
|
313
313
|
};
|
|
314
314
|
this.isAfterDay = (value, comparing) => {
|
|
315
315
|
const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));
|
|
316
|
-
const diff = value.diff(
|
|
316
|
+
const diff = value.diff(this.endOfDay(comparingInValueTimezone), 'days').toObject();
|
|
317
317
|
return diff.days > 0;
|
|
318
318
|
};
|
|
319
319
|
this.isBefore = (value, comparing) => {
|
|
@@ -321,12 +321,12 @@ export class AdapterLuxon {
|
|
|
321
321
|
};
|
|
322
322
|
this.isBeforeYear = (value, comparing) => {
|
|
323
323
|
const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));
|
|
324
|
-
const diff = value.diff(
|
|
324
|
+
const diff = value.diff(this.startOfYear(comparingInValueTimezone), 'years').toObject();
|
|
325
325
|
return diff.years < 0;
|
|
326
326
|
};
|
|
327
327
|
this.isBeforeDay = (value, comparing) => {
|
|
328
328
|
const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));
|
|
329
|
-
const diff = value.diff(
|
|
329
|
+
const diff = value.diff(this.startOfDay(comparingInValueTimezone), 'days').toObject();
|
|
330
330
|
return diff.days < 0;
|
|
331
331
|
};
|
|
332
332
|
this.isWithinRange = (value, [start, end]) => {
|
|
@@ -339,7 +339,12 @@ export class AdapterLuxon {
|
|
|
339
339
|
return value.startOf('month');
|
|
340
340
|
};
|
|
341
341
|
this.startOfWeek = value => {
|
|
342
|
-
return value.startOf('week'
|
|
342
|
+
return value.startOf('week',
|
|
343
|
+
// TODO: remove when `@types/luxon` add support for the parameter.
|
|
344
|
+
// @ts-ignore
|
|
345
|
+
{
|
|
346
|
+
useLocaleWeeks: true
|
|
347
|
+
});
|
|
343
348
|
};
|
|
344
349
|
this.startOfDay = value => {
|
|
345
350
|
return value.startOf('day');
|
|
@@ -351,7 +356,12 @@ export class AdapterLuxon {
|
|
|
351
356
|
return value.endOf('month');
|
|
352
357
|
};
|
|
353
358
|
this.endOfWeek = value => {
|
|
354
|
-
return value.endOf('week'
|
|
359
|
+
return value.endOf('week',
|
|
360
|
+
// TODO: remove when `@types/luxon` add support for the parameter.
|
|
361
|
+
// @ts-ignore
|
|
362
|
+
{
|
|
363
|
+
useLocaleWeeks: true
|
|
364
|
+
});
|
|
355
365
|
};
|
|
356
366
|
this.endOfDay = value => {
|
|
357
367
|
return value.endOf('day');
|
|
@@ -453,11 +463,13 @@ export class AdapterLuxon {
|
|
|
453
463
|
};
|
|
454
464
|
this.getWeekArray = value => {
|
|
455
465
|
const cleanValue = this.setLocaleToValue(value);
|
|
466
|
+
const firstDay = this.startOfWeek(this.startOfMonth(cleanValue));
|
|
467
|
+
const lastDay = this.endOfWeek(this.endOfMonth(cleanValue));
|
|
456
468
|
const {
|
|
457
469
|
days
|
|
458
|
-
} =
|
|
470
|
+
} = lastDay.diff(firstDay, 'days').toObject();
|
|
459
471
|
const weeks = [];
|
|
460
|
-
new Array(Math.round(days)).fill(0).map((_, i) => i).map(day =>
|
|
472
|
+
new Array(Math.round(days)).fill(0).map((_, i) => i).map(day => firstDay.plus({
|
|
461
473
|
days: day
|
|
462
474
|
})).forEach((v, i) => {
|
|
463
475
|
if (i === 0 || i % 7 === 0 && i > 6) {
|
|
@@ -469,18 +481,19 @@ export class AdapterLuxon {
|
|
|
469
481
|
return weeks;
|
|
470
482
|
};
|
|
471
483
|
this.getWeekNumber = value => {
|
|
472
|
-
|
|
484
|
+
var _value$localeWeekNumb;
|
|
485
|
+
// TODO: remove when `@types/luxon` add support for the parameter.
|
|
486
|
+
// @ts-ignore
|
|
487
|
+
return (_value$localeWeekNumb = value.localeWeekNumber) != null ? _value$localeWeekNumb : value.weekNumber;
|
|
473
488
|
};
|
|
474
489
|
this.getYearRange = ([start, end]) => {
|
|
475
|
-
const startDate =
|
|
476
|
-
const endDate =
|
|
477
|
-
let current = startDate;
|
|
490
|
+
const startDate = this.startOfYear(start);
|
|
491
|
+
const endDate = this.endOfYear(end);
|
|
478
492
|
const years = [];
|
|
479
|
-
|
|
493
|
+
let current = startDate;
|
|
494
|
+
while (this.isBefore(current, endDate)) {
|
|
480
495
|
years.push(current);
|
|
481
|
-
current =
|
|
482
|
-
year: 1
|
|
483
|
-
});
|
|
496
|
+
current = this.addYears(current, 1);
|
|
484
497
|
}
|
|
485
498
|
return years;
|
|
486
499
|
};
|
|
@@ -100,5 +100,5 @@ export declare class AdapterMoment implements MuiPickersAdapter<Moment, string>
|
|
|
100
100
|
getDaysInMonth: (value: Moment) => number;
|
|
101
101
|
getWeekArray: (value: Moment) => defaultMoment.Moment[][];
|
|
102
102
|
getWeekNumber: (value: Moment) => number;
|
|
103
|
-
getYearRange
|
|
103
|
+
getYearRange([start, end]: [Moment, Moment]): defaultMoment.Moment[];
|
|
104
104
|
}
|
|
@@ -427,8 +427,8 @@ export class AdapterMoment {
|
|
|
427
427
|
};
|
|
428
428
|
this.getWeekArray = value => {
|
|
429
429
|
const cleanValue = this.setLocaleToValue(value);
|
|
430
|
-
const start =
|
|
431
|
-
const end =
|
|
430
|
+
const start = this.startOfWeek(this.startOfMonth(cleanValue));
|
|
431
|
+
const end = this.endOfWeek(this.endOfMonth(cleanValue));
|
|
432
432
|
let count = 0;
|
|
433
433
|
let current = start;
|
|
434
434
|
const nestedWeeks = [];
|
|
@@ -436,7 +436,7 @@ export class AdapterMoment {
|
|
|
436
436
|
const weekNumber = Math.floor(count / 7);
|
|
437
437
|
nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
|
|
438
438
|
nestedWeeks[weekNumber].push(current);
|
|
439
|
-
current =
|
|
439
|
+
current = this.addDays(current, 1);
|
|
440
440
|
count += 1;
|
|
441
441
|
}
|
|
442
442
|
return nestedWeeks;
|
|
@@ -444,19 +444,19 @@ export class AdapterMoment {
|
|
|
444
444
|
this.getWeekNumber = value => {
|
|
445
445
|
return value.week();
|
|
446
446
|
};
|
|
447
|
-
this.getYearRange = ([start, end]) => {
|
|
448
|
-
const startDate = this.moment(start).startOf('year');
|
|
449
|
-
const endDate = this.moment(end).endOf('year');
|
|
450
|
-
const years = [];
|
|
451
|
-
let current = startDate;
|
|
452
|
-
while (current.isBefore(endDate)) {
|
|
453
|
-
years.push(current);
|
|
454
|
-
current = current.clone().add(1, 'year');
|
|
455
|
-
}
|
|
456
|
-
return years;
|
|
457
|
-
};
|
|
458
447
|
this.moment = instance || defaultMoment;
|
|
459
448
|
this.locale = locale;
|
|
460
449
|
this.formats = _extends({}, defaultFormats, formats);
|
|
461
450
|
}
|
|
451
|
+
getYearRange([start, end]) {
|
|
452
|
+
const startDate = this.startOfYear(start);
|
|
453
|
+
const endDate = this.endOfYear(end);
|
|
454
|
+
const years = [];
|
|
455
|
+
let current = startDate;
|
|
456
|
+
while (this.isBefore(current, endDate)) {
|
|
457
|
+
years.push(current);
|
|
458
|
+
current = this.addYears(current, 1);
|
|
459
|
+
}
|
|
460
|
+
return years;
|
|
461
|
+
}
|
|
462
462
|
}
|
|
@@ -49,7 +49,6 @@ export declare class AdapterMomentHijri extends AdapterMoment implements MuiPick
|
|
|
49
49
|
setYear: (value: Moment, year: number) => defaultHMoment.Moment;
|
|
50
50
|
setMonth: (value: Moment, month: number) => defaultHMoment.Moment;
|
|
51
51
|
setDate: (value: Moment, date: number) => defaultHMoment.Moment;
|
|
52
|
-
getWeekArray: (value: Moment) => defaultHMoment.Moment[][];
|
|
53
52
|
getWeekNumber: (value: Moment) => number;
|
|
54
53
|
getYearRange: ([start, end]: [Moment, Moment]) => defaultHMoment.Moment[];
|
|
55
54
|
}
|
|
@@ -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';
|
|
@@ -53,7 +53,5 @@ export declare class AdapterMomentJalaali extends AdapterMoment implements MuiPi
|
|
|
53
53
|
setYear: (value: Moment, year: number) => defaultJMoment.Moment;
|
|
54
54
|
setMonth: (value: Moment, month: number) => defaultJMoment.Moment;
|
|
55
55
|
setDate: (value: Moment, date: number) => defaultJMoment.Moment;
|
|
56
|
-
getWeekArray: (value: Moment) => defaultJMoment.Moment[][];
|
|
57
56
|
getWeekNumber: (value: Moment) => number;
|
|
58
|
-
getYearRange: ([start, end]: [Moment, Moment]) => defaultJMoment.Moment[];
|
|
59
57
|
}
|
|
@@ -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);
|