@mui/x-date-pickers 6.0.0-beta.4 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/AdapterDateFns/index.d.ts +2 -2
  2. package/AdapterDateFns/index.js +33 -25
  3. package/AdapterDateFnsJalali/index.d.ts +2 -2
  4. package/AdapterDateFnsJalali/index.js +15 -8
  5. package/AdapterDayjs/index.d.ts +2 -2
  6. package/AdapterDayjs/index.js +16 -8
  7. package/AdapterLuxon/index.d.ts +2 -2
  8. package/AdapterLuxon/index.js +46 -46
  9. package/AdapterMoment/index.d.ts +5 -2
  10. package/AdapterMoment/index.js +24 -18
  11. package/AdapterMomentHijri/index.d.ts +2 -2
  12. package/AdapterMomentHijri/index.js +11 -14
  13. package/AdapterMomentJalaali/index.d.ts +3 -2
  14. package/AdapterMomentJalaali/index.js +13 -14
  15. package/CHANGELOG.md +204 -29
  16. package/DateCalendar/DayCalendar.js +18 -1
  17. package/DateField/DateField.js +1 -1
  18. package/DatePicker/DatePicker.js +1 -1
  19. package/DateTimeField/DateTimeField.js +1 -1
  20. package/DateTimePicker/DateTimePicker.js +2 -2
  21. package/DateTimePicker/DateTimePickerToolbar.js +112 -30
  22. package/DateTimePicker/dateTimePickerToolbarClasses.d.ts +8 -0
  23. package/DateTimePicker/dateTimePickerToolbarClasses.js +1 -1
  24. package/DateTimePicker/shared.d.ts +4 -4
  25. package/DateTimePicker/shared.js +2 -4
  26. package/DesktopDatePicker/DesktopDatePicker.js +1 -1
  27. package/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -4
  28. package/DesktopTimePicker/DesktopTimePicker.js +7 -4
  29. package/LocalizationProvider/LocalizationProvider.d.ts +1 -1
  30. package/LocalizationProvider/LocalizationProvider.js +2 -2
  31. package/MobileDatePicker/MobileDatePicker.js +1 -1
  32. package/MobileDateTimePicker/MobileDateTimePicker.js +7 -4
  33. package/MobileTimePicker/MobileTimePicker.js +7 -4
  34. package/PickersDay/PickersDay.d.ts +10 -0
  35. package/PickersDay/PickersDay.js +11 -1
  36. package/PickersLayout/PickersLayout.types.d.ts +1 -1
  37. package/StaticDatePicker/StaticDatePicker.js +6 -0
  38. package/StaticDateTimePicker/StaticDateTimePicker.js +12 -3
  39. package/StaticTimePicker/StaticTimePicker.js +12 -3
  40. package/TimeClock/Clock.js +3 -5
  41. package/TimeClock/TimeClock.js +17 -17
  42. package/TimeField/TimeField.js +1 -1
  43. package/TimePicker/TimePicker.js +2 -2
  44. package/TimePicker/shared.d.ts +3 -3
  45. package/index.d.ts +1 -1
  46. package/index.js +1 -1
  47. package/internals/demo/DemoContainer.d.ts +2 -0
  48. package/internals/demo/DemoContainer.js +22 -23
  49. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +18 -22
  50. package/internals/hooks/useField/useField.js +33 -28
  51. package/internals/hooks/useField/useField.types.d.ts +51 -13
  52. package/internals/hooks/useField/useField.utils.d.ts +11 -34
  53. package/internals/hooks/useField/useField.utils.js +207 -327
  54. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +5 -3
  55. package/internals/hooks/useField/useFieldCharacterEditing.js +38 -90
  56. package/internals/hooks/useField/useFieldState.d.ts +9 -25
  57. package/internals/hooks/useField/useFieldState.js +20 -47
  58. package/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  59. package/internals/hooks/usePicker/usePickerViews.js +12 -1
  60. package/internals/hooks/useStaticPicker/useStaticPicker.js +9 -13
  61. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -0
  62. package/internals/index.d.ts +0 -1
  63. package/internals/index.js +0 -1
  64. package/internals/models/muiPickersAdapter.d.ts +5 -5
  65. package/internals/utils/time-utils.d.ts +2 -1
  66. package/internals/utils/time-utils.js +1 -0
  67. package/legacy/AdapterDateFns/index.js +33 -25
  68. package/legacy/AdapterDateFnsJalali/index.js +15 -8
  69. package/legacy/AdapterDayjs/index.js +16 -8
  70. package/legacy/AdapterLuxon/index.js +46 -46
  71. package/legacy/AdapterMoment/index.js +24 -18
  72. package/legacy/AdapterMomentHijri/index.js +11 -14
  73. package/legacy/AdapterMomentJalaali/index.js +13 -14
  74. package/legacy/DateCalendar/DayCalendar.js +20 -1
  75. package/legacy/DateField/DateField.js +1 -1
  76. package/legacy/DatePicker/DatePicker.js +1 -1
  77. package/legacy/DateTimeField/DateTimeField.js +1 -1
  78. package/legacy/DateTimePicker/DateTimePicker.js +2 -2
  79. package/legacy/DateTimePicker/DateTimePickerToolbar.js +115 -33
  80. package/legacy/DateTimePicker/dateTimePickerToolbarClasses.js +1 -1
  81. package/legacy/DateTimePicker/shared.js +2 -4
  82. package/legacy/DesktopDatePicker/DesktopDatePicker.js +1 -1
  83. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -4
  84. package/legacy/DesktopTimePicker/DesktopTimePicker.js +7 -4
  85. package/legacy/LocalizationProvider/LocalizationProvider.js +2 -2
  86. package/legacy/MobileDatePicker/MobileDatePicker.js +1 -1
  87. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +7 -4
  88. package/legacy/MobileTimePicker/MobileTimePicker.js +7 -4
  89. package/legacy/PickersDay/PickersDay.js +13 -1
  90. package/legacy/StaticDatePicker/StaticDatePicker.js +6 -0
  91. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +12 -3
  92. package/legacy/StaticTimePicker/StaticTimePicker.js +12 -3
  93. package/legacy/TimeClock/Clock.js +3 -5
  94. package/legacy/TimeClock/TimeClock.js +17 -17
  95. package/legacy/TimeField/TimeField.js +1 -1
  96. package/legacy/TimePicker/TimePicker.js +2 -2
  97. package/legacy/index.js +1 -1
  98. package/legacy/internals/demo/DemoContainer.js +22 -23
  99. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +18 -22
  100. package/legacy/internals/hooks/useField/useField.js +30 -29
  101. package/legacy/internals/hooks/useField/useField.utils.js +212 -325
  102. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +40 -99
  103. package/legacy/internals/hooks/useField/useFieldState.js +27 -56
  104. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  105. package/legacy/internals/hooks/usePicker/usePickerViews.js +12 -1
  106. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.js +10 -13
  107. package/legacy/internals/index.js +0 -1
  108. package/legacy/internals/utils/time-utils.js +3 -0
  109. package/legacy/tests/describeAdapters/describeAdapters.js +4 -3
  110. package/legacy/tests/describeValue/testControlledUnControlled.js +20 -0
  111. package/modern/AdapterDateFns/index.js +33 -25
  112. package/modern/AdapterDateFnsJalali/index.js +15 -8
  113. package/modern/AdapterDayjs/index.js +16 -8
  114. package/modern/AdapterLuxon/index.js +46 -46
  115. package/modern/AdapterMoment/index.js +24 -18
  116. package/modern/AdapterMomentHijri/index.js +11 -14
  117. package/modern/AdapterMomentJalaali/index.js +13 -14
  118. package/modern/DateCalendar/DayCalendar.js +18 -1
  119. package/modern/DateField/DateField.js +1 -1
  120. package/modern/DatePicker/DatePicker.js +1 -1
  121. package/modern/DateTimeField/DateTimeField.js +1 -1
  122. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  123. package/modern/DateTimePicker/DateTimePickerToolbar.js +112 -30
  124. package/modern/DateTimePicker/dateTimePickerToolbarClasses.js +1 -1
  125. package/modern/DateTimePicker/shared.js +1 -3
  126. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  127. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -3
  128. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -3
  129. package/modern/LocalizationProvider/LocalizationProvider.js +2 -2
  130. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  131. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +6 -3
  132. package/modern/MobileTimePicker/MobileTimePicker.js +6 -3
  133. package/modern/PickersDay/PickersDay.js +11 -1
  134. package/modern/StaticDatePicker/StaticDatePicker.js +6 -0
  135. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +11 -2
  136. package/modern/StaticTimePicker/StaticTimePicker.js +11 -2
  137. package/modern/TimeClock/Clock.js +3 -5
  138. package/modern/TimeClock/TimeClock.js +17 -17
  139. package/modern/TimeField/TimeField.js +1 -1
  140. package/modern/TimePicker/TimePicker.js +2 -2
  141. package/modern/index.js +1 -1
  142. package/modern/internals/demo/DemoContainer.js +22 -23
  143. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +18 -22
  144. package/modern/internals/hooks/useField/useField.js +33 -28
  145. package/modern/internals/hooks/useField/useField.utils.js +207 -327
  146. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +38 -90
  147. package/modern/internals/hooks/useField/useFieldState.js +20 -47
  148. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  149. package/modern/internals/hooks/usePicker/usePickerViews.js +12 -1
  150. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +8 -12
  151. package/modern/internals/index.js +0 -1
  152. package/modern/internals/utils/time-utils.js +1 -0
  153. package/modern/tests/describeAdapters/describeAdapters.js +4 -3
  154. package/modern/tests/describeValue/testControlledUnControlled.js +20 -0
  155. package/node/AdapterDateFns/index.js +33 -25
  156. package/node/AdapterDateFnsJalali/index.js +15 -8
  157. package/node/AdapterDayjs/index.js +16 -8
  158. package/node/AdapterLuxon/index.js +46 -46
  159. package/node/AdapterMoment/index.js +26 -19
  160. package/node/AdapterMomentHijri/index.js +11 -14
  161. package/node/AdapterMomentJalaali/index.js +13 -14
  162. package/node/DateCalendar/DayCalendar.js +18 -1
  163. package/node/DateField/DateField.js +1 -1
  164. package/node/DatePicker/DatePicker.js +1 -1
  165. package/node/DateTimeField/DateTimeField.js +1 -1
  166. package/node/DateTimePicker/DateTimePicker.js +2 -2
  167. package/node/DateTimePicker/DateTimePickerToolbar.js +111 -29
  168. package/node/DateTimePicker/dateTimePickerToolbarClasses.js +1 -1
  169. package/node/DateTimePicker/shared.js +1 -3
  170. package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
  171. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -3
  172. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -3
  173. package/node/LocalizationProvider/LocalizationProvider.js +2 -2
  174. package/node/MobileDatePicker/MobileDatePicker.js +1 -1
  175. package/node/MobileDateTimePicker/MobileDateTimePicker.js +6 -3
  176. package/node/MobileTimePicker/MobileTimePicker.js +6 -3
  177. package/node/PickersDay/PickersDay.js +11 -1
  178. package/node/StaticDatePicker/StaticDatePicker.js +6 -0
  179. package/node/StaticDateTimePicker/StaticDateTimePicker.js +11 -2
  180. package/node/StaticTimePicker/StaticTimePicker.js +11 -2
  181. package/node/TimeClock/Clock.js +3 -5
  182. package/node/TimeClock/TimeClock.js +17 -17
  183. package/node/TimeField/TimeField.js +1 -1
  184. package/node/TimePicker/TimePicker.js +2 -2
  185. package/node/index.js +1 -1
  186. package/node/internals/demo/DemoContainer.js +22 -23
  187. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +18 -22
  188. package/node/internals/hooks/useField/useField.js +32 -27
  189. package/node/internals/hooks/useField/useField.utils.js +209 -334
  190. package/node/internals/hooks/useField/useFieldCharacterEditing.js +37 -89
  191. package/node/internals/hooks/useField/useFieldState.js +20 -47
  192. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  193. package/node/internals/hooks/usePicker/usePickerViews.js +12 -1
  194. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +8 -12
  195. package/node/internals/index.js +0 -7
  196. package/node/internals/utils/time-utils.js +3 -1
  197. package/node/tests/describeAdapters/describeAdapters.js +4 -3
  198. package/node/tests/describeValue/testControlledUnControlled.js +20 -0
  199. package/package.json +2 -2
  200. package/tests/describeAdapters/describeAdapters.js +4 -3
  201. package/tests/describeValue/testControlledUnControlled.js +20 -0
  202. package/internals/components/wrappers/WrapperVariantContext.d.ts +0 -7
  203. package/internals/components/wrappers/WrapperVariantContext.js +0 -6
  204. package/legacy/internals/components/wrappers/WrapperVariantContext.js +0 -6
  205. package/modern/internals/components/wrappers/WrapperVariantContext.js +0 -6
  206. package/node/internals/components/wrappers/WrapperVariantContext.js +0 -15
