@mui/x-date-pickers 7.0.0-alpha.0 → 7.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +4 -15
  2. package/AdapterDateFns/AdapterDateFns.js +8 -90
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +4 -15
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +8 -90
  5. package/AdapterDayjs/AdapterDayjs.d.ts +5 -17
  6. package/AdapterDayjs/AdapterDayjs.js +11 -60
  7. package/AdapterLuxon/AdapterLuxon.d.ts +4 -15
  8. package/AdapterLuxon/AdapterLuxon.js +3 -73
  9. package/AdapterMoment/AdapterMoment.d.ts +4 -20
  10. package/AdapterMoment/AdapterMoment.js +9 -66
  11. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +1 -7
  12. package/AdapterMomentHijri/AdapterMomentHijri.js +1 -30
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +1 -9
  14. package/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -40
  15. package/CHANGELOG.md +409 -1
  16. package/DateCalendar/DateCalendar.js +0 -1
  17. package/DateCalendar/DayCalendar.d.ts +1 -2
  18. package/DateCalendar/DayCalendar.js +9 -16
  19. package/DateCalendar/index.d.ts +0 -1
  20. package/DateCalendar/index.js +1 -3
  21. package/DatePicker/DatePicker.js +0 -1
  22. package/DatePicker/shared.d.ts +1 -1
  23. package/DateTimePicker/DateTimePicker.js +0 -1
  24. package/DateTimePicker/shared.d.ts +1 -1
  25. package/DesktopDatePicker/DesktopDatePicker.js +0 -1
  26. package/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -1
  27. package/DigitalClock/DigitalClock.js +3 -2
  28. package/LocalizationProvider/LocalizationProvider.js +0 -6
  29. package/MobileDatePicker/MobileDatePicker.js +0 -1
  30. package/MobileDateTimePicker/MobileDateTimePicker.js +0 -1
  31. package/PickersCalendarHeader/PickersCalendarHeader.js +11 -4
  32. package/StaticDatePicker/StaticDatePicker.js +0 -1
  33. package/StaticDateTimePicker/StaticDateTimePicker.js +0 -1
  34. package/TimePicker/shared.d.ts +1 -1
  35. package/YearCalendar/YearCalendar.js +1 -1
  36. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +1 -1
  37. package/index.d.ts +1 -0
  38. package/index.js +4 -1
  39. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +5 -0
  40. package/internals/hooks/useField/useField.utils.js +0 -1
  41. package/internals/hooks/useField/useFieldState.js +1 -1
  42. package/internals/utils/getDefaultReferenceDate.d.ts +1 -2
  43. package/internals/utils/getDefaultReferenceDate.js +0 -4
  44. package/legacy/AdapterDateFns/AdapterDateFns.js +11 -92
  45. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +11 -92
  46. package/legacy/AdapterDayjs/AdapterDayjs.js +15 -63
  47. package/legacy/AdapterLuxon/AdapterLuxon.js +6 -75
  48. package/legacy/AdapterMoment/AdapterMoment.js +12 -70
  49. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +5 -30
  50. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +5 -40
  51. package/legacy/DateCalendar/DateCalendar.js +0 -1
  52. package/legacy/DateCalendar/DayCalendar.js +7 -11
  53. package/legacy/DateCalendar/index.js +1 -3
  54. package/legacy/DatePicker/DatePicker.js +0 -1
  55. package/legacy/DateTimePicker/DateTimePicker.js +0 -1
  56. package/legacy/DesktopDatePicker/DesktopDatePicker.js +0 -1
  57. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -1
  58. package/legacy/DigitalClock/DigitalClock.js +3 -2
  59. package/legacy/LocalizationProvider/LocalizationProvider.js +0 -6
  60. package/legacy/MobileDatePicker/MobileDatePicker.js +0 -1
  61. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +0 -1
  62. package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +11 -3
  63. package/legacy/StaticDatePicker/StaticDatePicker.js +0 -1
  64. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +0 -1
  65. package/legacy/YearCalendar/YearCalendar.js +1 -1
  66. package/legacy/index.js +4 -1
  67. package/legacy/internals/hooks/useField/useField.utils.js +0 -1
  68. package/legacy/internals/hooks/useField/useFieldState.js +1 -1
  69. package/legacy/internals/utils/getDefaultReferenceDate.js +0 -6
  70. package/models/adapters.d.ts +10 -135
  71. package/models/fields.d.ts +0 -6
  72. package/modern/AdapterDateFns/AdapterDateFns.js +8 -90
  73. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +8 -90
  74. package/modern/AdapterDayjs/AdapterDayjs.js +11 -59
  75. package/modern/AdapterLuxon/AdapterLuxon.js +3 -73
  76. package/modern/AdapterMoment/AdapterMoment.js +9 -65
  77. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +1 -30
  78. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -40
  79. package/modern/DateCalendar/DateCalendar.js +0 -1
  80. package/modern/DateCalendar/DayCalendar.js +9 -15
  81. package/modern/DateCalendar/index.js +1 -3
  82. package/modern/DatePicker/DatePicker.js +0 -1
  83. package/modern/DateTimePicker/DateTimePicker.js +0 -1
  84. package/modern/DesktopDatePicker/DesktopDatePicker.js +0 -1
  85. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -1
  86. package/modern/DigitalClock/DigitalClock.js +3 -2
  87. package/modern/LocalizationProvider/LocalizationProvider.js +0 -6
  88. package/modern/MobileDatePicker/MobileDatePicker.js +0 -1
  89. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +0 -1
  90. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +11 -4
  91. package/modern/StaticDatePicker/StaticDatePicker.js +0 -1
  92. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +0 -1
  93. package/modern/YearCalendar/YearCalendar.js +1 -1
  94. package/modern/index.js +4 -1
  95. package/modern/internals/hooks/useField/useField.utils.js +0 -1
  96. package/modern/internals/hooks/useField/useFieldState.js +1 -1
  97. package/modern/internals/utils/getDefaultReferenceDate.js +0 -1
  98. package/node/AdapterDateFns/AdapterDateFns.js +8 -90
  99. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +8 -90
  100. package/node/AdapterDayjs/AdapterDayjs.js +11 -59
  101. package/node/AdapterLuxon/AdapterLuxon.js +3 -73
  102. package/node/AdapterMoment/AdapterMoment.js +9 -65
  103. package/node/AdapterMomentHijri/AdapterMomentHijri.js +1 -30
  104. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -40
  105. package/node/DateCalendar/DateCalendar.js +0 -1
  106. package/node/DateCalendar/DayCalendar.js +9 -15
  107. package/node/DateCalendar/index.js +1 -21
  108. package/node/DatePicker/DatePicker.js +0 -1
  109. package/node/DateTimePicker/DateTimePicker.js +0 -1
  110. package/node/DesktopDatePicker/DesktopDatePicker.js +0 -1
  111. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -1
  112. package/node/DigitalClock/DigitalClock.js +3 -2
  113. package/node/LocalizationProvider/LocalizationProvider.js +0 -6
  114. package/node/MobileDatePicker/MobileDatePicker.js +0 -1
  115. package/node/MobileDateTimePicker/MobileDateTimePicker.js +0 -1
  116. package/node/PickersCalendarHeader/PickersCalendarHeader.js +11 -4
  117. package/node/StaticDatePicker/StaticDatePicker.js +0 -1
  118. package/node/StaticDateTimePicker/StaticDateTimePicker.js +0 -1
  119. package/node/YearCalendar/YearCalendar.js +1 -1
  120. package/node/index.js +13 -1
  121. package/node/internals/hooks/useField/useField.utils.js +0 -1
  122. package/node/internals/hooks/useField/useFieldState.js +1 -1
  123. package/node/internals/utils/getDefaultReferenceDate.js +1 -3
  124. package/package.json +1 -1
  125. package/themeAugmentation/overrides.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import defaultLocale from 'date-fns/locale/en-US';
