@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,367 @@
1
+ var _a, _b, _c; // @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
+ import { classNames, getDefaultSlots } from '@progress/kendo-vue-common';
9
+ import { RowHeightService, ScrollerService } from './services.js';
10
+ /**
11
+ * @hidden
12
+ */
13
+
14
+ export var ScrollDirection;
15
+
16
+ (function (ScrollDirection) {
17
+ ScrollDirection[ScrollDirection["Backward"] = 0] = "Backward";
18
+ ScrollDirection[ScrollDirection["Forward"] = 1] = "Forward";
19
+ })(ScrollDirection || (ScrollDirection = {}));
20
+
21
+ var differenceToScroll = function differenceToScroll(scrollTop, staticOffset, maxScrollDifference) {
22
+ return Math.min(Math.abs(staticOffset - scrollTop), maxScrollDifference);
23
+ };
24
+
25
+ var FRAME_DURATION = 17;
26
+ var scrollModifiers = (_a = {}, _a[ScrollDirection.Forward] = function (step) {
27
+ return function (value) {
28
+ return value + step;
29
+ };
30
+ }, _a[ScrollDirection.Backward] = function (step) {
31
+ return function (value) {
32
+ return value - step;
33
+ };
34
+ }, _a);
35
+ var scrollNormalizers = (_b = {}, _b[ScrollDirection.Forward] = function (end) {
36
+ return function (value) {
37
+ return Math.min(value, end);
38
+ };
39
+ }, _b[ScrollDirection.Backward] = function (end) {
40
+ return function (value) {
41
+ return Math.max(value, end);
42
+ };
43
+ }, _b);
44
+ var scrollValidators = (_c = {}, _c[ScrollDirection.Forward] = function (end) {
45
+ return function (start) {
46
+ return start < end;
47
+ };
48
+ }, _c[ScrollDirection.Backward] = function (end) {
49
+ return function (start) {
50
+ return start > end;
51
+ };
52
+ }, _c);
53
+ /**
54
+ * @hidden
55
+ */
56
+
57
+ var VirtualizationVue2 = {
58
+ name: 'Virtualization',
59
+ // @ts-ignore
60
+ emits: {
61
+ scroll: null,
62
+ scrollaction: null
63
+ },
64
+ props: {
65
+ bottomOffset: {
66
+ type: Number,
67
+ required: true
68
+ },
69
+ direction: {
70
+ type: String,
71
+ default: function _default() {
72
+ return 'vertical';
73
+ }
74
+ },
75
+ forceScroll: {
76
+ type: Boolean,
77
+ default: false
78
+ },
79
+ itemHeight: Number,
80
+ itemWidth: Number,
81
+ maxScrollDifference: {
82
+ type: Number,
83
+ default: 100
84
+ },
85
+ scrollDuration: {
86
+ type: Number,
87
+ default: 100
88
+ },
89
+ scrollOffsetSize: {
90
+ type: Number,
91
+ default: 0
92
+ },
93
+ skip: {
94
+ type: Number,
95
+ required: true
96
+ },
97
+ tabIndex: Number,
98
+ take: {
99
+ type: Number,
100
+ required: true
101
+ },
102
+ topOffset: {
103
+ type: Number,
104
+ required: true
105
+ },
106
+ total: {
107
+ type: Number,
108
+ required: true
109
+ },
110
+ role: String
111
+ },
112
+ created: function created() {
113
+ this.animationInProgress = false;
114
+ this.lastTotal = undefined;
115
+ this.scrollerService = new ScrollerService(this.handleScrollAction, this.handlePageAction);
116
+ },
117
+ mounted: function mounted() {
118
+ this.scrollContainer = this.$refs.scrollContainer;
119
+ },
120
+ computed: {
121
+ element: function element() {
122
+ return this.scrollContainer;
123
+ }
124
+ },
125
+ methods: {
126
+ containerOffsetSize: function containerOffsetSize() {
127
+ return this.getContainerProperty(this.$props.direction === 'vertical' ? 'offsetHeight' : 'offsetWidth');
128
+ },
129
+ containerScrollSize: function containerScrollSize() {
130
+ return this.getContainerProperty(this.$props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth');
131
+ },
132
+ containerScrollPosition: function containerScrollPosition() {
133
+ return this.getContainerProperty(this.$props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft');
134
+ },
135
+ activeIndex: function activeIndex() {
136
+ return this.itemIndex(Math.ceil(this.containerScrollPosition()));
137
+ },
138
+ itemIndex: function itemIndex(offset) {
139
+ if (!this.rowHeightService) {
140
+ return 0;
141
+ }
142
+
143
+ return this.rowHeightService.index(offset);
144
+ },
145
+ itemOffset: function itemOffset(index) {
146
+ if (!this.rowHeightService) {
147
+ return 0;
148
+ }
149
+
150
+ return this.rowHeightService.offset(index);
151
+ },
152
+ isIndexVisible: function isIndexVisible(index) {
153
+ if (!this.rowHeightService) {
154
+ return false;
155
+ }
156
+
157
+ var containerTop = this.containerScrollPosition();
158
+ var containerBottom = containerTop + this.containerOffsetSize();
159
+ var top = this.rowHeightService.offset(index);
160
+ var bottom = top + this.rowHeightService.height(index);
161
+ return top >= containerTop && bottom <= containerBottom;
162
+ },
163
+ isListScrolled: function isListScrolled(index) {
164
+ if (!this.rowHeightService) {
165
+ return false;
166
+ }
167
+
168
+ return this.containerScrollPosition() !== this.rowHeightService.offset(index);
169
+ },
170
+ scrollTo: function scrollTo(value) {
171
+ var scrollProperty = this.$props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
172
+
173
+ if (!this.scrollContainer) {
174
+ return;
175
+ }
176
+
177
+ this.scrollContainer[scrollProperty] = value;
178
+ },
179
+ scrollToIndex: function scrollToIndex(index) {
180
+ if (!this.rowHeightService) {
181
+ return;
182
+ }
183
+
184
+ this.animationInProgress = false;
185
+ this.scrollTo(this.rowHeightService.offset(index));
186
+ },
187
+ animateToIndex: function animateToIndex(index) {
188
+ var _this = this;
189
+
190
+ if (!this.rowHeightService || !window) {
191
+ return;
192
+ }
193
+
194
+ window.cancelAnimationFrame(this.cancelAnimation);
195
+ var indexOffset = this.rowHeightService.offset(index);
196
+ var direction = this.getContainerScrollDirection(indexOffset);
197
+
198
+ var _a = this.scrollRange(indexOffset, direction),
199
+ start = _a.start,
200
+ end = _a.end;
201
+
202
+ if (start === end) {
203
+ return;
204
+ }
205
+
206
+ var step = this.scrollStep(start, end);
207
+ var modifyScroll = scrollModifiers[direction](step);
208
+ var normalizeScroll = scrollNormalizers[direction](end);
209
+ var isScrollValid = scrollValidators[direction](modifyScroll(end));
210
+
211
+ var animate = function animate(progress) {
212
+ _this.animationInProgress = true;
213
+ var next = modifyScroll(progress);
214
+
215
+ _this.scrollTo(normalizeScroll(next));
216
+
217
+ isScrollValid(next) ? _this.cancelAnimation = window.requestAnimationFrame(function () {
218
+ animate(next);
219
+ }) : _this.animationInProgress = false;
220
+ };
221
+
222
+ this.cancelAnimation = window.requestAnimationFrame(function () {
223
+ animate(start);
224
+ });
225
+ },
226
+ scrollToBottom: function scrollToBottom() {
227
+ if (!this.rowHeightService) {
228
+ return;
229
+ }
230
+
231
+ this.scrollTo(this.rowHeightService.totalHeight() + this.$props.bottomOffset);
232
+ },
233
+ scrollStep: function scrollStep(start, end) {
234
+ var duration = this.$props.scrollDuration;
235
+ return Math.abs(end - start) / (duration / FRAME_DURATION);
236
+ },
237
+ scrollRange: function scrollRange(indexOffset, direction) {
238
+ var containerScroll = this.containerScrollPosition();
239
+
240
+ if (parseInt("".concat(indexOffset), 10) === parseInt("".concat(containerScroll), 10)) {
241
+ return {
242
+ start: indexOffset,
243
+ end: indexOffset
244
+ };
245
+ }
246
+
247
+ var maxScroll = this.containerMaxScroll();
248
+ var sign = direction === ScrollDirection.Backward ? 1 : -1;
249
+ var difference = differenceToScroll(containerScroll, indexOffset, this.$props.maxScrollDifference);
250
+ var end = Math.min(indexOffset, maxScroll);
251
+ var start = Math.min(Math.max(end + sign * difference, 0), maxScroll);
252
+ return {
253
+ start: start,
254
+ end: end
255
+ };
256
+ },
257
+ containerMaxScroll: function containerMaxScroll() {
258
+ return this.containerScrollSize() - this.containerOffsetSize();
259
+ },
260
+ getContainerScrollDirection: function getContainerScrollDirection(indexOffset) {
261
+ return indexOffset < this.containerScrollPosition() ? ScrollDirection.Backward : ScrollDirection.Forward;
262
+ },
263
+ initServices: function initServices(newProps) {
264
+ var props = newProps || this.$props;
265
+ var dimension = props.direction === 'vertical' ? props.itemHeight : props.itemWidth;
266
+
267
+ if (dimension === undefined) {
268
+ return;
269
+ }
270
+
271
+ this.rowHeightService = new RowHeightService(props.total, dimension, 0);
272
+ this.scrollerService.create(this.rowHeightService, props.skip, props.take, props.total, props.topOffset, this.$props.scrollOffsetSize, this.$props.direction);
273
+ },
274
+ getContainerProperty: function getContainerProperty(propertyName) {
275
+ if (!this.scrollContainer) {
276
+ return 0;
277
+ }
278
+
279
+ return this.scrollContainer[propertyName];
280
+ },
281
+ handleScroll: function handleScroll(event) {
282
+ if (!this.scrollContainer || !this.rowHeightService) {
283
+ return;
284
+ }
285
+
286
+ var target = event.target;
287
+ this.scrollerService.onScroll({
288
+ scrollLeft: target.scrollLeft,
289
+ scrollTop: target.scrollTop,
290
+ offsetHeight: target.offsetHeight,
291
+ offsetWidth: target.offsetWidth
292
+ });
293
+ var index = this.rowHeightService.index(this.containerScrollPosition() - this.$props.topOffset);
294
+ var args = {
295
+ index: index,
296
+ target: target,
297
+ scrollAction: this.scrollAction,
298
+ pageAction: this.pageAction,
299
+ animationInProgress: this.animationInProgress
300
+ };
301
+ this.$emit('scrollaction', args);
302
+ this.scrollAction = undefined;
303
+ this.pageAction = undefined;
304
+ },
305
+ handleScrollAction: function handleScrollAction(action) {
306
+ this.scrollAction = action;
307
+ },
308
+ handlePageAction: function handlePageAction(action) {
309
+ this.pageAction = action;
310
+ }
311
+ },
312
+ // @ts-ignore
313
+ setup: !isV3 ? undefined : function () {
314
+ var v3 = !!isV3;
315
+ return {
316
+ v3: v3
317
+ };
318
+ },
319
+ // @ts-ignore
320
+ render: function render(createElement) {
321
+ var h = gh || createElement;
322
+ var defaultSlot = getDefaultSlots(this);
323
+
324
+ if (this.lastTotal !== this.$props.total || this.lastDirection !== this.$props.direction || this.lastTake !== this.$props.take) {
325
+ this.initServices();
326
+ this.lastTotal = this.$props.total;
327
+ this.lastDirection = this.$props.direction;
328
+ this.lastTake = this.$props.take;
329
+ }
330
+
331
+ var vertexLength = "".concat((this.rowHeightService ? this.rowHeightService.totalHeight() : 0) + this.$props.bottomOffset);
332
+ var placeholderStyle = this.$props.direction === 'vertical' ? {
333
+ height: "".concat(vertexLength, "px")
334
+ } : {
335
+ width: "".concat(vertexLength, "px")
336
+ };
337
+ var rootClassNames = classNames('k-content k-scrollable', {
338
+ 'k-scrollable-horizontal': this.$props.direction === 'horizontal'
339
+ });
340
+ var scrollableClassNames = classNames('k-scrollable-placeholder', {
341
+ 'k-scrollable-horizontal-placeholder': this.$props.direction === 'horizontal'
342
+ });
343
+ return h("div", {
344
+ ref: 'scrollContainer',
345
+ onScroll: this.handleScroll,
346
+ on: this.v3 ? undefined : {
347
+ "scroll": this.handleScroll
348
+ },
349
+ "class": rootClassNames,
350
+ tabindex: this.$props.tabIndex,
351
+ attrs: this.v3 ? undefined : {
352
+ tabindex: this.$props.tabIndex,
353
+ role: this.$props.role
354
+ },
355
+ role: this.$props.role
356
+ }, [defaultSlot, h("div", {
357
+ style: placeholderStyle,
358
+ "class": scrollableClassNames
359
+ })]);
360
+ }
361
+ };
362
+ /**
363
+ * @hidden
364
+ */
365
+
366
+ var Virtualization = VirtualizationVue2;
367
+ export { Virtualization, VirtualizationVue2 };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare class RowHeightService {
5
+ private total;
6
+ private rowHeight;
7
+ private detailRowHeight;
8
+ private offsets;
9
+ private heights;
10
+ constructor(total: number, rowHeight: number, detailRowHeight: number);
11
+ height(rowIndex: number): number;
12
+ expandDetail(rowIndex: number): void;
13
+ collapseDetail(rowIndex: number): void;
14
+ index(position: number): number;
15
+ offset(rowIndex: number): number;
16
+ totalHeight(): number;
17
+ private updateRowHeight;
18
+ }
@@ -0,0 +1,68 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ /**
11
+ * @hidden
12
+ */
13
+ var update = function (arr, idx, value) { return (__spreadArray(__spreadArray([], arr.slice(0, idx + 1), true), (arr.slice(idx + 1).map(function (x) { return x + value; })), true)); };
14
+ /**
15
+ * @hidden
16
+ */
17
+ var RowHeightService = /** @class */ (function () {
18
+ function RowHeightService(total, rowHeight, detailRowHeight) {
19
+ if (total === void 0) { total = 0; }
20
+ this.total = total;
21
+ this.rowHeight = rowHeight;
22
+ this.detailRowHeight = detailRowHeight;
23
+ this.offsets = [];
24
+ this.heights = [];
25
+ var agg = 0;
26
+ for (var idx = 0; idx < total; idx++) {
27
+ this.offsets.push(agg);
28
+ agg += rowHeight;
29
+ this.heights.push(rowHeight);
30
+ }
31
+ }
32
+ RowHeightService.prototype.height = function (rowIndex) {
33
+ return this.heights[rowIndex];
34
+ };
35
+ RowHeightService.prototype.expandDetail = function (rowIndex) {
36
+ if (this.height(rowIndex) === this.rowHeight) {
37
+ this.updateRowHeight(rowIndex, this.detailRowHeight);
38
+ }
39
+ };
40
+ RowHeightService.prototype.collapseDetail = function (rowIndex) {
41
+ if (this.height(rowIndex) > this.rowHeight) {
42
+ this.updateRowHeight(rowIndex, this.detailRowHeight * -1);
43
+ }
44
+ };
45
+ RowHeightService.prototype.index = function (position) {
46
+ for (var i = 0; i < this.offsets.length; i++) {
47
+ if (position === this.offsets[i]) {
48
+ return i;
49
+ }
50
+ if (position < this.offsets[i]) {
51
+ return i - 1;
52
+ }
53
+ }
54
+ return this.total - 1;
55
+ };
56
+ RowHeightService.prototype.offset = function (rowIndex) {
57
+ return this.offsets[rowIndex];
58
+ };
59
+ RowHeightService.prototype.totalHeight = function () {
60
+ return this.heights.reduce(function (prev, curr) { return prev + curr; }, 0);
61
+ };
62
+ RowHeightService.prototype.updateRowHeight = function (rowIndex, value) {
63
+ this.heights[rowIndex] += value;
64
+ this.offsets = update(this.offsets, rowIndex, value);
65
+ };
66
+ return RowHeightService;
67
+ }());
68
+ export { RowHeightService };
@@ -0,0 +1,49 @@
1
+ import { RowHeightService } from './RowHeightService';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare class ScrollAction {
6
+ offset: number;
7
+ constructor(offset: number);
8
+ }
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare class PageAction {
13
+ skip: number;
14
+ constructor(skip: number);
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export declare type ScrollElement = {
20
+ offsetHeight: number;
21
+ offsetWidth: number;
22
+ scrollLeft: number;
23
+ scrollTop: number;
24
+ };
25
+ /**
26
+ * @hidden
27
+ */
28
+ export declare type Action = ScrollAction | PageAction;
29
+ /**
30
+ * @hidden
31
+ */
32
+ export declare class ScrollerService {
33
+ private onScrollAction;
34
+ private onPageAction;
35
+ private direction;
36
+ private firstLoaded;
37
+ private lastLoaded;
38
+ private lastScrollTop;
39
+ private take;
40
+ private total;
41
+ private rowHeightService;
42
+ private bottomOffset;
43
+ private topOffset;
44
+ constructor(onScrollAction: (action: ScrollAction) => void, onPageAction: (action: PageAction) => void);
45
+ create(rowHeightService: RowHeightService, skip: number, take: number, total: number, topOffset?: number, bottomOffset?: number, direction?: 'horizontal' | 'vertical'): void;
46
+ onScroll({ scrollLeft, scrollTop, offsetHeight, offsetWidth }: ScrollElement): void;
47
+ rowOffset(index: number): number;
48
+ private rowsForHeight;
49
+ }
@@ -0,0 +1,84 @@
1
+ var normalize = function (x) { return Math.max(x, 0); };
2
+ /**
3
+ * @hidden
4
+ */
5
+ var ScrollAction = /** @class */ (function () {
6
+ function ScrollAction(offset) {
7
+ this.offset = offset;
8
+ }
9
+ return ScrollAction;
10
+ }());
11
+ export { ScrollAction };
12
+ /**
13
+ * @hidden
14
+ */
15
+ var PageAction = /** @class */ (function () {
16
+ function PageAction(skip) {
17
+ this.skip = skip;
18
+ }
19
+ return PageAction;
20
+ }());
21
+ export { PageAction };
22
+ /**
23
+ * @hidden
24
+ */
25
+ var ScrollerService = /** @class */ (function () {
26
+ function ScrollerService(onScrollAction, onPageAction) {
27
+ this.onScrollAction = onScrollAction;
28
+ this.onPageAction = onPageAction;
29
+ this.firstLoaded = 0;
30
+ this.bottomOffset = 0;
31
+ this.topOffset = 0;
32
+ }
33
+ ScrollerService.prototype.create = function (rowHeightService, skip, take, total, topOffset, bottomOffset, direction) {
34
+ if (topOffset === void 0) { topOffset = 0; }
35
+ if (bottomOffset === void 0) { bottomOffset = 0; }
36
+ if (direction === void 0) { direction = 'vertical'; }
37
+ this.rowHeightService = rowHeightService;
38
+ this.firstLoaded = skip;
39
+ this.lastLoaded = skip + take;
40
+ this.take = take;
41
+ this.total = total;
42
+ this.lastScrollTop = 0;
43
+ this.topOffset = topOffset;
44
+ this.bottomOffset = bottomOffset;
45
+ this.direction = direction;
46
+ var offsetBufferRows = this.rowsForHeight(topOffset);
47
+ var skipWithOffset = normalize(skip - offsetBufferRows);
48
+ this.onScrollAction(new ScrollAction(this.rowOffset(skipWithOffset)));
49
+ this.onPageAction(new PageAction(skipWithOffset));
50
+ };
51
+ ScrollerService.prototype.onScroll = function (_a) {
52
+ var scrollLeft = _a.scrollLeft, scrollTop = _a.scrollTop, offsetHeight = _a.offsetHeight, offsetWidth = _a.offsetWidth;
53
+ var scrollPosition = this.direction === 'vertical' ? scrollTop : scrollLeft;
54
+ var offsetSize = this.direction === 'vertical' ? offsetHeight : offsetWidth;
55
+ if (this.lastScrollTop === scrollPosition) {
56
+ return;
57
+ }
58
+ var up = this.lastScrollTop >= scrollPosition;
59
+ this.lastScrollTop = scrollPosition;
60
+ var firstItemIndex = this.rowHeightService.index(normalize(scrollPosition - this.topOffset));
61
+ var lastItemIndex = this.rowHeightService.index(normalize(scrollPosition + offsetSize - this.bottomOffset));
62
+ if (!up && lastItemIndex >= this.lastLoaded && this.lastLoaded < this.total) {
63
+ this.firstLoaded = firstItemIndex;
64
+ this.onScrollAction(new ScrollAction(this.rowOffset(firstItemIndex)));
65
+ this.lastLoaded = Math.min(this.firstLoaded + this.take, this.total);
66
+ this.onPageAction(new PageAction(this.firstLoaded));
67
+ }
68
+ if (up && firstItemIndex <= this.firstLoaded) {
69
+ var nonVisibleBuffer = Math.floor(this.take * 0.3);
70
+ this.firstLoaded = normalize(firstItemIndex - nonVisibleBuffer);
71
+ this.onScrollAction(new ScrollAction(this.rowOffset(this.firstLoaded)));
72
+ this.lastLoaded = Math.min(this.firstLoaded + this.take, this.total);
73
+ this.onPageAction(new PageAction(this.firstLoaded));
74
+ }
75
+ };
76
+ ScrollerService.prototype.rowOffset = function (index) {
77
+ return this.rowHeightService.offset(index) + this.topOffset;
78
+ };
79
+ ScrollerService.prototype.rowsForHeight = function (height) {
80
+ return Math.ceil(height / this.rowHeightService.height(0));
81
+ };
82
+ return ScrollerService;
83
+ }());
84
+ export { ScrollerService };
@@ -0,0 +1,3 @@
1
+ import { RowHeightService } from './RowHeightService';
2
+ import { PageAction, ScrollAction, ScrollElement, ScrollerService } from './ScrollerService';
3
+ export { PageAction, ScrollElement, RowHeightService, ScrollAction, ScrollerService };
@@ -0,0 +1,3 @@
1
+ import { RowHeightService } from './RowHeightService.js';
2
+ import { PageAction, ScrollAction, ScrollerService } from './ScrollerService.js';
3
+ export { PageAction, RowHeightService, ScrollAction, ScrollerService };