@mui/x-date-pickers 6.0.0-beta.5 → 6.0.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 (216) hide show
  1. package/AdapterDateFns/index.js +14 -6
  2. package/AdapterDateFnsJalali/index.js +11 -4
  3. package/AdapterDayjs/index.js +11 -3
  4. package/AdapterLuxon/index.js +40 -32
  5. package/AdapterMoment/index.d.ts +3 -0
  6. package/AdapterMoment/index.js +19 -10
  7. package/AdapterMomentHijri/index.js +9 -9
  8. package/AdapterMomentJalaali/index.js +8 -8
  9. package/CHANGELOG.md +175 -36
  10. package/DateCalendar/DateCalendar.js +2 -2
  11. package/DateCalendar/DayCalendar.js +18 -1
  12. package/DateCalendar/PickersCalendarHeader.d.ts +2 -2
  13. package/DateField/DateField.js +2 -2
  14. package/DatePicker/DatePicker.js +2 -2
  15. package/DatePicker/DatePicker.types.d.ts +2 -2
  16. package/DatePicker/shared.d.ts +2 -2
  17. package/DateTimeField/DateTimeField.js +2 -2
  18. package/DateTimeField/DateTimeField.types.d.ts +2 -2
  19. package/DateTimePicker/DateTimePicker.js +3 -3
  20. package/DateTimePicker/DateTimePicker.types.d.ts +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 +6 -6
  25. package/DateTimePicker/shared.js +2 -4
  26. package/DesktopDatePicker/DesktopDatePicker.js +2 -2
  27. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +2 -2
  28. package/DesktopDateTimePicker/DesktopDateTimePicker.js +8 -5
  29. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  30. package/DesktopTimePicker/DesktopTimePicker.js +8 -5
  31. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  32. package/LocalizationProvider/LocalizationProvider.d.ts +1 -1
  33. package/LocalizationProvider/LocalizationProvider.js +2 -2
  34. package/MobileDatePicker/MobileDatePicker.js +2 -2
  35. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -2
  36. package/MobileDateTimePicker/MobileDateTimePicker.js +8 -5
  37. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +2 -2
  38. package/MobileTimePicker/MobileTimePicker.js +8 -5
  39. package/MobileTimePicker/MobileTimePicker.types.d.ts +2 -2
  40. package/PickersDay/PickersDay.d.ts +10 -0
  41. package/PickersDay/PickersDay.js +11 -1
  42. package/PickersLayout/PickersLayout.js +2 -2
  43. package/PickersLayout/PickersLayout.types.d.ts +3 -3
  44. package/StaticDatePicker/StaticDatePicker.js +8 -2
  45. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -2
  46. package/StaticDateTimePicker/StaticDateTimePicker.js +14 -5
  47. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  48. package/StaticTimePicker/StaticTimePicker.js +14 -5
  49. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  50. package/TimeClock/Clock.js +3 -5
  51. package/TimeClock/TimeClock.js +19 -19
  52. package/TimeClock/TimeClock.types.d.ts +2 -2
  53. package/TimeField/TimeField.js +2 -2
  54. package/TimeField/TimeField.types.d.ts +2 -2
  55. package/TimePicker/TimePicker.js +3 -3
  56. package/TimePicker/TimePicker.types.d.ts +2 -2
  57. package/TimePicker/shared.d.ts +5 -5
  58. package/index.js +1 -1
  59. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +2 -2
  60. package/internals/components/PickersModalDialog.d.ts +2 -2
  61. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +31 -33
  62. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +1 -1
  63. package/internals/hooks/useField/useField.js +11 -4
  64. package/internals/hooks/useField/useField.types.d.ts +6 -1
  65. package/internals/hooks/useField/useFieldState.js +6 -6
  66. package/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  67. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +1 -1
  68. package/internals/hooks/usePicker/usePicker.js +7 -0
  69. package/internals/hooks/usePicker/usePickerViews.js +12 -1
  70. package/internals/hooks/useStaticPicker/useStaticPicker.js +9 -13
  71. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +8 -2
  72. package/internals/hooks/useViews.js +1 -1
  73. package/internals/index.d.ts +0 -1
  74. package/internals/index.js +0 -1
  75. package/internals/utils/slots-migration.d.ts +2 -2
  76. package/internals/utils/time-utils.d.ts +2 -1
  77. package/internals/utils/time-utils.js +1 -0
  78. package/legacy/AdapterDateFns/index.js +14 -6
  79. package/legacy/AdapterDateFnsJalali/index.js +11 -4
  80. package/legacy/AdapterDayjs/index.js +11 -3
  81. package/legacy/AdapterLuxon/index.js +40 -32
  82. package/legacy/AdapterMoment/index.js +19 -10
  83. package/legacy/AdapterMomentHijri/index.js +9 -9
  84. package/legacy/AdapterMomentJalaali/index.js +8 -8
  85. package/legacy/DateCalendar/DateCalendar.js +2 -2
  86. package/legacy/DateCalendar/DayCalendar.js +20 -1
  87. package/legacy/DateField/DateField.js +2 -2
  88. package/legacy/DatePicker/DatePicker.js +2 -2
  89. package/legacy/DateTimeField/DateTimeField.js +2 -2
  90. package/legacy/DateTimePicker/DateTimePicker.js +3 -3
  91. package/legacy/DateTimePicker/DateTimePickerToolbar.js +115 -33
  92. package/legacy/DateTimePicker/dateTimePickerToolbarClasses.js +1 -1
  93. package/legacy/DateTimePicker/shared.js +2 -4
  94. package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
  95. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +8 -5
  96. package/legacy/DesktopTimePicker/DesktopTimePicker.js +8 -5
  97. package/legacy/LocalizationProvider/LocalizationProvider.js +2 -2
  98. package/legacy/MobileDatePicker/MobileDatePicker.js +2 -2
  99. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +8 -5
  100. package/legacy/MobileTimePicker/MobileTimePicker.js +8 -5
  101. package/legacy/PickersDay/PickersDay.js +13 -1
  102. package/legacy/PickersLayout/PickersLayout.js +2 -2
  103. package/legacy/StaticDatePicker/StaticDatePicker.js +8 -2
  104. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +14 -5
  105. package/legacy/StaticTimePicker/StaticTimePicker.js +14 -5
  106. package/legacy/TimeClock/Clock.js +3 -5
  107. package/legacy/TimeClock/TimeClock.js +19 -19
  108. package/legacy/TimeField/TimeField.js +2 -2
  109. package/legacy/TimePicker/TimePicker.js +3 -3
  110. package/legacy/index.js +1 -1
  111. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +33 -34
  112. package/legacy/internals/hooks/useField/useField.js +11 -4
  113. package/legacy/internals/hooks/useField/useFieldState.js +13 -14
  114. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  115. package/legacy/internals/hooks/usePicker/usePicker.js +7 -0
  116. package/legacy/internals/hooks/usePicker/usePickerViews.js +12 -1
  117. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.js +10 -13
  118. package/legacy/internals/hooks/useViews.js +1 -1
  119. package/legacy/internals/index.js +0 -1
  120. package/legacy/internals/utils/time-utils.js +3 -0
  121. package/legacy/locales/frFR.js +4 -5
  122. package/locales/frFR.js +4 -5
  123. package/modern/AdapterDateFns/index.js +14 -6
  124. package/modern/AdapterDateFnsJalali/index.js +11 -4
  125. package/modern/AdapterDayjs/index.js +11 -3
  126. package/modern/AdapterLuxon/index.js +40 -32
  127. package/modern/AdapterMoment/index.js +19 -10
  128. package/modern/AdapterMomentHijri/index.js +9 -9
  129. package/modern/AdapterMomentJalaali/index.js +8 -8
  130. package/modern/DateCalendar/DateCalendar.js +2 -2
  131. package/modern/DateCalendar/DayCalendar.js +18 -1
  132. package/modern/DateField/DateField.js +2 -2
  133. package/modern/DatePicker/DatePicker.js +2 -2
  134. package/modern/DateTimeField/DateTimeField.js +2 -2
  135. package/modern/DateTimePicker/DateTimePicker.js +3 -3
  136. package/modern/DateTimePicker/DateTimePickerToolbar.js +112 -30
  137. package/modern/DateTimePicker/dateTimePickerToolbarClasses.js +1 -1
  138. package/modern/DateTimePicker/shared.js +1 -3
  139. package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -2
  140. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -4
  141. package/modern/DesktopTimePicker/DesktopTimePicker.js +7 -4
  142. package/modern/LocalizationProvider/LocalizationProvider.js +2 -2
  143. package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
  144. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +7 -4
  145. package/modern/MobileTimePicker/MobileTimePicker.js +7 -4
  146. package/modern/PickersDay/PickersDay.js +11 -1
  147. package/modern/PickersLayout/PickersLayout.js +2 -2
  148. package/modern/StaticDatePicker/StaticDatePicker.js +8 -2
  149. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +13 -4
  150. package/modern/StaticTimePicker/StaticTimePicker.js +13 -4
  151. package/modern/TimeClock/Clock.js +3 -5
  152. package/modern/TimeClock/TimeClock.js +19 -19
  153. package/modern/TimeField/TimeField.js +2 -2
  154. package/modern/TimePicker/TimePicker.js +3 -3
  155. package/modern/index.js +1 -1
  156. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +31 -33
  157. package/modern/internals/hooks/useField/useField.js +11 -4
  158. package/modern/internals/hooks/useField/useFieldState.js +6 -6
  159. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  160. package/modern/internals/hooks/usePicker/usePicker.js +7 -0
  161. package/modern/internals/hooks/usePicker/usePickerViews.js +12 -1
  162. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +8 -12
  163. package/modern/internals/hooks/useViews.js +1 -1
  164. package/modern/internals/index.js +0 -1
  165. package/modern/internals/utils/time-utils.js +1 -0
  166. package/modern/locales/frFR.js +4 -5
  167. package/node/AdapterDateFns/index.js +14 -6
  168. package/node/AdapterDateFnsJalali/index.js +11 -4
  169. package/node/AdapterDayjs/index.js +11 -3
  170. package/node/AdapterLuxon/index.js +40 -32
  171. package/node/AdapterMoment/index.js +21 -11
  172. package/node/AdapterMomentHijri/index.js +9 -9
  173. package/node/AdapterMomentJalaali/index.js +8 -8
  174. package/node/DateCalendar/DateCalendar.js +2 -2
  175. package/node/DateCalendar/DayCalendar.js +18 -1
  176. package/node/DateField/DateField.js +2 -2
  177. package/node/DatePicker/DatePicker.js +2 -2
  178. package/node/DateTimeField/DateTimeField.js +2 -2
  179. package/node/DateTimePicker/DateTimePicker.js +3 -3
  180. package/node/DateTimePicker/DateTimePickerToolbar.js +111 -29
  181. package/node/DateTimePicker/dateTimePickerToolbarClasses.js +1 -1
  182. package/node/DateTimePicker/shared.js +1 -3
  183. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
  184. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -4
  185. package/node/DesktopTimePicker/DesktopTimePicker.js +7 -4
  186. package/node/LocalizationProvider/LocalizationProvider.js +2 -2
  187. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  188. package/node/MobileDateTimePicker/MobileDateTimePicker.js +7 -4
  189. package/node/MobileTimePicker/MobileTimePicker.js +7 -4
  190. package/node/PickersDay/PickersDay.js +11 -1
  191. package/node/PickersLayout/PickersLayout.js +2 -2
  192. package/node/StaticDatePicker/StaticDatePicker.js +8 -2
  193. package/node/StaticDateTimePicker/StaticDateTimePicker.js +13 -4
  194. package/node/StaticTimePicker/StaticTimePicker.js +13 -4
  195. package/node/TimeClock/Clock.js +3 -5
  196. package/node/TimeClock/TimeClock.js +19 -19
  197. package/node/TimeField/TimeField.js +2 -2
  198. package/node/TimePicker/TimePicker.js +3 -3
  199. package/node/index.js +1 -1
  200. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +31 -33
  201. package/node/internals/hooks/useField/useField.js +11 -4
  202. package/node/internals/hooks/useField/useFieldState.js +6 -6
  203. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +13 -17
  204. package/node/internals/hooks/usePicker/usePicker.js +7 -0
  205. package/node/internals/hooks/usePicker/usePickerViews.js +12 -1
  206. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +8 -12
  207. package/node/internals/hooks/useViews.js +1 -1
  208. package/node/internals/index.js +0 -7
  209. package/node/internals/utils/time-utils.js +3 -1
  210. package/node/locales/frFR.js +4 -5
  211. package/package.json +3 -3
  212. package/internals/components/wrappers/WrapperVariantContext.d.ts +0 -7
  213. package/internals/components/wrappers/WrapperVariantContext.js +0 -6
  214. package/legacy/internals/components/wrappers/WrapperVariantContext.js +0 -6
  215. package/modern/internals/components/wrappers/WrapperVariantContext.js +0 -6
  216. package/node/internals/components/wrappers/WrapperVariantContext.js +0 -15