@@ -1,8 +1,8 @@
1
1
  import BaseAdapterDateFns from '@date-io/date-fns';
2
- import { MuiFormatTokenMap, MuiPickersAdapter } from '../internals/models';
2
+ import { FieldFormatTokenMap, MuiPickersAdapter } from '../internals/models';
3
3
  export declare class AdapterDateFns extends BaseAdapterDateFns implements MuiPickersAdapter<Date> {
4
4
  isMUIAdapter: boolean;
5
- formatTokenMap: MuiFormatTokenMap;
5
+ formatTokenMap: FieldFormatTokenMap;
6
6
  escapedCharacters: {
7
7
  start: string;
8
8
  end: string;
@@ -4,105 +4,113 @@ import defaultLocale from 'date-fns/locale/en-US';
4
4
  import longFormatters from 'date-fns/_lib/format/longFormatters';
5
5
  import getWeek from 'date-fns/getWeek';
6
6
  const formatTokenMap = {
7
+ // Year
7
8
  y: 'year',
8
9
  yy: 'year',
9
10
  yyy: 'year',
10
11
  yyyy: 'year',
12
+ // Month
11
13
  M: 'month',
12
14
  MM: 'month',
13
15
  MMMM: {
14
- sectionName: 'month',
16
+ sectionType: 'month',
15
17
  contentType: 'letter'
16
18
  },
17
19
  MMM: {
18
- sectionName: 'month',
20
+ sectionType: 'month',
19
21
  contentType: 'letter'
20
22
  },
21
23
  LLL: {
22
- sectionName: 'month',
24
+ sectionType: 'month',
23
25
  contentType: 'letter'
24
26
  },
25
27
  LLLL: {
26
- sectionName: 'month',
28
+ sectionType: 'month',
27
29
  contentType: 'letter'
28
30
  },
31
+ // Day of the month
32
+ d: 'day',
33
+ dd: 'day',
34
+ // Day of the week
29
35
  E: {
30
- sectionName: 'weekDay',
36
+ sectionType: 'weekDay',
31
37
  contentType: 'letter'
32
38
  },
33
39
  EE: {
34
- sectionName: 'weekDay',
40
+ sectionType: 'weekDay',
35
41
  contentType: 'letter'
36
42
  },
37
43
  EEE: {
38
- sectionName: 'weekDay',
44
+ sectionType: 'weekDay',
39
45
  contentType: 'letter'
40
46
  },
41
47
  EEEE: {
42
- sectionName: 'weekDay',
48
+ sectionType: 'weekDay',
43
49
  contentType: 'letter'
44
50
  },
45
51
  EEEEE: {
46
- sectionName: 'weekDay',
52
+ sectionType: 'weekDay',
47
53
  contentType: 'letter'
48
54
  },
49
55
  i: 'weekDay',
50
56
  ii: 'weekDay',
51
57
  iii: {
52
- sectionName: 'weekDay',
58
+ sectionType: 'weekDay',
53
59
  contentType: 'letter'
54
60
  },
55
61
  iiii: {
56
- sectionName: 'weekDay',
62
+ sectionType: 'weekDay',
57
63
  contentType: 'letter'
58
64
  },
59
65
  e: 'weekDay',
60
66
  ee: 'weekDay',
61
67
  eee: {
62
- sectionName: 'weekDay',
68
+ sectionType: 'weekDay',
63
69
  contentType: 'letter'
64
70
  },
65
71
  eeee: {
66
- sectionName: 'weekDay',
72
+ sectionType: 'weekDay',
67
73
  contentType: 'letter'
68
74
  },
69
75
  eeeee: {
70
- sectionName: 'weekDay',
76
+ sectionType: 'weekDay',
71
77
  contentType: 'letter'
72
78
  },
73
79
  eeeeee: {
74
- sectionName: 'weekDay',
80
+ sectionType: 'weekDay',
75
81
  contentType: 'letter'
76
82
  },
77
83
  c: 'weekDay',
78
84
  cc: 'weekDay',
79
85
  ccc: {
80
- sectionName: 'weekDay',
86
+ sectionType: 'weekDay',
81
87
  contentType: 'letter'
82
88
  },
83
89
  cccc: {
84
- sectionName: 'weekDay',
90
+ sectionType: 'weekDay',
85
91
  contentType: 'letter'
86
92
  },
87
93
  ccccc: {
88
- sectionName: 'weekDay',
94
+ sectionType: 'weekDay',
89
95
  contentType: 'letter'
90
96
  },
91
97
  cccccc: {
92
- sectionName: 'weekDay',
98
+ sectionType: 'weekDay',
93
99
  contentType: 'letter'
94
100
  },
95
- d: 'day',
96
- dd: 'day',
101
+ // Meridiem
102
+ a: 'meridiem',
103
+ aa: 'meridiem',
104
+ aaa: 'meridiem',
105
+ // Hours
97
106
  H: 'hours',
98
107
  HH: 'hours',
99
108
  h: 'hours',
100
109
  hh: 'hours',
110
+ // Minutes
101
111
  mm: 'minutes',
102
- ss: 'seconds',
103
- a: 'meridiem',
104
- aa: 'meridiem',
105
- aaa: 'meridiem'
112
+ // Seconds
113
+ ss: 'seconds'
106
114
  };
107
115
  export class AdapterDateFns extends BaseAdapterDateFns {
108
116
  constructor(...args) {
@@ -1,8 +1,8 @@
1
1
  import BaseAdapterDateFnsJalali from '@date-io/date-fns-jalali';
2
- import { MuiFormatTokenMap, MuiPickersAdapter } from '../internals/models';
2
+ import { FieldFormatTokenMap, MuiPickersAdapter } from '../internals/models';
3
3
  export declare class AdapterDateFnsJalali extends BaseAdapterDateFnsJalali implements MuiPickersAdapter<Date> {
4
4
  isMUIAdapter: boolean;
5
- formatTokenMap: MuiFormatTokenMap;
5
+ formatTokenMap: FieldFormatTokenMap;
6
6
  escapedCharacters: {
7
7
  start: string;
8
8
  end: string;
@@ -4,39 +4,46 @@ import getWeek from 'date-fns-jalali/getWeek';
4
4
  // @ts-ignore
5
5
  import longFormatters from 'date-fns-jalali/_lib/format/longFormatters';
6
6
  const formatTokenMap = {
7
+ // Year
7
8
  y: 'year',
8
9
  yy: 'year',
9
10
  yyy: 'year',
10
11
  yyyy: 'year',
12
+ // Month
11
13
  M: 'month',
12
14
  MM: 'month',
13
15
  MMMM: {
14
- sectionName: 'month',
16
+ sectionType: 'month',
15
17
  contentType: 'letter'
16
18
  },
17
19
  MMM: {
18
- sectionName: 'month',
20
+ sectionType: 'month',
19
21
  contentType: 'letter'
20
22
  },
21
23
  LLL: {
22
- sectionName: 'month',
24
+ sectionType: 'month',
23
25
  contentType: 'letter'
24
26
  },
25
27
  LLLL: {
26
- sectionName: 'month',
28
+ sectionType: 'month',
27
29
  contentType: 'letter'
28
30
  },
31
+ // Day of the month
29
32
  d: 'day',
30
33
  dd: 'day',
34
+ // Meridiem
35
+ a: 'meridiem',
36
+ aa: 'meridiem',
37
+ aaa: 'meridiem',
38
+ // Hours
31
39
  H: 'hours',
32
40
  HH: 'hours',
33
41
  h: 'hours',
34
42
  hh: 'hours',
43
+ // Minutes
35
44
  mm: 'minutes',
36
- ss: 'seconds',
37
- a: 'meridiem',
38
- aa: 'meridiem',
39
- aaa: 'meridiem'
45
+ // Seconds
46
+ ss: 'seconds'
40
47
  };
41
48
  export class AdapterDateFnsJalali extends BaseAdapterDateFnsJalali {
42
49
  constructor(...args) {
@@ -1,7 +1,7 @@
1
1
  import defaultDayjs, { Dayjs } from 'dayjs';
2
2
  import BaseAdapterDayjs from '@date-io/dayjs';
3
3
  import { DateIOFormats } from '@date-io/core/IUtils';
4
- import { MuiFormatTokenMap, MuiPickersAdapter } from '../internals/models';
4
+ import { FieldFormatTokenMap, MuiPickersAdapter } from '../internals/models';
5
5
  interface Opts {
6
6
  locale?: string;
7
7
  /** Make sure that your dayjs instance extends customParseFormat and advancedFormat */
@@ -11,7 +11,7 @@ interface Opts {
11
11
  export declare class AdapterDayjs extends BaseAdapterDayjs implements MuiPickersAdapter<Dayjs> {
12
12
  isMUIAdapter: boolean;
13
13
  constructor(options: Opts);
14
- formatTokenMap: MuiFormatTokenMap;
14
+ formatTokenMap: FieldFormatTokenMap;
15
15
  escapedCharacters: {
16
16
  start: string;
17
17
  end: string;
@@ -5,43 +5,51 @@ import BaseAdapterDayjs from '@date-io/dayjs';
5
5
  import { buildWarning } from '../internals/utils/warning';
6
6
  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 with `require('dayjs/locale/{localeUsed}')`", 'fallback on English locale']);
7
7
  const formatTokenMap = {
8
+ // Year
8
9
  YY: 'year',
9
10
  YYYY: 'year',
11
+ // Month
10
12
  M: 'month',
11
13
  MM: 'month',
12
14
  MMM: {
13
- sectionName: 'month',
15
+ sectionType: 'month',
14
16
  contentType: 'letter'
15
17
  },
16
18
  MMMM: {
17
- sectionName: 'month',
19
+ sectionType: 'month',
18
20
  contentType: 'letter'
19
21
  },
22
+ // Day of the month
20
23
  D: 'day',
21
24
  DD: 'day',
25
+ // Day of the week
22
26
  d: 'weekDay',
23
27
  dd: {
24
- sectionName: 'weekDay',
28
+ sectionType: 'weekDay',
25
29
  contentType: 'letter'
26
30
  },
27
31
  ddd: {
28
- sectionName: 'weekDay',
32
+ sectionType: 'weekDay',
29
33
  contentType: 'letter'
30
34
  },
31
35
  dddd: {
32
- sectionName: 'weekDay',
36
+ sectionType: 'weekDay',
33
37
  contentType: 'letter'
34
38
  },
39
+ // Meridiem
40
+ A: 'meridiem',
41
+ a: 'meridiem',
42
+ // Hours
35
43
  H: 'hours',
36
44
  HH: 'hours',
37
45
  h: 'hours',
38
46
  hh: 'hours',
47
+ // Minutes
39
48
  m: 'minutes',
40
49
  mm: 'minutes',
50
+ // Seconds
41
51
  s: 'seconds',
42
- ss: 'seconds',
43
- A: 'meridiem',
44
- a: 'meridiem'
52
+ ss: 'seconds'
45
53
  };
46
54
  export class AdapterDayjs extends BaseAdapterDayjs {
47
55
  constructor(options) {
@@ -1,9 +1,9 @@
1
1
  import { DateTime } from 'luxon';
2
2
  import BaseAdapterLuxon from '@date-io/luxon';
3
- import { MuiFormatTokenMap, MuiPickersAdapter } from '../internals/models';
3
+ import { FieldFormatTokenMap, MuiPickersAdapter } from '../internals/models';
4
4
  export declare class AdapterLuxon extends BaseAdapterLuxon implements MuiPickersAdapter<DateTime> {
5
5
  isMUIAdapter: boolean;
6
- formatTokenMap: MuiFormatTokenMap;
6
+ formatTokenMap: FieldFormatTokenMap;
7
7
  escapedCharacters: {
8
8
  start: string;
9
9
  end: string;
@@ -2,74 +2,74 @@
2
2
  import { DateTime } from 'luxon';
3
3
  import BaseAdapterLuxon from '@date-io/luxon';
4
4
  const formatTokenMap = {
5
- s: 'seconds',
6
- ss: 'seconds',
7
- m: 'minutes',
8
- mm: 'minutes',
9
- H: 'hours',
10
- HH: 'hours',
11
- h: 'hours',
12
- hh: 'hours',
13
- a: 'meridiem',
5
+ // Year
6
+ y: 'year',
7
+ yy: 'year',
8
+ yyyy: 'year',
9
+ // Month
10
+ L: 'month',
11
+ LL: 'month',
12
+ LLL: {
13
+ sectionType: 'month',
14
+ contentType: 'letter'
15
+ },
16
+ LLLL: {
17
+ sectionType: 'month',
18
+ contentType: 'letter'
19
+ },
20
+ M: 'month',
21
+ MM: 'month',
22
+ MMM: {
23
+ sectionType: 'month',
24
+ contentType: 'letter'
25
+ },
26
+ MMMM: {
27
+ sectionType: 'month',
28
+ contentType: 'letter'
29
+ },
30
+ // Day of the month
14
31
  d: 'day',
15
32
  dd: 'day',
33
+ // Day of the week
16
34
  c: 'weekDay',
17
35
  ccc: {
18
- sectionName: 'weekDay',
36
+ sectionType: 'weekDay',
19
37
  contentType: 'letter'
20
38
  },
21
39
  cccc: {
22
- sectionName: 'weekDay',
40
+ sectionType: 'weekDay',
23
41
  contentType: 'letter'
24
42
  },
25
43
  ccccc: {
26
- sectionName: 'weekDay',
44
+ sectionType: 'weekDay',
27
45
  contentType: 'letter'
28
46
  },
29
47
  E: 'weekDay',
30
48
  EEE: {
31
- sectionName: 'weekDay',
49
+ sectionType: 'weekDay',
32
50
  contentType: 'letter'
33
51
  },
34
52
  EEEE: {
35
- sectionName: 'weekDay',
53
+ sectionType: 'weekDay',
36
54
  contentType: 'letter'
37
55
  },
38
56
  EEEEE: {
39
- sectionName: 'weekDay',
40
- contentType: 'letter'
41
- },
42
- L: 'month',
43
- LL: 'month',
44
- LLL: {
45
- sectionName: 'month',
46
- contentType: 'letter'
47
- },
48
- LLLL: {
49
- sectionName: 'month',
50
- contentType: 'letter'
51
- },
52
- LLLLL: {
53
- sectionName: 'month',
54
- contentType: 'letter'
55
- },
56
- M: 'month',
57
- MM: 'month',
58
- MMM: {
59
- sectionName: 'month',
60
- contentType: 'letter'
61
- },
62
- MMMM: {
63
- sectionName: 'month',
64
- contentType: 'letter'
65
- },
66
- MMMMM: {
67
- sectionName: 'month',
57
+ sectionType: 'weekDay',
68
58
  contentType: 'letter'
69
59
  },
70
- y: 'year',
71
- yy: 'year',
72
- yyyy: 'year'
60
+ // Meridiem
61
+ a: 'meridiem',
62
+ // Hours
63
+ H: 'hours',
64
+ HH: 'hours',
65
+ h: 'hours',
66
+ hh: 'hours',
67
+ // Minutes
68
+ m: 'minutes',
69
+ mm: 'minutes',
70
+ // Seconds
71
+ s: 'seconds',
72
+ ss: 'seconds'
73
73
  };
74
74
  export class AdapterLuxon extends BaseAdapterLuxon {
75
75
  constructor(...args) {
@@ -1,9 +1,9 @@
1
1
  import defaultMoment from 'moment';
2
2
  import BaseAdapterMoment from '@date-io/moment';
3
- import { MuiFormatTokenMap, MuiPickersAdapter } from '../internals/models';
3
+ import { FieldFormatTokenMap, MuiPickersAdapter } from '../internals/models';
4
4
  export declare class AdapterMoment extends BaseAdapterMoment implements MuiPickersAdapter<defaultMoment.Moment> {
5
5
  isMUIAdapter: boolean;
6
- formatTokenMap: MuiFormatTokenMap;
6
+ formatTokenMap: FieldFormatTokenMap;
7
7
  escapedCharacters: {
8
8
  start: string;
9
9
  end: string;
@@ -13,6 +13,9 @@ export declare class AdapterMoment extends BaseAdapterMoment implements MuiPicke
13
13
  * We should use this one in the future to support all localized formats.
14
14
  */
15
15
  expandFormat: (format: string) => string;
16
+ getCurrentLocaleCode: () => string;
16
17
  getFormatHelperText: (format: string) => string;
17
18
  getWeekNumber: (date: defaultMoment.Moment) => number;
19
+ getWeekdays: () => string[];
20
+ is12HourCycleInCurrentLocale: () => boolean;
18
21
  }
@@ -1,59 +1,56 @@
1
1
  /* eslint-disable class-methods-use-this */
2
-
2
+ import defaultMoment from 'moment';
3
3
  import BaseAdapterMoment from '@date-io/moment';
4
4
  // From https://momentjs.com/docs/#/displaying/format/
5
5
  const formatTokenMap = {
6
+ // Year
7
+ Y: 'year',
8
+ YY: 'year',
9
+ YYYY: 'year',
6
10
  // Month
7
11
  M: 'month',
8
- Mo: 'month',
9
12
  MM: 'month',
10
13
  MMM: {
11
- sectionName: 'month',
14
+ sectionType: 'month',
12
15
  contentType: 'letter'
13
16
  },
14
17
  MMMM: {
15
- sectionName: 'month',
18
+ sectionType: 'month',
16
19
  contentType: 'letter'
17
20
  },
18
21
  // Day of the month
19
22
  D: 'day',
20
- Do: 'day',
21
23
  DD: 'day',
22
24
  // Day of the week
23
25
  E: 'weekDay',
24
26
  e: 'weekDay',
25
27
  d: 'weekDay',
26
28
  dd: {
27
- sectionName: 'weekDay',
29
+ sectionType: 'weekDay',
28
30
  contentType: 'letter'
29
31
  },
30
32
  ddd: {
31
- sectionName: 'weekDay',
33
+ sectionType: 'weekDay',
32
34
  contentType: 'letter'
33
35
  },
34
36
  dddd: {
35
- sectionName: 'weekDay',
37
+ sectionType: 'weekDay',
36
38
  contentType: 'letter'
37
39
  },
38
- // Year
39
- Y: 'year',
40
- YY: 'year',
41
- YYYY: 'year',
42
- YYYYYY: 'year',
43
- // AM / PM
40
+ // Meridiem
44
41
  A: 'meridiem',
45
42
  a: 'meridiem',
46
- // Hour
43
+ // Hours
47
44
  H: 'hours',
48
45
  HH: 'hours',
49
46
  h: 'hours',
50
47
  hh: 'hours',
51
48
  k: 'hours',
52
49
  kk: 'hours',
53
- // Minute
50
+ // Minutes
54
51
  m: 'minutes',
55
52
  mm: 'minutes',
56
- // Second
53
+ // Seconds
57
54
  s: 'seconds',
58
55
  ss: 'seconds'
59
56
  };
@@ -72,16 +69,25 @@ export class AdapterMoment extends BaseAdapterMoment {
72
69
  return format.match(localFormattingTokens).map(token => {
73
70
  const firstCharacter = token[0];
74
71
  if (firstCharacter === 'L' || firstCharacter === ';') {
75
- return this.moment.localeData(this.getCurrentLocaleCode()).longDateFormat(token);
72
+ return defaultMoment.localeData(this.getCurrentLocaleCode()).longDateFormat(token);
76
73
  }
77
74
  return token;
78
75
  }).join('');
79
76
  };
77
+ this.getCurrentLocaleCode = () => {
78
+ return this.locale || defaultMoment.locale();
79
+ };
80
80
  this.getFormatHelperText = format => {
81
81
  return this.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
82
82
  };
83
83
  this.getWeekNumber = date => {
84
84
  return date.week();
85
85
  };
86
+ this.getWeekdays = () => {
87
+ return defaultMoment.weekdaysShort(true);
88
+ };
89
+ this.is12HourCycleInCurrentLocale = () => {
90
+ return /A|a/.test(defaultMoment.localeData(this.getCurrentLocaleCode()).longDateFormat('LT'));
91
+ };
86
92
  }
87
93
  }
@@ -1,9 +1,9 @@
1
1
  import BaseAdapterMomentHijri from '@date-io/hijri';
2
2
  import defaultMoment from 'moment-hijri';
3
- import { MuiFormatTokenMap, MuiPickersAdapter } from '../internals/models';
3
+ import { FieldFormatTokenMap, MuiPickersAdapter } from '../internals/models';
4
4
  export declare class AdapterMomentHijri extends BaseAdapterMomentHijri implements MuiPickersAdapter<defaultMoment.Moment> {
5
5
  isMUIAdapter: boolean;
6
- formatTokenMap: MuiFormatTokenMap;
6
+ formatTokenMap: FieldFormatTokenMap;
7
7
  escapedCharacters: {
8
8
  start: string;
9
9
  end: string;
@@ -4,41 +4,38 @@ import BaseAdapterMomentHijri from '@date-io/hijri';
4
4
 
5
5
  // From https://momentjs.com/docs/#/displaying/format/
6
6
  const formatTokenMap = {
7
+ // Year
8
+ iY: 'year',
9
+ iYY: 'year',
10
+ iYYYY: 'year',
7
11
  // Month
8
12
  iM: 'month',
9
- iMo: 'month',
10
13
  iMM: 'month',
11
14
  iMMM: {
12
- sectionName: 'month',
15
+ sectionType: 'month',
13
16
  contentType: 'letter'
14
17
  },
15
18
  iMMMM: {
16
- sectionName: 'month',
19
+ sectionType: 'month',
17
20
  contentType: 'letter'
18
21
  },
19
- // Day of Month
22
+ // Day of the month
20
23
  iD: 'day',
21
- iDo: 'day',
22
24
  iDD: 'day',
23
- // Year
24
- iY: 'year',
25
- iYY: 'year',
26
- iYYYY: 'year',
27
- iYYYYYY: 'year',
28
- // AM / PM
25
+ // Meridiem
29
26
  A: 'meridiem',
30
27
  a: 'meridiem',
31
- // Hour
28
+ // Hours
32
29
  H: 'hours',
33
30
  HH: 'hours',
34
31
  h: 'hours',
35
32
  hh: 'hours',
36
33
  k: 'hours',
37
34
  kk: 'hours',
38
- // Minute
35
+ // Minutes
39
36
  m: 'minutes',
40
37
  mm: 'minutes',
41
- // Second
38
+ // Seconds
42
39
  s: 'seconds',
43
40
  ss: 'seconds'
44
41
  };
@@ -1,9 +1,9 @@
1
1
  import BaseAdapterMomentJalaali from '@date-io/jalaali';
2
2
  import defaultMoment from 'moment-jalaali';
3
- import { MuiFormatTokenMap, MuiPickersAdapter } from '../internals/models';
3
+ import { FieldFormatTokenMap, MuiPickersAdapter } from '../internals/models';
4
4
  export declare class AdapterMomentJalaali extends BaseAdapterMomentJalaali implements MuiPickersAdapter<defaultMoment.Moment> {
5
5
  isMUIAdapter: boolean;
6
- formatTokenMap: MuiFormatTokenMap;
6
+ formatTokenMap: FieldFormatTokenMap;
7
7
  escapedCharacters: {
8
8
  start: string;
9
9
  end: string;
@@ -17,5 +17,6 @@ export declare class AdapterMomentJalaali extends BaseAdapterMomentJalaali imple
17
17
  getWeekNumber: (date: defaultMoment.Moment) => any;
18
18
  addYears: (date: defaultMoment.Moment, count: number) => any;
19
19
  addMonths: (date: defaultMoment.Moment, count: number) => any;
20
+ setMonth: (date: defaultMoment.Moment, month: number) => any;
20
21
  isValid: (value: any) => any;
21
22
  }