@docsvision/material-ui-pickers 3.2.0-beta.3 → 3.2.0-beta.30

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 (313) hide show
  1. package/{build/DatePicker → DatePicker}/DatePicker.d.ts +2 -2
  2. package/{build/DatePicker → DatePicker}/DatePicker.js +1 -1
  3. package/{build/DatePicker → DatePicker}/DatePickerToolbar.js +3 -3
  4. package/{build/DateTimePicker → DateTimePicker}/DateTimePicker.d.ts +2 -2
  5. package/{build/DateTimePicker → DateTimePicker}/DateTimePicker.js +3 -3
  6. package/{build/DateTimePicker → DateTimePicker}/DateTimePickerToolbar.js +4 -4
  7. package/{build/MuiPickersUtilsProvider.d.ts → MuiPickersUtilsProvider.d.ts} +1 -1
  8. package/{build/MuiPickersUtilsProvider.js → MuiPickersUtilsProvider.js} +11 -5
  9. package/{build/Picker → Picker}/Picker.d.ts +5 -3
  10. package/{build/Picker → Picker}/Picker.js +15 -12
  11. package/{build/Picker → Picker}/WrappedKeyboardPicker.js +2 -2
  12. package/{build/Picker → Picker}/WrappedPurePicker.js +4 -3
  13. package/{build/README.md → README.md} +1 -1
  14. package/Rifm/Rifm.d.ts +17 -0
  15. package/Rifm/Rifm.js +166 -0
  16. package/{build/TimePicker → TimePicker}/TimePicker.d.ts +4 -2
  17. package/{build/TimePicker → TimePicker}/TimePicker.js +3 -3
  18. package/{build/TimePicker → TimePicker}/TimePickerToolbar.js +3 -3
  19. package/{build/_helpers → _helpers}/date-utils.d.ts +2 -2
  20. package/{build/_helpers → _helpers}/date-utils.js +3 -3
  21. package/_helpers/text-field-helper.d.ts +32 -0
  22. package/_helpers/text-field-helper.js +144 -0
  23. package/{build/_helpers → _helpers}/time-utils.d.ts +2 -2
  24. package/{build/_shared → _shared}/KeyboardDateInput.d.ts +5 -0
  25. package/{build/_shared → _shared}/KeyboardDateInput.js +29 -5
  26. package/{build/_shared → _shared}/ModalDialog.d.ts +2 -2
  27. package/{build/_shared → _shared}/PureDateInput.js +1 -1
  28. package/{build/_shared → _shared}/ToolbarButton.d.ts +2 -2
  29. package/{build/_shared → _shared}/WithUtils.d.ts +1 -1
  30. package/{build/_shared → _shared}/hooks/useIsLandscape.js +1 -1
  31. package/{build/_shared → _shared}/hooks/useKeyboardPickerState.d.ts +1 -1
  32. package/{build/_shared → _shared}/hooks/useKeyboardPickerState.js +3 -3
  33. package/{build/_shared → _shared}/hooks/usePickerState.d.ts +1 -1
  34. package/{build/_shared → _shared}/hooks/usePickerState.js +2 -3
  35. package/{build/_shared → _shared}/hooks/useUtils.d.ts +2 -2
  36. package/{build/constants → constants}/prop-types.js +2 -2
  37. package/{build/dist → dist}/material-ui-pickers.esm.js +1467 -837
  38. package/dist/material-ui-pickers.esm.js.map +1 -0
  39. package/{build/dist → dist}/material-ui-pickers.js +1483 -853
  40. package/dist/material-ui-pickers.js.map +1 -0
  41. package/{build/dist → dist}/material-ui-pickers.umd.js +29819 -22160
  42. package/dist/material-ui-pickers.umd.min.js +1 -0
  43. package/{build/index.d.ts → index.d.ts} +11 -11
  44. package/package.json +14 -88
  45. package/{build/typings → typings}/BasePicker.d.ts +2 -0
  46. package/{build/typings → typings}/overrides.d.ts +2 -2
  47. package/{build/views → views}/Calendar/Calendar.js +4 -3
  48. package/{build/views → views}/Calendar/CalendarHeader.js +1 -1
  49. package/{build/views → views}/Clock/Clock.d.ts +1 -1
  50. package/{build/views → views}/Clock/Clock.js +1 -1
  51. package/{build/views → views}/Clock/ClockNumbers.d.ts +2 -2
  52. package/{build/views → views}/Clock/ClockPointer.d.ts +1 -1
  53. package/{build/views → views}/Clock/ClockView.js +1 -1
  54. package/{build/views → views}/Month/MonthView.js +1 -1
  55. package/{build/views → views}/Year/YearView.js +2 -2
  56. package/.size-snapshot.json +0 -26
  57. package/build/_helpers/text-field-helper.d.ts +0 -32
  58. package/build/_helpers/text-field-helper.js +0 -88
  59. package/build/dist/material-ui-pickers.esm.js.map +0 -1
  60. package/build/dist/material-ui-pickers.js.map +0 -1
  61. package/build/dist/material-ui-pickers.umd.min.js +0 -1
  62. package/build/package.json +0 -63
  63. package/copy.js +0 -58
  64. package/coverage/clover.xml +0 -1589
  65. package/coverage/coverage-final.json +0 -57
  66. package/coverage/lcov-report/base.css +0 -224
  67. package/coverage/lcov-report/block-navigation.js +0 -79
  68. package/coverage/lcov-report/index.html +0 -279
  69. package/coverage/lcov-report/prettify.css +0 -1
  70. package/coverage/lcov-report/prettify.js +0 -2
  71. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  72. package/coverage/lcov-report/sorter.js +0 -170
  73. package/coverage/lcov-report/src/DatePicker/DatePicker.tsx.html +0 -342
  74. package/coverage/lcov-report/src/DatePicker/DatePickerToolbar.tsx.html +0 -294
  75. package/coverage/lcov-report/src/DatePicker/index.html +0 -123
  76. package/coverage/lcov-report/src/DatePicker/index.ts.html +0 -90
  77. package/coverage/lcov-report/src/DateTimePicker/DateTimePicker.tsx.html +0 -285
  78. package/coverage/lcov-report/src/DateTimePicker/DateTimePickerTabs.tsx.html +0 -327
  79. package/coverage/lcov-report/src/DateTimePicker/DateTimePickerToolbar.tsx.html +0 -438
  80. package/coverage/lcov-report/src/DateTimePicker/index.html +0 -123
  81. package/coverage/lcov-report/src/MuiPickersUtilsProvider.tsx.html +0 -186
  82. package/coverage/lcov-report/src/Picker/Picker.tsx.html +0 -873
  83. package/coverage/lcov-report/src/Picker/WrappedKeyboardPicker.tsx.html +0 -465
  84. package/coverage/lcov-report/src/Picker/WrappedPurePicker.tsx.html +0 -435
  85. package/coverage/lcov-report/src/Picker/index.html +0 -123
  86. package/coverage/lcov-report/src/TimePicker/TimePicker.tsx.html +0 -270
  87. package/coverage/lcov-report/src/TimePicker/TimePickerToolbar.tsx.html +0 -609
  88. package/coverage/lcov-report/src/TimePicker/index.html +0 -110
  89. package/coverage/lcov-report/src/_helpers/date-utils.ts.html +0 -345
  90. package/coverage/lcov-report/src/_helpers/index.html +0 -136
  91. package/coverage/lcov-report/src/_helpers/text-field-helper.ts.html +0 -564
  92. package/coverage/lcov-report/src/_helpers/time-utils.ts.html +0 -318
  93. package/coverage/lcov-report/src/_helpers/utils.ts.html +0 -93
  94. package/coverage/lcov-report/src/_shared/KeyboardDateInput.tsx.html +0 -438
  95. package/coverage/lcov-report/src/_shared/ModalDialog.tsx.html +0 -411
  96. package/coverage/lcov-report/src/_shared/PickerToolbar.tsx.html +0 -225
  97. package/coverage/lcov-report/src/_shared/PureDateInput.tsx.html +0 -204
  98. package/coverage/lcov-report/src/_shared/ToolbarButton.tsx.html +0 -258
  99. package/coverage/lcov-report/src/_shared/ToolbarText.tsx.html +0 -216
  100. package/coverage/lcov-report/src/_shared/WithUtils.tsx.html +0 -126
  101. package/coverage/lcov-report/src/_shared/hooks/index.html +0 -175
  102. package/coverage/lcov-report/src/_shared/hooks/useIsLandscape.tsx.html +0 -150
  103. package/coverage/lcov-report/src/_shared/hooks/useKeyDown.ts.html +0 -171
  104. package/coverage/lcov-report/src/_shared/hooks/useKeyboardPickerState.ts.html +0 -285
  105. package/coverage/lcov-report/src/_shared/hooks/useOpenState.ts.html +0 -135
  106. package/coverage/lcov-report/src/_shared/hooks/usePickerState.ts.html +0 -474
  107. package/coverage/lcov-report/src/_shared/hooks/useUtils.ts.html +0 -129
  108. package/coverage/lcov-report/src/_shared/hooks/useViews.tsx.html +0 -162
  109. package/coverage/lcov-report/src/_shared/icons/ArrowLeftIcon.tsx.html +0 -102
  110. package/coverage/lcov-report/src/_shared/icons/ArrowRightIcon.tsx.html +0 -102
  111. package/coverage/lcov-report/src/_shared/icons/DateRangeIcon.tsx.html +0 -102
  112. package/coverage/lcov-report/src/_shared/icons/KeyboardIcon.tsx.html +0 -102
  113. package/coverage/lcov-report/src/_shared/icons/TimeIcon.tsx.html +0 -105
  114. package/coverage/lcov-report/src/_shared/icons/index.html +0 -149
  115. package/coverage/lcov-report/src/_shared/index.html +0 -175
  116. package/coverage/lcov-report/src/constants/ClockType.ts.html +0 -102
  117. package/coverage/lcov-report/src/constants/dimensions.ts.html +0 -84
  118. package/coverage/lcov-report/src/constants/index.html +0 -123
  119. package/coverage/lcov-report/src/constants/prop-types.ts.html +0 -180
  120. package/coverage/lcov-report/src/index.html +0 -97
  121. package/coverage/lcov-report/src/views/Calendar/Calendar.tsx.html +0 -1149
  122. package/coverage/lcov-report/src/views/Calendar/CalendarHeader.tsx.html +0 -492
  123. package/coverage/lcov-report/src/views/Calendar/Day.tsx.html +0 -360
  124. package/coverage/lcov-report/src/views/Calendar/DayWrapper.tsx.html +0 -168
  125. package/coverage/lcov-report/src/views/Calendar/SlideTransition.tsx.html +0 -369
  126. package/coverage/lcov-report/src/views/Calendar/index.html +0 -149
  127. package/coverage/lcov-report/src/views/Clock/Clock.tsx.html +0 -585
  128. package/coverage/lcov-report/src/views/Clock/ClockNumber.tsx.html +0 -342
  129. package/coverage/lcov-report/src/views/Clock/ClockNumbers.tsx.html +0 -297
  130. package/coverage/lcov-report/src/views/Clock/ClockPointer.tsx.html +0 -381
  131. package/coverage/lcov-report/src/views/Clock/ClockView.tsx.html +0 -384
  132. package/coverage/lcov-report/src/views/Clock/index.html +0 -149
  133. package/coverage/lcov-report/src/views/Month/Month.tsx.html +0 -297
  134. package/coverage/lcov-report/src/views/Month/MonthView.tsx.html +0 -351
  135. package/coverage/lcov-report/src/views/Month/index.html +0 -110
  136. package/coverage/lcov-report/src/views/Year/Year.tsx.html +0 -300
  137. package/coverage/lcov-report/src/views/Year/YearView.tsx.html +0 -342
  138. package/coverage/lcov-report/src/views/Year/index.html +0 -110
  139. package/coverage/lcov-report/src/wrappers/InlineWrapper.tsx.html +0 -309
  140. package/coverage/lcov-report/src/wrappers/ModalWrapper.tsx.html +0 -408
  141. package/coverage/lcov-report/src/wrappers/StaticWrapper.tsx.html +0 -135
  142. package/coverage/lcov-report/src/wrappers/Wrapper.tsx.html +0 -294
  143. package/coverage/lcov-report/src/wrappers/index.html +0 -136
  144. package/coverage/lcov.info +0 -2815
  145. package/remove-prop-types.js +0 -37
  146. package/rollup.config.js +0 -143
  147. package/src/DatePicker/DatePicker.tsx +0 -91
  148. package/src/DatePicker/DatePickerToolbar.tsx +0 -75
  149. package/src/DatePicker/index.ts +0 -7
  150. package/src/DateTimePicker/DateTimePicker.tsx +0 -72
  151. package/src/DateTimePicker/DateTimePickerTabs.tsx +0 -86
  152. package/src/DateTimePicker/DateTimePickerToolbar.tsx +0 -123
  153. package/src/DateTimePicker/index.ts +0 -7
  154. package/src/MuiPickersUtilsProvider.tsx +0 -39
  155. package/src/Picker/Picker.tsx +0 -268
  156. package/src/Picker/WrappedKeyboardPicker.tsx +0 -132
  157. package/src/Picker/WrappedPurePicker.tsx +0 -124
  158. package/src/TimePicker/TimePicker.tsx +0 -67
  159. package/src/TimePicker/TimePickerToolbar.tsx +0 -180
  160. package/src/TimePicker/index.tsx +0 -7
  161. package/src/__tests__/DatePicker/Calendar.test.tsx +0 -51
  162. package/src/__tests__/DatePicker/Month.test.tsx +0 -36
  163. package/src/__tests__/DatePicker/MonthSelection.test.tsx +0 -37
  164. package/src/__tests__/MuiPickersUtilsProvider.test.tsx +0 -21
  165. package/src/__tests__/TimePicker/Clock.test.tsx +0 -68
  166. package/src/__tests__/_helpers/date-utils.test.tsx +0 -197
  167. package/src/__tests__/_helpers/text-field-helper.test.tsx +0 -34
  168. package/src/__tests__/_shared/ModalDialog.test.tsx +0 -109
  169. package/src/__tests__/e2e/DatePicker.test.tsx +0 -233
  170. package/src/__tests__/e2e/DatePickerProps.test.tsx +0 -18
  171. package/src/__tests__/e2e/DatePickerRoot.test.tsx +0 -154
  172. package/src/__tests__/e2e/DateTimePicker.test.tsx +0 -86
  173. package/src/__tests__/e2e/DateTimePickerRoot.test.tsx +0 -72
  174. package/src/__tests__/e2e/KeyboardDatePicker.test.tsx +0 -140
  175. package/src/__tests__/e2e/KeyboardDateTimePicker.test.tsx +0 -48
  176. package/src/__tests__/e2e/Theme.test.tsx +0 -30
  177. package/src/__tests__/e2e/TimePicker.test.tsx +0 -121
  178. package/src/__tests__/e2e/commands.tsx +0 -8
  179. package/src/__tests__/setup.js +0 -26
  180. package/src/__tests__/test-utils.tsx +0 -45
  181. package/src/__tests__/tsconfig.json +0 -5
  182. package/src/_helpers/date-utils.ts +0 -92
  183. package/src/_helpers/text-field-helper.ts +0 -165
  184. package/src/_helpers/time-utils.ts +0 -83
  185. package/src/_helpers/utils.ts +0 -8
  186. package/src/_shared/KeyboardDateInput.tsx +0 -123
  187. package/src/_shared/ModalDialog.tsx +0 -114
  188. package/src/_shared/PickerToolbar.tsx +0 -52
  189. package/src/_shared/PureDateInput.tsx +0 -45
  190. package/src/_shared/ToolbarButton.tsx +0 -63
  191. package/src/_shared/ToolbarText.tsx +0 -49
  192. package/src/_shared/WithUtils.tsx +0 -19
  193. package/src/_shared/hooks/useIsLandscape.tsx +0 -27
  194. package/src/_shared/hooks/useKeyDown.ts +0 -34
  195. package/src/_shared/hooks/useKeyboardPickerState.ts +0 -72
  196. package/src/_shared/hooks/useOpenState.ts +0 -22
  197. package/src/_shared/hooks/usePickerState.ts +0 -135
  198. package/src/_shared/hooks/useUtils.ts +0 -20
  199. package/src/_shared/hooks/useViews.tsx +0 -31
  200. package/src/_shared/icons/ArrowLeftIcon.tsx +0 -11
  201. package/src/_shared/icons/ArrowRightIcon.tsx +0 -11
  202. package/src/_shared/icons/DateRangeIcon.tsx +0 -11
  203. package/src/_shared/icons/KeyboardIcon.tsx +0 -11
  204. package/src/_shared/icons/TimeIcon.tsx +0 -12
  205. package/src/constants/ClockType.ts +0 -11
  206. package/src/constants/dimensions.ts +0 -5
  207. package/src/constants/prop-types.ts +0 -37
  208. package/src/index.ts +0 -48
  209. package/src/typings/BasePicker.tsx +0 -58
  210. package/src/typings/date.ts +0 -3
  211. package/src/typings/extendMui.ts +0 -10
  212. package/src/typings/overrides.ts +0 -54
  213. package/src/views/Calendar/Calendar.tsx +0 -360
  214. package/src/views/Calendar/CalendarHeader.tsx +0 -141
  215. package/src/views/Calendar/Day.tsx +0 -97
  216. package/src/views/Calendar/DayWrapper.tsx +0 -33
  217. package/src/views/Calendar/SlideTransition.tsx +0 -100
  218. package/src/views/Clock/Clock.tsx +0 -172
  219. package/src/views/Clock/ClockNumber.tsx +0 -91
  220. package/src/views/Clock/ClockNumbers.tsx +0 -76
  221. package/src/views/Clock/ClockPointer.tsx +0 -104
  222. package/src/views/Clock/ClockView.tsx +0 -105
  223. package/src/views/Month/Month.tsx +0 -76
  224. package/src/views/Month/MonthView.tsx +0 -94
  225. package/src/views/Year/Year.tsx +0 -77
  226. package/src/views/Year/YearView.tsx +0 -91
  227. package/src/wrappers/InlineWrapper.tsx +0 -80
  228. package/src/wrappers/ModalWrapper.tsx +0 -113
  229. package/src/wrappers/StaticWrapper.tsx +0 -22
  230. package/src/wrappers/Wrapper.tsx +0 -75
  231. package/tsconfig.json +0 -21
  232. package/typings.d.ts +0 -6
  233. /package/{build/DatePicker → DatePicker}/DatePickerToolbar.d.ts +0 -0
  234. /package/{build/DatePicker → DatePicker}/index.d.ts +0 -0
  235. /package/{build/DatePicker → DatePicker}/index.js +0 -0
  236. /package/{build/DateTimePicker → DateTimePicker}/DateTimePickerTabs.d.ts +0 -0
  237. /package/{build/DateTimePicker → DateTimePicker}/DateTimePickerTabs.js +0 -0
  238. /package/{build/DateTimePicker → DateTimePicker}/DateTimePickerToolbar.d.ts +0 -0
  239. /package/{build/DateTimePicker → DateTimePicker}/index.d.ts +0 -0
  240. /package/{build/DateTimePicker → DateTimePicker}/index.js +0 -0
  241. /package/{build/Picker → Picker}/WrappedKeyboardPicker.d.ts +0 -0
  242. /package/{build/Picker → Picker}/WrappedPurePicker.d.ts +0 -0
  243. /package/{build/TimePicker → TimePicker}/TimePickerToolbar.d.ts +0 -0
  244. /package/{build/TimePicker → TimePicker}/index.d.ts +0 -0
  245. /package/{build/TimePicker → TimePicker}/index.js +0 -0
  246. /package/{build/_helpers → _helpers}/time-utils.js +0 -0
  247. /package/{build/_helpers → _helpers}/utils.d.ts +0 -0
  248. /package/{build/_helpers → _helpers}/utils.js +0 -0
  249. /package/{build/_shared → _shared}/ModalDialog.js +0 -0
  250. /package/{build/_shared → _shared}/PickerToolbar.d.ts +0 -0
  251. /package/{build/_shared → _shared}/PickerToolbar.js +0 -0
  252. /package/{build/_shared → _shared}/PureDateInput.d.ts +0 -0
  253. /package/{build/_shared → _shared}/ToolbarButton.js +0 -0
  254. /package/{build/_shared → _shared}/ToolbarText.d.ts +0 -0
  255. /package/{build/_shared → _shared}/ToolbarText.js +0 -0
  256. /package/{build/_shared → _shared}/WithUtils.js +0 -0
  257. /package/{build/_shared → _shared}/hooks/useIsLandscape.d.ts +0 -0
  258. /package/{build/_shared → _shared}/hooks/useKeyDown.d.ts +0 -0
  259. /package/{build/_shared → _shared}/hooks/useKeyDown.js +0 -0
  260. /package/{build/_shared → _shared}/hooks/useOpenState.d.ts +0 -0
  261. /package/{build/_shared → _shared}/hooks/useOpenState.js +0 -0
  262. /package/{build/_shared → _shared}/hooks/useUtils.js +0 -0
  263. /package/{build/_shared → _shared}/hooks/useViews.d.ts +0 -0
  264. /package/{build/_shared → _shared}/hooks/useViews.js +0 -0
  265. /package/{build/_shared → _shared}/icons/ArrowLeftIcon.d.ts +0 -0
  266. /package/{build/_shared → _shared}/icons/ArrowLeftIcon.js +0 -0
  267. /package/{build/_shared → _shared}/icons/ArrowRightIcon.d.ts +0 -0
  268. /package/{build/_shared → _shared}/icons/ArrowRightIcon.js +0 -0
  269. /package/{build/_shared → _shared}/icons/DateRangeIcon.d.ts +0 -0
  270. /package/{build/_shared → _shared}/icons/DateRangeIcon.js +0 -0
  271. /package/{build/_shared → _shared}/icons/KeyboardIcon.d.ts +0 -0
  272. /package/{build/_shared → _shared}/icons/KeyboardIcon.js +0 -0
  273. /package/{build/_shared → _shared}/icons/TimeIcon.d.ts +0 -0
  274. /package/{build/_shared → _shared}/icons/TimeIcon.js +0 -0
  275. /package/{build/constants → constants}/ClockType.d.ts +0 -0
  276. /package/{build/constants → constants}/ClockType.js +0 -0
  277. /package/{build/constants → constants}/dimensions.d.ts +0 -0
  278. /package/{build/constants → constants}/dimensions.js +0 -0
  279. /package/{build/constants → constants}/prop-types.d.ts +0 -0
  280. /package/{build/index.js → index.js} +0 -0
  281. /package/{build/typings → typings}/BasePicker.js +0 -0
  282. /package/{build/typings → typings}/date.d.ts +0 -0
  283. /package/{build/typings → typings}/date.js +0 -0
  284. /package/{build/typings → typings}/extendMui.d.ts +0 -0
  285. /package/{build/typings → typings}/extendMui.js +0 -0
  286. /package/{build/typings → typings}/overrides.js +0 -0
  287. /package/{build/views → views}/Calendar/Calendar.d.ts +0 -0
  288. /package/{build/views → views}/Calendar/CalendarHeader.d.ts +0 -0
  289. /package/{build/views → views}/Calendar/Day.d.ts +0 -0
  290. /package/{build/views → views}/Calendar/Day.js +0 -0
  291. /package/{build/views → views}/Calendar/DayWrapper.d.ts +0 -0
  292. /package/{build/views → views}/Calendar/DayWrapper.js +0 -0
  293. /package/{build/views → views}/Calendar/SlideTransition.d.ts +0 -0
  294. /package/{build/views → views}/Calendar/SlideTransition.js +0 -0
  295. /package/{build/views → views}/Clock/ClockNumber.d.ts +0 -0
  296. /package/{build/views → views}/Clock/ClockNumber.js +0 -0
  297. /package/{build/views → views}/Clock/ClockNumbers.js +0 -0
  298. /package/{build/views → views}/Clock/ClockPointer.js +0 -0
  299. /package/{build/views → views}/Clock/ClockView.d.ts +0 -0
  300. /package/{build/views → views}/Month/Month.d.ts +0 -0
  301. /package/{build/views → views}/Month/Month.js +0 -0
  302. /package/{build/views → views}/Month/MonthView.d.ts +0 -0
  303. /package/{build/views → views}/Year/Year.d.ts +0 -0
  304. /package/{build/views → views}/Year/Year.js +0 -0
  305. /package/{build/views → views}/Year/YearView.d.ts +0 -0
  306. /package/{build/wrappers → wrappers}/InlineWrapper.d.ts +0 -0
  307. /package/{build/wrappers → wrappers}/InlineWrapper.js +0 -0
  308. /package/{build/wrappers → wrappers}/ModalWrapper.d.ts +0 -0
  309. /package/{build/wrappers → wrappers}/ModalWrapper.js +0 -0
  310. /package/{build/wrappers → wrappers}/StaticWrapper.d.ts +0 -0
  311. /package/{build/wrappers → wrappers}/StaticWrapper.js +0 -0
  312. /package/{build/wrappers → wrappers}/Wrapper.d.ts +0 -0
  313. /package/{build/wrappers → wrappers}/Wrapper.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"material-ui-pickers.js","sources":["../../src/MuiPickersUtilsProvider.tsx","../../src/_shared/hooks/useUtils.ts","../../src/_shared/ToolbarText.tsx","../../src/_shared/ToolbarButton.tsx","../../src/_shared/PickerToolbar.tsx","../../src/_helpers/utils.ts","../../src/_helpers/date-utils.ts","../../src/DatePicker/DatePickerToolbar.tsx","../../src/constants/prop-types.ts","../../src/views/Calendar/Day.tsx","../../src/views/Calendar/DayWrapper.tsx","../../src/views/Calendar/SlideTransition.tsx","../../src/_shared/icons/ArrowLeftIcon.tsx","../../src/_shared/icons/ArrowRightIcon.tsx","../../src/views/Calendar/CalendarHeader.tsx","../../src/_shared/hooks/useKeyDown.ts","../../src/_shared/WithUtils.tsx","../../src/views/Calendar/Calendar.tsx","../../src/_shared/hooks/useViews.tsx","../../src/views/Year/Year.tsx","../../src/constants/dimensions.ts","../../src/wrappers/StaticWrapper.tsx","../../src/_shared/ModalDialog.tsx","../../src/wrappers/ModalWrapper.tsx","../../src/wrappers/InlineWrapper.tsx","../../src/wrappers/Wrapper.tsx","../../src/views/Year/YearView.tsx","../../src/constants/ClockType.ts","../../src/views/Clock/ClockPointer.tsx","../../src/_helpers/time-utils.ts","../../src/views/Clock/Clock.tsx","../../src/views/Clock/ClockNumber.tsx","../../src/views/Clock/ClockNumbers.tsx","../../src/views/Clock/ClockView.tsx","../../src/views/Month/Month.tsx","../../src/views/Month/MonthView.tsx","../../src/_shared/hooks/useIsLandscape.tsx","../../src/Picker/Picker.tsx","../../src/_shared/hooks/useOpenState.ts","../../src/_helpers/text-field-helper.ts","../../src/_shared/hooks/usePickerState.ts","../../src/_shared/PureDateInput.tsx","../../src/Picker/WrappedPurePicker.tsx","../../src/_shared/icons/KeyboardIcon.tsx","../../src/_shared/KeyboardDateInput.tsx","../../src/_shared/hooks/useKeyboardPickerState.ts","../../src/Picker/WrappedKeyboardPicker.tsx","../../src/DatePicker/DatePicker.tsx","../../src/TimePicker/TimePickerToolbar.tsx","../../src/TimePicker/TimePicker.tsx","../../src/_shared/icons/TimeIcon.tsx","../../src/_shared/icons/DateRangeIcon.tsx","../../src/DateTimePicker/DateTimePickerTabs.tsx","../../src/DateTimePicker/DateTimePickerToolbar.tsx","../../src/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport { IUtils } from '@date-io/core/IUtils';\r\nimport { MaterialUiPickersDate } from './typings/date';\r\n\r\nexport const MuiPickersContext = React.createContext<IUtils<MaterialUiPickersDate> | null>(null);\r\n\r\nexport interface MuiPickersUtilsProviderProps {\r\n utils: any;\r\n children: React.ReactNode;\r\n locale?: any;\r\n libInstance?: any;\r\n}\r\n\r\nexport const MuiPickersUtilsProvider: React.FC<MuiPickersUtilsProviderProps> = ({\r\n utils: Utils,\r\n children,\r\n locale,\r\n libInstance,\r\n}) => {\r\n const utils = React.useMemo(() => new Utils({ locale, moment: libInstance }), [\r\n Utils,\r\n libInstance,\r\n locale,\r\n ]);\r\n\r\n return <MuiPickersContext.Provider value={utils} children={children} />;\r\n};\r\n\r\nMuiPickersUtilsProvider.propTypes = {\r\n utils: PropTypes.func.isRequired,\r\n locale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\r\n children: PropTypes.oneOfType([\r\n PropTypes.element.isRequired,\r\n PropTypes.arrayOf(PropTypes.element.isRequired),\r\n ]).isRequired,\r\n};\r\n\r\nexport default MuiPickersUtilsProvider;\r\n","import { useContext } from 'react';\r\nimport { IUtils } from '@date-io/core/IUtils';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\nimport { MuiPickersContext } from '../../MuiPickersUtilsProvider';\r\n\r\nexport const checkUtils = (utils: IUtils<MaterialUiPickersDate> | null | undefined) => {\r\n if (!utils) {\r\n // tslint:disable-next-line\r\n throw new Error(\r\n 'Can not find utils in context. You either a) forgot to wrap your component tree in MuiPickersUtilsProvider; or b) mixed named and direct file imports. Recommendation: use named imports from the module index.'\r\n );\r\n }\r\n};\r\n\r\nexport function useUtils() {\r\n const utils = useContext(MuiPickersContext);\r\n checkUtils(utils);\r\n\r\n return utils!;\r\n}\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport Typography, { TypographyProps } from '@material-ui/core/Typography';\r\nimport { ExtendMui } from '../typings/extendMui';\r\nimport { makeStyles, fade } from '@material-ui/core/styles';\r\n\r\nexport interface ToolbarTextProps extends ExtendMui<TypographyProps> {\r\n selected?: boolean;\r\n label: string;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n theme => {\r\n const textColor =\r\n theme.palette.type === 'light'\r\n ? theme.palette.primary.contrastText\r\n : theme.palette.getContrastText(theme.palette.background.default);\r\n\r\n return {\r\n toolbarTxt: {\r\n color: fade(textColor, 0.54),\r\n },\r\n toolbarBtnSelected: {\r\n color: textColor,\r\n },\r\n };\r\n },\r\n { name: 'MuiPickersToolbarText' }\r\n);\r\n\r\nconst ToolbarText: React.FunctionComponent<ToolbarTextProps> = ({\r\n selected,\r\n label,\r\n className = null,\r\n ...other\r\n}) => {\r\n const classes = useStyles();\r\n return (\r\n <Typography\r\n children={label}\r\n className={clsx(classes.toolbarTxt, className, {\r\n [classes.toolbarBtnSelected]: selected,\r\n })}\r\n {...other}\r\n />\r\n );\r\n};\r\n\r\nexport default ToolbarText;\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport ToolbarText from './ToolbarText';\r\nimport Button, { ButtonProps } from '@material-ui/core/Button';\r\nimport { ExtendMui } from '../typings/extendMui';\r\nimport { TypographyProps } from '@material-ui/core/Typography';\r\nimport { createStyles, withStyles, WithStyles } from '@material-ui/core/styles';\r\n\r\nexport interface ToolbarButtonProps\r\n extends ExtendMui<ButtonProps, 'variant'>,\r\n WithStyles<typeof styles> {\r\n variant: TypographyProps['variant'];\r\n selected: boolean;\r\n label: string;\r\n align?: TypographyProps['align'];\r\n typographyClassName?: string;\r\n}\r\n\r\nconst ToolbarButton: React.FunctionComponent<ToolbarButtonProps> = ({\r\n classes,\r\n className = null,\r\n label,\r\n selected,\r\n variant,\r\n align,\r\n typographyClassName,\r\n ...other\r\n}) => {\r\n return (\r\n <Button variant=\"text\" className={clsx(classes.toolbarBtn, className)} {...other}>\r\n <ToolbarText\r\n align={align}\r\n className={typographyClassName}\r\n variant={variant}\r\n label={label}\r\n selected={selected}\r\n />\r\n </Button>\r\n );\r\n};\r\n\r\n(ToolbarButton as any).propTypes = {\r\n selected: PropTypes.bool.isRequired,\r\n label: PropTypes.string.isRequired,\r\n classes: PropTypes.any.isRequired,\r\n className: PropTypes.string,\r\n innerRef: PropTypes.any,\r\n};\r\n\r\nToolbarButton.defaultProps = {\r\n className: '',\r\n};\r\n\r\nexport const styles = createStyles({\r\n toolbarBtn: {\r\n padding: 0,\r\n minWidth: '16px',\r\n textTransform: 'none',\r\n },\r\n});\r\n\r\nexport default withStyles(styles, { name: 'MuiPickersToolbarButton' })(ToolbarButton);\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport Toolbar, { ToolbarProps } from '@material-ui/core/Toolbar';\r\nimport { ExtendMui } from '../typings/extendMui';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nexport const useStyles = makeStyles(\r\n theme => ({\r\n toolbar: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n height: 100,\r\n backgroundColor:\r\n theme.palette.type === 'light'\r\n ? theme.palette.primary.main\r\n : theme.palette.background.default,\r\n },\r\n toolbarLandscape: {\r\n height: 'auto',\r\n maxWidth: 150,\r\n padding: 8,\r\n justifyContent: 'flex-start',\r\n },\r\n }),\r\n { name: 'MuiPickersToolbar' }\r\n);\r\n\r\ninterface PickerToolbarProps extends ExtendMui<ToolbarProps> {\r\n isLandscape: boolean;\r\n}\r\n\r\nconst PickerToolbar: React.SFC<PickerToolbarProps> = ({\r\n children,\r\n isLandscape,\r\n className = null,\r\n ...other\r\n}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n <Toolbar\r\n className={clsx(classes.toolbar, { [classes.toolbarLandscape]: isLandscape }, className)}\r\n {...other}\r\n >\r\n {children}\r\n </Toolbar>\r\n );\r\n};\r\n\r\nexport default PickerToolbar;\r\n","/** Use it instead of .includes method for IE support */\r\nexport function arrayIncludes<T>(array: T[], itemOrItems: T | T[]) {\r\n if (Array.isArray(itemOrItems)) {\r\n return itemOrItems.every(item => array.indexOf(item) !== -1);\r\n }\r\n\r\n return array.indexOf(itemOrItems) !== -1;\r\n}\r\n","import { arrayIncludes } from './utils';\r\nimport { IUtils } from '@date-io/core/IUtils';\r\nimport { MaterialUiPickersDate } from '../typings/date';\r\nimport { DatePickerView } from '../DatePicker/DatePicker';\r\n\r\ninterface FindClosestDateParams {\r\n date: MaterialUiPickersDate;\r\n utils: IUtils<MaterialUiPickersDate>;\r\n minDate: MaterialUiPickersDate;\r\n maxDate: MaterialUiPickersDate;\r\n disableFuture: boolean;\r\n disablePast: boolean;\r\n shouldDisableDate: (date: MaterialUiPickersDate) => boolean;\r\n}\r\n\r\nexport const findClosestEnabledDate = ({\r\n date,\r\n utils,\r\n minDate,\r\n maxDate,\r\n disableFuture,\r\n disablePast,\r\n shouldDisableDate,\r\n}: FindClosestDateParams) => {\r\n const today = utils.startOfDay(utils.date());\r\n\r\n if (disablePast && utils.isBefore(minDate!, today)) {\r\n minDate = today;\r\n }\r\n\r\n if (disableFuture && utils.isAfter(maxDate, today)) {\r\n maxDate = today;\r\n }\r\n\r\n let forward = date;\r\n let backward = date;\r\n if (utils.isBefore(date, minDate)) {\r\n forward = utils.date(minDate);\r\n backward = null;\r\n }\r\n\r\n if (utils.isAfter(date, maxDate)) {\r\n if (backward) {\r\n backward = utils.date(maxDate);\r\n }\r\n\r\n forward = null;\r\n }\r\n\r\n while (forward || backward) {\r\n if (forward && utils.isAfter(forward, maxDate)) {\r\n forward = null;\r\n }\r\n if (backward && utils.isBefore(backward, minDate)) {\r\n backward = null;\r\n }\r\n\r\n if (forward) {\r\n if (!shouldDisableDate(forward)) {\r\n return forward;\r\n }\r\n forward = utils.addDays(forward, 1);\r\n }\r\n\r\n if (backward) {\r\n if (!shouldDisableDate(backward)) {\r\n return backward;\r\n }\r\n backward = utils.addDays(backward, -1);\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const isYearOnlyView = (views: DatePickerView[]) =>\r\n views.length === 1 && views[0] === 'year';\r\n\r\nexport const isYearAndMonthViews = (views: DatePickerView[]) =>\r\n views.length === 2 && arrayIncludes(views, 'month') && arrayIncludes(views, 'year');\r\n\r\nexport const getFormatByViews = (views: DatePickerView[], utils: IUtils<MaterialUiPickersDate>) => {\r\n if (isYearOnlyView(views)) {\r\n return utils.yearFormat;\r\n }\r\n\r\n if (isYearAndMonthViews(views)) {\r\n return utils.yearMonthFormat;\r\n }\r\n\r\n return utils.dateFormat;\r\n};\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport ToolbarButton from '../_shared/ToolbarButton';\r\nimport PickerToolbar from '../_shared/PickerToolbar';\r\nimport { useUtils } from '../_shared/hooks/useUtils';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { ToolbarComponentProps } from '../Picker/Picker';\r\nimport { isYearAndMonthViews, isYearOnlyView } from '../_helpers/date-utils';\r\n\r\nexport const useStyles = makeStyles(\r\n {\r\n toolbar: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n },\r\n toolbarLandscape: {\r\n padding: 16,\r\n },\r\n dateLandscape: {\r\n marginRight: 16,\r\n },\r\n },\r\n { name: 'MuiPickersDatePickerRoot' }\r\n);\r\n\r\nexport const DatePickerToolbar: React.FC<ToolbarComponentProps> = ({\r\n date,\r\n views,\r\n setOpenView,\r\n isLandscape,\r\n openView,\r\n}) => {\r\n const utils = useUtils();\r\n const classes = useStyles();\r\n\r\n const isYearOnly = React.useMemo(() => isYearOnlyView(views as any), [views]);\r\n const isYearAndMonth = React.useMemo(() => isYearAndMonthViews(views as any), [views]);\r\n\r\n return (\r\n <PickerToolbar\r\n isLandscape={isLandscape}\r\n className={clsx({\r\n [classes.toolbar]: !isYearOnly,\r\n [classes.toolbarLandscape]: isLandscape,\r\n })}\r\n >\r\n <ToolbarButton\r\n variant={isYearOnly ? 'h3' : 'subtitle1'}\r\n onClick={() => setOpenView('year')}\r\n selected={openView === 'year'}\r\n label={utils.getYearText(date)}\r\n />\r\n\r\n {!isYearOnly && !isYearAndMonth && (\r\n <ToolbarButton\r\n variant=\"h4\"\r\n selected={openView === 'date'}\r\n onClick={() => setOpenView('date')}\r\n align={isLandscape ? 'left' : 'center'}\r\n label={utils.getDatePickerHeaderText(date)}\r\n className={clsx({ [classes.dateLandscape]: isLandscape })}\r\n />\r\n )}\r\n\r\n {isYearAndMonth && (\r\n <ToolbarButton\r\n variant=\"h4\"\r\n onClick={() => setOpenView('month')}\r\n selected={openView === 'month'}\r\n label={utils.getMonthText(date)}\r\n />\r\n )}\r\n </PickerToolbar>\r\n );\r\n};\r\n","import * as PropTypes from 'prop-types';\r\nimport { BaseTimePickerProps } from '../TimePicker/TimePicker';\r\nimport { BaseDatePickerProps } from '../DatePicker/DatePicker';\r\n\r\nconst date = PropTypes.oneOfType([\r\n PropTypes.object,\r\n PropTypes.string,\r\n PropTypes.number,\r\n PropTypes.instanceOf(Date),\r\n]);\r\n\r\nconst datePickerView = PropTypes.oneOf(['year', 'month', 'day']);\r\n\r\nexport type ParsableDate = object | string | number | Date | null | undefined;\r\n\r\nexport const DomainPropTypes = { date, datePickerView };\r\n\r\n/* eslint-disable @typescript-eslint/no-object-literal-type-assertion */\r\nexport const timePickerDefaultProps = {\r\n ampm: true,\r\n invalidDateMessage: 'Invalid Time Format',\r\n} as BaseTimePickerProps;\r\n\r\nexport const datePickerDefaultProps = {\r\n minDate: new Date('1900-01-01'),\r\n maxDate: new Date('2100-01-01'),\r\n invalidDateMessage: 'Invalid Date Format',\r\n minDateMessage: 'Date should not be before minimal date',\r\n maxDateMessage: 'Date should not be after maximal date',\r\n allowKeyboardControl: true,\r\n} as BaseDatePickerProps;\r\n\r\nexport const dateTimePickerDefaultProps = {\r\n ...timePickerDefaultProps,\r\n ...datePickerDefaultProps,\r\n showTabs: true,\r\n} as BaseTimePickerProps & BaseDatePickerProps;\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nexport const useStyles = makeStyles(\r\n theme => ({\r\n day: {\r\n width: 36,\r\n height: 36,\r\n fontSize: theme.typography.caption.fontSize,\r\n margin: '0 2px',\r\n color: theme.palette.text.primary,\r\n fontWeight: theme.typography.fontWeightMedium,\r\n padding: 0,\r\n },\r\n hidden: {\r\n opacity: 0,\r\n pointerEvents: 'none',\r\n },\r\n current: {\r\n color: theme.palette.primary.main,\r\n fontWeight: 600,\r\n },\r\n daySelected: {\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightMedium,\r\n '&:hover': {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n },\r\n dayDisabled: {\r\n pointerEvents: 'none',\r\n color: theme.palette.text.hint,\r\n },\r\n }),\r\n { name: 'MuiPickersDay' }\r\n);\r\n\r\nexport interface DayProps {\r\n /** Day text */\r\n children: React.ReactNode;\r\n /** Is today */\r\n current?: boolean;\r\n /** Disabled? */\r\n disabled?: boolean;\r\n /** Hidden? */\r\n hidden?: boolean;\r\n /** Selected? */\r\n selected?: boolean;\r\n}\r\n\r\nexport const Day: React.FC<DayProps> = ({\r\n children,\r\n disabled,\r\n hidden,\r\n current,\r\n selected,\r\n ...other\r\n}) => {\r\n const classes = useStyles();\r\n const className = clsx(classes.day, {\r\n [classes.hidden]: hidden,\r\n [classes.current]: current,\r\n [classes.daySelected]: selected,\r\n [classes.dayDisabled]: disabled,\r\n });\r\n\r\n return (\r\n <IconButton className={className} tabIndex={hidden || disabled ? -1 : 0} {...other}>\r\n <Typography variant=\"body2\" color=\"inherit\">\r\n {children}\r\n </Typography>\r\n </IconButton>\r\n );\r\n};\r\n\r\nDay.displayName = 'Day';\r\n\r\nDay.propTypes = {\r\n current: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n hidden: PropTypes.bool,\r\n selected: PropTypes.bool,\r\n};\r\n\r\nDay.defaultProps = {\r\n disabled: false,\r\n hidden: false,\r\n current: false,\r\n selected: false,\r\n};\r\n\r\nexport default Day;\r\n","import * as React from 'react';\r\n\r\nexport interface DayWrapperProps {\r\n value: any;\r\n children: React.ReactNode;\r\n dayInCurrentMonth?: boolean;\r\n disabled?: boolean;\r\n onSelect: (value: any) => void;\r\n}\r\n\r\nconst DayWrapper: React.FC<DayWrapperProps> = ({\r\n children,\r\n value,\r\n disabled,\r\n onSelect,\r\n dayInCurrentMonth,\r\n ...other\r\n}) => {\r\n const handleClick = React.useCallback(() => onSelect(value), [onSelect, value]);\r\n\r\n return (\r\n <div\r\n role=\"presentation\"\r\n onClick={dayInCurrentMonth && !disabled ? handleClick : undefined}\r\n onKeyPress={dayInCurrentMonth && !disabled ? handleClick : undefined}\r\n {...other}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default DayWrapper;\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\r\n\r\nexport type SlideDirection = 'right' | 'left';\r\ninterface SlideTransitionProps {\r\n transKey: React.Key;\r\n className?: string;\r\n slideDirection: SlideDirection;\r\n children: React.ReactChild;\r\n}\r\n\r\nconst animationDuration = 350;\r\nexport const useStyles = makeStyles(\r\n theme => {\r\n const slideTransition = theme.transitions.create('transform', {\r\n duration: animationDuration,\r\n easing: 'cubic-bezier(0.35, 0.8, 0.4, 1)',\r\n });\r\n\r\n return {\r\n transitionContainer: {\r\n display: 'block',\r\n position: 'relative',\r\n '& > *': {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n left: 0,\r\n },\r\n },\r\n 'slideEnter-left': {\r\n willChange: 'transform',\r\n transform: 'translate(100%)',\r\n },\r\n 'slideEnter-right': {\r\n willChange: 'transform',\r\n transform: 'translate(-100%)',\r\n },\r\n slideEnterActive: {\r\n transform: 'translate(0%)',\r\n transition: slideTransition,\r\n },\r\n slideExit: {\r\n transform: 'translate(0%)',\r\n },\r\n 'slideExitActiveLeft-left': {\r\n willChange: 'transform',\r\n transform: 'translate(-200%)',\r\n transition: slideTransition,\r\n },\r\n 'slideExitActiveLeft-right': {\r\n willChange: 'transform',\r\n transform: 'translate(200%)',\r\n transition: slideTransition,\r\n },\r\n };\r\n },\r\n { name: 'MuiPickersSlideTransition' }\r\n);\r\n\r\nconst SlideTransition: React.SFC<SlideTransitionProps> = ({\r\n children,\r\n transKey,\r\n slideDirection,\r\n className = null,\r\n}) => {\r\n const classes = useStyles();\r\n const transitionClasses = {\r\n exit: classes.slideExit,\r\n enterActive: classes.slideEnterActive,\r\n // @ts-ignore\r\n enter: classes['slideEnter-' + slideDirection],\r\n // @ts-ignore\r\n exitActive: classes['slideExitActiveLeft-' + slideDirection],\r\n };\r\n\r\n return (\r\n <TransitionGroup\r\n className={clsx(classes.transitionContainer, className)}\r\n childFactory={element =>\r\n React.cloneElement(element, {\r\n classNames: transitionClasses,\r\n })\r\n }\r\n >\r\n <CSSTransition\r\n mountOnEnter\r\n unmountOnExit\r\n key={transKey + slideDirection}\r\n timeout={animationDuration}\r\n classNames={transitionClasses}\r\n children={children}\r\n />\r\n </TransitionGroup>\r\n );\r\n};\r\n\r\nexport default SlideTransition;\r\n","import React from 'react';\r\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\r\n\r\nexport const ArrowLeftIcon: React.SFC<SvgIconProps> = props => {\r\n return (\r\n <SvgIcon {...props}>\r\n <path d=\"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z\" />\r\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\" />\r\n </SvgIcon>\r\n );\r\n};\r\n","import React from 'react';\r\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\r\n\r\nexport const ArrowRightIcon: React.SFC<SvgIconProps> = props => {\r\n return (\r\n <SvgIcon {...props}>\r\n <path d=\"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z\" />\r\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\" />\r\n </SvgIcon>\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport SlideTransition, { SlideDirection } from './SlideTransition';\r\nimport IconButton, { IconButtonProps } from '@material-ui/core/IconButton';\r\nimport { DateType } from '@date-io/type';\r\nimport { useUtils } from '../../_shared/hooks/useUtils';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport { ArrowLeftIcon } from '../../_shared/icons/ArrowLeftIcon';\r\nimport { ArrowRightIcon } from '../../_shared/icons/ArrowRightIcon';\r\n\r\nexport interface CalendarHeaderProps {\r\n currentMonth: DateType;\r\n leftArrowIcon?: React.ReactNode;\r\n rightArrowIcon?: React.ReactNode;\r\n leftArrowButtonProps?: Partial<IconButtonProps>;\r\n rightArrowButtonProps?: Partial<IconButtonProps>;\r\n disablePrevMonth?: boolean;\r\n disableNextMonth?: boolean;\r\n slideDirection: SlideDirection;\r\n onMonthChange: (date: MaterialUiPickersDate, direction: SlideDirection) => void | Promise<void>;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n theme => ({\r\n switchHeader: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(0.5),\r\n marginBottom: theme.spacing(1),\r\n },\r\n transitionContainer: {\r\n width: '100%',\r\n overflow: 'hidden',\r\n height: 23,\r\n },\r\n iconButton: {\r\n zIndex: 1,\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n daysHeader: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n maxHeight: 16,\r\n },\r\n dayLabel: {\r\n width: 36,\r\n margin: '0 2px',\r\n textAlign: 'center',\r\n color: theme.palette.text.hint,\r\n },\r\n }),\r\n { name: 'MuiPickersCalendarHeader' }\r\n);\r\n\r\nexport const CalendarHeader: React.SFC<CalendarHeaderProps> = ({\r\n currentMonth,\r\n onMonthChange,\r\n leftArrowIcon,\r\n rightArrowIcon,\r\n leftArrowButtonProps,\r\n rightArrowButtonProps,\r\n disablePrevMonth,\r\n disableNextMonth,\r\n slideDirection,\r\n}) => {\r\n const utils = useUtils();\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const rtl = theme.direction === 'rtl';\r\n\r\n const selectNextMonth = () => onMonthChange(utils.getNextMonth(currentMonth), 'left');\r\n const selectPreviousMonth = () => onMonthChange(utils.getPreviousMonth(currentMonth), 'right');\r\n\r\n return (\r\n <div>\r\n <div className={classes.switchHeader}>\r\n <IconButton\r\n {...leftArrowButtonProps}\r\n disabled={disablePrevMonth}\r\n onClick={selectPreviousMonth}\r\n className={classes.iconButton}\r\n >\r\n {rtl ? rightArrowIcon : leftArrowIcon}\r\n </IconButton>\r\n\r\n <SlideTransition\r\n slideDirection={slideDirection}\r\n transKey={currentMonth.toString()}\r\n className={classes.transitionContainer}\r\n >\r\n <Typography align=\"center\" variant=\"body1\">\r\n {utils.getCalendarHeaderText(currentMonth)}\r\n </Typography>\r\n </SlideTransition>\r\n\r\n <IconButton\r\n {...rightArrowButtonProps}\r\n disabled={disableNextMonth}\r\n onClick={selectNextMonth}\r\n className={classes.iconButton}\r\n >\r\n {rtl ? leftArrowIcon : rightArrowIcon}\r\n </IconButton>\r\n </div>\r\n\r\n <div className={classes.daysHeader}>\r\n {utils.getWeekdays().map((day, index) => (\r\n <Typography\r\n key={index} // eslint-disable-line react/no-array-index-key\r\n variant=\"caption\"\r\n className={classes.dayLabel}\r\n >\r\n {day}\r\n </Typography>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nCalendarHeader.displayName = 'CalendarHeader';\r\n\r\nCalendarHeader.propTypes = {\r\n leftArrowIcon: PropTypes.node,\r\n rightArrowIcon: PropTypes.node,\r\n disablePrevMonth: PropTypes.bool,\r\n disableNextMonth: PropTypes.bool,\r\n};\r\n\r\nCalendarHeader.defaultProps = {\r\n leftArrowIcon: <ArrowLeftIcon />,\r\n rightArrowIcon: <ArrowRightIcon />,\r\n disablePrevMonth: false,\r\n disableNextMonth: false,\r\n};\r\n\r\nexport default CalendarHeader;\r\n","import * as React from 'react';\r\n\r\nexport const useIsomorphicEffect =\r\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\r\n\r\ntype KeyHandlers = Record<KeyboardEvent['key'], () => void>;\r\n\r\nexport function runKeyHandler(e: KeyboardEvent, keyHandlers: KeyHandlers) {\r\n const handler = keyHandlers[e.key];\r\n if (handler) {\r\n handler();\r\n // if event was handled prevent other side effects (e.g. page scroll)\r\n e.preventDefault();\r\n }\r\n}\r\n\r\nexport function useKeyDown(active: boolean, keyHandlers: KeyHandlers) {\r\n const keyHandlersRef = React.useRef(keyHandlers);\r\n useIsomorphicEffect(() => {\r\n keyHandlersRef.current = keyHandlers;\r\n });\r\n\r\n React.useEffect(() => {\r\n if (active) {\r\n const handleKeyDown = (event: KeyboardEvent) => {\r\n runKeyHandler(event, keyHandlers);\r\n };\r\n window.addEventListener('keydown', handleKeyDown);\r\n return () => {\r\n window.removeEventListener('keydown', handleKeyDown);\r\n };\r\n }\r\n }, [active, keyHandlers]);\r\n}\r\n","import * as React from 'react';\r\nimport { Omit } from '@material-ui/core';\r\nimport { useUtils } from './hooks/useUtils';\r\nimport { IUtils } from '@date-io/core/IUtils';\r\nimport { MaterialUiPickersDate } from '../typings/date';\r\n\r\nexport interface WithUtilsProps {\r\n utils: IUtils<MaterialUiPickersDate>;\r\n}\r\n\r\nexport const withUtils = () => <P extends WithUtilsProps>(Component: React.ComponentType<P>) => {\r\n const WithUtils: React.SFC<Omit<P, keyof WithUtilsProps>> = props => {\r\n const utils = useUtils();\r\n return <Component utils={utils} {...(props as any)} />;\r\n };\r\n\r\n WithUtils.displayName = `WithUtils(${Component.displayName || Component.name})`;\r\n return WithUtils;\r\n};\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport Day from './Day';\r\nimport DayWrapper from './DayWrapper';\r\nimport CalendarHeader from './CalendarHeader';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport SlideTransition, { SlideDirection } from './SlideTransition';\r\nimport { Theme } from '@material-ui/core';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\nimport { runKeyHandler } from '../../_shared/hooks/useKeyDown';\r\nimport { IconButtonProps } from '@material-ui/core/IconButton';\r\nimport { withStyles, WithStyles } from '@material-ui/core/styles';\r\nimport { findClosestEnabledDate } from '../../_helpers/date-utils';\r\nimport { withUtils, WithUtilsProps } from '../../_shared/WithUtils';\r\n\r\nexport interface OutterCalendarProps {\r\n /** Left arrow icon */\r\n leftArrowIcon?: React.ReactNode;\r\n /** Right arrow icon */\r\n rightArrowIcon?: React.ReactNode;\r\n /** Custom renderer for day */\r\n renderDay?: (\r\n day: MaterialUiPickersDate,\r\n selectedDate: MaterialUiPickersDate,\r\n dayInCurrentMonth: boolean,\r\n dayComponent: JSX.Element\r\n ) => JSX.Element;\r\n /**\r\n * Enables keyboard listener for moving between days in calendar\r\n * @default true\r\n */\r\n allowKeyboardControl?: boolean;\r\n /**\r\n * Props to pass to left arrow button\r\n * @type {Partial<IconButtonProps>}\r\n */\r\n leftArrowButtonProps?: Partial<IconButtonProps>;\r\n /**\r\n * Props to pass to right arrow button\r\n * @type {Partial<IconButtonProps>}\r\n */\r\n rightArrowButtonProps?: Partial<IconButtonProps>;\r\n /** Disable specific date */\r\n shouldDisableDate?: (day: MaterialUiPickersDate) => boolean;\r\n /** Callback firing on month change. Return promise to render spinner till it will not be resolved */\r\n onMonthChange?: (date: MaterialUiPickersDate) => void | Promise<void>;\r\n /** Custom loading indicator */\r\n loadingIndicator?: JSX.Element;\r\n}\r\n\r\nexport interface CalendarProps\r\n extends OutterCalendarProps,\r\n WithUtilsProps,\r\n WithStyles<typeof styles, true> {\r\n /** Calendar Date */\r\n date: MaterialUiPickersDate;\r\n /** Calendar onChange */\r\n onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\r\n /** Min date */\r\n minDate?: MaterialUiPickersDate;\r\n /** Max date */\r\n maxDate?: MaterialUiPickersDate;\r\n /** Disable past dates */\r\n disablePast?: boolean;\r\n /** Disable future dates */\r\n disableFuture?: boolean;\r\n}\r\n\r\nexport interface CalendarState {\r\n slideDirection: SlideDirection;\r\n currentMonth: MaterialUiPickersDate;\r\n lastDate?: MaterialUiPickersDate;\r\n loadingQueue: number;\r\n}\r\n\r\nconst KeyDownListener = ({ onKeyDown }: { onKeyDown: (e: KeyboardEvent) => void }) => {\r\n React.useEffect(() => {\r\n window.addEventListener('keydown', onKeyDown);\r\n return () => {\r\n window.removeEventListener('keydown', onKeyDown);\r\n };\r\n }, [onKeyDown]);\r\n\r\n return null;\r\n};\r\n\r\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\r\n static propTypes: any = {\r\n renderDay: PropTypes.func,\r\n shouldDisableDate: PropTypes.func,\r\n allowKeyboardControl: PropTypes.bool,\r\n };\r\n\r\n static defaultProps: Partial<CalendarProps> = {\r\n minDate: new Date('1900-01-01'),\r\n maxDate: new Date('2100-01-01'),\r\n disablePast: false,\r\n disableFuture: false,\r\n allowKeyboardControl: true,\r\n };\r\n\r\n static getDerivedStateFromProps(nextProps: CalendarProps, state: CalendarState) {\r\n const { utils, date: nextDate } = nextProps;\r\n\r\n if (!utils.isEqual(nextDate, state.lastDate)) {\r\n const nextMonth = utils.getMonth(nextDate);\r\n const lastDate = state.lastDate || nextDate;\r\n const lastMonth = utils.getMonth(lastDate);\r\n\r\n return {\r\n lastDate: nextDate,\r\n currentMonth: nextProps.utils.startOfMonth(nextDate),\r\n // prettier-ignore\r\n slideDirection: nextMonth === lastMonth\r\n ? state.slideDirection\r\n : utils.isAfterDay(nextDate, lastDate)\r\n ? 'left'\r\n : 'right'\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n state: CalendarState = {\r\n slideDirection: 'left',\r\n currentMonth: this.props.utils.startOfMonth(this.props.date),\r\n loadingQueue: 0,\r\n };\r\n\r\n componentDidMount() {\r\n const { date, minDate, maxDate, utils, disablePast, disableFuture } = this.props;\r\n\r\n if (this.shouldDisableDate(date)) {\r\n const closestEnabledDate = findClosestEnabledDate({\r\n date,\r\n utils,\r\n minDate: utils.date(minDate),\r\n maxDate: utils.date(maxDate),\r\n disablePast: Boolean(disablePast),\r\n disableFuture: Boolean(disableFuture),\r\n shouldDisableDate: this.shouldDisableDate,\r\n });\r\n\r\n this.handleDaySelect(closestEnabledDate, false);\r\n }\r\n }\r\n\r\n private pushToLoadingQueue = () => {\r\n const loadingQueue = this.state.loadingQueue + 1;\r\n this.setState({ loadingQueue });\r\n };\r\n\r\n private popFromLoadingQueue = () => {\r\n let loadingQueue = this.state.loadingQueue;\r\n loadingQueue = loadingQueue <= 0 ? 0 : loadingQueue - 1;\r\n this.setState({ loadingQueue });\r\n };\r\n\r\n handleChangeMonth = (newMonth: MaterialUiPickersDate, slideDirection: SlideDirection) => {\r\n this.setState({ currentMonth: newMonth, slideDirection });\r\n\r\n if (this.props.onMonthChange) {\r\n const returnVal = this.props.onMonthChange(newMonth);\r\n if (returnVal) {\r\n this.pushToLoadingQueue();\r\n returnVal.then(() => {\r\n this.popFromLoadingQueue();\r\n });\r\n }\r\n }\r\n };\r\n\r\n validateMinMaxDate = (day: MaterialUiPickersDate) => {\r\n const { minDate, maxDate, utils, disableFuture, disablePast } = this.props;\r\n const now = utils.date();\r\n\r\n return Boolean(\r\n (disableFuture && utils.isAfterDay(day, now)) ||\r\n (disablePast && utils.isBeforeDay(day, now)) ||\r\n (minDate && utils.isBeforeDay(day, utils.date(minDate))) ||\r\n (maxDate && utils.isAfterDay(day, utils.date(maxDate)))\r\n );\r\n };\r\n\r\n shouldDisablePrevMonth = () => {\r\n const { utils, disablePast, minDate } = this.props;\r\n\r\n const now = utils.date();\r\n const firstEnabledMonth = utils.startOfMonth(\r\n disablePast && utils.isAfter(now, utils.date(minDate)) ? now : utils.date(minDate)\r\n );\r\n\r\n return !utils.isBefore(firstEnabledMonth, this.state.currentMonth);\r\n };\r\n\r\n shouldDisableNextMonth = () => {\r\n const { utils, disableFuture, maxDate } = this.props;\r\n\r\n const now = utils.date();\r\n const lastEnabledMonth = utils.startOfMonth(\r\n disableFuture && utils.isBefore(now, utils.date(maxDate)) ? now : utils.date(maxDate)\r\n );\r\n\r\n return !utils.isAfter(lastEnabledMonth, this.state.currentMonth);\r\n };\r\n\r\n shouldDisableDate = (day: MaterialUiPickersDate) => {\r\n const { shouldDisableDate } = this.props;\r\n\r\n return this.validateMinMaxDate(day) || Boolean(shouldDisableDate && shouldDisableDate(day));\r\n };\r\n\r\n handleDaySelect = (day: MaterialUiPickersDate, isFinish = true) => {\r\n const { date, utils } = this.props;\r\n\r\n this.props.onChange(utils.mergeDateAndTime(day, date), isFinish);\r\n };\r\n\r\n moveToDay = (day: MaterialUiPickersDate) => {\r\n const { utils } = this.props;\r\n\r\n if (day && !this.shouldDisableDate(day)) {\r\n if (utils.getMonth(day) !== utils.getMonth(this.state.currentMonth)) {\r\n this.handleChangeMonth(utils.startOfMonth(day), 'left');\r\n }\r\n\r\n this.handleDaySelect(day, false);\r\n }\r\n };\r\n\r\n handleKeyDown = (event: KeyboardEvent) => {\r\n const { theme, date, utils } = this.props;\r\n\r\n runKeyHandler(event, {\r\n ArrowUp: () => this.moveToDay(utils.addDays(date, -7)),\r\n ArrowDown: () => this.moveToDay(utils.addDays(date, 7)),\r\n ArrowLeft: () => this.moveToDay(utils.addDays(date, theme.direction === 'ltr' ? -1 : 1)),\r\n ArrowRight: () => this.moveToDay(utils.addDays(date, theme.direction === 'ltr' ? 1 : -1)),\r\n });\r\n };\r\n\r\n private renderWeeks = () => {\r\n const { utils, classes } = this.props;\r\n const weeks = utils.getWeekArray(this.state.currentMonth);\r\n\r\n return weeks.map(week => (\r\n <div key={`week-${week[0]!.toString()}`} className={classes.week}>\r\n {this.renderDays(week)}\r\n </div>\r\n ));\r\n };\r\n\r\n private renderDays = (week: MaterialUiPickersDate[]) => {\r\n const { date, renderDay, utils } = this.props;\r\n\r\n const now = utils.date();\r\n const selectedDate = utils.startOfDay(date);\r\n const currentMonthNumber = utils.getMonth(this.state.currentMonth);\r\n\r\n return week.map(day => {\r\n const disabled = this.shouldDisableDate(day);\r\n const isDayInCurrentMonth = utils.getMonth(day) === currentMonthNumber;\r\n\r\n let dayComponent = (\r\n <Day\r\n disabled={disabled}\r\n current={utils.isSameDay(day, now)}\r\n hidden={!isDayInCurrentMonth}\r\n selected={utils.isSameDay(selectedDate, day)}\r\n >\r\n {utils.getDayText(day)}\r\n </Day>\r\n );\r\n\r\n if (renderDay) {\r\n dayComponent = renderDay(day, selectedDate, isDayInCurrentMonth, dayComponent);\r\n }\r\n\r\n return (\r\n <DayWrapper\r\n value={day}\r\n key={day!.toString()}\r\n disabled={disabled}\r\n dayInCurrentMonth={isDayInCurrentMonth}\r\n onSelect={this.handleDaySelect}\r\n >\r\n {dayComponent}\r\n </DayWrapper>\r\n );\r\n });\r\n };\r\n\r\n render() {\r\n const { currentMonth, slideDirection } = this.state;\r\n const {\r\n classes,\r\n allowKeyboardControl,\r\n leftArrowButtonProps,\r\n leftArrowIcon,\r\n rightArrowButtonProps,\r\n rightArrowIcon,\r\n loadingIndicator,\r\n } = this.props;\r\n const loadingElement = loadingIndicator ? loadingIndicator : <CircularProgress />;\r\n\r\n return (\r\n <React.Fragment>\r\n {allowKeyboardControl && <KeyDownListener onKeyDown={this.handleKeyDown} />}\r\n\r\n <CalendarHeader\r\n currentMonth={currentMonth!}\r\n slideDirection={slideDirection}\r\n onMonthChange={this.handleChangeMonth}\r\n leftArrowIcon={leftArrowIcon}\r\n leftArrowButtonProps={leftArrowButtonProps}\r\n rightArrowIcon={rightArrowIcon}\r\n rightArrowButtonProps={rightArrowButtonProps}\r\n disablePrevMonth={this.shouldDisablePrevMonth()}\r\n disableNextMonth={this.shouldDisableNextMonth()}\r\n />\r\n\r\n <SlideTransition\r\n slideDirection={slideDirection}\r\n transKey={currentMonth!.toString()}\r\n className={classes.transitionContainer}\r\n >\r\n <>\r\n {(this.state.loadingQueue > 0 && (\r\n <div className={classes.progressContainer}>{loadingElement}</div>\r\n )) || <div>{this.renderWeeks()}</div>}\r\n </>\r\n </SlideTransition>\r\n </React.Fragment>\r\n );\r\n }\r\n}\r\n\r\nexport const styles = (theme: Theme) => ({\r\n transitionContainer: {\r\n minHeight: 36 * 6,\r\n marginTop: theme.spacing(1.5),\r\n },\r\n progressContainer: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n week: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n});\r\n\r\nexport default withStyles(styles, {\r\n name: 'MuiPickersCalendar',\r\n withTheme: true,\r\n})(withUtils()(Calendar));\r\n","import * as React from 'react';\r\nimport { MaterialUiPickersDate } from '../..';\r\nimport { PickerView } from '../../Picker/Picker';\r\nimport { arrayIncludes } from '../../_helpers/utils';\r\n\r\nexport function useViews(\r\n views: PickerView[],\r\n openTo: PickerView,\r\n onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void\r\n) {\r\n const [openView, setOpenView] = React.useState(\r\n openTo && arrayIncludes(views, openTo) ? openTo : views[0]\r\n );\r\n\r\n const handleChangeAndOpenNext = React.useCallback(\r\n (date: MaterialUiPickersDate, isFinish?: boolean) => {\r\n const nextViewToOpen = views[views.indexOf(openView!) + 1];\r\n if (isFinish && nextViewToOpen) {\r\n // do not close picker if needs to show next view\r\n onChange(date, false);\r\n setOpenView(nextViewToOpen);\r\n return;\r\n }\r\n\r\n onChange(date, Boolean(isFinish));\r\n },\r\n [onChange, openView, views]\r\n );\r\n\r\n return { handleChangeAndOpenNext, openView, setOpenView };\r\n}\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nexport interface YearProps {\r\n children: React.ReactNode;\r\n disabled?: boolean;\r\n onSelect: (value: any) => void;\r\n selected?: boolean;\r\n value: any;\r\n forwardedRef?: React.Ref<HTMLElement | null>;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n theme => ({\r\n root: {\r\n height: 40,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n cursor: 'pointer',\r\n outline: 'none',\r\n '&:focus': {\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n },\r\n yearSelected: {\r\n margin: '10px 0',\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n yearDisabled: {\r\n pointerEvents: 'none',\r\n color: theme.palette.text.hint,\r\n },\r\n }),\r\n { name: 'MuiPickersYear' }\r\n);\r\n\r\nexport const Year: React.FC<YearProps> = ({\r\n onSelect,\r\n forwardedRef,\r\n value,\r\n selected,\r\n disabled,\r\n children,\r\n ...other\r\n}) => {\r\n const classes = useStyles();\r\n const handleClick = React.useCallback(() => onSelect(value), [onSelect, value]);\r\n\r\n return (\r\n <Typography\r\n role=\"button\"\r\n component=\"div\"\r\n tabIndex={disabled ? -1 : 0}\r\n onClick={handleClick}\r\n onKeyPress={handleClick}\r\n color={selected ? 'primary' : undefined}\r\n variant={selected ? 'h5' : 'subtitle1'}\r\n children={children}\r\n ref={forwardedRef}\r\n className={clsx(classes.root, {\r\n [classes.yearSelected]: selected,\r\n [classes.yearDisabled]: disabled,\r\n })}\r\n {...other}\r\n />\r\n );\r\n};\r\n\r\nYear.displayName = 'Year';\r\n\r\nexport default React.forwardRef<HTMLElement, YearProps>((props, ref) => (\r\n <Year {...props} forwardedRef={ref} />\r\n));\r\n","export const DIALOG_WIDTH = 310;\r\n\r\nexport const DIALOG_WIDTH_WIDER = 325;\r\n\r\nexport const VIEW_HEIGHT = 305;\r\n","import * as React from 'react';\r\nimport { makeStyles } from '@material-ui/core';\r\nimport { DIALOG_WIDTH } from '../constants/dimensions';\r\n\r\nconst useStyles = makeStyles(\r\n theme => ({\r\n staticWrapperRoot: {\r\n overflow: 'hidden',\r\n minWidth: DIALOG_WIDTH,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n }),\r\n { name: 'MuiPickersStaticWrapper' }\r\n);\r\n\r\nexport const StaticWrapper: React.FC = ({ children }) => {\r\n const classes = useStyles();\r\n\r\n return <div className={classes.staticWrapperRoot} children={children} />;\r\n};\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport Button from '@material-ui/core/Button';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport Dialog, { DialogProps } from '@material-ui/core/Dialog';\r\nimport { DIALOG_WIDTH } from '../constants/dimensions';\r\nimport { createStyles, WithStyles, withStyles } from '@material-ui/core/styles';\r\n\r\nexport interface ModalDialogProps extends DialogProps {\r\n onAccept: () => void;\r\n onDismiss: () => void;\r\n onClear: () => void;\r\n onSetToday: () => void;\r\n okLabel?: React.ReactNode;\r\n cancelLabel?: React.ReactNode;\r\n clearLabel?: React.ReactNode;\r\n todayLabel?: React.ReactNode;\r\n clearable?: boolean;\r\n showTodayButton?: boolean;\r\n showTabs?: boolean;\r\n wider?: boolean;\r\n}\r\n\r\nexport const ModalDialog: React.SFC<ModalDialogProps & WithStyles<typeof styles>> = ({\r\n children,\r\n classes,\r\n onAccept,\r\n onDismiss,\r\n onClear,\r\n onSetToday,\r\n okLabel,\r\n cancelLabel,\r\n clearLabel,\r\n todayLabel,\r\n clearable,\r\n showTodayButton,\r\n showTabs,\r\n wider,\r\n ...other\r\n}) => (\r\n <Dialog\r\n role=\"dialog\"\r\n onClose={onDismiss}\r\n classes={{\r\n paper: clsx(classes.dialogRoot, {\r\n [classes.dialogRootWider]: wider,\r\n }),\r\n }}\r\n {...other}\r\n >\r\n <DialogContent children={children} className={classes.dialog} />\r\n\r\n <DialogActions\r\n classes={{\r\n root: clsx({\r\n [classes.withAdditionalAction]: clearable || showTodayButton,\r\n }),\r\n }}\r\n >\r\n {clearable && (\r\n <Button color=\"primary\" onClick={onClear}>\r\n {clearLabel}\r\n </Button>\r\n )}\r\n\r\n {!clearable && showTodayButton && (\r\n <Button color=\"primary\" onClick={onSetToday}>\r\n {todayLabel}\r\n </Button>\r\n )}\r\n\r\n {cancelLabel && (\r\n <Button color=\"primary\" onClick={onDismiss}>\r\n {cancelLabel}\r\n </Button>\r\n )}\r\n\r\n {okLabel && (\r\n <Button color=\"primary\" onClick={onAccept}>\r\n {okLabel}\r\n </Button>\r\n )}\r\n </DialogActions>\r\n </Dialog>\r\n);\r\n\r\nModalDialog.displayName = 'ModalDialog';\r\n\r\nexport const styles = createStyles({\r\n dialogRoot: {\r\n minWidth: DIALOG_WIDTH,\r\n // maxWidth: DIALOG_WIDTH_WIDER,\r\n },\r\n dialogRootWider: {\r\n // minWidth: DIALOG_WIDTH_WIDER,\r\n },\r\n dialog: {\r\n '&:first-child': {\r\n padding: 0,\r\n },\r\n },\r\n withAdditionalAction: {\r\n // set justifyContent to default value to fix IE11 layout bug\r\n // see https://github.com/dmtrKovalenko/material-ui-pickers/pull/267\r\n justifyContent: 'flex-start',\r\n\r\n '& > *:first-child': {\r\n marginRight: 'auto',\r\n },\r\n },\r\n});\r\n\r\nexport default withStyles(styles, { name: 'MuiPickersModal' })(ModalDialog);\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport ModalDialog from '../_shared/ModalDialog';\r\nimport { Omit } from '@material-ui/core';\r\nimport { WrapperProps } from './Wrapper';\r\nimport { useKeyDown } from '../_shared/hooks/useKeyDown';\r\nimport { DialogProps as MuiDialogProps } from '@material-ui/core/Dialog';\r\n\r\nexport interface ModalWrapperProps<T = {}> extends WrapperProps<T> {\r\n /**\r\n * \"OK\" label message\r\n * @default \"OK\"\r\n */\r\n okLabel?: React.ReactNode;\r\n /**\r\n * \"CANCEL\" label message\r\n * @default \"CANCEL\"\r\n */\r\n cancelLabel?: React.ReactNode;\r\n /**\r\n * \"CLEAR\" label message\r\n * @default \"CLEAR\"\r\n */\r\n clearLabel?: React.ReactNode;\r\n /**\r\n * \"TODAY\" label message\r\n * @default \"TODAY\"\r\n */\r\n todayLabel?: React.ReactNode;\r\n /**\r\n * If true today button will be displayed <b>Note*</b> that clear button has higher priority\r\n * @default false\r\n */\r\n showTodayButton?: boolean;\r\n /**\r\n * Show clear action in picker dialog\r\n * @default false\r\n */\r\n clearable?: boolean;\r\n /**\r\n * Props to be passed directly to material-ui Dialog\r\n * @type {Partial<MuiDialogProps>}\r\n */\r\n DialogProps?: Partial<Omit<MuiDialogProps, 'classes'>>;\r\n}\r\n\r\nexport const ModalWrapper: React.FC<ModalWrapperProps<any>> = ({\r\n open,\r\n children,\r\n okLabel,\r\n cancelLabel,\r\n clearLabel,\r\n todayLabel,\r\n showTodayButton,\r\n clearable,\r\n DialogProps,\r\n showTabs,\r\n wider,\r\n InputComponent,\r\n DateInputProps,\r\n onClear,\r\n onAccept,\r\n onDismiss,\r\n onSetToday,\r\n ...other\r\n}) => {\r\n useKeyDown(open, {\r\n Enter: onAccept,\r\n });\r\n\r\n return (\r\n <React.Fragment>\r\n <InputComponent {...other} {...DateInputProps} />\r\n\r\n <ModalDialog\r\n wider={wider}\r\n showTabs={showTabs}\r\n open={open}\r\n onClear={onClear}\r\n onAccept={onAccept}\r\n onDismiss={onDismiss}\r\n onSetToday={onSetToday}\r\n clearLabel={clearLabel}\r\n todayLabel={todayLabel}\r\n okLabel={okLabel}\r\n cancelLabel={cancelLabel}\r\n clearable={clearable}\r\n showTodayButton={showTodayButton}\r\n children={children}\r\n {...DialogProps}\r\n />\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nModalWrapper.propTypes = {\r\n okLabel: PropTypes.node,\r\n cancelLabel: PropTypes.node,\r\n clearLabel: PropTypes.node,\r\n clearable: PropTypes.bool,\r\n todayLabel: PropTypes.node,\r\n showTodayButton: PropTypes.bool,\r\n DialogProps: PropTypes.object,\r\n} as any;\r\n\r\nModalWrapper.defaultProps = {\r\n okLabel: 'OK',\r\n cancelLabel: 'Cancel',\r\n clearLabel: 'Clear',\r\n todayLabel: 'Today',\r\n clearable: false,\r\n showTodayButton: false,\r\n};\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport Popover, { PopoverProps as PopoverPropsType } from '@material-ui/core/Popover';\r\nimport { WrapperProps } from './Wrapper';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useKeyDown } from '../_shared/hooks/useKeyDown';\r\nimport { TextFieldProps } from '@material-ui/core/TextField';\r\nimport { DIALOG_WIDTH, DIALOG_WIDTH_WIDER } from '../constants/dimensions';\r\n\r\nexport const useStyles = makeStyles(\r\n {\r\n popoverPaper: {\r\n width: DIALOG_WIDTH,\r\n paddingBottom: 8,\r\n },\r\n popoverPaperWider: {\r\n width: DIALOG_WIDTH_WIDER,\r\n },\r\n },\r\n { name: 'MuiPickersInlineWrapper' }\r\n);\r\n\r\nexport interface InlineWrapperProps<T = TextFieldProps> extends WrapperProps<T> {\r\n /** Popover props passed to material-ui Popover (with variant=\"inline\") */\r\n PopoverProps?: Partial<PopoverPropsType>;\r\n}\r\n\r\nexport const InlineWrapper: React.FC<InlineWrapperProps> = ({\r\n open,\r\n wider,\r\n children,\r\n PopoverProps,\r\n onClear,\r\n onDismiss,\r\n onSetToday,\r\n onAccept,\r\n showTabs,\r\n DateInputProps,\r\n InputComponent,\r\n ...other\r\n}) => {\r\n const ref = React.useRef();\r\n const classes = useStyles();\r\n\r\n useKeyDown(open, {\r\n Enter: onAccept,\r\n });\r\n\r\n return (\r\n <React.Fragment>\r\n <InputComponent {...other} {...DateInputProps} inputRef={ref} />\r\n\r\n <Popover\r\n open={open}\r\n onClose={onDismiss}\r\n anchorEl={ref.current}\r\n classes={{\r\n paper: clsx(classes.popoverPaper, { [classes.popoverPaperWider]: wider }),\r\n }}\r\n anchorOrigin={{\r\n vertical: 'bottom',\r\n horizontal: 'center',\r\n }}\r\n transformOrigin={{\r\n vertical: 'top',\r\n horizontal: 'center',\r\n }}\r\n children={children}\r\n {...PopoverProps}\r\n />\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nInlineWrapper.propTypes = {\r\n onOpen: PropTypes.func,\r\n onClose: PropTypes.func,\r\n PopoverProps: PropTypes.object,\r\n} as any;\r\n","import * as React from 'react';\r\nimport { Omit } from '@material-ui/core';\r\nimport { StaticWrapper } from './StaticWrapper';\r\nimport { PureDateInputProps } from '../_shared/PureDateInput';\r\nimport { ModalWrapper, ModalWrapperProps } from './ModalWrapper';\r\nimport { InlineWrapper, InlineWrapperProps } from './InlineWrapper';\r\nimport { KeyboardDateInputProps } from '../_shared/KeyboardDateInput';\r\n\r\nexport type WrapperVariant = 'dialog' | 'inline' | 'static';\r\n\r\nexport interface WrapperProps<T> {\r\n open: boolean;\r\n onAccept: () => void;\r\n onDismiss: () => void;\r\n onClear: () => void;\r\n onSetToday: () => void;\r\n InputComponent: React.FC<T>;\r\n DateInputProps: T;\r\n wider?: boolean;\r\n showTabs?: boolean;\r\n}\r\n\r\ntype OmitInnerWrapperProps<T extends WrapperProps<any>> = Omit<\r\n T,\r\n keyof WrapperProps<any> | 'showTabs'\r\n>;\r\n\r\nexport type ModalRoot = OmitInnerWrapperProps<ModalWrapperProps>;\r\n\r\nexport type InlineRoot = OmitInnerWrapperProps<InlineWrapperProps>;\r\n\r\n// prettier-ignore\r\nexport type ExtendWrapper<TInput extends PureDateInputProps | KeyboardDateInputProps> = {\r\n /**\r\n * Picker container option\r\n * @default 'dialog'\r\n */\r\n variant?: WrapperVariant\r\n} & ModalRoot\r\n & InlineRoot\r\n & Omit<TInput, 'inputValue' | 'onChange' | 'format' | 'validationError' | 'format' | 'forwardedRef'>\r\n\r\nexport function getWrapperFromVariant<T>(\r\n variant?: WrapperVariant\r\n): React.ComponentType<InlineWrapperProps<T> | ModalWrapperProps<T>> {\r\n switch (variant) {\r\n case 'inline':\r\n return InlineWrapper as any;\r\n\r\n case 'static':\r\n return StaticWrapper as any;\r\n\r\n default:\r\n return ModalWrapper as any;\r\n }\r\n}\r\n\r\ntype Props<T> = {\r\n variant?: WrapperVariant;\r\n children?: React.ReactChild;\r\n} & (ModalWrapperProps<T> | InlineWrapperProps<T>);\r\n\r\nexport const VariantContext = React.createContext<WrapperVariant | null>(null);\r\n\r\nexport const Wrapper: <T extends KeyboardDateInputProps | PureDateInputProps>(\r\n p: Props<T>\r\n) => React.ReactElement<Props<T>> = ({ variant, ...props }) => {\r\n const Component = getWrapperFromVariant<typeof props.DateInputProps>(variant);\r\n\r\n return (\r\n <VariantContext.Provider value={variant || 'dialog'}>\r\n <Component {...props} />\r\n </VariantContext.Provider>\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport Year from './Year';\r\nimport { DateType } from '@date-io/type';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useUtils } from '../../_shared/hooks/useUtils';\r\nimport { VariantContext } from '../../wrappers/Wrapper';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\n\r\nexport interface YearSelectionProps {\r\n date: MaterialUiPickersDate;\r\n minDate: DateType;\r\n maxDate: DateType;\r\n onChange: (date: MaterialUiPickersDate, isFinish: boolean) => void;\r\n disablePast?: boolean | null | undefined;\r\n disableFuture?: boolean | null | undefined;\r\n animateYearScrolling?: boolean | null | undefined;\r\n onYearChange?: (date: MaterialUiPickersDate) => void;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n {\r\n container: {\r\n height: 300,\r\n overflowY: 'auto',\r\n },\r\n },\r\n { name: 'MuiPickersYearSelection' }\r\n);\r\n\r\nexport const YearSelection: React.FC<YearSelectionProps> = ({\r\n date,\r\n onChange,\r\n onYearChange,\r\n minDate,\r\n maxDate,\r\n disablePast,\r\n disableFuture,\r\n animateYearScrolling,\r\n}) => {\r\n const utils = useUtils();\r\n const classes = useStyles();\r\n const currentVariant = React.useContext(VariantContext);\r\n const selectedYearRef = React.useRef<HTMLElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (selectedYearRef.current && selectedYearRef.current.scrollIntoView) {\r\n selectedYearRef.current.scrollIntoView({\r\n block: currentVariant === 'static' ? 'nearest' : 'center',\r\n behavior: animateYearScrolling ? 'smooth' : 'auto',\r\n });\r\n }\r\n }, []); // eslint-disable-line\r\n\r\n const currentYear = utils.getYear(date);\r\n const onYearSelect = React.useCallback(\r\n (year: number) => {\r\n const newDate = utils.setYear(date, year);\r\n if (onYearChange) {\r\n onYearChange(newDate);\r\n }\r\n\r\n onChange(newDate, true);\r\n },\r\n [date, onChange, onYearChange, utils]\r\n );\r\n\r\n return (\r\n <div className={classes.container}>\r\n {utils.getYearRange(minDate, maxDate).map(year => {\r\n const yearNumber = utils.getYear(year);\r\n const selected = yearNumber === currentYear;\r\n\r\n return (\r\n <Year\r\n key={utils.getYearText(year)}\r\n selected={selected}\r\n value={yearNumber}\r\n onSelect={onYearSelect}\r\n ref={selected ? selectedYearRef : undefined}\r\n disabled={Boolean(\r\n (disablePast && utils.isBeforeYear(year, utils.date())) ||\r\n (disableFuture && utils.isAfterYear(year, utils.date()))\r\n )}\r\n >\r\n {utils.getYearText(year)}\r\n </Year>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n","enum ClockType {\r\n HOURS = 'hours',\r\n\r\n MINUTES = 'minutes',\r\n\r\n SECONDS = 'seconds',\r\n}\r\n\r\nexport type ClockViewType = 'hours' | 'minutes' | 'seconds';\r\n\r\nexport default ClockType;\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport ClockType, { ClockViewType } from '../../constants/ClockType';\r\nimport { Theme } from '@material-ui/core';\r\nimport { withStyles, createStyles, WithStyles } from '@material-ui/core/styles';\r\n\r\nexport interface ClockPointerProps extends WithStyles<typeof styles> {\r\n value: number;\r\n hasSelected: boolean;\r\n isInner: boolean;\r\n type: ClockViewType;\r\n}\r\n\r\nexport class ClockPointer extends React.Component<ClockPointerProps> {\r\n public static getDerivedStateFromProps = (\r\n nextProps: ClockPointerProps,\r\n state: ClockPointer['state']\r\n ) => {\r\n if (nextProps.type !== state.previousType) {\r\n return {\r\n toAnimateTransform: true,\r\n previousType: nextProps.type,\r\n };\r\n }\r\n\r\n return {\r\n toAnimateTransform: false,\r\n previousType: nextProps.type,\r\n };\r\n };\r\n\r\n public state = {\r\n toAnimateTransform: false,\r\n previousType: undefined,\r\n };\r\n\r\n public getAngleStyle = () => {\r\n const { value, isInner, type } = this.props;\r\n\r\n const max = type === ClockType.HOURS ? 12 : 60;\r\n let angle = (360 / max) * value;\r\n\r\n if (type === ClockType.HOURS && value > 12) {\r\n angle -= 360; // round up angle to max 360 degrees\r\n }\r\n\r\n return {\r\n height: isInner ? '26%' : '40%',\r\n transform: `rotateZ(${angle}deg)`,\r\n };\r\n };\r\n\r\n public render() {\r\n const { classes, hasSelected } = this.props;\r\n\r\n return (\r\n <div\r\n style={this.getAngleStyle()}\r\n className={clsx(classes.pointer, {\r\n [classes.animateTransform]: this.state.toAnimateTransform,\r\n })}\r\n >\r\n <div\r\n className={clsx(classes.thumb, {\r\n [classes.noPoint]: hasSelected,\r\n })}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport const styles = (theme: Theme) =>\r\n createStyles({\r\n pointer: {\r\n width: 2,\r\n backgroundColor: theme.palette.primary.main,\r\n position: 'absolute',\r\n left: 'calc(50% - 1px)',\r\n bottom: '50%',\r\n transformOrigin: 'center bottom 0px',\r\n },\r\n animateTransform: {\r\n transition: theme.transitions.create(['transform', 'height']),\r\n },\r\n thumb: {\r\n width: 4,\r\n height: 4,\r\n backgroundColor: theme.palette.primary.contrastText,\r\n borderRadius: '100%',\r\n position: 'absolute',\r\n top: -21,\r\n left: -15,\r\n border: `14px solid ${theme.palette.primary.main}`,\r\n boxSizing: 'content-box',\r\n },\r\n noPoint: {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n });\r\n\r\nexport default withStyles(styles, {\r\n name: 'MuiPickersClockPointer',\r\n})(ClockPointer as React.ComponentType<ClockPointerProps>);\r\n","import { IUtils } from '@date-io/core/IUtils';\r\nimport { MaterialUiPickersDate } from '../typings/date';\r\n\r\nconst center = {\r\n x: 260 / 2,\r\n y: 260 / 2,\r\n};\r\n\r\nconst basePoint = {\r\n x: center.x,\r\n y: 0,\r\n};\r\n\r\nconst cx = basePoint.x - center.x;\r\nconst cy = basePoint.y - center.y;\r\n\r\nconst rad2deg = (rad: number) => rad * 57.29577951308232;\r\n\r\nconst getAngleValue = (step: number, offsetX: number, offsetY: number) => {\r\n const x = offsetX - center.x;\r\n const y = offsetY - center.y;\r\n\r\n const atan = Math.atan2(cx, cy) - Math.atan2(x, y);\r\n\r\n let deg = rad2deg(atan);\r\n deg = Math.round(deg / step) * step;\r\n deg %= 360;\r\n\r\n const value = Math.floor(deg / step) || 0;\r\n const delta = Math.pow(x, 2) + Math.pow(y, 2);\r\n const distance = Math.sqrt(delta);\r\n\r\n return { value, distance };\r\n};\r\n\r\nexport const getHours = (offsetX: number, offsetY: number, ampm: boolean) => {\r\n let { value, distance } = getAngleValue(30, offsetX, offsetY);\r\n value = value || 12;\r\n\r\n if (!ampm) {\r\n if (distance < 90) {\r\n value += 12;\r\n value %= 24;\r\n }\r\n } else {\r\n value %= 12;\r\n }\r\n\r\n return value;\r\n};\r\n\r\nexport const getMinutes = (offsetX: number, offsetY: number, step = 1) => {\r\n const angleStep = step * 6;\r\n let { value } = getAngleValue(angleStep, offsetX, offsetY);\r\n value = (value * step) % 60;\r\n\r\n return value;\r\n};\r\n\r\nexport const getMeridiem = (\r\n date: MaterialUiPickersDate,\r\n utils: IUtils<MaterialUiPickersDate>\r\n): 'am' | 'pm' => {\r\n return utils.getHours(date) >= 12 ? 'pm' : 'am';\r\n};\r\n\r\nexport const convertToMeridiem = (\r\n time: MaterialUiPickersDate,\r\n meridiem: 'am' | 'pm',\r\n ampm: boolean,\r\n utils: IUtils<MaterialUiPickersDate>\r\n) => {\r\n if (ampm) {\r\n const currentMeridiem = utils.getHours(time) >= 12 ? 'pm' : 'am';\r\n if (currentMeridiem !== meridiem) {\r\n const hours = meridiem === 'am' ? utils.getHours(time) - 12 : utils.getHours(time) + 12;\r\n\r\n return utils.setHours(time, hours);\r\n }\r\n }\r\n\r\n return time;\r\n};\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport ClockPointer from './ClockPointer';\r\nimport ClockType, { ClockViewType } from '../../constants/ClockType';\r\nimport { getHours, getMinutes } from '../../_helpers/time-utils';\r\nimport { withStyles, createStyles, WithStyles, Theme } from '@material-ui/core/styles';\r\n\r\nexport interface ClockProps extends WithStyles<typeof styles> {\r\n type: ClockViewType;\r\n value: number;\r\n onChange: (value: number, isFinish?: boolean) => void;\r\n ampm?: boolean;\r\n minutesStep?: number;\r\n children: React.ReactElement<any>[];\r\n}\r\n\r\nexport class Clock extends React.Component<ClockProps> {\r\n public static propTypes: any = {\r\n type: PropTypes.oneOf(Object.keys(ClockType).map(key => ClockType[key as any])).isRequired,\r\n value: PropTypes.number.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n children: PropTypes.arrayOf(PropTypes.node).isRequired,\r\n ampm: PropTypes.bool,\r\n minutesStep: PropTypes.number,\r\n innerRef: PropTypes.any,\r\n };\r\n\r\n public static defaultProps = {\r\n ampm: false,\r\n minutesStep: 1,\r\n };\r\n\r\n public isMoving = false;\r\n\r\n public setTime(e: any, isFinish = false) {\r\n let { offsetX, offsetY } = e;\r\n\r\n if (typeof offsetX === 'undefined') {\r\n const rect = e.target.getBoundingClientRect();\r\n\r\n offsetX = e.changedTouches[0].clientX - rect.left;\r\n offsetY = e.changedTouches[0].clientY - rect.top;\r\n }\r\n\r\n const value =\r\n this.props.type === ClockType.SECONDS || this.props.type === ClockType.MINUTES\r\n ? getMinutes(offsetX, offsetY, this.props.minutesStep)\r\n : getHours(offsetX, offsetY, Boolean(this.props.ampm));\r\n\r\n this.props.onChange(value, isFinish);\r\n }\r\n\r\n public handleTouchMove = (e: React.TouchEvent) => {\r\n this.isMoving = true;\r\n this.setTime(e);\r\n };\r\n\r\n public handleTouchEnd = (e: React.TouchEvent) => {\r\n if (this.isMoving) {\r\n this.setTime(e, true);\r\n this.isMoving = false;\r\n }\r\n };\r\n\r\n public handleMove = (e: React.MouseEvent<HTMLDivElement>) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n // MouseEvent.which is deprecated, but MouseEvent.buttons is not supported in Safari\r\n const isButtonPressed =\r\n typeof e.buttons === 'undefined' ? e.nativeEvent.which === 1 : e.buttons === 1;\r\n\r\n if (isButtonPressed) {\r\n this.setTime(e.nativeEvent, false);\r\n }\r\n };\r\n\r\n public handleMouseUp = (e: React.MouseEvent) => {\r\n if (this.isMoving) {\r\n this.isMoving = false;\r\n }\r\n\r\n this.setTime(e.nativeEvent, true);\r\n };\r\n\r\n public hasSelected = () => {\r\n const { type, value } = this.props;\r\n\r\n if (type === ClockType.HOURS) {\r\n return true;\r\n }\r\n\r\n return value % 5 === 0;\r\n };\r\n\r\n public render() {\r\n const { classes, value, children, type, ampm } = this.props;\r\n\r\n const isPointerInner = !ampm && type === ClockType.HOURS && (value < 1 || value > 12);\r\n\r\n return (\r\n <div className={classes.container}>\r\n <div className={classes.clock}>\r\n <div\r\n role=\"menu\"\r\n tabIndex={-1}\r\n className={classes.squareMask}\r\n onTouchMove={this.handleTouchMove}\r\n onTouchEnd={this.handleTouchEnd}\r\n onMouseUp={this.handleMouseUp}\r\n onMouseMove={this.handleMove}\r\n />\r\n\r\n <div className={classes.pin} />\r\n\r\n <ClockPointer\r\n type={type}\r\n value={value}\r\n isInner={isPointerInner}\r\n hasSelected={this.hasSelected()}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport const styles = (theme: Theme) =>\r\n createStyles({\r\n container: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'flex-end',\r\n margin: `${theme.spacing(2)}px 0 ${theme.spacing(1)}px`,\r\n },\r\n clock: {\r\n backgroundColor: 'rgba(0,0,0,.07)',\r\n borderRadius: '50%',\r\n height: 260,\r\n width: 260,\r\n position: 'relative',\r\n pointerEvents: 'none',\r\n zIndex: 1,\r\n },\r\n squareMask: {\r\n width: '100%',\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'auto',\r\n outline: 'none',\r\n touchActions: 'none',\r\n userSelect: 'none',\r\n '&:active': {\r\n cursor: 'move',\r\n },\r\n },\r\n pin: {\r\n width: 6,\r\n height: 6,\r\n borderRadius: '50%',\r\n backgroundColor: theme.palette.primary.main,\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n });\r\n\r\nexport default withStyles(styles, {\r\n name: 'MuiPickersClock',\r\n})(Clock as React.ComponentType<ClockProps>);\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst positions: Record<number, [number, number]> = {\r\n 0: [0, 40],\r\n 1: [55, 19.6],\r\n 2: [94.4, 59.5],\r\n 3: [109, 114],\r\n 4: [94.4, 168.5],\r\n 5: [54.5, 208.4],\r\n 6: [0, 223],\r\n 7: [-54.5, 208.4],\r\n 8: [-94.4, 168.5],\r\n 9: [-109, 114],\r\n 10: [-94.4, 59.5],\r\n 11: [-54.5, 19.6],\r\n 12: [0, 5],\r\n 13: [36.9, 49.9],\r\n 14: [64, 77],\r\n 15: [74, 114],\r\n 16: [64, 151],\r\n 17: [37, 178],\r\n 18: [0, 188],\r\n 19: [-37, 178],\r\n 20: [-64, 151],\r\n 21: [-74, 114],\r\n 22: [-64, 77],\r\n 23: [-37, 50],\r\n};\r\n\r\nexport interface ClockNumberProps {\r\n index: number;\r\n label: string;\r\n selected: boolean;\r\n isInner?: boolean;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n theme => {\r\n const size = theme.spacing(4);\r\n\r\n return {\r\n clockNumber: {\r\n width: size,\r\n height: 32,\r\n userSelect: 'none',\r\n position: 'absolute',\r\n left: `calc(50% - ${size / 2}px)`,\r\n display: 'inline-flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n borderRadius: '50%',\r\n color:\r\n theme.palette.type === 'light' ? theme.palette.text.primary : theme.palette.text.hint,\r\n },\r\n clockNumberSelected: {\r\n color: theme.palette.primary.contrastText,\r\n },\r\n };\r\n },\r\n { name: 'MuiPickersClockNumber' }\r\n);\r\n\r\nexport const ClockNumber: React.FC<ClockNumberProps> = ({ selected, label, index, isInner }) => {\r\n const classes = useStyles();\r\n const className = clsx(classes.clockNumber, {\r\n [classes.clockNumberSelected]: selected,\r\n });\r\n\r\n const transformStyle = React.useMemo(() => {\r\n const position = positions[index];\r\n\r\n return {\r\n transform: `translate(${position[0]}px, ${position[1]}px`,\r\n };\r\n }, [index]);\r\n\r\n return (\r\n <Typography\r\n component=\"span\"\r\n className={className}\r\n variant={isInner ? 'body2' : 'body1'}\r\n style={transformStyle}\r\n children={label}\r\n />\r\n );\r\n};\r\n\r\nexport default ClockNumber;\r\n","import * as React from 'react';\r\nimport ClockNumber from './ClockNumber';\r\nimport { IUtils } from '@date-io/core/IUtils';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\n\r\nexport const getHourNumbers = ({\r\n ampm,\r\n utils,\r\n date,\r\n}: {\r\n ampm: boolean;\r\n utils: IUtils<MaterialUiPickersDate>;\r\n date: MaterialUiPickersDate;\r\n}) => {\r\n const currentHours = utils.getHours(date);\r\n\r\n const hourNumbers: JSX.Element[] = [];\r\n const startHour = ampm ? 1 : 0;\r\n const endHour = ampm ? 12 : 23;\r\n\r\n const isSelected = (hour: number) => {\r\n if (ampm) {\r\n if (hour === 12) {\r\n return currentHours === 12 || currentHours === 0;\r\n }\r\n\r\n return currentHours === hour || currentHours - 12 === hour;\r\n }\r\n\r\n return currentHours === hour;\r\n };\r\n\r\n for (let hour = startHour; hour <= endHour; hour += 1) {\r\n let label = hour.toString();\r\n\r\n if (hour === 0) {\r\n label = '00';\r\n }\r\n\r\n const props = {\r\n index: hour,\r\n label: utils.formatNumber(label),\r\n selected: isSelected(hour),\r\n isInner: !ampm && (hour === 0 || hour > 12),\r\n };\r\n\r\n hourNumbers.push(<ClockNumber key={hour} {...props} />);\r\n }\r\n\r\n return hourNumbers;\r\n};\r\n\r\nexport const getMinutesNumbers = ({\r\n value,\r\n utils,\r\n}: {\r\n value: number;\r\n utils: IUtils<MaterialUiPickersDate>;\r\n}) => {\r\n const f = utils.formatNumber;\r\n\r\n return [\r\n <ClockNumber label={f('00')} selected={value === 0} index={12} key={12} />,\r\n <ClockNumber label={f('05')} selected={value === 5} index={1} key={1} />,\r\n <ClockNumber label={f('10')} selected={value === 10} index={2} key={2} />,\r\n <ClockNumber label={f('15')} selected={value === 15} index={3} key={3} />,\r\n <ClockNumber label={f('20')} selected={value === 20} index={4} key={4} />,\r\n <ClockNumber label={f('25')} selected={value === 25} index={5} key={5} />,\r\n <ClockNumber label={f('30')} selected={value === 30} index={6} key={6} />,\r\n <ClockNumber label={f('35')} selected={value === 35} index={7} key={7} />,\r\n <ClockNumber label={f('40')} selected={value === 40} index={8} key={8} />,\r\n <ClockNumber label={f('45')} selected={value === 45} index={9} key={9} />,\r\n <ClockNumber label={f('50')} selected={value === 50} index={10} key={10} />,\r\n <ClockNumber label={f('55')} selected={value === 55} index={11} key={11} />,\r\n ];\r\n};\r\n","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport Clock from './Clock';\r\nimport ClockType, { ClockViewType } from '../../constants/ClockType';\r\nimport { useUtils } from '../../_shared/hooks/useUtils';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\nimport { getHourNumbers, getMinutesNumbers } from './ClockNumbers';\r\nimport { convertToMeridiem, getMeridiem } from '../../_helpers/time-utils';\r\n\r\nexport interface TimePickerViewProps {\r\n /** TimePicker value */\r\n date: MaterialUiPickersDate;\r\n /** Clock type */\r\n type: ClockViewType;\r\n /** 12h/24h clock mode */\r\n ampm?: boolean;\r\n /** Minutes step */\r\n minutesStep?: number;\r\n /** On hour change */\r\n onHourChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\r\n /** On minutes change */\r\n onMinutesChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\r\n /** On seconds change */\r\n onSecondsChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\r\n}\r\n\r\nexport const TimePickerView: React.FC<TimePickerViewProps> = ({\r\n type,\r\n onHourChange,\r\n onMinutesChange,\r\n onSecondsChange,\r\n ampm,\r\n date,\r\n minutesStep,\r\n}) => {\r\n const utils = useUtils();\r\n const viewProps = React.useMemo(() => {\r\n switch (type) {\r\n case ClockType.HOURS:\r\n return {\r\n value: utils.getHours(date),\r\n children: getHourNumbers({ date, utils, ampm: Boolean(ampm) }),\r\n onChange: (value: number, isFinish?: boolean) => {\r\n const currentMeridiem = getMeridiem(date, utils);\r\n const updatedTimeWithMeridiem = convertToMeridiem(\r\n utils.setHours(date, value),\r\n currentMeridiem,\r\n Boolean(ampm),\r\n utils\r\n );\r\n\r\n onHourChange(updatedTimeWithMeridiem, isFinish);\r\n },\r\n };\r\n\r\n case ClockType.MINUTES:\r\n const minutesValue = utils.getMinutes(date);\r\n return {\r\n value: minutesValue,\r\n children: getMinutesNumbers({ value: minutesValue, utils }),\r\n onChange: (value: number, isFinish?: boolean) => {\r\n const updatedTime = utils.setMinutes(date, value);\r\n\r\n onMinutesChange(updatedTime, isFinish);\r\n },\r\n };\r\n\r\n case ClockType.SECONDS:\r\n const secondsValue = utils.getSeconds(date);\r\n return {\r\n value: secondsValue,\r\n children: getMinutesNumbers({ value: secondsValue, utils }),\r\n onChange: (value: number, isFinish?: boolean) => {\r\n const updatedTime = utils.setSeconds(date, value);\r\n\r\n onSecondsChange(updatedTime, isFinish);\r\n },\r\n };\r\n\r\n default:\r\n throw new Error('You must provide the type for TimePickerView');\r\n }\r\n }, [ampm, date, onHourChange, onMinutesChange, onSecondsChange, type, utils]);\r\n\r\n return <Clock type={type} ampm={ampm} minutesStep={minutesStep} {...viewProps} />;\r\n};\r\n\r\nTimePickerView.displayName = 'TimePickerView';\r\n\r\nTimePickerView.propTypes = {\r\n date: PropTypes.object.isRequired,\r\n onHourChange: PropTypes.func.isRequired,\r\n onMinutesChange: PropTypes.func.isRequired,\r\n onSecondsChange: PropTypes.func.isRequired,\r\n ampm: PropTypes.bool,\r\n minutesStep: PropTypes.number,\r\n type: PropTypes.oneOf(Object.keys(ClockType).map(key => ClockType[key as any])).isRequired,\r\n} as any;\r\n\r\nTimePickerView.defaultProps = {\r\n ampm: true,\r\n minutesStep: 1,\r\n};\r\n\r\nexport default React.memo(TimePickerView);\r\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nexport interface MonthProps {\r\n children: React.ReactNode;\r\n disabled?: boolean;\r\n onSelect: (value: any) => void;\r\n selected?: boolean;\r\n value: any;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n theme => ({\r\n root: {\r\n flex: '1 0 33.33%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n cursor: 'pointer',\r\n outline: 'none',\r\n height: 75,\r\n transition: theme.transitions.create('font-size', { duration: '100ms' }),\r\n '&:focus': {\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n },\r\n monthSelected: {\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n monthDisabled: {\r\n pointerEvents: 'none',\r\n color: theme.palette.text.hint,\r\n },\r\n }),\r\n { name: 'MuiPickersMonth' }\r\n);\r\n\r\nexport const Month: React.FC<MonthProps> = ({\r\n selected,\r\n onSelect,\r\n disabled,\r\n value,\r\n children,\r\n ...other\r\n}) => {\r\n const classes = useStyles();\r\n const handleSelection = React.useCallback(() => {\r\n onSelect(value);\r\n }, [onSelect, value]);\r\n\r\n return (\r\n <Typography\r\n role=\"button\"\r\n component=\"div\"\r\n className={clsx(classes.root, {\r\n [classes.monthSelected]: selected,\r\n [classes.monthDisabled]: disabled,\r\n })}\r\n tabIndex={disabled ? -1 : 0}\r\n onClick={handleSelection}\r\n onKeyPress={handleSelection}\r\n color={selected ? 'primary' : undefined}\r\n variant={selected ? 'h5' : 'subtitle1'}\r\n children={children}\r\n {...other}\r\n />\r\n );\r\n};\r\n\r\nMonth.displayName = 'Month';\r\n\r\nexport default Month;\r\n","import * as React from 'react';\r\nimport Month from './Month';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useUtils } from '../../_shared/hooks/useUtils';\r\nimport { ParsableDate } from '../../constants/prop-types';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\n\r\nexport interface MonthSelectionProps {\r\n date: MaterialUiPickersDate;\r\n minDate?: ParsableDate;\r\n maxDate?: ParsableDate;\r\n onChange: (date: MaterialUiPickersDate, isFinish: boolean) => void;\r\n disablePast?: boolean | null | undefined;\r\n disableFuture?: boolean | null | undefined;\r\n onMonthChange?: (date: MaterialUiPickersDate) => void | Promise<void>;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n {\r\n container: {\r\n width: 310,\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n alignContent: 'stretch',\r\n },\r\n },\r\n { name: 'MuiPickersMonthSelection' }\r\n);\r\n\r\nexport const MonthSelection: React.FC<MonthSelectionProps> = ({\r\n disablePast,\r\n disableFuture,\r\n minDate,\r\n maxDate,\r\n date,\r\n onMonthChange,\r\n onChange,\r\n}) => {\r\n const utils = useUtils();\r\n const classes = useStyles();\r\n const currentMonth = utils.getMonth(date);\r\n\r\n const shouldDisableMonth = (month: MaterialUiPickersDate) => {\r\n const now = utils.date();\r\n const utilMinDate = utils.date(minDate);\r\n const utilMaxDate = utils.date(maxDate);\r\n\r\n const firstEnabledMonth = utils.startOfMonth(\r\n disablePast && utils.isAfter(now, utilMinDate) ? now : utilMinDate\r\n );\r\n\r\n const lastEnabledMonth = utils.startOfMonth(\r\n disableFuture && utils.isBefore(now, utilMaxDate) ? now : utilMaxDate\r\n );\r\n\r\n const isBeforeFirstEnabled = utils.isBefore(month, firstEnabledMonth);\r\n const isAfterLastEnabled = utils.isAfter(month, lastEnabledMonth);\r\n\r\n return isBeforeFirstEnabled || isAfterLastEnabled;\r\n };\r\n\r\n const onMonthSelect = React.useCallback(\r\n (month: number) => {\r\n const newDate = utils.setMonth(date, month);\r\n\r\n onChange(newDate, true);\r\n if (onMonthChange) {\r\n onMonthChange(newDate);\r\n }\r\n },\r\n [date, onChange, onMonthChange, utils]\r\n );\r\n\r\n return (\r\n <div className={classes.container}>\r\n {utils.getMonthArray(date).map(month => {\r\n const monthNumber = utils.getMonth(month);\r\n const monthText = utils.format(month, 'MMM');\r\n\r\n return (\r\n <Month\r\n key={monthText}\r\n value={monthNumber}\r\n selected={monthNumber === currentMonth}\r\n onSelect={onMonthSelect}\r\n disabled={shouldDisableMonth(month)}\r\n >\r\n {monthText}\r\n </Month>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport { useIsomorphicEffect } from './useKeyDown';\r\nimport { BasePickerProps } from '../../typings/BasePicker';\r\n\r\nconst getOrientation = () =>\r\n typeof window !== 'undefined' &&\r\n window.screen &&\r\n window.orientation &&\r\n Math.abs(window.screen.orientation.angle) === 90\r\n ? 'landscape'\r\n : 'portrait';\r\n\r\nexport function useIsLandscape(customOrientation?: BasePickerProps['orientation']) {\r\n const [orientation, setOrientation] = React.useState<BasePickerProps['orientation']>(\r\n getOrientation()\r\n );\r\n\r\n const eventHandler = React.useCallback(() => setOrientation(getOrientation()), []);\r\n\r\n useIsomorphicEffect(() => {\r\n window.addEventListener('orientationchange', eventHandler);\r\n return () => window.removeEventListener('orientationchange', eventHandler);\r\n }, [eventHandler]);\r\n\r\n const orientationToUse = customOrientation || orientation;\r\n return orientationToUse === 'landscape';\r\n}\r\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport Calendar from '../views/Calendar/Calendar';\nimport { useUtils } from '../_shared/hooks/useUtils';\nimport { useViews } from '../_shared/hooks/useViews';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { YearSelection } from '../views/Year/YearView';\nimport { MaterialUiPickersDate } from '../typings/date';\nimport { BasePickerProps } from '../typings/BasePicker';\nimport { TimePickerView } from '../views/Clock/ClockView';\nimport { MonthSelection } from '../views/Month/MonthView';\nimport { BaseTimePickerProps } from '../TimePicker/TimePicker';\nimport { BaseDatePickerProps } from '../DatePicker/DatePicker';\nimport { useIsLandscape } from '../_shared/hooks/useIsLandscape';\nimport { datePickerDefaultProps } from '../constants/prop-types';\nimport { DIALOG_WIDTH_WIDER, DIALOG_WIDTH, VIEW_HEIGHT } from '../constants/dimensions';\nimport { DialogActions, Button } from '@material-ui/core';\n\nconst viewsMap = {\n year: YearSelection,\n month: MonthSelection,\n date: Calendar,\n hours: TimePickerView,\n minutes: TimePickerView,\n seconds: TimePickerView,\n};\n\nexport type PickerView = keyof typeof viewsMap;\n\nexport type ToolbarComponentProps = BaseDatePickerProps &\n BaseTimePickerProps & {\n views: PickerView[];\n openView: PickerView;\n date: MaterialUiPickersDate;\n setOpenView: (view: PickerView) => void;\n onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\n // TODO move out, cause it is DateTimePickerOnly\n hideTabs?: boolean;\n dateRangeIcon?: React.ReactNode;\n timeIcon?: React.ReactNode;\n isLandscape: boolean;\n };\n\nexport interface PickerViewProps extends BaseDatePickerProps, BaseTimePickerProps {\n views: PickerView[];\n openTo: PickerView;\n disableToolbar?: boolean;\n ToolbarComponent: React.ComponentType<ToolbarComponentProps>;\n // TODO move out, cause it is DateTimePickerOnly\n hideTabs?: boolean;\n dateRangeIcon?: React.ReactNode;\n timeIcon?: React.ReactNode;\n}\n\ninterface PickerProps extends PickerViewProps {\n date: MaterialUiPickersDate;\n orientation?: BasePickerProps['orientation'];\n onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\n showActionsBar?: boolean;\n showTodayButton?: boolean;\n todayLabel?: string;\n showShiftButtons?: boolean;\n onSetToday?: () => void;\n onSetShift?: (days: number) => void;\n}\n\nconst useStyles = makeStyles(\n {\n container: {\n display: 'flex',\n flexDirection: 'column',\n },\n containerLandscape: {\n flexDirection: 'row',\n },\n pickerView: {\n overflowX: 'hidden',\n minHeight: VIEW_HEIGHT,\n minWidth: DIALOG_WIDTH,\n maxWidth: DIALOG_WIDTH_WIDER,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n pickerViewLandscape: {\n padding: '0 8px',\n },\n },\n { name: 'MuiPickersBasePicker' }\n);\n\nconst useButtonsStyles = makeStyles(\n {\n root: {\n minWidth: 32,\n },\n },\n { name: 'MuiButtonBase' }\n);\n\nexport const useDialogActionsStyles = makeStyles({\n withAdditionalAction: {},\n});\n\nexport const Picker: React.FunctionComponent<PickerProps> = props => {\n const {\n date,\n ampm,\n views,\n disableToolbar,\n disablePast,\n disableFuture,\n hideTabs,\n onChange,\n openTo,\n minutesStep,\n dateRangeIcon,\n timeIcon,\n minDate: unparsedMinDate,\n maxDate: unparsedMaxDate,\n animateYearScrolling,\n leftArrowIcon,\n rightArrowIcon,\n renderDay,\n shouldDisableDate,\n allowKeyboardControl,\n onMonthChange,\n onYearChange,\n leftArrowButtonProps,\n rightArrowButtonProps,\n ToolbarComponent,\n loadingIndicator,\n orientation,\n showActionsBar,\n onSetToday,\n showTodayButton,\n todayLabel,\n onSetShift,\n showShiftButtons,\n } = props;\n\n const utils = useUtils();\n const classes = useStyles();\n const buttonClasses = useButtonsStyles();\n const dialogActionsClasses = useDialogActionsStyles();\n const isLandscape = useIsLandscape(orientation);\n const { openView, setOpenView, handleChangeAndOpenNext } = useViews(views, openTo, onChange);\n\n const minDate = React.useMemo(() => utils.date(unparsedMinDate)!, [unparsedMinDate, utils]);\n const maxDate = React.useMemo(() => utils.date(unparsedMaxDate)!, [unparsedMaxDate, utils]);\n\n const shiftButtonValues = [1, 2, 3, 7];\n let shiftButtons =\n onSetShift && showShiftButtons\n ? shiftButtonValues.map(shiftValue => {\n return (\n <Button color=\"primary\" onClick={() => onSetShift(shiftValue)} key={shiftValue}>\n {shiftValue > 0 ? '+' : ''}\n {shiftValue}\n </Button>\n );\n })\n : null;\n\n return (\n <div\n className={clsx(classes.container, {\n [classes.containerLandscape]: isLandscape,\n })}\n >\n {!disableToolbar && (\n <ToolbarComponent\n date={date}\n onChange={onChange}\n setOpenView={setOpenView}\n openView={openView}\n hideTabs={hideTabs}\n dateRangeIcon={dateRangeIcon}\n timeIcon={timeIcon}\n isLandscape={isLandscape}\n {...props}\n />\n )}\n\n <div className={clsx(classes.pickerView, { [classes.pickerViewLandscape]: isLandscape })}>\n {openView === 'year' && (\n <YearSelection\n date={date}\n onChange={handleChangeAndOpenNext}\n minDate={minDate}\n maxDate={maxDate}\n disablePast={disablePast}\n disableFuture={disableFuture}\n onYearChange={onYearChange}\n animateYearScrolling={animateYearScrolling}\n />\n )}\n\n {openView === 'month' && (\n <MonthSelection\n date={date}\n onChange={handleChangeAndOpenNext}\n minDate={minDate}\n maxDate={maxDate}\n disablePast={disablePast}\n disableFuture={disableFuture}\n onMonthChange={onMonthChange}\n />\n )}\n\n {openView === 'date' && (\n <Calendar\n date={date}\n onChange={handleChangeAndOpenNext}\n onMonthChange={onMonthChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n minDate={minDate}\n maxDate={maxDate}\n leftArrowIcon={leftArrowIcon}\n leftArrowButtonProps={leftArrowButtonProps}\n rightArrowIcon={rightArrowIcon}\n rightArrowButtonProps={rightArrowButtonProps}\n renderDay={renderDay}\n shouldDisableDate={shouldDisableDate}\n allowKeyboardControl={allowKeyboardControl}\n loadingIndicator={loadingIndicator}\n />\n )}\n\n {(openView === 'hours' || openView === 'minutes' || openView === 'seconds') && (\n <TimePickerView\n date={date}\n ampm={ampm}\n type={openView}\n minutesStep={minutesStep}\n onHourChange={handleChangeAndOpenNext}\n onMinutesChange={handleChangeAndOpenNext}\n onSecondsChange={handleChangeAndOpenNext}\n />\n )}\n </div>\n\n {showActionsBar && (\n <DialogActions\n classes={{\n root: clsx({\n [dialogActionsClasses.withAdditionalAction]: showTodayButton,\n }),\n }}\n >\n {showTodayButton && (\n <Button color=\"primary\" onClick={onSetToday} key=\"today\">\n {todayLabel}\n </Button>\n )}\n\n {showShiftButtons && shiftButtons}\n </DialogActions>\n )}\n </div>\n );\n};\n\nPicker.defaultProps = {\n ...datePickerDefaultProps,\n views: Object.keys(viewsMap),\n} as any;\n","/* eslint-disable react-hooks/rules-of-hooks */\r\nimport { BasePickerProps } from '../../typings/BasePicker';\r\nimport { useCallback, useState, Dispatch, SetStateAction } from 'react';\r\n\r\nexport function useOpenState({ open, onOpen, onClose }: BasePickerProps) {\r\n let setIsOpenState: null | Dispatch<SetStateAction<boolean>> = null;\r\n if (open === undefined || open === null) {\r\n // The component is uncontrolled, so we need to give it its own state.\r\n [open, setIsOpenState] = useState<boolean>(false);\r\n }\r\n\r\n // prettier-ignore\r\n const setIsOpen = useCallback((newIsOpen: boolean) => {\r\n setIsOpenState && setIsOpenState(newIsOpen);\r\n\r\n return newIsOpen\r\n ? onOpen && onOpen()\r\n : onClose && onClose();\r\n }, [onOpen, onClose, setIsOpenState]);\r\n\r\n return { isOpen: open, setIsOpen };\r\n}\r\n","import { DatePickerProps } from '..';\r\nimport { Omit } from '@material-ui/core';\r\nimport { IUtils } from '@date-io/core/IUtils';\r\nimport { ParsableDate } from '../constants/prop-types';\r\nimport { BasePickerProps } from '../typings/BasePicker';\r\n\r\nexport const getDisplayDate = (\r\n value: ParsableDate,\r\n format: string,\r\n utils: IUtils<any>,\r\n isEmpty: boolean,\r\n { invalidLabel, emptyLabel, labelFunc }: Omit<BasePickerProps, 'value' | 'onChange'>\r\n) => {\r\n const date = utils.date(value);\r\n if (labelFunc) {\r\n return labelFunc(isEmpty ? null : date, invalidLabel!);\r\n }\r\n\r\n if (isEmpty) {\r\n return emptyLabel || '';\r\n }\r\n\r\n return utils.isValid(date) ? utils.format(date, format) : invalidLabel!;\r\n};\r\n\r\nexport interface BaseValidationProps {\r\n /**\r\n * Message, appearing when date cannot be parsed\r\n * @default 'Invalid Date Format'\r\n */\r\n invalidDateMessage?: React.ReactNode;\r\n}\r\n\r\nexport interface DateValidationProps extends BaseValidationProps {\r\n /**\r\n * Error message, shown if date is less then minimal date\r\n * @default 'Date should not be before minimal date'\r\n */\r\n minDateMessage?: React.ReactNode;\r\n /**\r\n * Error message, shown if date is more then maximal date\r\n * @default 'Date should not be after maximal date'\r\n */\r\n maxDateMessage?: React.ReactNode;\r\n}\r\n\r\nconst getComparisonMaxDate = (utils: IUtils<any>, strictCompareDates: boolean, date: Date) => {\r\n if (strictCompareDates) {\r\n return date;\r\n }\r\n\r\n return utils.endOfDay(date);\r\n};\r\n\r\nconst getComparisonMinDate = (utils: IUtils<any>, strictCompareDates: boolean, date: Date) => {\r\n if (strictCompareDates) {\r\n return date;\r\n }\r\n\r\n return utils.startOfDay(date);\r\n};\r\n\r\nexport const validate = (\r\n value: ParsableDate,\r\n utils: IUtils<any>,\r\n {\r\n maxDate,\r\n minDate,\r\n disablePast,\r\n disableFuture,\r\n maxDateMessage,\r\n minDateMessage,\r\n invalidDateMessage,\r\n strictCompareDates,\r\n }: Omit<DatePickerProps, 'views' | 'openTo'> // DateTimePicker doesn't support\r\n): React.ReactNode => {\r\n const parsedValue = utils.date(value);\r\n\r\n // if null - do not show error\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n if (!utils.isValid(value)) {\r\n return invalidDateMessage;\r\n }\r\n\r\n if (\r\n maxDate &&\r\n utils.isAfter(\r\n parsedValue,\r\n getComparisonMaxDate(utils, !!strictCompareDates, utils.date(maxDate))\r\n )\r\n ) {\r\n return maxDateMessage;\r\n }\r\n\r\n if (\r\n disableFuture &&\r\n utils.isAfter(parsedValue, getComparisonMaxDate(utils, !!strictCompareDates, utils.date()))\r\n ) {\r\n return maxDateMessage;\r\n }\r\n\r\n if (\r\n minDate &&\r\n utils.isBefore(\r\n parsedValue,\r\n getComparisonMinDate(utils, !!strictCompareDates, utils.date(minDate))\r\n )\r\n ) {\r\n return minDateMessage;\r\n }\r\n if (\r\n disablePast &&\r\n utils.isBefore(parsedValue, getComparisonMinDate(utils, !!strictCompareDates, utils.date()))\r\n ) {\r\n return minDateMessage;\r\n }\r\n\r\n return '';\r\n};\r\n\r\nexport function pick12hOr24hFormat(\r\n userFormat: string | undefined,\r\n ampm: boolean | undefined = true,\r\n formats: { '12h': string; '24h': string }\r\n) {\r\n if (userFormat) {\r\n return userFormat;\r\n }\r\n\r\n return ampm ? formats['12h'] : formats['24h'];\r\n}\r\n\r\nexport function makeMaskFromFormat(format: string, numberMaskChar: string) {\r\n return format.replace(/[a-z]/gi, numberMaskChar);\r\n}\r\n\r\nexport const maskedDateFormatter = (mask: string, numberMaskChar: string, refuse: RegExp) => (\r\n value: string\r\n) => {\r\n if (value === '') {\r\n return value;\r\n }\r\n\r\n let result = '';\r\n const parsed = value.replace(refuse, '');\r\n\r\n let i = 0;\r\n let n = 0;\r\n while (i < mask.length) {\r\n const maskChar = mask[i];\r\n if (maskChar === numberMaskChar && n < parsed.length) {\r\n const parsedChar = parsed[n];\r\n result += parsedChar;\r\n n += 1;\r\n } else {\r\n result += maskChar;\r\n }\r\n i += 1;\r\n }\r\n\r\n return result;\r\n};\r\n","import { useUtils } from './useUtils';\nimport { IUtils } from '@date-io/core/IUtils';\nimport { MaterialUiPickersDate } from '../..';\nimport { useOpenState } from './useOpenState';\nimport { BasePickerProps } from '../../typings/BasePicker';\nimport { getDisplayDate, validate } from '../../_helpers/text-field-helper';\nimport { useCallback, useDebugValue, useEffect, useMemo, useState, useRef } from 'react';\n\nexport interface StateHookOptions {\n getDefaultFormat: () => string;\n}\n\nconst useValueToDate = (\n utils: IUtils<MaterialUiPickersDate>,\n { value, initialFocusedDate }: BasePickerProps\n) => {\n const nowRef = useRef(utils.date());\n const date = utils.date(value || initialFocusedDate || nowRef.current);\n\n return date && utils.isValid(date) ? date : nowRef.current;\n};\n\nfunction useDateValues(props: BasePickerProps, options: StateHookOptions) {\n const utils = useUtils();\n const date = useValueToDate(utils, props);\n const format = props.format || options.getDefaultFormat();\n\n return { date, format };\n}\n\nexport function usePickerState(props: BasePickerProps, options: StateHookOptions) {\n const { autoOk, disabled, onAccept, onChange, onError, value, variant } = props;\n\n const utils = useUtils();\n const { isOpen, setIsOpen } = useOpenState(props);\n const { date, format } = useDateValues(props, options);\n const [pickerDate, setPickerDate] = useState(date);\n\n useEffect(() => {\n // if value was changed in closed state - treat it as accepted\n if (!isOpen && !utils.isEqual(pickerDate, date)) {\n setPickerDate(date);\n }\n }, [date, isOpen, pickerDate, utils]);\n\n const acceptDate = useCallback(\n (acceptedDate: MaterialUiPickersDate) => {\n setIsOpen(false);\n onChange(acceptedDate);\n\n if (onAccept) {\n onAccept(acceptedDate);\n }\n },\n [onAccept, onChange, setIsOpen]\n );\n\n const wrapperProps = useMemo(\n () => ({\n format,\n open: isOpen,\n onClear: () => acceptDate(null),\n onAccept: () => acceptDate(pickerDate),\n onSetToday: () => setPickerDate(utils.date()),\n onDismiss: () => {\n setIsOpen(false);\n },\n }),\n [acceptDate, format, isOpen, pickerDate, setIsOpen, utils]\n );\n\n const pickerProps = useMemo(\n () => ({\n date: pickerDate,\n onChange: (newDate: MaterialUiPickersDate, isFinish = true) => {\n setPickerDate(newDate);\n\n if (variant === 'inline' || variant === 'static') {\n onChange(newDate);\n }\n\n if (isFinish && autoOk) {\n acceptDate(newDate);\n }\n },\n onSetToday: () => {\n let newDate = utils.date();\n setPickerDate(newDate);\n\n if (variant === 'inline' || variant === 'static') {\n onChange(newDate);\n }\n\n if (autoOk) {\n acceptDate(newDate);\n }\n },\n onSetShift: (days: number) => {\n let newDate = utils.date();\n newDate = utils.addDays(newDate, days);\n\n if (variant === 'inline' || variant === 'static') {\n onChange(newDate);\n }\n\n if (autoOk) {\n acceptDate(newDate);\n }\n },\n }),\n [acceptDate, autoOk, onChange, pickerDate, variant]\n );\n\n const validationError = validate(value, utils, props);\n useEffect(() => {\n if (validationError && onError) {\n onError(validationError, value);\n }\n }, [onError, validationError, value]);\n\n const inputValue = getDisplayDate(date, format, utils, value === null, props);\n const inputProps = useMemo(\n () => ({\n inputValue,\n validationError,\n onClick: () => !disabled && setIsOpen(true),\n }),\n [disabled, inputValue, setIsOpen, validationError]\n );\n\n const pickerState = { pickerProps, inputProps, wrapperProps };\n\n useDebugValue(pickerState);\n return pickerState;\n}\n","import * as React from 'react';\r\nimport TextField, { BaseTextFieldProps, TextFieldProps } from '@material-ui/core/TextField';\r\nimport { ExtendMui } from '../typings/extendMui';\r\n\r\nexport interface PureDateInputProps\r\n extends ExtendMui<BaseTextFieldProps, 'variant' | 'onError' | 'onChange' | 'value'> {\r\n /** Pass material-ui text field variant down, bypass internal variant prop */\r\n inputVariant?: TextFieldProps['variant'];\r\n /** Override input component */\r\n TextFieldComponent?: React.ComponentType<TextFieldProps>;\r\n InputProps?: TextFieldProps['InputProps'];\r\n inputValue: string;\r\n validationError?: React.ReactNode;\r\n}\r\n\r\nexport const PureDateInput: React.FC<PureDateInputProps> = ({\r\n inputValue,\r\n inputVariant,\r\n validationError,\r\n InputProps,\r\n TextFieldComponent = TextField,\r\n ...other\r\n}) => {\r\n const PureDateInputProps = React.useMemo(\r\n () => ({\r\n ...InputProps,\r\n readOnly: true,\r\n }),\r\n [InputProps]\r\n );\r\n\r\n return (\r\n <TextFieldComponent\r\n error={Boolean(validationError)}\r\n helperText={validationError}\r\n {...other}\r\n // do not overridable\r\n value={inputValue}\r\n variant={inputVariant as any}\r\n InputProps={PureDateInputProps}\r\n />\r\n );\r\n};\r\n\r\nPureDateInput.displayName = 'PureDateInput';\r\n","import * as React from 'react';\nimport { Picker } from './Picker';\nimport { BasePickerProps } from '../typings/BasePicker';\nimport { MakePickerOptions } from './WrappedKeyboardPicker';\nimport { ExtendWrapper, Wrapper } from '../wrappers/Wrapper';\nimport { usePickerState } from '../_shared/hooks/usePickerState';\nimport { DateValidationProps } from '../_helpers/text-field-helper';\nimport { PureDateInput, PureDateInputProps } from '../_shared/PureDateInput';\n\nexport type WrappedPurePickerProps = DateValidationProps &\n BasePickerProps &\n ExtendWrapper<PureDateInputProps>;\n\nexport function makePurePicker<T extends any>({\n useOptions,\n getCustomProps,\n DefaultToolbarComponent,\n}: MakePickerOptions<WrappedPurePickerProps & T>): React.FC<WrappedPurePickerProps & T> {\n function WrappedPurePicker(props: WrappedPurePickerProps & T) {\n const {\n allowKeyboardControl,\n ampm,\n hideTabs,\n animateYearScrolling,\n autoOk,\n disableFuture,\n disablePast,\n format,\n forwardedRef,\n initialFocusedDate,\n invalidDateMessage,\n labelFunc,\n leftArrowIcon,\n leftArrowButtonProps,\n maxDate,\n maxDateMessage,\n minDate,\n onOpen,\n onClose,\n minDateMessage,\n strictCompareDates,\n minutesStep,\n onAccept,\n onChange,\n onMonthChange,\n onYearChange,\n renderDay,\n views,\n openTo,\n rightArrowIcon,\n rightArrowButtonProps,\n shouldDisableDate,\n dateRangeIcon,\n emptyLabel,\n invalidLabel,\n timeIcon,\n value,\n variant,\n orientation,\n disableToolbar,\n loadingIndicator,\n ToolbarComponent = DefaultToolbarComponent,\n showActionsBar,\n showTodayButton,\n todayLabel,\n showShiftButtons,\n ...other\n } = props;\n\n const injectedProps = getCustomProps ? getCustomProps(props) : {};\n\n const options = useOptions(props);\n const { pickerProps, inputProps, wrapperProps } = usePickerState(props, options);\n\n return (\n <Wrapper\n variant={variant}\n InputComponent={PureDateInput}\n DateInputProps={inputProps}\n showTodayButton={showTodayButton}\n todayLabel={todayLabel}\n {...wrapperProps}\n {...injectedProps}\n {...other}\n >\n <Picker\n {...pickerProps}\n orientation={orientation}\n disableToolbar={disableToolbar}\n ToolbarComponent={ToolbarComponent}\n hideTabs={hideTabs}\n ampm={ampm}\n views={views}\n openTo={openTo}\n allowKeyboardControl={allowKeyboardControl}\n minutesStep={minutesStep}\n animateYearScrolling={animateYearScrolling}\n disableFuture={disableFuture}\n disablePast={disablePast}\n leftArrowIcon={leftArrowIcon}\n leftArrowButtonProps={leftArrowButtonProps}\n maxDate={maxDate}\n minDate={minDate}\n strictCompareDates={strictCompareDates}\n onMonthChange={onMonthChange}\n onYearChange={onYearChange}\n renderDay={renderDay}\n dateRangeIcon={dateRangeIcon}\n timeIcon={timeIcon}\n rightArrowIcon={rightArrowIcon}\n rightArrowButtonProps={rightArrowButtonProps}\n shouldDisableDate={shouldDisableDate}\n loadingIndicator={loadingIndicator}\n showActionsBar={showActionsBar}\n showTodayButton={showTodayButton}\n todayLabel={todayLabel}\n showShiftButtons={showShiftButtons}\n />\n </Wrapper>\n );\n }\n\n return WrappedPurePicker;\n}\n","import React from 'react';\r\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\r\n\r\nexport const KeyboardIcon: React.SFC<SvgIconProps> = props => {\r\n return (\r\n <SvgIcon {...props}>\r\n <path d=\"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z\" />\r\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\r\n </SvgIcon>\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport InputAdornment, { InputAdornmentProps } from '@material-ui/core/InputAdornment';\r\nimport TextField, { BaseTextFieldProps, TextFieldProps } from '@material-ui/core/TextField';\r\nimport { Rifm } from 'rifm';\r\nimport { IconButton } from '@material-ui/core';\r\nimport { ExtendMui } from '../typings/extendMui';\r\nimport { KeyboardIcon } from './icons/KeyboardIcon';\r\nimport { IconButtonProps } from '@material-ui/core/IconButton';\r\nimport { makeMaskFromFormat, maskedDateFormatter } from '../_helpers/text-field-helper';\r\n\r\nexport interface KeyboardDateInputProps\r\n extends ExtendMui<BaseTextFieldProps, 'variant' | 'onError' | 'onChange' | 'value'> {\r\n format: string;\r\n onChange: (value: string | null) => void;\r\n onClick?: () => void;\r\n validationError?: React.ReactNode;\r\n inputValue: string;\r\n InputProps?: TextFieldProps['InputProps'];\r\n /** Override input component */\r\n TextFieldComponent?: React.ComponentType<TextFieldProps>;\r\n /** Icon displaying for open picker button */\r\n keyboardIcon?: React.ReactNode;\r\n /** Pass material-ui text field variant down, bypass internal variant prop */\r\n inputVariant?: TextFieldProps['variant'];\r\n /**\r\n * Custom mask. Can be used to override generate from format. (e.g. __/__/____ __:__)\r\n */\r\n mask?: string;\r\n /**\r\n * Char string that will be replaced with number (for \"_\" mask will be \"__/__/____\")\r\n * @default '_'\r\n */\r\n maskChar?: string;\r\n /**\r\n * Refuse values regexp\r\n * @default /[^\\d]+/gi\r\n */\r\n refuse?: RegExp;\r\n /**\r\n * Props to pass to keyboard input adornment\r\n * @type {Partial<InputAdornmentProps>}\r\n */\r\n InputAdornmentProps?: Partial<InputAdornmentProps>;\r\n /**\r\n * Props to pass to keyboard adornment button\r\n * @type {Partial<IconButtonProps>}\r\n */\r\n KeyboardButtonProps?: Partial<IconButtonProps>;\r\n /** Custom formatter to be passed into Rifm component */\r\n rifmFormatter?: (str: string) => string;\r\n}\r\n\r\nconst KeyboardDateInput: React.FunctionComponent<KeyboardDateInputProps> = ({\r\n inputValue,\r\n inputVariant,\r\n validationError,\r\n KeyboardButtonProps,\r\n InputAdornmentProps,\r\n onClick,\r\n onChange,\r\n InputProps,\r\n mask,\r\n maskChar = '_',\r\n refuse = /[^\\d]+/gi,\r\n format,\r\n keyboardIcon,\r\n disabled,\r\n rifmFormatter,\r\n TextFieldComponent = TextField,\r\n ...other\r\n}) => {\r\n const inputMask = mask || makeMaskFromFormat(format, maskChar);\r\n // prettier-ignore\r\n const formatter = React.useCallback(\r\n maskedDateFormatter(inputMask, maskChar, refuse),\r\n [mask, maskChar]\r\n );\r\n\r\n const position =\r\n InputAdornmentProps && InputAdornmentProps.position ? InputAdornmentProps.position : 'end';\r\n\r\n const handleChange = (text: string) => {\r\n const finalString = text === '' || text === inputMask ? null : text;\r\n onChange(finalString);\r\n };\r\n\r\n return (\r\n <Rifm\r\n value={inputValue}\r\n onChange={handleChange}\r\n refuse={refuse}\r\n format={rifmFormatter || formatter}\r\n >\r\n {({ onChange, value }) => (\r\n <TextFieldComponent\r\n disabled={disabled}\r\n error={Boolean(validationError)}\r\n helperText={validationError}\r\n {...other}\r\n value={value}\r\n onChange={onChange}\r\n variant={inputVariant as any}\r\n InputProps={{\r\n ...InputProps,\r\n [`${position}Adornment`]: (\r\n <InputAdornment position={position} {...InputAdornmentProps}>\r\n <IconButton disabled={disabled} {...KeyboardButtonProps} onClick={onClick}>\r\n {keyboardIcon}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n />\r\n )}\r\n </Rifm>\r\n );\r\n};\r\n\r\nKeyboardDateInput.defaultProps = {\r\n keyboardIcon: <KeyboardIcon />,\r\n};\r\n\r\nexport default KeyboardDateInput;\r\n","import { useUtils } from './useUtils';\r\nimport { Omit } from '@material-ui/core';\r\nimport { IUtils } from '@date-io/core/IUtils';\r\nimport { BasePickerProps } from '../../typings/BasePicker';\r\nimport { MaterialUiPickersDate } from '../../typings/date';\r\nimport { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport { getDisplayDate } from '../../_helpers/text-field-helper';\r\nimport { StateHookOptions, usePickerState } from './usePickerState';\r\n\r\nexport interface BaseKeyboardPickerProps extends Omit<BasePickerProps, 'onChange'> {\r\n /** String value for controlling value with pure input string. Overrides value prop */\r\n inputValue?: string;\r\n /** Keyboard onChange callback */\r\n onChange: (date: MaterialUiPickersDate | null, value?: string | null) => void;\r\n}\r\n\r\nfunction parseInputString(value: string, utils: IUtils<any>, format: string) {\r\n try {\r\n return utils.parse(value, format);\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport function useKeyboardPickerState(props: BaseKeyboardPickerProps, options: StateHookOptions) {\r\n const { format = options.getDefaultFormat(), inputValue, onChange, value } = props;\r\n const utils = useUtils();\r\n\r\n const displayDate = getDisplayDate(value, format, utils, value === null, props);\r\n const [innerInputValue, setInnerInputValue] = useState(displayDate);\r\n const dateValue = inputValue ? parseInputString(inputValue, utils, format) : value;\r\n\r\n useEffect(() => {\r\n if (value === null || utils.isValid(value)) {\r\n setInnerInputValue(displayDate);\r\n }\r\n }, [displayDate, setInnerInputValue, utils, value]);\r\n\r\n const handleKeyboardChange = useCallback(\r\n (date: MaterialUiPickersDate) => {\r\n onChange(date, date === null ? null : utils.format(date, format));\r\n },\r\n [format, onChange, utils]\r\n );\r\n\r\n const { inputProps: innerInputProps, wrapperProps, pickerProps } = usePickerState(\r\n // Extend props interface\r\n { ...props, value: dateValue, onChange: handleKeyboardChange },\r\n options\r\n );\r\n\r\n const inputProps = useMemo(\r\n () => ({\r\n ...innerInputProps, // reuse validation and open/close logic\r\n format: wrapperProps.format,\r\n inputValue: inputValue || innerInputValue,\r\n onChange: (value: string | null) => {\r\n setInnerInputValue(value || '');\r\n const date = value === null ? null : utils.parse(value, wrapperProps.format);\r\n\r\n onChange(date, value);\r\n },\r\n }),\r\n [innerInputProps, innerInputValue, inputValue, onChange, utils, wrapperProps.format]\r\n );\r\n\r\n return {\r\n inputProps,\r\n wrapperProps,\r\n pickerProps,\r\n };\r\n}\r\n","import * as React from 'react';\nimport KeyboardDateInput, { KeyboardDateInputProps } from '../_shared/KeyboardDateInput';\nimport { Picker, ToolbarComponentProps } from './Picker';\nimport { ExtendWrapper, Wrapper } from '../wrappers/Wrapper';\nimport { StateHookOptions } from '../_shared/hooks/usePickerState';\nimport { DateValidationProps } from '../_helpers/text-field-helper';\nimport {\n BaseKeyboardPickerProps,\n useKeyboardPickerState,\n} from '../_shared/hooks/useKeyboardPickerState';\n\nexport type WrappedKeyboardPickerProps = DateValidationProps &\n BaseKeyboardPickerProps &\n ExtendWrapper<KeyboardDateInputProps>;\n\nexport interface MakePickerOptions<T> {\n useOptions: (props: any) => StateHookOptions;\n getCustomProps?: (props: T) => Partial<T>;\n DefaultToolbarComponent: React.ComponentType<ToolbarComponentProps>;\n}\n\n// Mostly duplicate of ./WrappedPurePicker.tsx to enable tree-shaking of keyboard logic\n// TODO investigate how to reduce duplications\nexport function makeKeyboardPicker<T extends any>({\n useOptions,\n getCustomProps,\n DefaultToolbarComponent,\n}: MakePickerOptions<WrappedKeyboardPickerProps & T>): React.FC<WrappedKeyboardPickerProps & T> {\n function WrappedKeyboardPicker(props: WrappedKeyboardPickerProps & T) {\n const {\n allowKeyboardControl,\n ampm,\n hideTabs,\n animateYearScrolling,\n autoOk,\n disableFuture,\n disablePast,\n format,\n forwardedRef,\n initialFocusedDate,\n invalidDateMessage,\n labelFunc,\n leftArrowIcon,\n leftArrowButtonProps,\n maxDate,\n maxDateMessage,\n minDate,\n onOpen,\n onClose,\n minDateMessage,\n strictCompareDates,\n minutesStep,\n onAccept,\n onChange,\n onMonthChange,\n onYearChange,\n renderDay,\n views,\n openTo,\n rightArrowIcon,\n rightArrowButtonProps,\n shouldDisableDate,\n value,\n dateRangeIcon,\n emptyLabel,\n invalidLabel,\n timeIcon,\n orientation,\n variant,\n disableToolbar,\n loadingIndicator,\n showActionsBar,\n showTodayButton,\n todayLabel,\n ToolbarComponent = DefaultToolbarComponent,\n showShiftButtons,\n ...other\n } = props;\n\n const injectedProps = getCustomProps ? getCustomProps(props) : {};\n\n const options = useOptions(props);\n const { pickerProps, inputProps, wrapperProps } = useKeyboardPickerState(props, options);\n\n return (\n <Wrapper\n variant={variant}\n InputComponent={KeyboardDateInput}\n DateInputProps={inputProps}\n {...injectedProps}\n {...wrapperProps}\n {...other}\n >\n <Picker\n {...pickerProps}\n ToolbarComponent={ToolbarComponent}\n disableToolbar={disableToolbar}\n hideTabs={hideTabs}\n orientation={orientation}\n showActionsBar={showActionsBar}\n showTodayButton={showTodayButton}\n todayLabel={todayLabel}\n ampm={ampm}\n views={views}\n openTo={openTo}\n allowKeyboardControl={allowKeyboardControl}\n minutesStep={minutesStep}\n animateYearScrolling={animateYearScrolling}\n disableFuture={disableFuture}\n disablePast={disablePast}\n leftArrowIcon={leftArrowIcon}\n leftArrowButtonProps={leftArrowButtonProps}\n maxDate={maxDate}\n minDate={minDate}\n strictCompareDates={strictCompareDates}\n onMonthChange={onMonthChange}\n onYearChange={onYearChange}\n renderDay={renderDay}\n dateRangeIcon={dateRangeIcon}\n timeIcon={timeIcon}\n rightArrowIcon={rightArrowIcon}\n rightArrowButtonProps={rightArrowButtonProps}\n shouldDisableDate={shouldDisableDate}\n loadingIndicator={loadingIndicator}\n showShiftButtons={showShiftButtons}\n />\n </Wrapper>\n );\n }\n\n return WrappedKeyboardPicker;\n}\n","import { useUtils } from '../_shared/hooks/useUtils';\nimport { DatePickerToolbar } from './DatePickerToolbar';\nimport { MaterialUiPickersDate } from '../typings/date';\nimport { getFormatByViews } from '../_helpers/date-utils';\nimport { OutterCalendarProps } from '../views/Calendar/Calendar';\nimport { datePickerDefaultProps, ParsableDate } from '../constants/prop-types';\nimport { WrappedPurePickerProps, makePurePicker } from '../Picker/WrappedPurePicker';\nimport { makeKeyboardPicker, WrappedKeyboardPickerProps } from '../Picker/WrappedKeyboardPicker';\n\nexport type DatePickerView = 'year' | 'date' | 'month';\n\nexport interface BaseDatePickerProps extends OutterCalendarProps {\n /**\n * Min selectable date\n * @default Date(1900-01-01)\n */\n minDate?: ParsableDate;\n /**\n * Max selectable date\n * @default Date(2100-01-01)\n */\n maxDate?: ParsableDate;\n\n /**\n * Compare dates by the exact timestamp, instead of start/end of date\n * @default false\n */\n strictCompareDates?: boolean;\n\n /**\n * Disable past dates\n * @default false\n */\n disablePast?: boolean;\n /**\n * Disable future dates\n * @default false\n */\n disableFuture?: boolean;\n /**\n * To animate scrolling to current year (using scrollIntoView)\n * @default false\n */\n animateYearScrolling?: boolean;\n /** Callback firing on year change */\n onYearChange?: (date: MaterialUiPickersDate) => void;\n}\n\nexport interface DatePickerViewsProps extends BaseDatePickerProps {\n /**\n * Array of views to show\n * @type {Array<\"year\" | \"date\" | \"month\">}\n */\n views?: DatePickerView[];\n /** Open to DatePicker */\n openTo?: DatePickerView;\n}\n\nexport type DatePickerProps = WrappedPurePickerProps & DatePickerViewsProps;\n\nexport type KeyboardDatePickerProps = WrappedKeyboardPickerProps & DatePickerViewsProps;\n\nconst defaultProps = {\n ...datePickerDefaultProps,\n openTo: 'date' as DatePickerView,\n views: ['year', 'date'] as DatePickerView[],\n showActionsBar: false,\n todayLabel: 'TODAY',\n};\n\nfunction useOptions(props: DatePickerViewsProps) {\n const utils = useUtils();\n\n return {\n getDefaultFormat: () => getFormatByViews(props.views!, utils),\n };\n}\n\nexport const DatePicker = makePurePicker<DatePickerViewsProps>({\n useOptions,\n DefaultToolbarComponent: DatePickerToolbar,\n});\n\nexport const KeyboardDatePicker = makeKeyboardPicker<DatePickerViewsProps>({\n useOptions,\n DefaultToolbarComponent: DatePickerToolbar,\n});\n\nDatePicker.defaultProps = defaultProps;\n\nKeyboardDatePicker.defaultProps = defaultProps;\n","import * as React from 'react';\r\nimport clsx from 'clsx';\r\nimport ClockType from '../constants/ClockType';\r\nimport ToolbarText from '../_shared/ToolbarText';\r\nimport ToolbarButton from '../_shared/ToolbarButton';\r\nimport PickerToolbar from '../_shared/PickerToolbar';\r\nimport { arrayIncludes } from '../_helpers/utils';\r\nimport { useUtils } from '../_shared/hooks/useUtils';\r\nimport { MaterialUiPickersDate } from '../typings/date';\r\nimport { ToolbarComponentProps } from '../Picker/Picker';\r\nimport { useTheme, makeStyles } from '@material-ui/core/styles';\r\nimport { convertToMeridiem, getMeridiem } from '../_helpers/time-utils';\r\n\r\nexport const useStyles = makeStyles(\r\n {\r\n toolbarLandscape: {\r\n flexWrap: 'wrap',\r\n },\r\n toolbarAmpmLeftPadding: {\r\n paddingLeft: 50,\r\n },\r\n separator: {\r\n margin: '0 4px 0 2px',\r\n cursor: 'default',\r\n },\r\n hourMinuteLabel: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n alignItems: 'flex-end',\r\n },\r\n hourMinuteLabelLandscape: {\r\n marginTop: 'auto',\r\n },\r\n hourMinuteLabelReverse: {\r\n flexDirection: 'row-reverse',\r\n },\r\n ampmSelection: {\r\n marginLeft: 20,\r\n marginRight: -20,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n ampmLandscape: {\r\n margin: '4px 0 auto',\r\n flexDirection: 'row',\r\n justifyContent: 'space-around',\r\n flexBasis: '100%',\r\n },\r\n ampmSelectionWithSeconds: {\r\n marginLeft: 15,\r\n marginRight: 10,\r\n },\r\n ampmLabel: {\r\n fontSize: 18,\r\n },\r\n },\r\n { name: 'MuiPickersTimePickerToolbar' }\r\n);\r\n\r\nexport function useMeridiemMode(\r\n date: MaterialUiPickersDate,\r\n ampm: boolean | undefined,\r\n onChange: (date: MaterialUiPickersDate, isFinished?: boolean | undefined) => void\r\n) {\r\n const utils = useUtils();\r\n const meridiemMode = getMeridiem(date, utils);\r\n\r\n const handleMeridiemChange = React.useCallback(\r\n (mode: 'am' | 'pm') => {\r\n const timeWithMeridiem = convertToMeridiem(date, mode, Boolean(ampm), utils);\r\n onChange(timeWithMeridiem, false);\r\n },\r\n [ampm, date, onChange, utils]\r\n );\r\n\r\n return { meridiemMode, handleMeridiemChange };\r\n}\r\n\r\nconst TimePickerToolbar: React.FC<ToolbarComponentProps> = ({\r\n date,\r\n views,\r\n ampm,\r\n openView,\r\n onChange,\r\n isLandscape,\r\n setOpenView,\r\n}) => {\r\n const utils = useUtils();\r\n const theme = useTheme();\r\n const classes = useStyles();\r\n const { meridiemMode, handleMeridiemChange } = useMeridiemMode(date, ampm, onChange);\r\n\r\n const clockTypographyVariant = isLandscape ? 'h3' : 'h2';\r\n\r\n return (\r\n <PickerToolbar\r\n isLandscape={isLandscape}\r\n className={clsx({\r\n [classes.toolbarLandscape]: isLandscape,\r\n [classes.toolbarAmpmLeftPadding]: ampm && !isLandscape,\r\n })}\r\n >\r\n <div\r\n className={clsx(classes.hourMinuteLabel, {\r\n [classes.hourMinuteLabelLandscape]: isLandscape,\r\n [classes.hourMinuteLabelReverse]: theme.direction === 'rtl',\r\n })}\r\n >\r\n {arrayIncludes(views, 'hours') && (\r\n <ToolbarButton\r\n variant={clockTypographyVariant}\r\n onClick={() => setOpenView(ClockType.HOURS)}\r\n selected={openView === ClockType.HOURS}\r\n label={utils.getHourText(date, Boolean(ampm))}\r\n />\r\n )}\r\n\r\n {arrayIncludes(views, ['hours', 'minutes']) && (\r\n <ToolbarText\r\n label=\":\"\r\n variant={clockTypographyVariant}\r\n selected={false}\r\n className={classes.separator}\r\n />\r\n )}\r\n\r\n {arrayIncludes(views, 'minutes') && (\r\n <ToolbarButton\r\n variant={clockTypographyVariant}\r\n onClick={() => setOpenView(ClockType.MINUTES)}\r\n selected={openView === ClockType.MINUTES}\r\n label={utils.getMinuteText(date)}\r\n />\r\n )}\r\n\r\n {arrayIncludes(views, ['minutes', 'seconds']) && (\r\n <ToolbarText variant=\"h2\" label=\":\" selected={false} className={classes.separator} />\r\n )}\r\n\r\n {arrayIncludes(views, 'seconds') && (\r\n <ToolbarButton\r\n variant=\"h2\"\r\n onClick={() => setOpenView(ClockType.SECONDS)}\r\n selected={openView === ClockType.SECONDS}\r\n label={utils.getSecondText(date)}\r\n />\r\n )}\r\n </div>\r\n\r\n {ampm && (\r\n <div\r\n className={clsx(classes.ampmSelection, {\r\n [classes.ampmLandscape]: isLandscape,\r\n [classes.ampmSelectionWithSeconds]: arrayIncludes(views, 'seconds'),\r\n })}\r\n >\r\n <ToolbarButton\r\n disableRipple\r\n variant=\"subtitle1\"\r\n selected={meridiemMode === 'am'}\r\n typographyClassName={classes.ampmLabel}\r\n label={utils.getMeridiemText('am')}\r\n onClick={() => handleMeridiemChange('am')}\r\n />\r\n\r\n <ToolbarButton\r\n disableRipple\r\n variant=\"subtitle1\"\r\n selected={meridiemMode === 'pm'}\r\n typographyClassName={classes.ampmLabel}\r\n label={utils.getMeridiemText('pm')}\r\n onClick={() => handleMeridiemChange('pm')}\r\n />\r\n </div>\r\n )}\r\n </PickerToolbar>\r\n );\r\n};\r\n\r\nexport default TimePickerToolbar;\r\n","import TimePickerToolbar from './TimePickerToolbar';\r\nimport { useUtils } from '../_shared/hooks/useUtils';\r\nimport { timePickerDefaultProps } from '../constants/prop-types';\r\nimport { pick12hOr24hFormat } from '../_helpers/text-field-helper';\r\nimport { WrappedPurePickerProps, makePurePicker } from '../Picker/WrappedPurePicker';\r\nimport { makeKeyboardPicker, WrappedKeyboardPickerProps } from '../Picker/WrappedKeyboardPicker';\r\n\r\ntype TimePickerView = 'hours' | 'minutes' | 'seconds';\r\n\r\nexport interface BaseTimePickerProps {\r\n /**\r\n * 12h/24h view for hour selection clock\r\n * @default true\r\n */\r\n ampm?: boolean;\r\n /**\r\n * Step over minutes\r\n * @default 1\r\n */\r\n minutesStep?: number;\r\n}\r\n\r\nexport interface TimePickerViewsProps extends BaseTimePickerProps {\r\n /** Array of views to show */\r\n views?: ('hours' | 'minutes' | 'seconds')[];\r\n /** Open to timepicker */\r\n openTo?: 'hours' | 'minutes' | 'seconds';\r\n}\r\n\r\nexport type TimePickerProps = WrappedPurePickerProps & TimePickerViewsProps;\r\n\r\nexport type KeyboardTimePickerProps = WrappedKeyboardPickerProps & TimePickerViewsProps;\r\n\r\nconst defaultProps = {\r\n ...timePickerDefaultProps,\r\n openTo: 'hours' as TimePickerView,\r\n views: ['hours', 'minutes'] as TimePickerView[],\r\n};\r\n\r\nfunction useOptions(props: TimePickerProps | KeyboardTimePickerProps) {\r\n const utils = useUtils();\r\n\r\n return {\r\n getDefaultFormat: () =>\r\n pick12hOr24hFormat(props.format, props.ampm, {\r\n '12h': utils.time12hFormat,\r\n '24h': utils.time24hFormat,\r\n }),\r\n };\r\n}\r\n\r\nexport const TimePicker = makePurePicker<TimePickerViewsProps>({\r\n useOptions,\r\n DefaultToolbarComponent: TimePickerToolbar,\r\n});\r\n\r\nexport const KeyboardTimePicker = makeKeyboardPicker<TimePickerViewsProps>({\r\n useOptions,\r\n DefaultToolbarComponent: TimePickerToolbar,\r\n getCustomProps: props => ({\r\n refuse: props.ampm ? /[^\\dap]+/gi : /[^\\d]+/gi,\r\n }),\r\n});\r\n\r\nTimePicker.defaultProps = defaultProps;\r\n\r\nKeyboardTimePicker.defaultProps = defaultProps;\r\n","import React from 'react';\r\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\r\n\r\nexport const TimeIcon: React.SFC<SvgIconProps> = props => {\r\n return (\r\n <SvgIcon {...props}>\r\n <path d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" />\r\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\r\n <path d=\"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\" />\r\n </SvgIcon>\r\n );\r\n};\r\n","import React from 'react';\r\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\r\n\r\nexport const DateRangeIcon: React.SFC<SvgIconProps> = props => {\r\n return (\r\n <SvgIcon {...props}>\r\n <path d=\"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z\" />\r\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\r\n </SvgIcon>\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { TimeIcon } from '../_shared/icons/TimeIcon';\r\nimport { DateTimePickerView } from './DateTimePicker';\r\nimport { DateRangeIcon } from '../_shared/icons/DateRangeIcon';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\n\r\nconst viewToTabIndex = (openView: DateTimePickerView) => {\r\n if (openView === 'date' || openView === 'year') {\r\n return 'date';\r\n }\r\n\r\n return 'time';\r\n};\r\n\r\nconst tabIndexToView = (tab: DateTimePickerView) => {\r\n if (tab === 'date') {\r\n return 'date';\r\n }\r\n\r\n return 'hours';\r\n};\r\n\r\nexport interface DateTimePickerTabsProps {\r\n view: DateTimePickerView;\r\n onChange: (view: DateTimePickerView) => void;\r\n dateRangeIcon?: React.ReactNode;\r\n timeIcon?: React.ReactNode;\r\n}\r\n\r\nexport const useStyles = makeStyles(\r\n theme => {\r\n // prettier-ignore\r\n const tabsBackground = theme.palette.type === 'light'\r\n ? theme.palette.primary.main\r\n : theme.palette.background.default;\r\n\r\n return {\r\n tabs: {\r\n color: theme.palette.getContrastText(tabsBackground),\r\n backgroundColor: tabsBackground,\r\n },\r\n };\r\n },\r\n { name: 'MuiPickerDTTabs' }\r\n);\r\n\r\nexport const DateTimePickerTabs: React.SFC<DateTimePickerTabsProps> = ({\r\n view,\r\n onChange,\r\n dateRangeIcon,\r\n timeIcon,\r\n}) => {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const indicatorColor = theme.palette.type === 'light' ? 'secondary' : 'primary';\r\n const handleChange = (e: React.ChangeEvent<{}>, value: DateTimePickerView) => {\r\n if (value !== viewToTabIndex(view)) {\r\n onChange(tabIndexToView(value));\r\n }\r\n };\r\n\r\n return (\r\n <Paper>\r\n <Tabs\r\n variant=\"fullWidth\"\r\n value={viewToTabIndex(view)}\r\n onChange={handleChange}\r\n className={classes.tabs}\r\n indicatorColor={indicatorColor}\r\n >\r\n <Tab value=\"date\" icon={<>{dateRangeIcon}</>} />\r\n <Tab value=\"time\" icon={<>{timeIcon}</>} />\r\n </Tabs>\r\n </Paper>\r\n );\r\n};\r\n\r\nDateTimePickerTabs.defaultProps = {\r\n dateRangeIcon: <DateRangeIcon />,\r\n timeIcon: <TimeIcon />,\r\n};\r\n\r\nexport default DateTimePickerTabs;\r\n","import * as React from 'react';\r\nimport ToolbarText from '../_shared/ToolbarText';\r\nimport PickerToolbar from '../_shared/PickerToolbar';\r\nimport ToolbarButton from '../_shared/ToolbarButton';\r\nimport DateTimePickerTabs from './DateTimePickerTabs';\r\nimport { Grid } from '@material-ui/core';\r\nimport { useUtils } from '../_shared/hooks/useUtils';\r\nimport { DateTimePickerView } from './DateTimePicker';\r\nimport { ToolbarComponentProps } from '../Picker/Picker';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport { useMeridiemMode } from '../TimePicker/TimePickerToolbar';\r\n\r\nexport const useStyles = makeStyles(\r\n _ => ({\r\n toolbar: {\r\n paddingLeft: 16,\r\n paddingRight: 16,\r\n justifyContent: 'space-around',\r\n },\r\n separator: {\r\n margin: '0 4px 0 2px',\r\n cursor: 'default',\r\n },\r\n }),\r\n { name: 'MuiPickerDTToolbar' }\r\n);\r\n\r\nexport const DateTimePickerToolbar: React.FC<ToolbarComponentProps> = ({\r\n date,\r\n openView,\r\n setOpenView,\r\n ampm,\r\n hideTabs,\r\n dateRangeIcon,\r\n timeIcon,\r\n onChange,\r\n}) => {\r\n const utils = useUtils();\r\n const classes = useStyles();\r\n const showTabs = !hideTabs && typeof window !== 'undefined' && window.innerHeight > 667;\r\n const { meridiemMode, handleMeridiemChange } = useMeridiemMode(date, ampm, onChange);\r\n const theme = useTheme();\r\n const rtl = theme.direction === 'rtl';\r\n\r\n return (\r\n <>\r\n <PickerToolbar isLandscape={false} className={classes.toolbar}>\r\n <Grid container justify=\"center\" wrap=\"nowrap\">\r\n <Grid item container xs={5} justify=\"flex-start\" direction=\"column\">\r\n <div>\r\n <ToolbarButton\r\n variant=\"subtitle1\"\r\n onClick={() => setOpenView('year')}\r\n selected={openView === 'year'}\r\n label={utils.getYearText(date)}\r\n />\r\n </div>\r\n <div>\r\n <ToolbarButton\r\n variant=\"h4\"\r\n onClick={() => setOpenView('date')}\r\n selected={openView === 'date'}\r\n label={utils.getDateTimePickerHeaderText(date)}\r\n />\r\n </div>\r\n </Grid>\r\n\r\n <Grid\r\n item\r\n container\r\n xs={6}\r\n justify=\"center\"\r\n alignItems=\"flex-end\"\r\n direction={rtl ? 'row-reverse' : 'row'}\r\n >\r\n <ToolbarButton\r\n variant=\"h3\"\r\n onClick={() => setOpenView('hours')}\r\n selected={openView === 'hours'}\r\n label={utils.getHourText(date, ampm!)}\r\n />\r\n\r\n <ToolbarText variant=\"h3\" label=\":\" className={classes.separator} />\r\n\r\n <ToolbarButton\r\n variant=\"h3\"\r\n onClick={() => setOpenView('minutes')}\r\n selected={openView === 'minutes'}\r\n label={utils.getMinuteText(date)}\r\n />\r\n </Grid>\r\n\r\n {ampm && (\r\n <Grid item container xs={1} direction=\"column\" justify=\"flex-end\">\r\n <ToolbarButton\r\n variant=\"subtitle1\"\r\n selected={meridiemMode === 'am'}\r\n label={utils.getMeridiemText('am')}\r\n onClick={() => handleMeridiemChange('am')}\r\n />\r\n\r\n <ToolbarButton\r\n variant=\"subtitle1\"\r\n selected={meridiemMode === 'pm'}\r\n label={utils.getMeridiemText('pm')}\r\n onClick={() => handleMeridiemChange('pm')}\r\n />\r\n </Grid>\r\n )}\r\n </Grid>\r\n </PickerToolbar>\r\n\r\n {showTabs && (\r\n <DateTimePickerTabs\r\n dateRangeIcon={dateRangeIcon}\r\n timeIcon={timeIcon}\r\n view={openView as DateTimePickerView}\r\n onChange={setOpenView}\r\n />\r\n )}\r\n </>\r\n );\r\n};\r\n","import { useUtils } from '../_shared/hooks/useUtils';\nimport { BaseDatePickerProps } from '../DatePicker/DatePicker';\nimport { BaseTimePickerProps } from '../TimePicker/TimePicker';\nimport { DateTimePickerToolbar } from './DateTimePickerToolbar';\nimport { pick12hOr24hFormat } from '../_helpers/text-field-helper';\nimport { dateTimePickerDefaultProps } from '../constants/prop-types';\nimport { WrappedPurePickerProps, makePurePicker } from '../Picker/WrappedPurePicker';\nimport { makeKeyboardPicker, WrappedKeyboardPickerProps } from '../Picker/WrappedKeyboardPicker';\n\nexport type DateTimePickerView = 'year' | 'date' | 'month' | 'hours' | 'minutes';\n\nexport type BaseDateTimePickerProps = BaseTimePickerProps & BaseDatePickerProps;\n\nexport interface DateTimePickerViewsProps extends BaseDateTimePickerProps {\n /** Array of views to show */\n views?: ('year' | 'date' | 'month' | 'hours' | 'minutes')[];\n /** Open to DatePicker */\n openTo?: 'year' | 'date' | 'month' | 'hours' | 'minutes';\n /** To show tabs */\n hideTabs?: boolean;\n /** Date tab icon */\n dateRangeIcon?: React.ReactNode;\n /** Time tab icon */\n timeIcon?: React.ReactNode;\n}\n\nexport type DateTimePickerProps = WrappedPurePickerProps & DateTimePickerViewsProps;\n\nexport type KeyboardDateTimePickerProps = WrappedKeyboardPickerProps & DateTimePickerViewsProps;\n\nconst defaultProps = {\n ...dateTimePickerDefaultProps,\n showActionsBar: false,\n todayLabel: 'TODAY',\n wider: true,\n orientation: 'portrait' as const,\n openTo: 'date' as DateTimePickerView,\n views: ['year', 'date', 'hours', 'minutes'] as DateTimePickerView[],\n};\n\nfunction useOptions(props: DateTimePickerProps | KeyboardDateTimePickerProps) {\n const utils = useUtils();\n\n if (props.orientation !== 'portrait') {\n throw new Error('We are not supporting custom orientation for DateTimePicker yet :(');\n }\n\n return {\n getDefaultFormat: () =>\n pick12hOr24hFormat(props.format, props.ampm, {\n '12h': utils.dateTime12hFormat,\n '24h': utils.dateTime24hFormat,\n }),\n };\n}\n\nexport const DateTimePicker = makePurePicker<DateTimePickerProps>({\n useOptions,\n DefaultToolbarComponent: DateTimePickerToolbar,\n});\n\nexport const KeyboardDateTimePicker = makeKeyboardPicker<KeyboardDateTimePickerProps>({\n useOptions,\n DefaultToolbarComponent: DateTimePickerToolbar,\n getCustomProps: props => ({\n refuse: props.ampm ? /[^\\dap]+/gi : /[^\\d]+/gi,\n }),\n});\n\nDateTimePicker.defaultProps = defaultProps;\n\nKeyboardDateTimePicker.defaultProps = defaultProps;\n"],"names":["MuiPickersContext","React","MuiPickersUtilsProvider","_a","Utils","children","locale","libInstance","utils","moment","Provider","value","propTypes","PropTypes","isRequired","checkUtils","Error","useUtils","useContext","useStyles","makeStyles","theme","textColor","palette","type","primary","contrastText","getContrastText","background","default","toolbarTxt","color","fade","toolbarBtnSelected","name","ToolbarText","selected","label","_c","className","other","classes","Typography","clsx","_b","ToolbarButton","variant","align","typographyClassName","Button","toolbarBtn","innerRef","defaultProps","styles","createStyles","padding","minWidth","textTransform","withStyles","toolbar","display","flexDirection","alignItems","justifyContent","height","backgroundColor","main","toolbarLandscape","maxWidth","PickerToolbar","isLandscape","Toolbar","arrayIncludes","array","itemOrItems","Array","isArray","every","item","indexOf","findClosestEnabledDate","date","minDate","maxDate","disableFuture","disablePast","shouldDisableDate","today","startOfDay","isBefore","isAfter","forward","backward","addDays","isYearOnlyView","views","length","isYearAndMonthViews","getFormatByViews","yearFormat","yearMonthFormat","dateFormat","dateLandscape","marginRight","DatePickerToolbar","setOpenView","openView","isYearOnly","isYearAndMonth","onClick","getYearText","getDatePickerHeaderText","getMonthText","Date","datePickerView","timePickerDefaultProps","ampm","invalidDateMessage","datePickerDefaultProps","minDateMessage","maxDateMessage","allowKeyboardControl","dateTimePickerDefaultProps","tslib_1","showTabs","day","width","fontSize","typography","caption","margin","text","fontWeight","fontWeightMedium","hidden","opacity","pointerEvents","current","daySelected","dayDisabled","hint","Day","disabled","IconButton","tabIndex","displayName","DayWrapper","onSelect","dayInCurrentMonth","handleClick","role","undefined","onKeyPress","animationDuration","slideTransition","transitions","create","duration","easing","transitionContainer","position","top","right","left","willChange","transform","slideEnterActive","transition","slideExit","SlideTransition","transKey","slideDirection","transitionClasses","exit","enterActive","enter","exitActive","TransitionGroup","childFactory","element","classNames","CSSTransition","mountOnEnter","unmountOnExit","key","timeout","ArrowLeftIcon","props","SvgIcon","d","fill","ArrowRightIcon","switchHeader","marginTop","spacing","marginBottom","overflow","iconButton","zIndex","paper","daysHeader","maxHeight","dayLabel","textAlign","CalendarHeader","currentMonth","onMonthChange","leftArrowIcon","rightArrowIcon","leftArrowButtonProps","rightArrowButtonProps","disablePrevMonth","disableNextMonth","useTheme","rtl","direction","selectNextMonth","getNextMonth","selectPreviousMonth","getPreviousMonth","toString","getCalendarHeaderText","getWeekdays","map","index","useIsomorphicEffect","window","runKeyHandler","e","keyHandlers","handler","preventDefault","useKeyDown","active","keyHandlersRef","handleKeyDown_1","event","addEventListener","removeEventListener","withUtils","Component","WithUtils","KeyDownListener","onKeyDown","_this","startOfMonth","loadingQueue","state","setState","newMonth","returnVal","pushToLoadingQueue","then","popFromLoadingQueue","now","Boolean","isAfterDay","isBeforeDay","firstEnabledMonth","lastEnabledMonth","validateMinMaxDate","isFinish","onChange","mergeDateAndTime","getMonth","handleChangeMonth","handleDaySelect","ArrowUp","moveToDay","ArrowDown","ArrowLeft","ArrowRight","weeks","getWeekArray","week","renderDays","renderDay","selectedDate","currentMonthNumber","isDayInCurrentMonth","dayComponent","isSameDay","getDayText","Calendar","nextProps","nextDate","isEqual","lastDate","nextMonth","lastMonth","closestEnabledDate","loadingIndicator","loadingElement","CircularProgress","handleKeyDown","shouldDisablePrevMonth","shouldDisableNextMonth","progressContainer","renderWeeks","minHeight","withTheme","useViews","openTo","handleChangeAndOpenNext","nextViewToOpen","root","cursor","outline","yearSelected","yearDisabled","Year","forwardedRef","component","ref","DIALOG_WIDTH","DIALOG_WIDTH_WIDER","VIEW_HEIGHT","staticWrapperRoot","StaticWrapper","ModalDialog","onAccept","onDismiss","onClear","onSetToday","okLabel","cancelLabel","clearLabel","todayLabel","clearable","showTodayButton","wider","Dialog","onClose","dialogRoot","dialogRootWider","DialogContent","dialog","DialogActions","withAdditionalAction","ModalWrapper","open","DialogProps","InputComponent","DateInputProps","Enter","popoverPaper","paddingBottom","popoverPaperWider","InlineWrapper","PopoverProps","inputRef","Popover","anchorEl","anchorOrigin","vertical","horizontal","transformOrigin","onOpen","getWrapperFromVariant","VariantContext","Wrapper","container","overflowY","YearSelection","onYearChange","animateYearScrolling","currentVariant","selectedYearRef","scrollIntoView","block","behavior","currentYear","getYear","onYearSelect","year","newDate","setYear","getYearRange","yearNumber","isBeforeYear","isAfterYear","ClockType","toAnimateTransform","previousType","isInner","max","HOURS","angle","ClockPointer","hasSelected","style","getAngleStyle","pointer","animateTransform","thumb","noPoint","bottom","borderRadius","border","boxSizing","center","x","y","basePoint","cx","cy","rad2deg","rad","getAngleValue","step","offsetX","offsetY","atan","Math","atan2","deg","round","floor","delta","pow","distance","sqrt","getHours","getMinutes","angleStep","getMeridiem","convertToMeridiem","time","meridiem","currentMeridiem","hours","setHours","isMoving","setTime","stopPropagation","isButtonPressed","buttons","nativeEvent","which","Clock","rect","target","getBoundingClientRect","changedTouches","clientX","clientY","SECONDS","MINUTES","minutesStep","isPointerInner","clock","squareMask","onTouchMove","handleTouchMove","onTouchEnd","handleTouchEnd","onMouseUp","handleMouseUp","onMouseMove","handleMove","pin","Object","keys","touchActions","userSelect","positions","size","clockNumber","clockNumberSelected","ClockNumber","transformStyle","getHourNumbers","currentHours","hourNumbers","startHour","endHour","isSelected","hour","formatNumber","push","getMinutesNumbers","f","TimePickerView","onHourChange","onMinutesChange","onSecondsChange","viewProps","updatedTimeWithMeridiem","minutesValue","updatedTime","setMinutes","secondsValue","getSeconds","setSeconds","flex","monthSelected","monthDisabled","Month","handleSelection","flexWrap","alignContent","MonthSelection","shouldDisableMonth","month","utilMinDate","utilMaxDate","isBeforeFirstEnabled","isAfterLastEnabled","onMonthSelect","setMonth","getMonthArray","monthNumber","monthText","format","getOrientation","screen","orientation","abs","useIsLandscape","customOrientation","setOrientation","eventHandler","orientationToUse","viewsMap","minutes","seconds","containerLandscape","pickerView","overflowX","pickerViewLandscape","useButtonsStyles","useDialogActionsStyles","Picker","disableToolbar","hideTabs","dateRangeIcon","timeIcon","unparsedMinDate","unparsedMaxDate","ToolbarComponent","showActionsBar","onSetShift","showShiftButtons","buttonClasses","dialogActionsClasses","_d","shiftButtonValues","shiftButtons","shiftValue","useOpenState","setIsOpenState","setIsOpen","useCallback","newIsOpen","isOpen","getDisplayDate","isEmpty","invalidLabel","emptyLabel","labelFunc","isValid","getComparisonMaxDate","strictCompareDates","endOfDay","getComparisonMinDate","validate","parsedValue","pick12hOr24hFormat","userFormat","formats","makeMaskFromFormat","numberMaskChar","replace","maskedDateFormatter","mask","refuse","result","parsed","i","n","maskChar","parsedChar","useValueToDate","initialFocusedDate","nowRef","useRef","useDateValues","options","getDefaultFormat","usePickerState","autoOk","onError","pickerDate","setPickerDate","useEffect","acceptDate","acceptedDate","wrapperProps","useMemo","pickerProps","days","validationError","inputValue","inputProps","pickerState","useDebugValue","PureDateInput","inputVariant","InputProps","TextFieldComponent","PureDateInputProps","readOnly","error","helperText","makePurePicker","useOptions","getCustomProps","DefaultToolbarComponent","WrappedPurePicker","injectedProps","KeyboardIcon","KeyboardDateInput","KeyboardButtonProps","InputAdornmentProps","keyboardIcon","rifmFormatter","inputMask","formatter","handleChange","finalString","Rifm","InputAdornment","parseInputString","parse","useKeyboardPickerState","displayDate","innerInputValue","setInnerInputValue","dateValue","handleKeyboardChange","innerInputProps","makeKeyboardPicker","WrappedKeyboardPicker","DatePicker","KeyboardDatePicker","toolbarAmpmLeftPadding","paddingLeft","separator","hourMinuteLabel","hourMinuteLabelLandscape","hourMinuteLabelReverse","ampmSelection","marginLeft","ampmLandscape","flexBasis","ampmSelectionWithSeconds","ampmLabel","useMeridiemMode","meridiemMode","handleMeridiemChange","mode","timeWithMeridiem","TimePickerToolbar","_e","clockTypographyVariant","getHourText","getMinuteText","getSecondText","disableRipple","getMeridiemText","time12hFormat","time24hFormat","TimePicker","KeyboardTimePicker","TimeIcon","DateRangeIcon","viewToTabIndex","tabIndexToView","tab","tabsBackground","tabs","DateTimePickerTabs","view","indicatorColor","Paper","Tabs","Tab","icon","_","paddingRight","DateTimePickerToolbar","innerHeight","Grid","justify","wrap","xs","getDateTimePickerHeaderText","dateTime12hFormat","dateTime24hFormat","DateTimePicker","KeyboardDateTimePicker"],"mappings":"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"}