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

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 +7 -7
@@ -0,0 +1,356 @@
1
+ var _a, _b; // @ts-ignore
2
+
3
+
4
+ import * as Vue from 'vue';
5
+ var allVue = Vue;
6
+ var gh = allVue.h;
7
+ var isV3 = allVue.version && allVue.version[0] === '3';
8
+ var inject = allVue.inject;
9
+ import { cloneDate } from '@progress/kendo-date-math';
10
+ import { canUseDOM, Keys, noop } from '@progress/kendo-vue-common';
11
+ import { provideIntlService } from '@progress/kendo-vue-intl';
12
+ import { Virtualization } from '../virtualization/Virtualization.js';
13
+ import { TIME_PART } from './models.js';
14
+ import { SecondsService, MinutesService, HoursService, DayPeriodService, DOMService } from './services.js';
15
+ import { MAX_TIME, MIDNIGHT_DATE } from '../utils.js';
16
+ var SCROLL_THRESHOLD = 2; // < 2px threshold
17
+
18
+ var SNAP_THRESHOLD = 0.05; // % of the item height
19
+
20
+ var SKIP = 0;
21
+ var getters = (_a = {}, _a[Keys.end] = function (data, _) {
22
+ return data[data.length - 1];
23
+ }, _a[Keys.home] = function (data, _) {
24
+ return data[0];
25
+ }, _a[Keys.up] = function (data, index) {
26
+ return data[index - 1];
27
+ }, _a[Keys.down] = function (data, index) {
28
+ return data[index + 1];
29
+ }, _a);
30
+ var services = (_b = {}, _b[TIME_PART.dayperiod] = DayPeriodService, _b[TIME_PART.hour] = HoursService, _b[TIME_PART.minute] = MinutesService, _b[TIME_PART.second] = SecondsService, _b);
31
+ /**
32
+ * @hidden
33
+ */
34
+
35
+ var TimeListVue2 = {
36
+ name: 'KendoTimeList',
37
+ // @ts-ignore
38
+ emits: {
39
+ 'change': null,
40
+ 'focus': null,
41
+ 'blur': null
42
+ },
43
+ props: {
44
+ id: Number,
45
+ boundRange: {
46
+ type: Boolean,
47
+ default: false
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 MIDNIGHT_DATE;
59
+ }
60
+ },
61
+ part: Object,
62
+ step: {
63
+ type: Number,
64
+ default: 1
65
+ },
66
+ value: Date,
67
+ smoothScroll: {
68
+ type: Boolean,
69
+ default: true
70
+ }
71
+ },
72
+ inject: {
73
+ kendoIntlService: {
74
+ default: null
75
+ }
76
+ },
77
+ data: function data() {
78
+ return {
79
+ animateToIndex: false
80
+ };
81
+ },
82
+ created: function created() {
83
+ this.topOffset = undefined;
84
+ this.dom = new DOMService();
85
+ },
86
+ computed: {
87
+ animate: function animate() {
88
+ return Boolean(this.$props.smoothScroll && this.animateToIndex);
89
+ }
90
+ },
91
+ mounted: function mounted() {
92
+ var _this = this;
93
+
94
+ this.virtualization = this.$refs.virtualization; // Async calculation of height to avoid animation cancellation
95
+
96
+ Promise.resolve().then(function () {
97
+ if (!_this.$el) {
98
+ return;
99
+ } // @ts-ignore
100
+
101
+
102
+ _this.dom.calculateHeights(_this.$el);
103
+
104
+ _this.$forceUpdate();
105
+ });
106
+ },
107
+ updated: function updated() {
108
+ if (!this.$refs.virtualization) {
109
+ return;
110
+ }
111
+
112
+ this.virtualization = this.$refs.virtualization;
113
+ var index = this.service.selectedIndex(this.$props.value);
114
+ this.virtualization[this.animate ? 'animateToIndex' : 'scrollToIndex'](index);
115
+ this.animateToIndex = true;
116
+ },
117
+ // @ts-ignore
118
+ setup: !isV3 ? undefined : function () {
119
+ var v3 = !!isV3;
120
+ var kendoIntlService = inject('kendoIntlService', {});
121
+ return {
122
+ v3: v3,
123
+ kendoIntlService: kendoIntlService
124
+ };
125
+ },
126
+ // @ts-ignore
127
+ render: function render(createElement) {
128
+ var _this2 = this;
129
+
130
+ var h = gh || createElement;
131
+
132
+ if (!this.$props.part.type || !services[this.$props.part.type]) {
133
+ return;
134
+ }
135
+
136
+ this.calculateHeights();
137
+ this.intl = provideIntlService(this);
138
+ this.service = new services[this.$props.part.type](this.intl);
139
+ this.configureServices();
140
+ var data = this.service.data(this.$props.value);
141
+ var transform = 'translateY(' + this.topOffset + 'px)';
142
+ var total = this.service.total(this.$props.value);
143
+
144
+ var list = function list() {
145
+ return h("ul", {
146
+ style: {
147
+ transform: transform,
148
+ msTransform: transform
149
+ },
150
+ "class": "k-reset"
151
+ }, [data.map(function (item, idx) {
152
+ var _this = this;
153
+
154
+ return h("li", {
155
+ key: idx,
156
+ "class": "k-item",
157
+ onClick: function onClick() {
158
+ _this.handleChange(item);
159
+ },
160
+ on: this.v3 ? undefined : {
161
+ "click": function onClick() {
162
+ _this.handleChange(item);
163
+ }
164
+ }
165
+ }, [h("span", [item.text])]);
166
+ }, this)]);
167
+ };
168
+
169
+ return h("div", {
170
+ "class": "k-time-list",
171
+ id: String(this.$props.id || ''),
172
+ attrs: this.v3 ? undefined : {
173
+ id: String(this.$props.id || ''),
174
+ tabindex: this.$props.disabled ? -1 : 0
175
+ },
176
+ tabindex: this.$props.disabled ? -1 : 0,
177
+ onKeydown: this.handleKeyDown,
178
+ on: this.v3 ? undefined : {
179
+ "keydown": this.handleKeyDown,
180
+ "focusin": this.handleFocus,
181
+ "focusout": this.handleBlur,
182
+ "mouseover": this.handleMouseOver
183
+ },
184
+ onFocusin: this.handleFocus,
185
+ onFocusout: this.handleBlur,
186
+ onMouseover: this.handleMouseOver
187
+ }, [this.dom.didCalculate ? // @ts-ignore function children
188
+ h(Virtualization, {
189
+ bottomOffset: this.bottomOffset,
190
+ attrs: this.v3 ? undefined : {
191
+ bottomOffset: this.bottomOffset,
192
+ itemHeight: this.itemHeight,
193
+ maxScrollDifference: this.listHeight,
194
+ role: "presentation",
195
+ skip: SKIP,
196
+ tabIndex: -1,
197
+ take: total,
198
+ topOffset: this.topOffset,
199
+ total: total
200
+ },
201
+ "class": 'k-time-container',
202
+ itemHeight: this.itemHeight,
203
+ maxScrollDifference: this.listHeight,
204
+ onScrollaction: this.handleScrollAction,
205
+ on: this.v3 ? undefined : {
206
+ "scrollaction": this.handleScrollAction
207
+ },
208
+ ref: 'virtualization',
209
+ role: "presentation",
210
+ skip: SKIP,
211
+ tabIndex: -1,
212
+ take: total,
213
+ topOffset: this.topOffset,
214
+ total: total
215
+ }, this.v3 ? function () {
216
+ return [list.call(_this2)];
217
+ } : [list.call(_this2)]) : h("div", {
218
+ "class": "k-time-container"
219
+ }, [list.call(this)])]);
220
+ },
221
+ methods: {
222
+ focus: function focus(args) {
223
+ var _this = this;
224
+
225
+ Promise.resolve().then(function () {
226
+ if (!_this.$el) {
227
+ return;
228
+ } // @ts-ignore
229
+
230
+
231
+ _this.$el.focus(args);
232
+ });
233
+ },
234
+ itemOffset: function itemOffset(scrollTop) {
235
+ if (!this.virtualization) {
236
+ return -1;
237
+ }
238
+
239
+ var valueIndex = this.service.selectedIndex(this.$props.value);
240
+ var activeIndex = this.virtualization.activeIndex();
241
+ var offset = this.virtualization.itemOffset(activeIndex);
242
+ var distance = Math.abs(Math.ceil(scrollTop) - offset);
243
+
244
+ if (valueIndex === activeIndex && distance < SCROLL_THRESHOLD) {
245
+ return offset;
246
+ }
247
+
248
+ var scrollUp = valueIndex > activeIndex;
249
+ var moveToNext = scrollUp && distance >= this.bottomThreshold || !scrollUp && distance > this.topThreshold;
250
+ return moveToNext ? this.virtualization.itemOffset(activeIndex + 1) : offset;
251
+ },
252
+ calculateHeights: function calculateHeights() {
253
+ if (!this.dom.didCalculate) {
254
+ return;
255
+ }
256
+
257
+ this.itemHeight = this.dom.itemHeight;
258
+ this.listHeight = this.dom.timeListHeight;
259
+ this.topOffset = (this.listHeight - this.itemHeight) / 2;
260
+ this.bottomOffset = this.listHeight - this.itemHeight;
261
+ this.topThreshold = this.itemHeight * SNAP_THRESHOLD;
262
+ this.bottomThreshold = this.itemHeight * (1 - SNAP_THRESHOLD);
263
+ },
264
+ configureServices: function configureServices(props) {
265
+ var _a = props || this.$props,
266
+ min = _a.min,
267
+ max = _a.max,
268
+ value = _a.value;
269
+
270
+ var _b = this.service.limitRange(min || this.$props.min, max || this.$props.max, value || this.$props.value),
271
+ newMin = _b[0],
272
+ newMax = _b[1];
273
+
274
+ this.service.configure(this.serviceSettings({
275
+ min: newMin,
276
+ max: newMax
277
+ }));
278
+ },
279
+ serviceSettings: function serviceSettings(settings) {
280
+ var defaults = {
281
+ boundRange: this.$props.boundRange,
282
+ insertUndividedMax: false,
283
+ min: cloneDate(this.$props.min),
284
+ max: cloneDate(this.$props.max),
285
+ part: this.$props.part,
286
+ step: this.$props.step
287
+ };
288
+ var result = Object.assign({}, defaults, settings);
289
+ result.boundRange = result.part.type !== 'hour' || this.$props.boundRange;
290
+ return result;
291
+ },
292
+ handleScrollAction: function handleScrollAction(_a) {
293
+ var target = _a.target,
294
+ animationInProgress = _a.animationInProgress;
295
+
296
+ if (!this.virtualization) {
297
+ return;
298
+ }
299
+
300
+ if (target && !animationInProgress) {
301
+ this.animateToIndex = false;
302
+ var index = this.virtualization.itemIndex(this.itemOffset(target.scrollTop));
303
+ var dataItem = this.service.data(this.$props.value)[index];
304
+ this.handleChange(dataItem);
305
+ }
306
+ },
307
+ handleFocus: function handleFocus(event) {
308
+ this.$emit('focus', event);
309
+ },
310
+ handleBlur: function handleBlur(event) {
311
+ this.$emit('blur', event);
312
+ },
313
+ handleMouseOver: function handleMouseOver() {
314
+ if (!this.$el) {
315
+ return;
316
+ }
317
+
318
+ if (canUseDOM && document.activeElement !== this.$el) {
319
+ // @ts-ignore
320
+ this.$el.focus({
321
+ preventScroll: true
322
+ });
323
+ }
324
+ },
325
+ handleKeyDown: function handleKeyDown(event) {
326
+ var keyCode = event.keyCode;
327
+
328
+ if (keyCode === Keys.down || keyCode === Keys.up || keyCode === Keys.end || keyCode === Keys.home) {
329
+ event.preventDefault();
330
+ }
331
+
332
+ var getter = getters[event.keyCode] || noop;
333
+ var dataItem = getter(this.service.data(this.$props.value), this.service.selectedIndex(this.$props.value));
334
+
335
+ if (dataItem) {
336
+ this.handleChange(dataItem);
337
+ }
338
+ },
339
+ handleChange: function handleChange(dataItem) {
340
+ var candidate = this.service.apply(this.$props.value, dataItem.value);
341
+
342
+ if (this.$props.value.getTime() === candidate.getTime()) {
343
+ return;
344
+ }
345
+
346
+ this.currentValue = candidate;
347
+ this.$emit('change', candidate);
348
+ }
349
+ }
350
+ };
351
+ /**
352
+ * @hidden
353
+ */
354
+
355
+ var TimeList = TimeListVue2;
356
+ export { TimeList, TimeListVue2 };
@@ -0,0 +1,99 @@
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 { DateFormatPart, IntlService, DateFormatOptions } from '@progress/kendo-vue-intl';
7
+ import { TimePickerIncrementalSteps } from './models/IncrementalSteps';
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare enum Direction {
12
+ Left = 0,
13
+ Right = 1
14
+ }
15
+ /**
16
+ * @hidden
17
+ */
18
+ export interface TimePartChangeEvent {
19
+ event: any;
20
+ value: Date;
21
+ target: any;
22
+ }
23
+ /**
24
+ * @hidden
25
+ */
26
+ export interface TimePartProps {
27
+ disabled?: boolean;
28
+ format?: string | DateFormatOptions;
29
+ max?: Date;
30
+ min?: Date;
31
+ cancelButton?: boolean;
32
+ nowButton?: boolean;
33
+ onChange?: any;
34
+ steps?: TimePickerIncrementalSteps;
35
+ smoothScroll?: boolean;
36
+ tabIndex?: number;
37
+ value?: Date | null;
38
+ boundRange?: boolean;
39
+ }
40
+ /**
41
+ * @hidden
42
+ */
43
+ export interface TimePartState {
44
+ _element: HTMLSpanElement | null;
45
+ _nowButton: any;
46
+ dateFormatParts: DateFormatPart[];
47
+ timeLists: any[];
48
+ snapTime: Function;
49
+ }
50
+ /**
51
+ * @hidden
52
+ */
53
+ export interface TimePartData {
54
+ activeListIndex: number;
55
+ }
56
+ /**
57
+ * @hidden
58
+ */
59
+ export interface TimePartComputed {
60
+ [key: string]: any;
61
+ element: HTMLSpanElement | null;
62
+ computedValue: Date;
63
+ intl: IntlService;
64
+ computedMin: Date;
65
+ computedMax: Date;
66
+ }
67
+ /**
68
+ * @hidden
69
+ */
70
+ export interface TimePartMethods {
71
+ [key: string]: any;
72
+ focus: (args?: any) => void;
73
+ timeFormatReducer: (acc: string, current: DateFormatPart) => any;
74
+ timeFormatFilter: (part: DateFormatPart, index: number, all: DateFormatPart[]) => boolean;
75
+ hasActiveButton: () => boolean;
76
+ focusList: (dir: Direction) => void;
77
+ listReducer: (state: any, list: any, idx: number, all: any) => void;
78
+ showNowButton: () => boolean;
79
+ hasSteps: () => boolean;
80
+ handleKeyDown: (event: any) => void;
81
+ handleListBlur: () => void;
82
+ handleListFocus: (event: any, idx: number) => void;
83
+ handleChange: (candidate: Date) => void;
84
+ onNowClick: (event: any) => void;
85
+ }
86
+ /**
87
+ * @hidden
88
+ */
89
+ export interface TimePartAll extends Vue2type, TimePartMethods, TimePartData, TimePartComputed, TimePartState {
90
+ }
91
+ /**
92
+ * @hidden
93
+ */
94
+ declare let TimePartVue2: ComponentOptions<TimePartAll, DefaultData<TimePartData>, DefaultMethods<TimePartAll>, TimePartComputed, RecordPropsDefinition<TimePartProps>>;
95
+ /**
96
+ * @hidden
97
+ */
98
+ declare const TimePart: DefineComponent<TimePartProps, any, TimePartData, TimePartComputed, TimePartMethods, {}, {}, {}, string, TimePartProps, TimePartProps, {}>;
99
+ export { TimePart, TimePartVue2 };