@@ -4,10 +4,12 @@ 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: {
@@ -26,6 +28,10 @@ const formatTokenMap = {
26
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
36
  sectionType: 'weekDay',
31
37
  contentType: 'letter'
@@ -92,17 +98,19 @@ const formatTokenMap = {
92
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) {
@@ -4,10 +4,12 @@ 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: {
@@ -26,17 +28,22 @@ const formatTokenMap = {
26
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) {
@@ -5,8 +5,10 @@ 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: {
@@ -17,8 +19,10 @@ const formatTokenMap = {
17
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
28
  sectionType: 'weekDay',
@@ -32,16 +36,20 @@ const formatTokenMap = {
32
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) {
@@ -2,17 +2,35 @@
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
36
  sectionType: 'weekDay',
@@ -39,29 +57,19 @@ const formatTokenMap = {
39
57
  sectionType: 'weekDay',
40
58
  contentType: 'letter'
41
59
  },
42
- L: 'month',
43
- LL: 'month',
44
- LLL: {
45
- sectionType: 'month',
46
- contentType: 'letter'
47
- },
48
- LLLL: {
49
- sectionType: 'month',
50
- contentType: 'letter'
51
- },
52
- M: 'month',
53
- MM: 'month',
54
- MMM: {
55
- sectionType: 'month',
56
- contentType: 'letter'
57
- },
58
- MMMM: {
59
- sectionType: 'month',
60
- contentType: 'letter'
61
- },
62
- y: 'year',
63
- yy: 'year',
64
- 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'
65
73
  };
66
74
  export class AdapterLuxon extends BaseAdapterLuxon {
67
75
  constructor(...args) {
@@ -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,8 +1,12 @@
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
12
  MM: 'month',
@@ -33,24 +37,20 @@ const formatTokenMap = {
33
37
  sectionType: 'weekDay',
34
38
  contentType: 'letter'
35
39
  },
36
- // Year
37
- Y: 'year',
38
- YY: 'year',
39
- YYYY: 'year',
40
- // AM / PM
40
+ // Meridiem
41
41
  A: 'meridiem',
42
42
  a: 'meridiem',
43
- // Hour
43
+ // Hours
44
44
  H: 'hours',
45
45
  HH: 'hours',
46
46
  h: 'hours',
47
47
  hh: 'hours',
48
48
  k: 'hours',
49
49
  kk: 'hours',
50
- // Minute
50
+ // Minutes
51
51
  m: 'minutes',
52
52
  mm: 'minutes',
53
- // Second
53
+ // Seconds
54
54
  s: 'seconds',
55
55
  ss: 'seconds'
56
56
  };
@@ -69,16 +69,25 @@ export class AdapterMoment extends BaseAdapterMoment {
69
69
  return format.match(localFormattingTokens).map(token => {
70
70
  const firstCharacter = token[0];
71
71
  if (firstCharacter === 'L' || firstCharacter === ';') {
72
- return this.moment.localeData(this.getCurrentLocaleCode()).longDateFormat(token);
72
+ return defaultMoment.localeData(this.getCurrentLocaleCode()).longDateFormat(token);
73
73
  }
74
74
  return token;
75
75
  }).join('');
76
76
  };
77
+ this.getCurrentLocaleCode = () => {
78
+ return this.locale || defaultMoment.locale();
79
+ };
77
80
  this.getFormatHelperText = format => {
78
81
  return this.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
79
82
  };
80
83
  this.getWeekNumber = date => {
81
84
  return date.week();
82
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
+ };
83
92
  }
84
93
  }
@@ -4,6 +4,10 @@ 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
13
  iMM: 'month',
@@ -15,27 +19,23 @@ const formatTokenMap = {
15
19
  sectionType: 'month',
16
20
  contentType: 'letter'
17
21
  },
18
- // Day of Month
22
+ // Day of the month
19
23
  iD: 'day',
20
24
  iDD: 'day',
21
- // Year
22
- iY: 'year',
23
- iYY: 'year',
24
- iYYYY: 'year',
25
- // AM / PM
25
+ // Meridiem
26
26
  A: 'meridiem',
27
27
  a: 'meridiem',
28
- // Hour
28
+ // Hours
29
29
  H: 'hours',
30
30
  HH: 'hours',
31
31
  h: 'hours',
32
32
  hh: 'hours',
33
33
  k: 'hours',
34
34
  kk: 'hours',
35
- // Minute
35
+ // Minutes
36
36
  m: 'minutes',
37
37
  mm: 'minutes',
38
- // Second
38
+ // Seconds
39
39
  s: 'seconds',
40
40
  ss: 'seconds'
41
41
  };
@@ -2,6 +2,9 @@
2
2
  import BaseAdapterMomentJalaali from '@date-io/jalaali';
3
3
  // From https://momentjs.com/docs/#/displaying/format/
4
4
  const formatTokenMap = {
5
+ // Year
6
+ jYY: 'year',
7
+ jYYYY: 'year',
5
8
  // Month
6
9
  jM: 'month',
7
10
  jMM: 'month',
@@ -13,26 +16,23 @@ const formatTokenMap = {
13
16
  sectionType: 'month',
14
17
  contentType: 'letter'
15
18
  },
16
- // Day of Month
19
+ // Day of the month
17
20
  jD: 'day',
18
21
  jDD: 'day',
19
- // Year
20
- jYY: 'year',
21
- jYYYY: 'year',
22
- // AM / PM
22
+ // Meridiem
23
23
  A: 'meridiem',
24
24
  a: 'meridiem',
25
- // Hour
25
+ // Hours
26
26
  H: 'hours',
27
27
  HH: 'hours',
28
28
  h: 'hours',
29
29
  hh: 'hours',
30
30
  k: 'hours',
31
31
  kk: 'hours',
32
- // Minute
32
+ // Minutes
33
33
  m: 'minutes',
34
34
  mm: 'minutes',
35
- // Second
35
+ // Seconds
36
36
  s: 'seconds',
37
37
  ss: 'seconds'
38
38
  };