@mui/x-date-pickers 6.0.0-beta.1 → 6.0.0-beta.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.
Files changed (258) hide show
  1. package/AdapterDateFns/index.js +66 -0
  2. package/AdapterDayjs/index.js +13 -0
  3. package/AdapterLuxon/index.js +26 -0
  4. package/AdapterMoment/index.js +17 -1
  5. package/CHANGELOG.md +173 -3
  6. package/DateCalendar/DateCalendar.js +2 -3
  7. package/DateCalendar/DateCalendar.types.d.ts +3 -4
  8. package/DateField/DateField.js +6 -4
  9. package/DatePicker/DatePicker.js +11 -10
  10. package/DateTimeField/DateTimeField.js +6 -4
  11. package/DateTimePicker/DateTimePicker.js +11 -10
  12. package/DesktopDatePicker/DesktopDatePicker.js +11 -10
  13. package/DesktopDateTimePicker/DesktopDateTimePicker.js +11 -10
  14. package/DesktopTimePicker/DesktopTimePicker.js +9 -7
  15. package/MobileDatePicker/MobileDatePicker.js +11 -10
  16. package/MobileDateTimePicker/MobileDateTimePicker.js +11 -10
  17. package/MobileTimePicker/MobileTimePicker.js +9 -7
  18. package/StaticDatePicker/StaticDatePicker.js +8 -7
  19. package/StaticDateTimePicker/StaticDateTimePicker.js +8 -7
  20. package/StaticTimePicker/StaticTimePicker.js +6 -4
  21. package/TimeField/TimeField.js +6 -4
  22. package/TimePicker/TimePicker.js +9 -7
  23. package/index.js +1 -1
  24. package/internals/components/PickerViewRoot/PickerViewRoot.js +1 -1
  25. package/internals/components/PickersPopper.d.ts +1 -0
  26. package/internals/components/PickersPopper.js +4 -2
  27. package/internals/components/PickersToolbarText.d.ts +1 -1
  28. package/internals/components/pickersToolbarTextClasses.d.ts +1 -1
  29. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +4 -1
  30. package/internals/hooks/useField/useField.js +5 -1
  31. package/internals/hooks/useField/useField.types.d.ts +10 -4
  32. package/internals/hooks/useField/useField.utils.d.ts +21 -25
  33. package/internals/hooks/useField/useField.utils.js +152 -19
  34. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -1
  35. package/internals/hooks/useField/useFieldCharacterEditing.js +103 -56
  36. package/internals/hooks/useField/useFieldState.d.ts +2 -2
  37. package/internals/hooks/useField/useFieldState.js +1 -1
  38. package/internals/hooks/usePicker/usePickerValue.d.ts +8 -6
  39. package/internals/hooks/validation/useValidation.d.ts +2 -2
  40. package/internals/models/muiPickersAdapter.d.ts +1 -0
  41. package/internals/utils/views.d.ts +1 -1
  42. package/legacy/AdapterDateFns/index.js +66 -0
  43. package/legacy/AdapterDayjs/index.js +13 -0
  44. package/legacy/AdapterLuxon/index.js +26 -0
  45. package/legacy/AdapterMoment/index.js +17 -1
  46. package/legacy/DateCalendar/DateCalendar.js +2 -3
  47. package/legacy/DateField/DateField.js +6 -4
  48. package/legacy/DatePicker/DatePicker.js +11 -10
  49. package/legacy/DateTimeField/DateTimeField.js +6 -4
  50. package/legacy/DateTimePicker/DateTimePicker.js +11 -10
  51. package/legacy/DesktopDatePicker/DesktopDatePicker.js +11 -10
  52. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +11 -10
  53. package/legacy/DesktopTimePicker/DesktopTimePicker.js +9 -7
  54. package/legacy/MobileDatePicker/MobileDatePicker.js +11 -10
  55. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +11 -10
  56. package/legacy/MobileTimePicker/MobileTimePicker.js +9 -7
  57. package/legacy/StaticDatePicker/StaticDatePicker.js +8 -7
  58. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +8 -7
  59. package/legacy/StaticTimePicker/StaticTimePicker.js +6 -4
  60. package/legacy/TimeField/TimeField.js +6 -4
  61. package/legacy/TimePicker/TimePicker.js +9 -7
  62. package/legacy/index.js +1 -1
  63. package/legacy/internals/components/PickerViewRoot/PickerViewRoot.js +1 -1
  64. package/legacy/internals/components/PickersPopper.js +4 -2
  65. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +6 -2
  66. package/legacy/internals/hooks/useField/useField.js +7 -4
  67. package/legacy/internals/hooks/useField/useField.utils.js +164 -36
  68. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +117 -62
  69. package/legacy/internals/hooks/useField/useFieldState.js +1 -1
  70. package/legacy/locales/beBY.js +1 -0
  71. package/legacy/locales/csCZ.js +1 -0
  72. package/legacy/locales/deDE.js +1 -0
  73. package/legacy/locales/enUS.js +3 -0
  74. package/legacy/locales/esES.js +1 -0
  75. package/legacy/locales/faIR.js +1 -0
  76. package/legacy/locales/fiFI.js +1 -0
  77. package/legacy/locales/frFR.js +1 -0
  78. package/legacy/locales/huHU.js +89 -0
  79. package/legacy/locales/index.js +1 -0
  80. package/legacy/locales/isIS.js +1 -0
  81. package/legacy/locales/itIT.js +32 -16
  82. package/legacy/locales/jaJP.js +1 -0
  83. package/legacy/locales/koKR.js +1 -0
  84. package/legacy/locales/nbNO.js +1 -0
  85. package/legacy/locales/nlNL.js +1 -0
  86. package/legacy/locales/plPL.js +1 -0
  87. package/legacy/locales/ptBR.js +5 -5
  88. package/legacy/locales/ruRU.js +1 -0
  89. package/legacy/locales/svSE.js +1 -0
  90. package/legacy/locales/trTR.js +1 -0
  91. package/legacy/locales/ukUA.js +1 -0
  92. package/legacy/locales/urPK.js +1 -0
  93. package/legacy/locales/zhCN.js +1 -0
  94. package/legacy/tests/describeValidation/describeValidation.js +18 -18
  95. package/legacy/tests/describeValue/describeValue.js +9 -10
  96. package/locales/beBY.d.ts +3 -0
  97. package/locales/beBY.js +1 -0
  98. package/locales/csCZ.d.ts +3 -0
  99. package/locales/csCZ.js +1 -0
  100. package/locales/deDE.d.ts +3 -0
  101. package/locales/deDE.js +1 -0
  102. package/locales/enUS.d.ts +3 -0
  103. package/locales/enUS.js +1 -0
  104. package/locales/esES.d.ts +3 -0
  105. package/locales/esES.js +1 -0
  106. package/locales/faIR.d.ts +3 -0
  107. package/locales/faIR.js +1 -0
  108. package/locales/fiFI.d.ts +3 -0
  109. package/locales/fiFI.js +1 -0
  110. package/locales/frFR.d.ts +3 -0
  111. package/locales/frFR.js +1 -0
  112. package/locales/huHU.d.ts +51 -0
  113. package/locales/huHU.js +59 -0
  114. package/locales/index.d.ts +1 -0
  115. package/locales/index.js +1 -0
  116. package/locales/isIS.d.ts +3 -0
  117. package/locales/isIS.js +1 -0
  118. package/locales/itIT.d.ts +3 -0
  119. package/locales/itIT.js +14 -16
  120. package/locales/jaJP.d.ts +3 -0
  121. package/locales/jaJP.js +1 -0
  122. package/locales/koKR.d.ts +3 -0
  123. package/locales/koKR.js +1 -0
  124. package/locales/nbNO.d.ts +3 -0
  125. package/locales/nbNO.js +1 -0
  126. package/locales/nlNL.d.ts +3 -0
  127. package/locales/nlNL.js +1 -0
  128. package/locales/plPL.d.ts +3 -0
  129. package/locales/plPL.js +1 -0
  130. package/locales/ptBR.d.ts +3 -0
  131. package/locales/ptBR.js +5 -5
  132. package/locales/ruRU.d.ts +3 -0
  133. package/locales/ruRU.js +1 -0
  134. package/locales/svSE.d.ts +3 -0
  135. package/locales/svSE.js +1 -0
  136. package/locales/trTR.d.ts +3 -0
  137. package/locales/trTR.js +1 -0
  138. package/locales/ukUA.d.ts +3 -0
  139. package/locales/ukUA.js +1 -0
  140. package/locales/urPK.d.ts +3 -0
  141. package/locales/urPK.js +1 -0
  142. package/locales/utils/getPickersLocalization.d.ts +3 -0
  143. package/locales/utils/pickersLocaleTextApi.d.ts +3 -0
  144. package/locales/zhCN.d.ts +3 -0
  145. package/locales/zhCN.js +1 -0
  146. package/modern/AdapterDateFns/index.js +66 -0
  147. package/modern/AdapterDayjs/index.js +13 -0
  148. package/modern/AdapterLuxon/index.js +26 -0
  149. package/modern/AdapterMoment/index.js +17 -1
  150. package/modern/DateCalendar/DateCalendar.js +2 -3
  151. package/modern/DateField/DateField.js +6 -4
  152. package/modern/DatePicker/DatePicker.js +11 -10
  153. package/modern/DateTimeField/DateTimeField.js +6 -4
  154. package/modern/DateTimePicker/DateTimePicker.js +11 -10
  155. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -10
  156. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +11 -10
  157. package/modern/DesktopTimePicker/DesktopTimePicker.js +9 -7
  158. package/modern/MobileDatePicker/MobileDatePicker.js +11 -10
  159. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +11 -10
  160. package/modern/MobileTimePicker/MobileTimePicker.js +9 -7
  161. package/modern/StaticDatePicker/StaticDatePicker.js +8 -7
  162. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +8 -7
  163. package/modern/StaticTimePicker/StaticTimePicker.js +6 -4
  164. package/modern/TimeField/TimeField.js +6 -4
  165. package/modern/TimePicker/TimePicker.js +9 -7
  166. package/modern/index.js +1 -1
  167. package/modern/internals/components/PickerViewRoot/PickerViewRoot.js +1 -1
  168. package/modern/internals/components/PickersPopper.js +4 -2
  169. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +4 -1
  170. package/modern/internals/hooks/useField/useField.js +5 -1
  171. package/modern/internals/hooks/useField/useField.utils.js +152 -19
  172. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +103 -56
  173. package/modern/internals/hooks/useField/useFieldState.js +1 -1
  174. package/modern/locales/beBY.js +1 -0
  175. package/modern/locales/csCZ.js +1 -0
  176. package/modern/locales/deDE.js +1 -0
  177. package/modern/locales/enUS.js +1 -0
  178. package/modern/locales/esES.js +1 -0
  179. package/modern/locales/faIR.js +1 -0
  180. package/modern/locales/fiFI.js +1 -0
  181. package/modern/locales/frFR.js +1 -0
  182. package/modern/locales/huHU.js +56 -0
  183. package/modern/locales/index.js +1 -0
  184. package/modern/locales/isIS.js +1 -0
  185. package/modern/locales/itIT.js +14 -16
  186. package/modern/locales/jaJP.js +1 -0
  187. package/modern/locales/koKR.js +1 -0
  188. package/modern/locales/nbNO.js +1 -0
  189. package/modern/locales/nlNL.js +1 -0
  190. package/modern/locales/plPL.js +1 -0
  191. package/modern/locales/ptBR.js +5 -5
  192. package/modern/locales/ruRU.js +1 -0
  193. package/modern/locales/svSE.js +1 -0
  194. package/modern/locales/trTR.js +1 -0
  195. package/modern/locales/ukUA.js +1 -0
  196. package/modern/locales/urPK.js +1 -0
  197. package/modern/locales/zhCN.js +1 -0
  198. package/modern/tests/describeValidation/describeValidation.js +18 -18
  199. package/modern/tests/describeValue/describeValue.js +9 -10
  200. package/node/AdapterDateFns/index.js +66 -0
  201. package/node/AdapterDayjs/index.js +13 -0
  202. package/node/AdapterLuxon/index.js +26 -0
  203. package/node/AdapterMoment/index.js +17 -1
  204. package/node/DateCalendar/DateCalendar.js +2 -3
  205. package/node/DateField/DateField.js +6 -4
  206. package/node/DatePicker/DatePicker.js +11 -10
  207. package/node/DateTimeField/DateTimeField.js +6 -4
  208. package/node/DateTimePicker/DateTimePicker.js +11 -10
  209. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -10
  210. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +11 -10
  211. package/node/DesktopTimePicker/DesktopTimePicker.js +9 -7
  212. package/node/MobileDatePicker/MobileDatePicker.js +11 -10
  213. package/node/MobileDateTimePicker/MobileDateTimePicker.js +11 -10
  214. package/node/MobileTimePicker/MobileTimePicker.js +9 -7
  215. package/node/StaticDatePicker/StaticDatePicker.js +8 -7
  216. package/node/StaticDateTimePicker/StaticDateTimePicker.js +8 -7
  217. package/node/StaticTimePicker/StaticTimePicker.js +6 -4
  218. package/node/TimeField/TimeField.js +6 -4
  219. package/node/TimePicker/TimePicker.js +9 -7
  220. package/node/index.js +1 -1
  221. package/node/internals/components/PickerViewRoot/PickerViewRoot.js +1 -1
  222. package/node/internals/components/PickersPopper.js +4 -2
  223. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +4 -1
  224. package/node/internals/hooks/useField/useField.js +5 -1
  225. package/node/internals/hooks/useField/useField.utils.js +156 -20
  226. package/node/internals/hooks/useField/useFieldCharacterEditing.js +102 -55
  227. package/node/internals/hooks/useField/useFieldState.js +1 -1
  228. package/node/locales/beBY.js +1 -0
  229. package/node/locales/csCZ.js +1 -0
  230. package/node/locales/deDE.js +1 -0
  231. package/node/locales/enUS.js +1 -0
  232. package/node/locales/esES.js +1 -0
  233. package/node/locales/faIR.js +1 -0
  234. package/node/locales/fiFI.js +1 -0
  235. package/node/locales/frFR.js +1 -0
  236. package/node/locales/huHU.js +62 -0
  237. package/node/locales/index.js +11 -0
  238. package/node/locales/isIS.js +1 -0
  239. package/node/locales/itIT.js +14 -16
  240. package/node/locales/jaJP.js +1 -0
  241. package/node/locales/koKR.js +1 -0
  242. package/node/locales/nbNO.js +1 -0
  243. package/node/locales/nlNL.js +1 -0
  244. package/node/locales/plPL.js +1 -0
  245. package/node/locales/ptBR.js +5 -5
  246. package/node/locales/ruRU.js +1 -0
  247. package/node/locales/svSE.js +1 -0
  248. package/node/locales/trTR.js +1 -0
  249. package/node/locales/ukUA.js +1 -0
  250. package/node/locales/urPK.js +1 -0
  251. package/node/locales/zhCN.js +1 -0
  252. package/node/tests/describeValidation/describeValidation.js +20 -19
  253. package/node/tests/describeValue/describeValue.js +11 -11
  254. package/package.json +4 -5
  255. package/tests/describeValidation/describeValidation.js +18 -18
  256. package/tests/describeValue/describeValue.js +9 -10
  257. package/themeAugmentation/overrides.d.ts +1 -1
  258. package/themeAugmentation/props.d.ts +1 -3
