@progress/kendo-vue-dateinputs 3.5.0 → 3.5.1-dev.202208150613

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 (299) hide show
  1. package/dist/cdn/js/kendo-vue-dateinputs.js +1 -1
  2. package/dist/es/PopupSettings.js +1 -0
  3. package/dist/es/calendar/components/Header.js +1 -1
  4. package/dist/es/calendar/components/View.js +3 -3
  5. package/dist/es/calendar/components/interfaces/CalendarComputed.js +1 -0
  6. package/dist/es/calendar/components/interfaces/CalendarData.js +1 -0
  7. package/dist/es/calendar/components/interfaces/CalendarEventArguments.js +1 -0
  8. package/dist/es/calendar/components/interfaces/CalendarMethods.js +1 -0
  9. package/dist/es/calendar/components/interfaces/CalendarProps.js +1 -0
  10. package/dist/es/calendar/components/interfaces/CalendarState.js +1 -0
  11. package/dist/es/calendar/models/ActiveView.js +1 -0
  12. package/dist/es/calendar/models/CalendarMode.js +1 -0
  13. package/dist/es/calendar/models/CalendarSettings.js +1 -0
  14. package/dist/es/calendar/models/CellContext.js +1 -0
  15. package/dist/es/calendar/models/SelectionRangeEnd.js +1 -0
  16. package/dist/es/calendar/models/ViewService.js +1 -0
  17. package/dist/es/calendar/services/BusViewService.js +1 -1
  18. package/dist/es/calendar/services/CenturyViewService.js +2 -2
  19. package/dist/es/calendar/services/DOMService.js +6 -6
  20. package/dist/es/calendar/services/DecadeViewService.js +2 -2
  21. package/dist/es/calendar/services/MonthViewService.js +2 -2
  22. package/dist/es/calendar/services/NavigationService.js +1 -1
  23. package/dist/es/calendar/services/YearViewService.js +2 -2
  24. package/dist/es/dateinput/DateInput.js +1 -1
  25. package/dist/es/dateinput/interfaces/DateInputComputed.js +1 -0
  26. package/dist/es/dateinput/interfaces/DateInputData.js +1 -0
  27. package/dist/es/dateinput/interfaces/DateInputEventArguments.js +1 -0
  28. package/dist/es/dateinput/interfaces/DateInputMethods.js +1 -0
  29. package/dist/es/dateinput/interfaces/DateInputProps.js +1 -0
  30. package/dist/es/dateinput/interfaces/DateInputState.js +1 -0
  31. package/dist/es/dateinput/models/DateInputSettings.js +1 -0
  32. package/dist/es/dateinput/models/format-placeholder.js +1 -0
  33. package/dist/es/dateinput/models/incremental-steps.js +1 -0
  34. package/dist/es/dateinput/models/selection.js +1 -0
  35. package/dist/es/datepicker/DatePicker.js +3 -3
  36. package/dist/es/datepicker/ToggleButton.d.ts +1 -1
  37. package/dist/es/datepicker/interfaces/DatePickerComputed.js +1 -0
  38. package/dist/es/datepicker/interfaces/DatePickerData.js +1 -0
  39. package/dist/es/datepicker/interfaces/DatePickerEventArguments.js +1 -0
  40. package/dist/es/datepicker/interfaces/DatePickerMethods.js +1 -0
  41. package/dist/es/datepicker/interfaces/DatePickerProps.js +1 -0
  42. package/dist/es/datepicker/interfaces/DatePickerState.js +1 -0
  43. package/dist/es/datepicker/models/DatePickerSettings.js +1 -1
  44. package/dist/es/datepicker/models/index.js +1 -0
  45. package/dist/es/daterangepicker/DateRangePicker.js +1 -1
  46. package/dist/es/daterangepicker/models/DateRangePickerCalendarSettings.js +1 -0
  47. package/dist/es/daterangepicker/models/DateRangePickerDateInputSettings.js +1 -0
  48. package/dist/es/daterangepicker/models/DateRangePickerPopupSettings.js +1 -0
  49. package/dist/es/daterangepicker/models/DateRangePickerSettings.js +1 -0
  50. package/dist/es/daterangepicker/models/index.js +1 -0
  51. package/dist/es/datetimepicker/DateTimePicker.js +4 -4
  52. package/dist/es/datetimepicker/models/DateTimePickerSettings.js +1 -0
  53. package/dist/es/datetimepicker/models/index.js +1 -0
  54. package/dist/es/package-metadata.js +1 -1
  55. package/dist/es/timepicker/TimePart.js +1 -1
  56. package/dist/es/timepicker/TimePicker.js +4 -4
  57. package/dist/es/timepicker/models/IncrementalSteps.js +1 -0
  58. package/dist/es/timepicker/models/ListItem.js +1 -0
  59. package/dist/es/timepicker/models/ListService.js +1 -0
  60. package/dist/es/timepicker/models/ListServiceSettings.js +1 -0
  61. package/dist/es/timepicker/models/TimePickerSettings.js +1 -0
  62. package/dist/es/virtualization/Virtualization.js +4 -4
  63. package/dist/es/virtualization/services/RowHeightService.js +9 -7
  64. package/dist/esm/PopupSettings.d.ts +14 -0
  65. package/dist/esm/PopupSettings.js +1 -0
  66. package/dist/esm/additionalTypes.ts +21 -0
  67. package/dist/esm/calendar/components/Calendar.d.ts +24 -0
  68. package/dist/esm/calendar/components/Calendar.js +595 -0
  69. package/dist/esm/calendar/components/CalendarCell.d.ts +36 -0
  70. package/dist/esm/calendar/components/CalendarCell.js +168 -0
  71. package/dist/esm/calendar/components/CalendarHeaderTitle.d.ts +33 -0
  72. package/dist/esm/calendar/components/CalendarHeaderTitle.js +73 -0
  73. package/dist/esm/calendar/components/CalendarWeekCell.d.ts +27 -0
  74. package/dist/esm/calendar/components/CalendarWeekCell.js +59 -0
  75. package/dist/esm/calendar/components/Header.d.ts +73 -0
  76. package/dist/esm/calendar/components/Header.js +281 -0
  77. package/dist/esm/calendar/components/View.d.ts +110 -0
  78. package/dist/esm/calendar/components/View.js +344 -0
  79. package/dist/esm/calendar/components/ViewList.d.ts +116 -0
  80. package/dist/esm/calendar/components/ViewList.js +344 -0
  81. package/dist/esm/calendar/components/interfaces/CalendarComputed.d.ts +10 -0
  82. package/dist/esm/calendar/components/interfaces/CalendarComputed.js +1 -0
  83. package/dist/esm/calendar/components/interfaces/CalendarData.d.ts +10 -0
  84. package/dist/esm/calendar/components/interfaces/CalendarData.js +1 -0
  85. package/dist/esm/calendar/components/interfaces/CalendarEventArguments.d.ts +56 -0
  86. package/dist/esm/calendar/components/interfaces/CalendarEventArguments.js +1 -0
  87. package/dist/esm/calendar/components/interfaces/CalendarMethods.d.ts +33 -0
  88. package/dist/esm/calendar/components/interfaces/CalendarMethods.js +1 -0
  89. package/dist/esm/calendar/components/interfaces/CalendarProps.d.ts +55 -0
  90. package/dist/esm/calendar/components/interfaces/CalendarProps.js +2 -0
  91. package/dist/esm/calendar/components/interfaces/CalendarState.d.ts +26 -0
  92. package/dist/esm/calendar/components/interfaces/CalendarState.js +1 -0
  93. package/dist/esm/calendar/models/ActiveView.d.ts +4 -0
  94. package/dist/esm/calendar/models/ActiveView.js +1 -0
  95. package/dist/esm/calendar/models/CalendarMode.d.ts +9 -0
  96. package/dist/esm/calendar/models/CalendarMode.js +1 -0
  97. package/dist/esm/calendar/models/CalendarSettings.d.ts +82 -0
  98. package/dist/esm/calendar/models/CalendarSettings.js +1 -0
  99. package/dist/esm/calendar/models/CalendarViewEnum.d.ts +9 -0
  100. package/dist/esm/calendar/models/CalendarViewEnum.js +10 -0
  101. package/dist/esm/calendar/models/CellContext.d.ts +19 -0
  102. package/dist/esm/calendar/models/CellContext.js +1 -0
  103. package/dist/esm/calendar/models/NavigationAction.d.ts +15 -0
  104. package/dist/esm/calendar/models/NavigationAction.js +16 -0
  105. package/dist/esm/calendar/models/SelectionRange.d.ts +17 -0
  106. package/dist/esm/calendar/models/SelectionRange.js +4 -0
  107. package/dist/esm/calendar/models/SelectionRangeEnd.d.ts +4 -0
  108. package/dist/esm/calendar/models/SelectionRangeEnd.js +1 -0
  109. package/dist/esm/calendar/models/ViewService.d.ts +25 -0
  110. package/dist/esm/calendar/models/ViewService.js +1 -0
  111. package/dist/esm/calendar/models/index.d.ts +10 -0
  112. package/dist/esm/calendar/models/index.js +4 -0
  113. package/dist/esm/calendar/services/BusViewService.d.ts +21 -0
  114. package/dist/esm/calendar/services/BusViewService.js +69 -0
  115. package/dist/esm/calendar/services/CenturyViewService.d.ts +25 -0
  116. package/dist/esm/calendar/services/CenturyViewService.js +158 -0
  117. package/dist/esm/calendar/services/DOMService.d.ts +29 -0
  118. package/dist/esm/calendar/services/DOMService.js +166 -0
  119. package/dist/esm/calendar/services/DecadeViewService.d.ts +27 -0
  120. package/dist/esm/calendar/services/DecadeViewService.js +157 -0
  121. package/dist/esm/calendar/services/MonthViewService.d.ts +33 -0
  122. package/dist/esm/calendar/services/MonthViewService.js +169 -0
  123. package/dist/esm/calendar/services/NavigationService.d.ts +13 -0
  124. package/dist/esm/calendar/services/NavigationService.js +43 -0
  125. package/dist/esm/calendar/services/WeekNamesService.d.ts +9 -0
  126. package/dist/esm/calendar/services/WeekNamesService.js +16 -0
  127. package/dist/esm/calendar/services/YearViewService.d.ts +31 -0
  128. package/dist/esm/calendar/services/YearViewService.js +165 -0
  129. package/dist/esm/calendar/services/index.d.ts +9 -0
  130. package/dist/esm/calendar/services/index.js +9 -0
  131. package/dist/esm/calendar/utils/index.d.ts +26 -0
  132. package/dist/esm/calendar/utils/index.js +57 -0
  133. package/dist/esm/common/PickerWrap.d.ts +21 -0
  134. package/dist/esm/common/PickerWrap.js +40 -0
  135. package/dist/esm/dateinput/DateInput.d.ts +24 -0
  136. package/dist/esm/dateinput/DateInput.js +706 -0
  137. package/dist/esm/dateinput/interfaces/DateInputComputed.d.ts +8 -0
  138. package/dist/esm/dateinput/interfaces/DateInputComputed.js +1 -0
  139. package/dist/esm/dateinput/interfaces/DateInputData.d.ts +11 -0
  140. package/dist/esm/dateinput/interfaces/DateInputData.js +1 -0
  141. package/dist/esm/dateinput/interfaces/DateInputEventArguments.d.ts +10 -0
  142. package/dist/esm/dateinput/interfaces/DateInputEventArguments.js +1 -0
  143. package/dist/esm/dateinput/interfaces/DateInputMethods.d.ts +30 -0
  144. package/dist/esm/dateinput/interfaces/DateInputMethods.js +1 -0
  145. package/dist/esm/dateinput/interfaces/DateInputProps.d.ts +31 -0
  146. package/dist/esm/dateinput/interfaces/DateInputProps.js +3 -0
  147. package/dist/esm/dateinput/interfaces/DateInputState.d.ts +10 -0
  148. package/dist/esm/dateinput/interfaces/DateInputState.js +1 -0
  149. package/dist/esm/dateinput/models/DateInputSettings.d.ts +128 -0
  150. package/dist/esm/dateinput/models/DateInputSettings.js +2 -0
  151. package/dist/esm/dateinput/models/format-placeholder.d.ts +39 -0
  152. package/dist/esm/dateinput/models/format-placeholder.js +2 -0
  153. package/dist/esm/dateinput/models/incremental-steps.d.ts +11 -0
  154. package/dist/esm/dateinput/models/incremental-steps.js +1 -0
  155. package/dist/esm/dateinput/models/index.d.ts +7 -0
  156. package/dist/esm/dateinput/models/index.js +3 -0
  157. package/dist/esm/dateinput/models/kendo-date.d.ts +53 -0
  158. package/dist/esm/dateinput/models/kendo-date.js +338 -0
  159. package/dist/esm/dateinput/models/mask.d.ts +7 -0
  160. package/dist/esm/dateinput/models/mask.js +10 -0
  161. package/dist/esm/dateinput/models/selection.d.ts +7 -0
  162. package/dist/esm/dateinput/models/selection.js +1 -0
  163. package/dist/esm/dateinput/utils.d.ts +30 -0
  164. package/dist/esm/dateinput/utils.js +83 -0
  165. package/dist/esm/datepicker/DatePicker.d.ts +24 -0
  166. package/dist/esm/datepicker/DatePicker.js +648 -0
  167. package/dist/esm/datepicker/ToggleButton.d.ts +11 -0
  168. package/dist/esm/datepicker/ToggleButton.js +12 -0
  169. package/dist/esm/datepicker/interfaces/DatePickerComputed.d.ts +8 -0
  170. package/dist/esm/datepicker/interfaces/DatePickerComputed.js +1 -0
  171. package/dist/esm/datepicker/interfaces/DatePickerData.d.ts +8 -0
  172. package/dist/esm/datepicker/interfaces/DatePickerData.js +1 -0
  173. package/dist/esm/datepicker/interfaces/DatePickerEventArguments.d.ts +10 -0
  174. package/dist/esm/datepicker/interfaces/DatePickerEventArguments.js +1 -0
  175. package/dist/esm/datepicker/interfaces/DatePickerMethods.d.ts +27 -0
  176. package/dist/esm/datepicker/interfaces/DatePickerMethods.js +1 -0
  177. package/dist/esm/datepicker/interfaces/DatePickerProps.d.ts +42 -0
  178. package/dist/esm/datepicker/interfaces/DatePickerProps.js +3 -0
  179. package/dist/esm/datepicker/interfaces/DatePickerState.d.ts +17 -0
  180. package/dist/esm/datepicker/interfaces/DatePickerState.js +1 -0
  181. package/dist/esm/datepicker/models/DatePickerSettings.d.ts +145 -0
  182. package/dist/esm/datepicker/models/DatePickerSettings.js +1 -0
  183. package/dist/esm/datepicker/models/index.d.ts +2 -0
  184. package/dist/esm/datepicker/models/index.js +1 -0
  185. package/dist/esm/daterangepicker/DateRangePicker.d.ts +112 -0
  186. package/dist/esm/daterangepicker/DateRangePicker.js +654 -0
  187. package/dist/esm/daterangepicker/models/DateRangePickerCalendarSettings.d.ts +6 -0
  188. package/dist/esm/daterangepicker/models/DateRangePickerCalendarSettings.js +1 -0
  189. package/dist/esm/daterangepicker/models/DateRangePickerDateInputSettings.d.ts +6 -0
  190. package/dist/esm/daterangepicker/models/DateRangePickerDateInputSettings.js +1 -0
  191. package/dist/esm/daterangepicker/models/DateRangePickerPopupSettings.d.ts +6 -0
  192. package/dist/esm/daterangepicker/models/DateRangePickerPopupSettings.js +1 -0
  193. package/dist/esm/daterangepicker/models/DateRangePickerSettings.d.ts +150 -0
  194. package/dist/esm/daterangepicker/models/DateRangePickerSettings.js +2 -0
  195. package/dist/esm/daterangepicker/models/index.d.ts +5 -0
  196. package/dist/esm/daterangepicker/models/index.js +1 -0
  197. package/dist/esm/datetimepicker/DateTimePicker.d.ts +112 -0
  198. package/dist/esm/datetimepicker/DateTimePicker.js +673 -0
  199. package/dist/esm/datetimepicker/DateTimeSelector.d.ts +109 -0
  200. package/dist/esm/datetimepicker/DateTimeSelector.js +487 -0
  201. package/dist/esm/datetimepicker/models/DateTimePickerSettings.d.ts +187 -0
  202. package/dist/esm/datetimepicker/models/DateTimePickerSettings.js +1 -0
  203. package/dist/esm/datetimepicker/models/index.d.ts +2 -0
  204. package/dist/esm/datetimepicker/models/index.js +1 -0
  205. package/dist/esm/defaults.d.ts +20 -0
  206. package/dist/esm/defaults.js +20 -0
  207. package/dist/esm/main.d.ts +24 -0
  208. package/dist/esm/main.js +14 -0
  209. package/dist/esm/messages/index.d.ts +110 -0
  210. package/dist/esm/messages/index.js +111 -0
  211. package/dist/esm/package-metadata.d.ts +5 -0
  212. package/dist/esm/package-metadata.js +11 -0
  213. package/dist/esm/package.json +3 -0
  214. package/dist/esm/timepicker/TimeList.d.ts +87 -0
  215. package/dist/esm/timepicker/TimeList.js +356 -0
  216. package/dist/esm/timepicker/TimePart.d.ts +99 -0
  217. package/dist/esm/timepicker/TimePart.js +365 -0
  218. package/dist/esm/timepicker/TimePicker.d.ts +118 -0
  219. package/dist/esm/timepicker/TimePicker.js +685 -0
  220. package/dist/esm/timepicker/TimeSelector.d.ts +96 -0
  221. package/dist/esm/timepicker/TimeSelector.js +318 -0
  222. package/dist/esm/timepicker/models/IncrementalSteps.d.ts +8 -0
  223. package/dist/esm/timepicker/models/IncrementalSteps.js +1 -0
  224. package/dist/esm/timepicker/models/ListItem.d.ts +7 -0
  225. package/dist/esm/timepicker/models/ListItem.js +1 -0
  226. package/dist/esm/timepicker/models/ListService.d.ts +15 -0
  227. package/dist/esm/timepicker/models/ListService.js +1 -0
  228. package/dist/esm/timepicker/models/ListServiceSettings.d.ts +12 -0
  229. package/dist/esm/timepicker/models/ListServiceSettings.js +1 -0
  230. package/dist/esm/timepicker/models/TimePart.d.ts +10 -0
  231. package/dist/esm/timepicker/models/TimePart.js +10 -0
  232. package/dist/esm/timepicker/models/TimePickerSettings.d.ts +168 -0
  233. package/dist/esm/timepicker/models/TimePickerSettings.js +2 -0
  234. package/dist/esm/timepicker/models/index.d.ts +7 -0
  235. package/dist/esm/timepicker/models/index.js +2 -0
  236. package/dist/esm/timepicker/services/DOMService.d.ts +10 -0
  237. package/dist/esm/timepicker/services/DOMService.js +40 -0
  238. package/dist/esm/timepicker/services/DayPeriodService.d.ts +47 -0
  239. package/dist/esm/timepicker/services/DayPeriodService.js +113 -0
  240. package/dist/esm/timepicker/services/HoursService.d.ts +33 -0
  241. package/dist/esm/timepicker/services/HoursService.js +115 -0
  242. package/dist/esm/timepicker/services/MinutesService.d.ts +32 -0
  243. package/dist/esm/timepicker/services/MinutesService.js +113 -0
  244. package/dist/esm/timepicker/services/SecondsService.d.ts +32 -0
  245. package/dist/esm/timepicker/services/SecondsService.js +114 -0
  246. package/dist/esm/timepicker/services/index.d.ts +6 -0
  247. package/dist/esm/timepicker/services/index.js +6 -0
  248. package/dist/esm/timepicker/utils.d.ts +56 -0
  249. package/dist/esm/timepicker/utils.js +149 -0
  250. package/dist/esm/utils.d.ts +70 -0
  251. package/dist/esm/utils.js +131 -0
  252. package/dist/esm/virtualization/Virtualization.d.ts +114 -0
  253. package/dist/esm/virtualization/Virtualization.js +367 -0
  254. package/dist/esm/virtualization/services/RowHeightService.d.ts +18 -0
  255. package/dist/esm/virtualization/services/RowHeightService.js +68 -0
  256. package/dist/esm/virtualization/services/ScrollerService.d.ts +49 -0
  257. package/dist/esm/virtualization/services/ScrollerService.js +84 -0
  258. package/dist/esm/virtualization/services/index.d.ts +3 -0
  259. package/dist/esm/virtualization/services/index.js +3 -0
  260. package/dist/npm/calendar/components/Calendar.js +41 -41
  261. package/dist/npm/calendar/components/CalendarCell.js +1 -1
  262. package/dist/npm/calendar/components/CalendarHeaderTitle.js +1 -1
  263. package/dist/npm/calendar/components/CalendarWeekCell.js +1 -1
  264. package/dist/npm/calendar/components/Header.js +7 -7
  265. package/dist/npm/calendar/components/View.js +12 -12
  266. package/dist/npm/calendar/components/ViewList.js +6 -6
  267. package/dist/npm/calendar/services/BusViewService.js +1 -1
  268. package/dist/npm/calendar/services/CenturyViewService.js +37 -37
  269. package/dist/npm/calendar/services/DOMService.js +15 -15
  270. package/dist/npm/calendar/services/DecadeViewService.js +31 -31
  271. package/dist/npm/calendar/services/MonthViewService.js +36 -36
  272. package/dist/npm/calendar/services/NavigationService.js +1 -1
  273. package/dist/npm/calendar/services/WeekNamesService.js +1 -1
  274. package/dist/npm/calendar/services/YearViewService.js +33 -33
  275. package/dist/npm/calendar/utils/index.js +6 -6
  276. package/dist/npm/common/PickerWrap.js +1 -1
  277. package/dist/npm/dateinput/DateInput.js +15 -15
  278. package/dist/npm/dateinput/models/kendo-date.js +11 -11
  279. package/dist/npm/dateinput/utils.js +8 -4
  280. package/dist/npm/datepicker/DatePicker.js +25 -25
  281. package/dist/npm/datepicker/ToggleButton.d.ts +1 -1
  282. package/dist/npm/daterangepicker/DateRangePicker.js +14 -14
  283. package/dist/npm/datetimepicker/DateTimePicker.js +18 -18
  284. package/dist/npm/datetimepicker/DateTimeSelector.js +9 -9
  285. package/dist/npm/package-metadata.js +1 -1
  286. package/dist/npm/timepicker/TimeList.js +3 -3
  287. package/dist/npm/timepicker/TimePart.js +9 -9
  288. package/dist/npm/timepicker/TimePicker.js +17 -17
  289. package/dist/npm/timepicker/TimeSelector.js +8 -8
  290. package/dist/npm/timepicker/services/DOMService.js +3 -3
  291. package/dist/npm/timepicker/services/DayPeriodService.js +1 -1
  292. package/dist/npm/timepicker/services/HoursService.js +7 -7
  293. package/dist/npm/timepicker/services/MinutesService.js +6 -6
  294. package/dist/npm/timepicker/services/SecondsService.js +6 -6
  295. package/dist/npm/timepicker/utils.js +29 -20
  296. package/dist/npm/utils.js +30 -18
  297. package/dist/npm/virtualization/Virtualization.js +7 -7
  298. package/dist/npm/virtualization/services/RowHeightService.js +9 -7
  299. package/package.json +13 -7