2
- import { AdapterFormats, AdapterOptions, AdapterUnits, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter } from '../models';
2
+ import { AdapterFormats, AdapterOptions, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter } from '../models';
3
3
  type DateFnsLocale = typeof defaultLocale;
4
4
  /**
5
5
  * Based on `@date-io/date-fns`
@@ -43,20 +43,15 @@ export declare class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
43
43
  getTimezone: () => string;
44
44
  setTimezone: (value: Date) => Date;
45
45
  toJsDate: (value: Date) => Date;
46
- parseISO: (isoString: string) => Date;
47
- toISO: (value: Date) => string;
48
46
  parse: (value: string, format: string) => Date | null;
49
47
  getCurrentLocaleCode: () => string;
50
48
  is12HourCycleInCurrentLocale: () => boolean;
51
49
  expandFormat: (format: string) => string;
52
- getFormatHelperText: (format: string) => string;
53
- isNull: (value: Date | null) => boolean;
54
- isValid: (value: any) => boolean;
50
+ isValid: (value: Date | null) => boolean;
55
51
  format: (value: Date, formatKey: keyof AdapterFormats) => string;
56
52
  formatByString: (value: Date, formatString: string) => string;
57
53
  formatNumber: (numberToFormat: string) => string;
58
- getDiff: (value: Date, comparing: Date | string, unit?: AdapterUnits) => number;
59
- isEqual: (value: any, comparing: any) => boolean;
54
+ isEqual: (value: Date | null, comparing: Date | null) => boolean;
60
55
  isSameYear: (value: Date, comparing: Date) => boolean;
61
56
  isSameMonth: (value: Date, comparing: Date) => boolean;
62
57
  isSameDay: (value: Date, comparing: Date) => boolean;
@@ -98,14 +93,8 @@ export declare class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
98
93
  setSeconds: (value: Date, seconds: number) => Date;
99
94
  setMilliseconds: (value: Date, milliseconds: number) => Date;
100
95
  getDaysInMonth: (value: Date) => number;
101
- getNextMonth: (value: Date) => Date;
102
- getPreviousMonth: (value: Date) => Date;
103
- getMonthArray: (value: Date) => Date[];
104
- mergeDateAndTime: (dateParam: Date, timeParam: Date) => Date;
105
- getWeekdays: () => string[];
106
96
  getWeekArray: (value: Date) => Date[][];
107
97
  getWeekNumber: (value: Date) => number;
108
- getYearRange: (start: Date, end: Date) => Date[];
109
- getMeridiemText: (ampm: 'am' | 'pm') => "AM" | "PM";
98
+ getYearRange: ([start, end]: [Date, Date]) => Date[];
110
99
  }
111
100
  export {};
@@ -7,16 +7,6 @@ import addHours from 'date-fns/addHours';
7
7
  import addWeeks from 'date-fns/addWeeks';
8
8
  import addMonths from 'date-fns/addMonths';
9
9
  import addYears from 'date-fns/addYears';
10
- import differenceInYears from 'date-fns/differenceInYears';
11
- import differenceInQuarters from 'date-fns/differenceInQuarters';
12
- import differenceInMonths from 'date-fns/differenceInMonths';
13
- import differenceInWeeks from 'date-fns/differenceInWeeks';
14
- import differenceInDays from 'date-fns/differenceInDays';
15
- import differenceInHours from 'date-fns/differenceInHours';
16
- import differenceInMinutes from 'date-fns/differenceInMinutes';
17
- import differenceInSeconds from 'date-fns/differenceInSeconds';
18
- import differenceInMilliseconds from 'date-fns/differenceInMilliseconds';
19
- import eachDayOfInterval from 'date-fns/eachDayOfInterval';
20
10
  import endOfDay from 'date-fns/endOfDay';
21
11
  import endOfWeek from 'date-fns/endOfWeek';
22
12
  import endOfYear from 'date-fns/endOfYear';
@@ -51,8 +41,6 @@ import startOfMonth from 'date-fns/startOfMonth';
51
41
  import endOfMonth from 'date-fns/endOfMonth';
52
42
  import startOfWeek from 'date-fns/startOfWeek';
53
43
  import startOfYear from 'date-fns/startOfYear';
54
- import parseISO from 'date-fns/parseISO';
55
- import formatISO from 'date-fns/formatISO';
56
44
  import isWithinInterval from 'date-fns/isWithinInterval';
57
45
  import defaultLocale from 'date-fns/locale/en-US';
58
46
  // @ts-ignore
@@ -235,19 +223,13 @@ const defaultFormats = {
235
223
  minutes: 'mm',
236
224
  seconds: 'ss',
237
225
  fullDate: 'PP',
238
- fullDateWithWeekday: 'PPPP',
239
226
  keyboardDate: 'P',
240
227
  shortDate: 'MMM d',
241
228
  normalDate: 'd MMMM',
242
229
  normalDateWithWeekday: 'EEE, MMM d',
243
- monthAndYear: 'LLLL yyyy',
244
- monthAndDate: 'MMMM d',
245
230
  fullTime: 'p',
246
231
  fullTime12h: 'hh:mm aa',
247
232
  fullTime24h: 'HH:mm',
248
- fullDateTime: 'PP p',
249
- fullDateTime12h: 'PP hh:mm aa',
250
- fullDateTime24h: 'PP HH:mm',
251
233
  keyboardDateTime: 'P p',
252
234
  keyboardDateTime12h: 'P hh:mm aa',
253
235
  keyboardDateTime24h: 'P HH:mm'
@@ -314,14 +296,6 @@ export class AdapterDateFns {
314
296
  this.toJsDate = value => {
315
297
  return value;
316
298
  };
317
- this.parseISO = isoString => {
318
- return parseISO(isoString);
319
- };
320
- this.toISO = value => {
321
- return formatISO(value, {
322
- format: 'extended'
323
- });
324
- };
325
299
  this.parse = (value, format) => {
326
300
  if (value === '') {
327
301
  return null;
@@ -358,14 +332,11 @@ export class AdapterDateFns {
358
332
  return token;
359
333
  }).join('');
360
334
  };
361
- this.getFormatHelperText = format => {
362
- return this.expandFormat(format).replace(/(aaa|aa|a)/g, '(a|p)m').toLocaleLowerCase();
363
- };
364
- this.isNull = value => {
365
- return value === null;
366
- };
367
335
  this.isValid = value => {
368
- return isValid(this.date(value));
336
+ if (value == null) {
337
+ return false;
338
+ }
339
+ return isValid(value);
369
340
  };
370
341
  this.format = (value, formatKey) => {
371
342
  return this.formatByString(value, this.formats[formatKey]);
@@ -378,34 +349,13 @@ export class AdapterDateFns {
378
349
  this.formatNumber = numberToFormat => {
379
350
  return numberToFormat;
380
351
  };
381
- this.getDiff = (value, comparing, unit) => {
382
- switch (unit) {
383
- case 'years':
384
- return differenceInYears(value, this.date(comparing));
385
- case 'quarters':
386
- return differenceInQuarters(value, this.date(comparing));
387
- case 'months':
388
- return differenceInMonths(value, this.date(comparing));
389
- case 'weeks':
390
- return differenceInWeeks(value, this.date(comparing));
391
- case 'days':
392
- return differenceInDays(value, this.date(comparing));
393
- case 'hours':
394
- return differenceInHours(value, this.date(comparing));
395
- case 'minutes':
396
- return differenceInMinutes(value, this.date(comparing));
397
- case 'seconds':
398
- return differenceInSeconds(value, this.date(comparing));
399
- default:
400
- {
401
- return differenceInMilliseconds(value, this.date(comparing));
402
- }
403
- }
404
- };
405
352
  this.isEqual = (value, comparing) => {
406
353
  if (value === null && comparing === null) {
407
354
  return true;
408
355
  }
356
+ if (value === null || comparing === null) {
357
+ return false;
358
+ }
409
359
  return isEqual(value, comparing);
410
360
  };
411
361
  this.isSameYear = (value, comparing) => {
@@ -538,35 +488,6 @@ export class AdapterDateFns {
538
488
  this.getDaysInMonth = value => {
539
489
  return getDaysInMonth(value);
540
490
  };
541
- this.getNextMonth = value => {
542
- return addMonths(value, 1);
543
- };
544
- this.getPreviousMonth = value => {
545
- return addMonths(value, -1);
546
- };
547
- this.getMonthArray = value => {
548
- const firstMonth = startOfYear(value);
549
- const monthArray = [firstMonth];
550
- while (monthArray.length < 12) {
551
- const prevMonth = monthArray[monthArray.length - 1];
552
- monthArray.push(this.getNextMonth(prevMonth));
553
- }
554
- return monthArray;
555
- };
556
- this.mergeDateAndTime = (dateParam, timeParam) => {
557
- return this.setSeconds(this.setMinutes(this.setHours(dateParam, this.getHours(timeParam)), this.getMinutes(timeParam)), this.getSeconds(timeParam));
558
- };
559
- this.getWeekdays = () => {
560
- const now = new Date();
561
- return eachDayOfInterval({
562
- start: startOfWeek(now, {
563
- locale: this.locale
564
- }),
565
- end: endOfWeek(now, {
566
- locale: this.locale
567
- })
568
- }).map(day => this.formatByString(day, 'EEEEEE'));
569
- };
570
491
  this.getWeekArray = value => {
571
492
  const start = startOfWeek(startOfMonth(value), {
572
493
  locale: this.locale
@@ -591,7 +512,7 @@ export class AdapterDateFns {
591
512
  locale: this.locale
592
513
  });
593
514
  };
594
- this.getYearRange = (start, end) => {
515
+ this.getYearRange = ([start, end]) => {
595
516
  const startDate = startOfYear(start);
596
517
  const endDate = endOfYear(end);
597
518
  const years = [];
@@ -602,9 +523,6 @@ export class AdapterDateFns {
602
523
  }
603
524
  return years;
604
525
  };
605
- this.getMeridiemText = ampm => {
606
- return ampm === 'am' ? 'AM' : 'PM';
607
- };
608
526
  this.locale = _locale;
609
527
  this.formats = _extends({}, defaultFormats, formats);
610
528
  }
@@ -1,5 +1,5 @@
1
1
  import defaultLocale from 'date-fns-jalali/locale/fa-IR';
2
- import { AdapterFormats, AdapterOptions, AdapterUnits, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter } from '../models';
2
+ import { AdapterFormats, AdapterOptions, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter } from '../models';
3
3
  type DateFnsLocale = typeof defaultLocale;
4
4
  /**
5
5
  * Based on `@date-io/date-fns-jalali`
@@ -43,20 +43,15 @@ export declare class AdapterDateFnsJalali implements MuiPickersAdapter<Date, Dat
43
43
  getTimezone: () => string;
44
44
  setTimezone: (value: Date) => Date;
45
45
  toJsDate: (value: Date) => Date;
46
- parseISO: (isoString: string) => Date;
47
- toISO: (value: Date) => string;
48
46
  parse: (value: string, format: string) => Date | null;
49
47
  getCurrentLocaleCode: () => string;
50
48
  is12HourCycleInCurrentLocale: () => boolean;
51
49
  expandFormat: (format: string) => string;
52
- getFormatHelperText: (format: string) => string;
53
- isNull: (value: Date | null) => boolean;
54
- isValid: (value: any) => boolean;
50
+ isValid: (value: Date | null) => boolean;
55
51
  format: (value: Date, formatKey: keyof AdapterFormats) => string;
56
52
  formatByString: (value: Date, formatString: string) => string;
57
53
  formatNumber: (numberToFormat: string) => string;
58
- getDiff: (value: Date, comparing: Date | string, unit?: AdapterUnits) => number;
59
- isEqual: (value: any, comparing: any) => boolean;
54
+ isEqual: (value: Date | null, comparing: Date | null) => boolean;
60
55
  isSameYear: (value: Date, comparing: Date) => boolean;
61
56
  isSameMonth: (value: Date, comparing: Date) => boolean;
62
57
  isSameDay: (value: Date, comparing: Date) => boolean;
@@ -98,14 +93,8 @@ export declare class AdapterDateFnsJalali implements MuiPickersAdapter<Date, Dat
98
93
  setSeconds: (value: Date, seconds: number) => Date;
99
94
  setMilliseconds: (value: Date, milliseconds: number) => Date;
100
95
  getDaysInMonth: (value: Date) => number;
101
- getNextMonth: (value: Date) => Date;
102
- getPreviousMonth: (value: Date) => Date;
103
- getMonthArray: (value: Date) => Date[];
104
- mergeDateAndTime: (dateParam: Date, timeParam: Date) => Date;
105
- getWeekdays: () => string[];
106
96
  getWeekArray: (value: Date) => Date[][];
107
97
  getWeekNumber: (date: Date) => number;
108
- getYearRange: (start: Date, end: Date) => Date[];
109
- getMeridiemText: (ampm: 'am' | 'pm') => "ق.ظ" | "ب.ظ";
98
+ getYearRange: ([start, end]: [Date, Date]) => Date[];
110
99
  }
111
100
  export {};
@@ -7,21 +7,10 @@ import addDays from 'date-fns-jalali/addDays';
7
7
  import addWeeks from 'date-fns-jalali/addWeeks';
8
8
  import addMonths from 'date-fns-jalali/addMonths';
9
9
  import addYears from 'date-fns-jalali/addYears';
10
- import differenceInYears from 'date-fns-jalali/differenceInYears';
11
- import differenceInQuarters from 'date-fns-jalali/differenceInQuarters';
12
- import differenceInMonths from 'date-fns-jalali/differenceInMonths';
13
- import differenceInWeeks from 'date-fns-jalali/differenceInWeeks';
14
- import differenceInDays from 'date-fns-jalali/differenceInDays';
15
- import differenceInHours from 'date-fns-jalali/differenceInHours';
16
- import differenceInMinutes from 'date-fns-jalali/differenceInMinutes';
17
- import differenceInSeconds from 'date-fns-jalali/differenceInSeconds';
18
- import differenceInMilliseconds from 'date-fns-jalali/differenceInMilliseconds';
19
- import eachDayOfInterval from 'date-fns-jalali/eachDayOfInterval';
20
10
  import endOfDay from 'date-fns-jalali/endOfDay';
21
11
  import endOfWeek from 'date-fns-jalali/endOfWeek';
22
12
  import endOfYear from 'date-fns-jalali/endOfYear';
23
13
  import dateFnsFormat from 'date-fns-jalali/format';
24
- import formatISO from 'date-fns-jalali/formatISO';
25
14
  import getHours from 'date-fns-jalali/getHours';
26
15
  import getSeconds from 'date-fns-jalali/getSeconds';
27
16
  import getMilliseconds from 'date-fns-jalali/getMilliseconds';
@@ -40,7 +29,6 @@ import isSameMonth from 'date-fns-jalali/isSameMonth';
40
29
  import isSameHour from 'date-fns-jalali/isSameHour';
41
30
  import isValid from 'date-fns-jalali/isValid';
42
31
  import dateFnsParse from 'date-fns-jalali/parse';
43
- import parseISO from 'date-fns-jalali/parseISO';
44
32
  import setDate from 'date-fns-jalali/setDate';
45
33
  import setHours from 'date-fns-jalali/setHours';
46
34
  import setMinutes from 'date-fns-jalali/setMinutes';
@@ -235,16 +223,10 @@ const defaultFormats = {
235
223
  minutes: 'mm',
236
224
  seconds: 'ss',
237
225
  fullDate: 'PPP',
238
- fullDateWithWeekday: 'PPPP',
239
226
  keyboardDate: 'P',
240
227
  shortDate: 'd MMM',
241
228
  normalDate: 'd MMMM',
242
229
  normalDateWithWeekday: 'EEE, d MMMM',
243
- monthAndYear: 'LLLL yyyy',
244
- monthAndDate: 'd MMMM',
245
- fullDateTime: 'PPP p',
246
- fullDateTime12h: 'PPP hh:mm aa',
247
- fullDateTime24h: 'PPP HH:mm',
248
230
  fullTime: 'p',
249
231
  fullTime12h: 'hh:mm aaa',
250
232
  fullTime24h: 'HH:mm',
@@ -326,14 +308,6 @@ export class AdapterDateFnsJalali {
326
308
  this.toJsDate = value => {
327
309
  return value;
328
310
  };
329
- this.parseISO = isoString => {
330
- return parseISO(isoString);
331
- };
332
- this.toISO = value => {
333
- return formatISO(value, {
334
- format: 'extended'
335
- });
336
- };
337
311
  this.parse = (value, format) => {
338
312
  if (value === '') {
339
313
  return null;
@@ -370,14 +344,11 @@ export class AdapterDateFnsJalali {
370
344
  return token;
371
345
  }).join('');
372
346
  };
373
- this.getFormatHelperText = format => {
374
- return this.expandFormat(format).replace(/(aaa|aa|a)/g, '(a|p)m').toLocaleLowerCase();
375
- };
376
- this.isNull = value => {
377
- return value === null;
378
- };
379
347
  this.isValid = value => {
380
- return isValid(this.date(value));
348
+ if (value == null) {
349
+ return false;
350
+ }
351
+ return isValid(value);
381
352
  };
382
353
  this.format = (value, formatKey) => {
383
354
  return this.formatByString(value, this.formats[formatKey]);
@@ -390,34 +361,13 @@ export class AdapterDateFnsJalali {
390
361
  this.formatNumber = numberToFormat => {
391
362
  return numberToFormat.replace(/\d/g, match => NUMBER_SYMBOL_MAP[match]).replace(/,/g, '،');
392
363
  };
393
- this.getDiff = (value, comparing, unit) => {
394
- switch (unit) {
395
- case 'years':
396
- return differenceInYears(value, this.date(comparing));
397
- case 'quarters':
398
- return differenceInQuarters(value, this.date(comparing));
399
- case 'months':
400
- return differenceInMonths(value, this.date(comparing));
401
- case 'weeks':
402
- return differenceInWeeks(value, this.date(comparing));
403
- case 'days':
404
- return differenceInDays(value, this.date(comparing));
405
- case 'hours':
406
- return differenceInHours(value, this.date(comparing));
407
- case 'minutes':
408
- return differenceInMinutes(value, this.date(comparing));
409
- case 'seconds':
410
- return differenceInSeconds(value, this.date(comparing));
411
- default:
412
- {
413
- return differenceInMilliseconds(value, this.date(comparing));
414
- }
415
- }
416
- };
417
364
  this.isEqual = (value, comparing) => {
418
365
  if (value === null && comparing === null) {
419
366
  return true;
420
367
  }
368
+ if (value === null || comparing === null) {
369
+ return false;
370
+ }
421
371
  return isEqual(value, comparing);
422
372
  };
423
373
  this.isSameYear = (value, comparing) => {
@@ -550,35 +500,6 @@ export class AdapterDateFnsJalali {
550
500
  this.getDaysInMonth = value => {
551
501
  return getDaysInMonth(value);
552
502
  };
553
- this.getNextMonth = value => {
554
- return addMonths(value, 1);
555
- };
556
- this.getPreviousMonth = value => {
557
- return addMonths(value, -1);
558
- };
559
- this.getMonthArray = value => {
560
- const firstMonth = startOfYear(value);
561
- const monthArray = [firstMonth];
562
- while (monthArray.length < 12) {
563
- const prevMonth = monthArray[monthArray.length - 1];
564
- monthArray.push(this.getNextMonth(prevMonth));
565
- }
566
- return monthArray;
567
- };
568
- this.mergeDateAndTime = (dateParam, timeParam) => {
569
- return this.setSeconds(this.setMinutes(this.setHours(dateParam, this.getHours(timeParam)), this.getMinutes(timeParam)), this.getSeconds(timeParam));
570
- };
571
- this.getWeekdays = () => {
572
- const now = new Date();
573
- return eachDayOfInterval({
574
- start: startOfWeek(now, {
575
- locale: this.locale
576
- }),
577
- end: endOfWeek(now, {
578
- locale: this.locale
579
- })
580
- }).map(day => this.formatByString(day, 'EEEEEE'));
581
- };
582
503
  this.getWeekArray = value => {
583
504
  const start = startOfWeek(startOfMonth(value), {
584
505
  locale: this.locale
@@ -603,7 +524,7 @@ export class AdapterDateFnsJalali {
603
524
  locale: this.locale
604
525
  });
605
526
  };
606
- this.getYearRange = (start, end) => {
527
+ this.getYearRange = ([start, end]) => {
607
528
  const startDate = startOfYear(start);
608
529
  const endDate = endOfYear(end);
609
530
  const years = [];
@@ -614,9 +535,6 @@ export class AdapterDateFnsJalali {
614
535
  }
615
536
  return years;
616
537
  };
617
- this.getMeridiemText = ampm => {
618
- return ampm === 'am' ? 'ق.ظ' : 'ب.ظ';
619
- };
620
538
  this.locale = _locale;
621
539
  this.formats = _extends({}, defaultFormats, formats);
622
540
  }
@@ -1,5 +1,5 @@
1
1
  import defaultDayjs, { Dayjs } from 'dayjs';
2
- import { FieldFormatTokenMap, MuiPickersAdapter, AdapterFormats, AdapterUnits, AdapterOptions, PickersTimezone, DateBuilderReturnType } from '../models';
2
+ import { FieldFormatTokenMap, MuiPickersAdapter, AdapterFormats, AdapterOptions, PickersTimezone, DateBuilderReturnType } from '../models';
3
3
  type Constructor = (...args: Parameters<typeof defaultDayjs>) => Dayjs;
4
4
  /**
5
5
  * Based on `@date-io/dayjs`
@@ -30,7 +30,6 @@ export declare class AdapterDayjs implements MuiPickersAdapter<Dayjs, string> {
30
30
  isMUIAdapter: boolean;
31
31
  isTimezoneCompatible: boolean;
32
32
  lib: string;
33
- rawDayJsInstance?: typeof defaultDayjs;
34
33
  dayjs: Constructor;
35
34
  locale?: string;
36
35
  formats: AdapterFormats;
@@ -39,7 +38,7 @@ export declare class AdapterDayjs implements MuiPickersAdapter<Dayjs, string> {
39
38
  end: string;
40
39
  };
41
40
  formatTokenMap: FieldFormatTokenMap;
42
- constructor({ locale, formats, instance }?: AdapterOptions<string, typeof defaultDayjs>);
41
+ constructor({ locale, formats }?: AdapterOptions<string, never>);
43
42
  private setLocaleToValue;
44
43
  private hasUTCPlugin;
45
44
  private hasTimezonePlugin;
@@ -64,20 +63,15 @@ export declare class AdapterDayjs implements MuiPickersAdapter<Dayjs, string> {
64
63
  getTimezone: (value: Dayjs) => string;
65
64
  setTimezone: (value: Dayjs, timezone: PickersTimezone) => Dayjs;
66
65
  toJsDate: (value: Dayjs) => Date;
67
- parseISO: (isoString: string) => defaultDayjs.Dayjs;
68
- toISO: (value: Dayjs) => string;
69
66
  parse: (value: string, format: string) => defaultDayjs.Dayjs | null;
70
67
  getCurrentLocaleCode: () => string;
71
68
  is12HourCycleInCurrentLocale: () => boolean;
72
69
  expandFormat: (format: string) => string;
73
- getFormatHelperText: (format: string) => string;
74
- isNull: (value: Dayjs | null) => boolean;
75
- isValid: (value: any) => boolean;
70
+ isValid: (value: Dayjs | null) => boolean;
76
71
  format: (value: Dayjs, formatKey: keyof AdapterFormats) => string;
77
72
  formatByString: (value: Dayjs, formatString: string) => string;
78
73
  formatNumber: (numberToFormat: string) => string;
79
- getDiff: (value: Dayjs, comparing: Dayjs | string, unit?: AdapterUnits) => number;
80
- isEqual: (value: any, comparing: any) => boolean;
74
+ isEqual: (value: Dayjs | null, comparing: Dayjs | null) => boolean;
81
75
  isSameYear: (value: Dayjs, comparing: Dayjs) => boolean;
82
76
  isSameMonth: (value: Dayjs, comparing: Dayjs) => boolean;
83
77
  isSameDay: (value: Dayjs, comparing: Dayjs) => boolean;
@@ -119,14 +113,8 @@ export declare class AdapterDayjs implements MuiPickersAdapter<Dayjs, string> {
119
113
  setSeconds: (value: Dayjs, seconds: number) => defaultDayjs.Dayjs;
120
114
  setMilliseconds: (value: Dayjs, milliseconds: number) => defaultDayjs.Dayjs;
121
115
  getDaysInMonth: (value: Dayjs) => number;
122
- getNextMonth: (value: Dayjs) => defaultDayjs.Dayjs;
123
- getPreviousMonth: (value: Dayjs) => defaultDayjs.Dayjs;
124
- getMonthArray: (value: Dayjs) => defaultDayjs.Dayjs[];
125
- mergeDateAndTime: (dateParam: Dayjs, timeParam: Dayjs) => defaultDayjs.Dayjs;
126
- getWeekdays: () => string[];
127
116
  getWeekArray: (value: Dayjs) => defaultDayjs.Dayjs[][];
128
117
  getWeekNumber: (value: Dayjs) => number;
129
- getYearRange: (start: Dayjs, end: Dayjs) => defaultDayjs.Dayjs[];
130
- getMeridiemText: (ampm: 'am' | 'pm') => "AM" | "PM";
118
+ getYearRange: ([start, end]: [Dayjs, Dayjs]) => defaultDayjs.Dayjs[];
131
119
  }
132
120
  export {};
@@ -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
 
@@ -341,12 +327,6 @@ export class AdapterDayjs {
341
327
  this.toJsDate = value => {
342
328
  return value.toDate();
343
329
  };
344
- this.parseISO = isoString => {
345
- return this.dayjs(isoString);
346
- };
347
- this.toISO = value => {
348
- return value.toISOString();
349
- };
350
330
  this.parse = (value, format) => {
351
331
  if (value === '') {
352
332
  return null;
@@ -370,14 +350,11 @@ export class AdapterDayjs {
370
350
  return a || localeFormats[b] || t(localeFormats[B]);
371
351
  });
372
352
  };
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
353
  this.isValid = value => {
380
- return this.dayjs(value).isValid();
354
+ if (value == null) {
355
+ return false;
356
+ }
357
+ return value.isValid();
381
358
  };
382
359
  this.format = (value, formatKey) => {
383
360
  return this.formatByString(value, this.formats[formatKey]);
@@ -388,14 +365,14 @@ export class AdapterDayjs {
388
365
  this.formatNumber = numberToFormat => {
389
366
  return numberToFormat;
390
367
  };
391
- this.getDiff = (value, comparing, unit) => {
392
- return value.diff(comparing, unit);
393
- };
394
368
  this.isEqual = (value, comparing) => {
395
369
  if (value === null && comparing === null) {
396
370
  return true;
397
371
  }
398
- return this.dayjs(value).toDate().getTime() === this.dayjs(comparing).toDate().getTime();
372
+ if (value === null || comparing === null) {
373
+ return false;
374
+ }
375
+ return value.toDate().getTime() === comparing.toDate().getTime();
399
376
  };
400
377
  this.isSameYear = (value, comparing) => {
401
378
  return this.isSame(value, comparing, 'YYYY');
@@ -532,28 +509,6 @@ export class AdapterDayjs {
532
509
  this.getDaysInMonth = value => {
533
510
  return value.daysInMonth();
534
511
  };
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
512
  this.getWeekArray = value => {
558
513
  const cleanValue = this.setLocaleToValue(value);
559
514
  const start = cleanValue.startOf('month').startOf('week');
@@ -573,7 +528,7 @@ export class AdapterDayjs {
573
528
  this.getWeekNumber = value => {
574
529
  return value.week();
575
530
  };
576
- this.getYearRange = (start, end) => {
531
+ this.getYearRange = ([start, end]) => {
577
532
  const startDate = start.startOf('year');
578
533
  const endDate = end.endOf('year');
579
534
  const years = [];
@@ -584,11 +539,7 @@ export class AdapterDayjs {
584
539
  }
585
540
  return years;
586
541
  };
587
- this.getMeridiemText = ampm => {
588
- return ampm === 'am' ? 'AM' : 'PM';
589
- };
590
- this.rawDayJsInstance = instance;
591
- this.dayjs = withLocale((_this$rawDayJsInstanc = this.rawDayJsInstance) != null ? _this$rawDayJsInstanc : defaultDayjs, _locale);
542
+ this.dayjs = withLocale(defaultDayjs, _locale);
592
543
  this.locale = _locale;
593
544
  this.formats = _extends({}, defaultFormats, formats);
594
545
  defaultDayjs.extend(weekOfYear);