@@ -26,6 +26,72 @@ const formatTokenMap = {
26
26
  sectionName: 'month',
27
27
  contentType: 'letter'
28
28
  },
29
+ E: {
30
+ sectionName: 'weekDay',
31
+ contentType: 'letter'
32
+ },
33
+ EE: {
34
+ sectionName: 'weekDay',
35
+ contentType: 'letter'
36
+ },
37
+ EEE: {
38
+ sectionName: 'weekDay',
39
+ contentType: 'letter'
40
+ },
41
+ EEEE: {
42
+ sectionName: 'weekDay',
43
+ contentType: 'letter'
44
+ },
45
+ EEEEE: {
46
+ sectionName: 'weekDay',
47
+ contentType: 'letter'
48
+ },
49
+ i: 'weekDay',
50
+ ii: 'weekDay',
51
+ iii: {
52
+ sectionName: 'weekDay',
53
+ contentType: 'letter'
54
+ },
55
+ iiii: {
56
+ sectionName: 'weekDay',
57
+ contentType: 'letter'
58
+ },
59
+ e: 'weekDay',
60
+ ee: 'weekDay',
61
+ eee: {
62
+ sectionName: 'weekDay',
63
+ contentType: 'letter'
64
+ },
65
+ eeee: {
66
+ sectionName: 'weekDay',
67
+ contentType: 'letter'
68
+ },
69
+ eeeee: {
70
+ sectionName: 'weekDay',
71
+ contentType: 'letter'
72
+ },
73
+ eeeeee: {
74
+ sectionName: 'weekDay',
75
+ contentType: 'letter'
76
+ },
77
+ c: 'weekDay',
78
+ cc: 'weekDay',
79
+ ccc: {
80
+ sectionName: 'weekDay',
81
+ contentType: 'letter'
82
+ },
83
+ cccc: {
84
+ sectionName: 'weekDay',
85
+ contentType: 'letter'
86
+ },
87
+ ccccc: {
88
+ sectionName: 'weekDay',
89
+ contentType: 'letter'
90
+ },
91
+ cccccc: {
92
+ sectionName: 'weekDay',
93
+ contentType: 'letter'
94
+ },
29
95
  d: 'day',