@@ -0,0 +1,365 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ var inject = allVue.inject;
7
+ import { Button } from '@progress/kendo-vue-buttons';
8
+ import { cloneDate } from '@progress/kendo-date-math';
9
+ import { canUseDOM, classNames, Keys } from '@progress/kendo-vue-common';
10
+ import { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';
11
+ import { messages, now, selectNow } from '../messages.js';
12
+ import { TimeList } from './TimeList.js';
13
+ import { MIDNIGHT_DATE, MIN_TIME, MAX_TIME } from '../utils.js';
14
+ import { TIME_PART } from './models/TimePart.js';
15
+ import { generateSnappers, getNow, isInTimeRange, snapTime, timeInRange } from './utils.js';
16
+ var formatRegExp = new RegExp("".concat(TIME_PART.hour, "|").concat(TIME_PART.minute, "|").concat(TIME_PART.second, "|").concat(TIME_PART.dayperiod, "|literal"));
17
+ /**
18
+ * @hidden
19
+ */
20
+
21
+ export var Direction;
22
+
23
+ (function (Direction) {
24
+ Direction[Direction["Left"] = 0] = "Left";
25
+ Direction[Direction["Right"] = 1] = "Right";
26
+ })(Direction || (Direction = {}));
27
+ /**
28
+ * @hidden
29
+ */
30
+
31
+
32
+ var TimePartVue2 = {
33
+ name: 'KendoTimePart',
34
+ props: {
35
+ cancelButton: {
36
+ type: Boolean,
37
+ default: true
38
+ },
39
+ disabled: {
40
+ type: Boolean,
41
+ default: false
42
+ },
43
+ format: {
44
+ type: String,
45
+ default: function _default() {
46
+ return 'hh:mm a';
47
+ }
48
+ },
49
+ max: {
50
+ type: Date,
51
+ default: function _default() {
52
+ return MAX_TIME;
53
+ }
54
+ },
55
+ min: {
56
+ type: Date,
57
+ default: function _default() {
58
+ return MIN_TIME;
59
+ }
60
+ },
61
+ nowButton: {
62
+ type: Boolean,
63
+ default: true
64
+ },
65
+ steps: {
66
+ type: Object,
67
+ default: function _default() {
68
+ return {};
69
+ }
70
+ },
71
+ smoothScroll: {
72
+ type: Boolean,
73
+ default: true
74
+ },
75
+ tabIndex: Number,
76
+ value: {
77
+ type: Date,
78
+ default: function _default() {
79
+ return null;
80
+ }
81
+ }
82
+ },
83
+ // @ts-ignore
84
+ emits: {
85
+ 'change': null,
86
+ 'focus': null,
87
+ 'blur': null,
88
+ 'nowclick': null
89
+ },
90
+ created: function created() {
91
+ this.timeLists = [];
92
+ this.snapTime = snapTime(generateSnappers(this.$props.steps, this.$props.min));
93
+ this.activeListIndex = -1;
94
+ this.hasActiveButton = this.hasActiveButton.bind(this);
95
+ },
96
+ inject: {
97
+ kendoIntlService: {
98
+ default: null
99
+ },
100
+ kendoLocalizationService: {
101
+ default: null
102
+ }
103
+ },
104
+ data: function data() {
105
+ return {
106
+ activeListIndex: null
107
+ };
108
+ },
109
+ computed: {
110
+ element: function element() {
111
+ return this._element;
112
+ },
113
+ computedValue: function computedValue() {
114
+ return timeInRange(this.snapTime(cloneDate(this.$props.value || MIDNIGHT_DATE)), this.computedMin, this.computedMax);
115
+ },
116
+ intl: function intl() {
117
+ return provideIntlService(this);
118
+ },
119
+ computedMin: function computedMin() {
120
+ return this.snapTime(this.$props.min);
121
+ },
122
+ computedMax: function computedMax() {
123
+ return this.snapTime(this.$props.max);
124
+ }
125
+ },
126
+ mounted: function mounted() {
127
+ var _this = this;
128
+
129
+ this._nowButton = this.$refs.nowButton;
130
+ this.dateFormatParts.forEach(function (item, idx) {
131
+ if (item.type !== 'literal') {
132
+ _this.timeLists.push(_this.$refs['timeList' + idx]);
133
+ }
134
+ });
135
+ },
136
+ // @ts-ignore
137
+ setup: !isV3 ? undefined : function () {
138
+ var v3 = !!isV3;
139
+ var kendoIntlService = inject('kendoIntlService', {});
140
+ var kendoLocalizationService = inject('kendoLocalizationService', {});
141
+ return {
142
+ v3: v3,
143
+ kendoIntlService: kendoIntlService,
144
+ kendoLocalizationService: kendoLocalizationService
145
+ };
146
+ },
147
+ // @ts-ignore
148
+ render: function render(createElement) {
149
+ var h = gh || createElement;
150
+ var _a = this.$props,
151
+ format = _a.format,
152
+ smoothScroll = _a.smoothScroll,
153
+ disabled = _a.disabled;
154
+ this.snapTime = snapTime(generateSnappers(this.$props.steps, this.computedMin));
155
+ this.dateFormatParts = this.intl.splitDateFormat(format).filter(this.timeFormatFilter);
156
+ var rootClassName = classNames({
157
+ 'k-disabled': disabled
158
+ }, 'k-time-part');
159
+ var localizationService = provideLocalizationService(this);
160
+ var selectNowMessage = localizationService.toLanguageString(selectNow, messages[selectNow]);
161
+ return h("div", {
162
+ "class": rootClassName
163
+ }, [h("div", {
164
+ "class": "k-time-header"
165
+ }, [h("span", {
166
+ "class": "k-title"
167
+ }, [this.intl.formatDate(this.computedValue, this.dateFormatParts.reduce(this.timeFormatReducer, ''))]), this.showNowButton() && // @ts-ignore function children
168
+ h(Button, {
169
+ type: "button",
170
+ attrs: this.v3 ? undefined : {
171
+ type: "button",
172
+ fillMode: 'flat',
173
+ title: selectNowMessage,
174
+ "aria-label": selectNowMessage,
175
+ tabIndex: disabled ? -1 : 0
176
+ },
177
+ ref: 'nowButton',
178
+ fillMode: 'flat',
179
+ "class": "k-time-now",
180
+ title: selectNowMessage,
181
+ "aria-label": selectNowMessage,
182
+ onClick: this.onNowClick,
183
+ on: this.v3 ? undefined : {
184
+ "click": this.onNowClick
185
+ },
186
+ tabIndex: disabled ? -1 : 0
187
+ }, this.v3 ? function () {
188
+ return [localizationService.toLanguageString(now, messages[now])];
189
+ } : [localizationService.toLanguageString(now, messages[now])])]), h("div", {
190
+ "class": "k-time-list-container",
191
+ onKeydown: this.handleKeyDown,
192
+ on: this.v3 ? undefined : {
193
+ "keydown": this.handleKeyDown
194
+ }
195
+ }, [h("span", {
196
+ "class": "k-time-highlight"
197
+ }), this.dateFormatParts.map(function (part, idx) {
198
+ var _this = this;
199
+
200
+ return part.type !== 'literal' ? h("div", {
201
+ key: idx,
202
+ "class": classNames('k-time-list-wrapper', {
203
+ 'k-focus': idx === this.activeListIndex
204
+ }),
205
+ role: "presentation",
206
+ attrs: this.v3 ? undefined : {
207
+ role: "presentation",
208
+ tabindex: -1
209
+ },
210
+ tabindex: -1
211
+ }, [h("span", {
212
+ "class": "k-title",
213
+ onMousedown: function onMousedown(e) {
214
+ e.preventDefault();
215
+ },
216
+ on: this.v3 ? undefined : {
217
+ "mousedown": function onMousedown(e) {
218
+ e.preventDefault();
219
+ }
220
+ }
221
+ }, [this.intl.dateFieldName(part)]), // @ts-ignore function children
222
+ h(TimeList, {
223
+ min: this.computedMin,
224
+ attrs: this.v3 ? undefined : {
225
+ min: this.computedMin,
226
+ max: this.computedMax,
227
+ boundRange: this.$props.boundRange,
228
+ part: part,
229
+ step: part.type ? this.$props.steps[part.type] : 1,
230
+ smoothScroll: smoothScroll,
231
+ id: idx,
232
+ value: this.computedValue,
233
+ disabled: disabled
234
+ },
235
+ max: this.computedMax,
236
+ boundRange: this.$props.boundRange,
237
+ part: part,
238
+ step: part.type ? this.$props.steps[part.type] : 1,
239
+ smoothScroll: smoothScroll,
240
+ ref: 'timeList' + idx,
241
+ id: idx,
242
+ onFocus: function onFocus(event) {
243
+ _this.handleListFocus(event, idx);
244
+ },
245
+ on: this.v3 ? undefined : {
246
+ "focus": function onFocus(event) {
247
+ _this.handleListFocus(event, idx);
248
+ },
249
+ "blur": this.handleListBlur,
250
+ "change": this.handleChange
251
+ },
252
+ onBlur: this.handleListBlur,
253
+ onChange: this.handleChange,
254
+ value: this.computedValue,
255
+ disabled: disabled
256
+ })]) : h("div", {
257
+ key: idx,
258
+ "class": "k-time-separator"
259
+ }, [part.pattern]);
260
+ }, this)])]);
261
+ },
262
+ methods: {
263
+ onNowClick: function onNowClick(event) {
264
+ this.$emit('nowclick', event);
265
+ },
266
+ focus: function focus(args) {
267
+ var _this = this;
268
+
269
+ this.$nextTick(function () {
270
+ var timeList = _this.timeLists[0];
271
+
272
+ if (!_this.hasActiveButton() && timeList && timeList.$el) {
273
+ timeList.focus(args);
274
+ }
275
+ });
276
+ },
277
+ timeFormatReducer: function timeFormatReducer(acc, current) {
278
+ return acc + current.pattern;
279
+ },
280
+ timeFormatFilter: function timeFormatFilter(part, index, all) {
281
+ var prevItem = index >= 1 && all[index - 1];
282
+
283
+ if (!prevItem) {
284
+ return formatRegExp.test(part.type || '');
285
+ }
286
+
287
+ if (prevItem && part.type === 'literal') {
288
+ return formatRegExp.test(prevItem.type || '');
289
+ }
290
+
291
+ return formatRegExp.test(part.type || '');
292
+ },
293
+ hasActiveButton: function hasActiveButton() {
294
+ return canUseDOM && this._nowButton && document.activeElement === this._nowButton.$el;
295
+ },
296
+ focusList: function focusList(dir) {
297
+ if (!this.timeLists.length) {
298
+ return;
299
+ }
300
+
301
+ this.timeLists.reduce(this.listReducer, []).map(function (state) {
302
+ return dir === Direction.Right ? state.next : state.prev;
303
+ }).map(function (list) {
304
+ return list && list.$el && list.$el.focus({
305
+ preventScroll: true
306
+ });
307
+ });
308
+ },
309
+ listReducer: function listReducer(state, list, idx, all) {
310
+ if (state.length || list.$props.id !== this.activeListIndex) {
311
+ return state;
312
+ }
313
+
314
+ return [{
315
+ next: all[idx + 1] || list,
316
+ prev: all[idx - 1] || list
317
+ }];
318
+ },
319
+ showNowButton: function showNowButton() {
320
+ return !this.hasSteps() && this.$props.nowButton && isInTimeRange(getNow(), this.computedMin, this.computedMax);
321
+ },
322
+ hasSteps: function hasSteps() {
323
+ var _this = this;
324
+
325
+ var keys = Object.keys(this.$props.steps);
326
+ return keys.length !== keys.reduce(function (acc, k) {
327
+ return acc + _this.$props.steps[k];
328
+ }, 0);
329
+ },
330
+ handleKeyDown: function handleKeyDown(event) {
331
+ var keyCode = event.keyCode;
332
+
333
+ switch (keyCode) {
334
+ case Keys.left:
335
+ event.preventDefault();
336
+ this.focusList(Direction.Left);
337
+ return;
338
+
339
+ case Keys.right:
340
+ event.preventDefault();
341
+ this.focusList(Direction.Right);
342
+ return;
343
+
344
+ default:
345
+ return;
346
+ }
347
+ },
348
+ handleListBlur: function handleListBlur(event) {
349
+ this.$emit('blur', event);
350
+ },
351
+ handleListFocus: function handleListFocus(event, idx) {
352
+ this.$emit('focus', event);
353
+ this.activeListIndex = idx;
354
+ },
355
+ handleChange: function handleChange(candidate) {
356
+ this.$emit('change', candidate);
357
+ }
358
+ }
359
+ };
360
+ /**
361
+ * @hidden
362
+ */
363
+
364
+ var TimePart = TimePartVue2;
365
+ export { TimePart, TimePartVue2 };
@@ -0,0 +1,118 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { FormComponentProps, FormComponentValidity } from '@progress/kendo-vue-common';
7
+ import { DateInputChangeEvent } from '../dateinput/interfaces/DateInputEventArguments';
8
+ import { TimeSelectorChangeEvent } from './TimeSelector';
9
+ import { TimePickerSettings } from './models';
10
+ /**
11
+ * The arguments for the `onChange` event of the TimePicker.
12
+ */
13
+ export interface TimePickerChangeEvent {
14
+ event?: any;
15
+ value: Date | null;
16
+ show: boolean;
17
+ target: any;
18
+ }
19
+ /**
20
+ * Represents the props of the [Kendo UI for Vue TimePicker component]({% slug overview_timepicker %}).
21
+ */
22
+ export interface TimePickerProps extends TimePickerSettings, FormComponentProps {
23
+ /**
24
+ * @hidden
25
+ */
26
+ modelValue?: Date;
27
+ /**
28
+ * Sets the default value of the TimePicker ([see example]({% slug default_value_timepicker %}#toc-setting-the-default-value)).
29
+ */
30
+ defaultValue?: Date;
31
+ /**
32
+ * Fires each time the user selects a new value ([see example]({% slug controlled_timepicker %}#toc-controlling-the-date-value)).
33
+ */
34
+ onChange?: (event: TimePickerChangeEvent) => void;
35
+ /**
36
+ * Specifies the value of the TimePicker ([see example]({% slug controlled_timepicker %}#toc-controlling-the-date-value)).
37
+ *
38
+ * > The `value` has to be a valid [JavaScript `Date`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date) instance.
39
+ */
40
+ value?: Date | null;
41
+ }
42
+ /**
43
+ * @hidden
44
+ */
45
+ export interface TimePickerState {
46
+ _popupId: string;
47
+ _element: HTMLSpanElement | null;
48
+ _dateInput: any;
49
+ dateInputRef: any;
50
+ _timeSelector: any;
51
+ _wrapper: any;
52
+ _anchor: any;
53
+ _oldShow: boolean;
54
+ _blurTimeout: any;
55
+ v3: boolean;
56
+ kendoAnchorRef: any;
57
+ valueDuringOnChange?: Date | null;
58
+ showDuringOnChange?: boolean;
59
+ shouldFocusDateInput: boolean;
60
+ }
61
+ /**
62
+ * @hidden
63
+ */
64
+ export interface TimePickerMethods {
65
+ [key: string]: any;
66
+ validity: () => FormComponentValidity;
67
+ focus: () => void;
68
+ setDateInputRef: (dateInput: any) => void;
69
+ setTimeSelectorRef: (timeSelector: any) => void;
70
+ nextValue: (nextProps: TimePickerProps, nextState: TimePickerState) => Date | null;
71
+ nextShow: (nextProps: TimePickerProps, nextState: TimePickerState) => any;
72
+ normalizeTime: (date: Date) => Date;
73
+ setShow: (show: boolean) => void;
74
+ mergeTime: (value: Date | null) => Date | null;
75
+ handleInputValueChange: (event: DateInputChangeEvent) => void;
76
+ handleValueChange: (event: DateInputChangeEvent | TimeSelectorChangeEvent) => void;
77
+ handleFocus: (event: any) => void;
78
+ handleBlur: (event: any) => void;
79
+ handleValueReject: (_: any) => void;
80
+ handleIconClick: (_: any) => void;
81
+ handleIconMouseDown: (event: any) => void;
82
+ handleKeyDown: (event: any) => void;
83
+ timeFocus: (event: any) => void;
84
+ timeBlur: (event: any) => void;
85
+ createBlurTimeout: () => void;
86
+ getDateInputText: () => string;
87
+ }
88
+ /**
89
+ * @hidden
90
+ */
91
+ export interface TimePickerData {
92
+ currentValue: Date | null;
93
+ currentShow: boolean;
94
+ isFocused: boolean;
95
+ }
96
+ /**
97
+ * @hidden
98
+ */
99
+ export interface TimePickerComputed {
100
+ [key: string]: any;
101
+ timeSelector: any;
102
+ computedValue: Date | null;
103
+ computedShow: boolean;
104
+ }
105
+ /**
106
+ * @hidden
107
+ */
108
+ export interface TimePickerAll extends Vue2type, TimePickerMethods, TimePickerData, TimePickerComputed, TimePickerState {
109
+ }
110
+ /**
111
+ * @hidden
112
+ */
113
+ declare let TimePickerVue2: ComponentOptions<TimePickerAll, DefaultData<TimePickerData>, DefaultMethods<TimePickerAll>, TimePickerComputed, RecordPropsDefinition<TimePickerProps>>;
114
+ /**
115
+ * @hidden
116
+ */
117
+ declare const TimePicker: DefineComponent<TimePickerProps, any, TimePickerData, TimePickerComputed, TimePickerMethods, {}, {}, {}, string, TimePickerProps, TimePickerProps, {}>;
118
+ export { TimePicker, TimePickerVue2 };