30
96
  dd: 'day',
31
97
  H: 'hours',
@@ -19,6 +19,19 @@ const formatTokenMap = {
19
19
  },
20
20
  D: 'day',
21
21
  DD: 'day',
22
+ d: 'weekDay',
23
+ dd: {
24
+ sectionName: 'weekDay',
25
+ contentType: 'letter'
26
+ },
27
+ ddd: {
28
+ sectionName: 'weekDay',
29
+ contentType: 'letter'
30
+ },
31
+ dddd: {
32
+ sectionName: 'weekDay',
33
+ contentType: 'letter'
34
+ },
22
35
  H: 'hours',
23
36
  HH: 'hours',
24
37
  h: 'hours',
@@ -13,6 +13,32 @@ const formatTokenMap = {
13
13
  a: 'meridiem',
14
14
  d: 'day',
15
15
  dd: 'day',
16
+ c: 'weekDay',
17
+ ccc: {
18
+ sectionName: 'weekDay',
19
+ contentType: 'letter'
20
+ },
21
+ cccc: {
22
+ sectionName: 'weekDay',
23
+ contentType: 'letter'
24
+ },
25
+ ccccc: {
26
+ sectionName: 'weekDay',
27
+ contentType: 'letter'
28
+ },
29
+ E: 'weekDay',
30
+ EEE: {
31
+ sectionName: 'weekDay',
32
+ contentType: 'letter'
33
+ },
34
+ EEEE: {
35
+ sectionName: 'weekDay',
36
+ contentType: 'letter'
37
+ },
38
+ EEEEE: {
39
+ sectionName: 'weekDay',
40
+ contentType: 'letter'
41
+ },
16
42
  L: 'month',
17
43
  LL: 'month',
18
44
  LLL: {
@@ -15,10 +15,26 @@ const formatTokenMap = {
15
15
  sectionName: 'month',
16
16
  contentType: 'letter'
17
17
  },
18
- // Day of Month
18
+ // Day of the month
19
19
  D: 'day',
20
20
  Do: 'day',
21
21
  DD: 'day',
22
+ // Day of the week
23
+ E: 'weekDay',
24
+ e: 'weekDay',
25
+ d: 'weekDay',
26
+ dd: {
27
+ sectionName: 'weekDay',
28
+ contentType: 'letter'
29
+ },
30
+ ddd: {
31
+ sectionName: 'weekDay',
32
+ contentType: 'letter'
33
+ },
34
+ dddd: {
35
+ sectionName: 'weekDay',
36
+ contentType: 'letter'
37
+ },
22
38
  // Year
23
39
  Y: 'year',
24
40
  YY: 'year',
package/CHANGELOG.md CHANGED
@@ -3,6 +3,117 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 6.0.0-beta.3
7
+
8
+ _Feb 9, 2023_
9
+
10
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - ⬅️ Add right-to-left support for the data grid (#6580) @yaredtsy
13
+ - ⚡️ Improve grid resize performance (#7864) @cherniavskii
14
+ - ✨ New codemods for migrating to v6 @MBilalShafi
15
+ - 📚 Documentation improvements
16
+ - 🐞 Bugfixes
17
+
18
+ ### `@mui/x-data-grid@v6.0.0-beta.3` / `@mui/x-data-grid-pro@v6.0.0-beta.3` / `@mui/x-data-grid-premium@v6.0.0-beta.3`
19
+
20
+ #### Changes
21
+
22
+ - [DataGrid] Add `BaseIconButton` component slot (#7329) @123joshuawu
23
+ - [DataGrid] Allow to customize the value displayed in the filter button tooltip (#6956) @ithrforu
24
+ - [DataGrid] Improve grid resize performance (#7864) @cherniavskii
25
+ - [DataGrid] Make `apiRef.current.getRowWithUpdatedValues` stable (#7788) @m4theushw
26
+ - [DataGrid] Support RTL (#6580) @yaredtsy
27
+ - [DataGrid] Improve query selectors for selecting cell element (#7354) @yaredtsy
28
+ - [l10n] Improve Brazilian Portuguese (pt-BR) locale (#7854) @ed-ateixeira
29
+
30
+ ### `@mui/x-date-pickers@v6.0.0-beta.3` / `@mui/x-date-pickers-pro@v6.0.0-beta.3`
31
+
32
+ #### Changes
33
+
34
+ - [fields] Allow to select year 2000 on 2-digit year section (#7858) @flaviendelangle
35
+ - [fields] Fix year editing on `day.js` (#7862) @flaviendelangle
36
+ - [fields] Fix year editing on valid date (#7834) @flaviendelangle
37
+ - [fields] Reset query when pressing `Backspace` or `Delete` (#7855) @flaviendelangle
38
+ - [pickers] Clean Popper position on new pickers (#7445) @flaviendelangle
39
+ - [pickers] Ditch pickers `skipLibCheck` (#7808) @LukasTy
40
+ - [pickers] Improve JSDoc and resulting API docs pages (#7847) @LukasTy
41
+
42
+ ### `@mui/x-codemod@v6.0.0-beta.3`
43
+
44
+ #### Changes
45
+
46
+ - [codemod] Add more cases to `rename-selectors-and-events` codemod (#7856) @MBilalShafi
47
+ - [codemod] Add warning message to the codemods and migration guide (#7813) @MBilalShafi
48
+ - [codemod] Add codemod to remove unnecessary `experimentalFeatures` flag (#7836) @MBilalShafi
49
+ - [codemod] Rename `GridFilterItem` props (#7483) @MBilalShafi
50
+ - [codemod] Rename `linkOperators` to `logicOperators` (#7707) @MBilalShafi
51
+ - [codemod] Replace `onCellFocusOut` prop for Data Grid (#7786) @MBilalShafi
52
+
53
+ ### Docs
54
+
55
+ - [docs] Add a "Whats new in v6" page linked on the sidebar (#7820) @joserodolfofreitas
56
+ - [docs] Fix hydration crash in pickers (#7734) @oliviertassinari
57
+ - [docs] Remove no longer relevant range shortcuts section (#7840) @LukasTy
58
+ - [docs] Use `@next` tag in grid and pickers installation instructions (#7814) @cherniavskii
59
+
60
+ ### Core
61
+
62
+ - [core] Remove `tslint` package leftovers (#7841) @LukasTy
63
+ - [test] Use `createDescribes` for `describeValue` and `describeValidation` (#7866) @flaviendelangle
64
+
65
+ ## 6.0.0-beta.2
66
+
67
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
68
+
69
+ - 🚀 Support week day formats in the field components
70
+ - 🌍 Add Hungarian (hu-HU) and Urdu (ur-PK) locales
71
+ - 🌍 Improve French (fr-FR) and Italian (it-IT) locales
72
+ - ✨ New codemods for migrating to v6
73
+ - 📚 Documentation improvements
74
+ - 🐞 Bug fixes
75
+
76
+ ### `@mui/x-data-grid@v6.0.0-beta.2` / `@mui/x-data-grid-pro@v6.0.0-beta.2` / `@mui/x-data-grid-premium@v6.0.0-beta.2`
77
+
78
+ #### Changes
79
+
80
+ - [DataGrid] Handle non-numeric values returned by `getRowHeight` prop (#7703) @cherniavskii
81
+ - [DataGrid] Merge row styles with `componentsProps.row.style` (#7641) @marktoman
82
+ - [l10n] Add Hungarian (hu-HU) locale (#7776) @noherczeg
83
+ - [l10n] Add Urdu (ur-PK) locale (#6866) @MBilalShafi
84
+ - [l10n] Improve French (fr-FR) locale (#7777) @Vivek-Prajapatii
85
+ - [l10n] Improve Italian (it-IT) locale (#7761) @simonecervini
86
+
87
+ ### `@mui/x-date-pickers@v6.0.0-beta.2` / `@mui/x-date-pickers-pro@v6.0.0-beta.2`
88
+
89
+ #### Changes
90
+
91
+ - [fields] Support week day formats (#7392) @flaviendelangle
92
+ - [pickers] Allow to initialize and control the `rangePosition` on all range components (#7764) @flaviendelangle
93
+ - [pickers] Fix theme augmentation (#7800) @LukasTy
94
+ - [pickers] Hide scrollbars in the date calendar container (#7766) @Vivek-Prajapatii
95
+ - [pickers] Remove the dependency on `rifm` (#7785) @alexfauquette
96
+
97
+ ### `@mui/x-codemod@v6.0.0-beta.2`
98
+
99
+ #### Changes
100
+
101
+ - [codemod] Add pickers `rename-default-toolbar-title-localeText` codemod (#7752) @LukasTy
102
+ - [codemod] Add pickers `rename-inputFormat-prop` codemod (#7736) @LukasTy
103
+
104
+ ### Docs
105
+
106
+ - [docs] Fix a typo in data grid layout page (#7113) @sfbaker7
107
+ - [docs] Fix require context path to avoid duplicate key creation (#7781) @LukasTy
108
+ - [docs] Polish pickers migration docs (#7737) @LukasTy
109
+ - [docs] Rename `next` translation docs and remove duplicates with `-next` (#7729) @LukasTy
110
+
111
+ ### Core
112
+
113
+ - [core] Fix l10n data file (#7804) @flaviendelangle
114
+ - [core] Fix Next.js warning (#7754) @oliviertassinari
115
+ - [core] Remove unused demos (#7758) @flaviendelangle
116
+
6
117
  ## 6.0.0-beta.1
7
118
 
8
119
  _Jan 27, 2023_
@@ -1368,8 +1479,7 @@ We'd like to offer a big thanks to the 9 contributors who made this release poss
1368
1479
  - The toolbar related translation keys have been renamed to better fit their usage:
1369
1480
 
1370
1481
  ```diff
1371
- // Same on all other pickers
1372
- <DatePicker
1482
+ <LocalizationProvider
1373
1483
  localeText={{
1374
1484
  - datePickerDefaultToolbarTitle: 'Date Picker',
1375
1485
  + datePickerToolbarTitle: 'Date Picker',
@@ -2022,7 +2132,67 @@ You can find more information about the new api, including how to set those tran
2022
2132
  - [test] Skip tests for column pinning and dynamic row height (#5997) @m4theushw
2023
2133
  - [website] Improve security header @oliviertassinari
2024
2134
 
2025
- ## v5.17.21
2135
+ ## 5.17.23
2136
+
2137
+ _Feb 9, 2023_
2138
+
2139
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
2140
+
2141
+ - 🌍 Improve Brazilian Portuguese (pt-BR) locale
2142
+ - 🎉 Add banner and callouts to inform about MUI X v6 beta
2143
+ - 🐞 Bugfixes
2144
+
2145
+ ### `@mui/x-data-grid@v5.17.23` / `@mui/x-data-grid-pro@v5.17.23` / `@mui/x-data-grid-premium@v5.17.23`
2146
+
2147
+ #### Changes
2148
+
2149
+ - [DataGrid] Allow to customize the value displayed in the filter button tooltip (#7816) @ithrforu
2150
+ - [DataGrid] Fix `getCellElement` method not working with pinned columns (#7844) @yaredtsy
2151
+ - [DataGrid] Fix stale rows issue in `unstable_replaceRows` (#7694) @MBilalShafi
2152
+ - [l10n] Improve Brazilian Portuguese (pt-BR) locale (#7850) @ed-ateixeira
2153
+
2154
+ ### `@mui/x-date-pickers@v_5.0.18` / `@mui/x-date-pickers-pro@v_5.0.18`
2155
+
2156
+ #### Changes
2157
+
2158
+ - [pickers] Update pickers when new value has a distinct timezone (#7853) @alexfauquette
2159
+
2160
+ ### Docs
2161
+
2162
+ - [docs] Add messages in v5 doc to inform people about v6 (#7838) @flaviendelangle
2163
+ - [docs] Fix 301 link @oliviertassinari
2164
+
2165
+ ### Core
2166
+
2167
+ - [core] Upgrade monorepo (#7849) @cherniavskii
2168
+
2169
+ ## 5.17.22
2170
+
2171
+ _Feb 2, 2023_
2172
+
2173
+ We'd like to offer a big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
2174
+
2175
+ - 🌍 Add Urdu (ur-PK) locale
2176
+ - 🌍 Improve French (fr-FR) and Italian (it-IT) locales
2177
+ - 🐞 Bugfixes
2178
+
2179
+ ### `@mui/x-data-grid@v5.17.22` / `@mui/x-data-grid-pro@v5.17.22` / `@mui/x-data-grid-premium@v5.17.22`
2180
+
2181
+ #### Changes
2182
+
2183
+ - [DataGrid] Fix an error when deleting pinned row using the buttons in the `actions` column (#7767) @cherniavskii
2184
+ - [DataGrid] Fix print preview regression in Chrome browser (#7405) @cherniavskii
2185
+ - [l10n] Add Urdu (ur-PK) locale (#7778) @MBilalShafi
2186
+ - [l10n] Improve French (fr-FR) locale (#7795) @Vivek-Prajapatii
2187
+
2188
+ ### `@mui/x-date-pickers@v5.0.17` / `@mui/x-date-pickers-pro@v5.0.17`
2189
+
2190
+ #### Changes
2191
+
2192
+ - [TimePicker] Add missing `themeAugmentation` entry (#7732) @LukasTy
2193
+ - [l10n] Improve Italian (it-IT) locale (#7761) @simonecervini
2194
+
2195
+ ## 5.17.21
2026
2196
 
2027
2197
  _Jan 27, 2023_
2028
2198
 
@@ -434,10 +434,9 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
434
434
  */
435
435
  onFocusedViewChange: PropTypes.func,
436
436
  /**
437
- * Callback firing on month change @DateIOType.
437
+ * Callback fired on month change.
438
438
  * @template TDate
439
439
  * @param {TDate} month The new month.
440
- * @returns {void|Promise} -
441
440
  */
442
441
  onMonthChange: PropTypes.func,
443
442
  /**
@@ -447,7 +446,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
447
446
  */
448
447
  onViewChange: PropTypes.func,
449
448
  /**
450
- * Callback firing on year change @DateIOType.
449
+ * Callback fired on year change.
451
450
  * @template TDate
452
451
  * @param {TDate} year The new year.
453
452
  */
@@ -43,18 +43,17 @@ export interface ExportedDateCalendarProps<TDate> extends ExportedDayCalendarPro
43
43
  */
44
44
  renderLoading?: () => React.ReactNode;
45
45
  /**
46
- * Callback firing on year change @DateIOType.
46
+ * Callback fired on year change.
47
47
  * @template TDate
48
48
  * @param {TDate} year The new year.
49
49
  */
50
50
  onYearChange?: (year: TDate) => void;
51
51
  /**
52
- * Callback firing on month change @DateIOType.
52
+ * Callback fired on month change.
53
53
  * @template TDate
54
54
  * @param {TDate} month The new month.
55
- * @returns {void|Promise} -
56
55
  */
57
- onMonthChange?: (month: TDate) => void | Promise<void>;
56
+ onMonthChange?: (month: TDate) => void;
58
57
  }
59
58
  export interface DateCalendarProps<TDate> extends ExportedDateCalendarProps<TDate>, ExportedUseViewsOptions<DateView>, SlotsAndSlotProps<DateCalendarSlotsComponent<TDate>, DateCalendarSlotsComponentsProps<TDate>> {
60
59
  /**
@@ -185,14 +185,16 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
185
185
  onBlur: PropTypes.func,
186
186
  /**
187
187
  * Callback fired when the value changes.
188
- * @template TValue, TError
188
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
189
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
189
190
  * @param {TValue} value The new value.
190
- * @param {FieldChangeHandlerContext<TError>} The context containing the validation result of the current value.
191
+ * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
191
192
  */
192
193
  onChange: PropTypes.func,
193
194
  /**
194
195
  * Callback fired when the error associated to the current value changes.
195
- * @template TValue, TError
196
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
197
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
196
198
  * @param {TError} error The new error.
197
199
  * @param {TValue} value The value associated to the error.
198
200
  */
@@ -223,7 +225,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
223
225
  * 4. If `null` is provided, no section will be selected
224
226
  * If not provided, the selected sections will be handled internally.
225
227
  */
226
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
228
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
227
229
  endIndex: PropTypes.number.isRequired,
228
230
  startIndex: PropTypes.number.isRequired
229
231
  })]),
@@ -163,41 +163,42 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
163
163
  monthsPerRow: PropTypes.oneOf([3, 4]),
164
164
  /**
165
165
  * Callback fired when the value is accepted.
166
- * @template TValue
166
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
167
167
  * @param {TValue} value The value that was just accepted.
168
168
  */
169
169
  onAccept: PropTypes.func,
170
170
  /**
171
171
  * Callback fired when the value changes.
172
- * @template TValue, TError
172
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
173
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
173
174
  * @param {TValue} value The new value.
174
- * @param {FieldChangeHandlerContext<TError>} The context containing the validation result of the current value.
175
+ * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
175
176
  */
176
177
  onChange: PropTypes.func,
177
178
  /**
178
179
  * Callback fired when the popup requests to be closed.
179
- * Use in controlled mode (see open).
180
+ * Use in controlled mode (see `open`).
180
181
  */
181
182
  onClose: PropTypes.func,
182
183
  /**
183
184
  * Callback fired when the error associated to the current value changes.
184
185
  * If the error has a non-null value, then the `TextField` will be rendered in `error` state.
185
186
  *
186
- * @template TValue, TError
187
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
188
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
187
189
  * @param {TError} error The new error describing why the current value is not valid.
188
190
  * @param {TValue} value The value associated to the error.
189
191
  */
190
192
  onError: PropTypes.func,
191
193
  /**
192
- * Callback firing on month change @DateIOType.
194
+ * Callback fired on month change.
193
195
  * @template TDate
194
196
  * @param {TDate} month The new month.
195
- * @returns {void|Promise} -
196
197
  */
197
198
  onMonthChange: PropTypes.func,
198
199
  /**
199
200
  * Callback fired when the popup requests to be opened.
200
- * Use in controlled mode (see open).
201
+ * Use in controlled mode (see `open`).
201
202
  */
202
203
  onOpen: PropTypes.func,
203
204
  /**
@@ -212,7 +213,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
212
213
  */
213
214
  onViewChange: PropTypes.func,
214
215
  /**
215
- * Callback firing on year change @DateIOType.
216
+ * Callback fired on year change.
216
217
  * @template TDate
217
218
  * @param {TDate} year The new year.
218
219
  */
@@ -253,7 +254,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
253
254
  * 4. If `null` is provided, no section will be selected
254
255
  * If not provided, the selected sections will be handled internally.
255
256
  */
256
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
257
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
257
258
  endIndex: PropTypes.number.isRequired,
258
259
  startIndex: PropTypes.number.isRequired
259
260
  })]),
@@ -218,14 +218,16 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
218
218
  onBlur: PropTypes.func,
219
219
  /**
220
220
  * Callback fired when the value changes.
221
- * @template TValue, TError
221
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
222
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
222
223
  * @param {TValue} value The new value.
223
- * @param {FieldChangeHandlerContext<TError>} The context containing the validation result of the current value.
224
+ * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
224
225
  */
225
226
  onChange: PropTypes.func,
226
227
  /**
227
228
  * Callback fired when the error associated to the current value changes.
228
- * @template TValue, TError
229
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
230
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
229
231
  * @param {TError} error The new error.
230
232
  * @param {TValue} value The value associated to the error.
231
233
  */
@@ -256,7 +258,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
256
258
  * 4. If `null` is provided, no section will be selected
257
259
  * If not provided, the selected sections will be handled internally.
258
260
  */
259
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
261
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
260
262
  endIndex: PropTypes.number.isRequired,
261
263
  startIndex: PropTypes.number.isRequired
262
264
  })]),
@@ -201,41 +201,42 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
201
201
  monthsPerRow: PropTypes.oneOf([3, 4]),
202
202
  /**
203
203
  * Callback fired when the value is accepted.
204
- * @template TValue
204
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
205
205
  * @param {TValue} value The value that was just accepted.
206
206
  */
207
207
  onAccept: PropTypes.func,
208
208
  /**
209
209
  * Callback fired when the value changes.
210
- * @template TValue, TError
210
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
211
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
211
212
  * @param {TValue} value The new value.
212
- * @param {FieldChangeHandlerContext<TError>} The context containing the validation result of the current value.
213
+ * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
213
214
  */
214
215
  onChange: PropTypes.func,
215
216
  /**
216
217
  * Callback fired when the popup requests to be closed.
217
- * Use in controlled mode (see open).
218
+ * Use in controlled mode (see `open`).
218
219
  */
219
220
  onClose: PropTypes.func,
220
221
  /**
221
222
  * Callback fired when the error associated to the current value changes.
222
223
  * If the error has a non-null value, then the `TextField` will be rendered in `error` state.
223
224
  *
224
- * @template TValue, TError
225
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
226
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
225
227
  * @param {TError} error The new error describing why the current value is not valid.
226
228
  * @param {TValue} value The value associated to the error.
227
229
  */
228
230
  onError: PropTypes.func,
229
231
  /**
230
- * Callback firing on month change @DateIOType.
232
+ * Callback fired on month change.
231
233
  * @template TDate
232
234
  * @param {TDate} month The new month.
233
- * @returns {void|Promise} -
234
235
  */
235
236
  onMonthChange: PropTypes.func,
236
237
  /**
237
238
  * Callback fired when the popup requests to be opened.
238
- * Use in controlled mode (see open).
239
+ * Use in controlled mode (see `open`).
239
240
  */
240
241
  onOpen: PropTypes.func,
241
242
  /**
@@ -250,7 +251,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
250
251
  */
251
252
  onViewChange: PropTypes.func,
252
253
  /**
253
- * Callback firing on year change @DateIOType.
254
+ * Callback fired on year change.
254
255
  * @template TDate
255
256
  * @param {TDate} year The new year.
256
257
  */
@@ -291,7 +292,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
291
292
  * 4. If `null` is provided, no section will be selected
292
293
  * If not provided, the selected sections will be handled internally.
293
294
  */
294
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
295
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
295
296
  endIndex: PropTypes.number.isRequired,
296
297
  startIndex: PropTypes.number.isRequired
297
298
  })]),
@@ -179,41 +179,42 @@ DesktopDatePicker.propTypes = {
179
179
  monthsPerRow: PropTypes.oneOf([3, 4]),
180
180
  /**
181
181
  * Callback fired when the value is accepted.
182
- * @template TValue
182
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
183
183
  * @param {TValue} value The value that was just accepted.
184
184
  */
185
185
  onAccept: PropTypes.func,
186
186
  /**
187
187
  * Callback fired when the value changes.
188
- * @template TValue, TError
188
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
189
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
189
190
  * @param {TValue} value The new value.
190
- * @param {FieldChangeHandlerContext<TError>} The context containing the validation result of the current value.
191
+ * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
191
192
  */
192
193
  onChange: PropTypes.func,
193
194
  /**
194
195
  * Callback fired when the popup requests to be closed.
195
- * Use in controlled mode (see open).
196
+ * Use in controlled mode (see `open`).
196
197
  */
197
198
  onClose: PropTypes.func,
198
199
  /**
199
200
  * Callback fired when the error associated to the current value changes.
200
201
  * If the error has a non-null value, then the `TextField` will be rendered in `error` state.
201
202
  *
202
- * @template TValue, TError
203
+ * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
204
+ * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
203
205
  * @param {TError} error The new error describing why the current value is not valid.
204
206
  * @param {TValue} value The value associated to the error.
205
207
  */
206
208
  onError: PropTypes.func,
207
209
  /**
208
- * Callback firing on month change @DateIOType.
210
+ * Callback fired on month change.
209
211
  * @template TDate
210
212
  * @param {TDate} month The new month.
211
- * @returns {void|Promise} -
212
213
  */
213
214
  onMonthChange: PropTypes.func,
214
215
  /**
215
216
  * Callback fired when the popup requests to be opened.
216
- * Use in controlled mode (see open).
217
+ * Use in controlled mode (see `open`).
217
218
  */
218
219
  onOpen: PropTypes.func,
219
220
  /**
@@ -228,7 +229,7 @@ DesktopDatePicker.propTypes = {
228
229
  */
229
230
  onViewChange: PropTypes.func,
230
231
  /**
231
- * Callback firing on year change @DateIOType.
232
+ * Callback fired on year change.
232
233
  * @template TDate
233
234
  * @param {TDate} year The new year.
234
235
  */
@@ -269,7 +270,7 @@ DesktopDatePicker.propTypes = {
269
270
  * 4. If `null` is provided, no section will be selected
270
271
  * If not provided, the selected sections will be handled internally.
271
272
  */
272
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
273
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
273
274
  endIndex: PropTypes.number.isRequired,
274
275
  startIndex: PropTypes.number.isRequired
275
276
  })]),