kdutify 2.7.2 → 2.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/dist/json/web-types.json +5 -5
  2. package/dist/kdutify.js +150 -150
  3. package/dist/kdutify.js.map +1 -1
  4. package/dist/kdutify.min.css +1 -1
  5. package/dist/kdutify.min.js +2 -2
  6. package/es5/components/KAlert/KAlert.js +1 -1
  7. package/es5/components/KApp/KApp.js +1 -1
  8. package/es5/components/KAppBar/KAppBar.js +1 -1
  9. package/es5/components/KAutocomplete/KAutocomplete.js +1 -1
  10. package/es5/components/KAvatar/KAvatar.js +1 -1
  11. package/es5/components/KBadge/KBadge.js +1 -1
  12. package/es5/components/KBanner/KBanner.js +1 -1
  13. package/es5/components/KBottomNavigation/KBottomNavigation.js +1 -1
  14. package/es5/components/KBottomSheet/KBottomSheet.js +1 -1
  15. package/es5/components/KBreadcrumbs/KBreadcrumbs.js +1 -1
  16. package/es5/components/KBtn/KBtn.js +1 -1
  17. package/es5/components/KBtnToggle/KBtnToggle.js +1 -1
  18. package/es5/components/KCalendar/KCalendarCategory.js +1 -1
  19. package/es5/components/KCalendar/KCalendarDaily.js +1 -1
  20. package/es5/components/KCalendar/KCalendarMonthly.js +1 -1
  21. package/es5/components/KCalendar/KCalendarWeekly.js +1 -1
  22. package/es5/components/KCalendar/mixins/calendar-with-events.js +1 -1
  23. package/es5/components/KCalendar/modes/stack.js +12 -12
  24. package/es5/components/KCard/KCard.js +1 -1
  25. package/es5/components/KCarousel/KCarousel.js +1 -1
  26. package/es5/components/KCheckbox/KCheckbox.js +2 -2
  27. package/es5/components/KCheckbox/KSimpleCheckbox.js +1 -1
  28. package/es5/components/KChip/KChip.js +1 -1
  29. package/es5/components/KChipGroup/KChipGroup.js +1 -1
  30. package/es5/components/KColorPicker/KColorPicker.js +1 -1
  31. package/es5/components/KColorPicker/KColorPickerCanvas.js +1 -1
  32. package/es5/components/KColorPicker/KColorPickerEdit.js +1 -1
  33. package/es5/components/KColorPicker/KColorPickerPreview.js +1 -1
  34. package/es5/components/KColorPicker/KColorPickerSwatches.js +1 -1
  35. package/es5/components/KCombobox/KCombobox.js +1 -1
  36. package/es5/components/KCounter/KCounter.js +1 -1
  37. package/es5/components/KDataIterator/KDataFooter.js +1 -1
  38. package/es5/components/KDataTable/KDataTable.js +1 -1
  39. package/es5/components/KDataTable/KDataTableHeader.js +1 -1
  40. package/es5/components/KDataTable/KEditDialog.js +1 -1
  41. package/es5/components/KDataTable/KSimpleTable.js +1 -1
  42. package/es5/components/KDataTable/KVirtualTable.js +1 -1
  43. package/es5/components/KDatePicker/KDatePickerHeader.js +1 -1
  44. package/es5/components/KDatePicker/KDatePickerTitle.js +1 -1
  45. package/es5/components/KDatePicker/KDatePickerYears.js +1 -1
  46. package/es5/components/KDatePicker/mixins/date-picker-table.js +1 -1
  47. package/es5/components/KDatePicker/util/monthChange.js +3 -3
  48. package/es5/components/KDialog/KDialog.js +1 -1
  49. package/es5/components/KDivider/KDivider.js +1 -1
  50. package/es5/components/KExpansionPanel/KExpansionPanels.js +1 -1
  51. package/es5/components/KFileInput/KFileInput.js +1 -1
  52. package/es5/components/KFooter/KFooter.js +1 -1
  53. package/es5/components/KGrid/KCol.js +1 -1
  54. package/es5/components/KGrid/KContainer.js +2 -2
  55. package/es5/components/KGrid/KFlex.js +1 -1
  56. package/es5/components/KGrid/KLayout.js +1 -1
  57. package/es5/components/KGrid/KRow.js +1 -1
  58. package/es5/components/KGrid/KSpacer.js +1 -1
  59. package/es5/components/KIcon/KIcon.js +1 -1
  60. package/es5/components/KImg/KImg.js +1 -1
  61. package/es5/components/KInput/KInput.js +1 -1
  62. package/es5/components/KItemGroup/KItem.js +1 -1
  63. package/es5/components/KItemGroup/KItemGroup.js +1 -1
  64. package/es5/components/KLabel/KLabel.js +1 -1
  65. package/es5/components/KList/KList.js +1 -1
  66. package/es5/components/KList/KListGroup.js +1 -1
  67. package/es5/components/KList/KListItem.js +1 -1
  68. package/es5/components/KList/KListItemGroup.js +1 -1
  69. package/es5/components/KMain/KMain.js +1 -1
  70. package/es5/components/KMenu/KMenu.js +1 -1
  71. package/es5/components/KMessages/KMessages.js +1 -1
  72. package/es5/components/KNavigationDrawer/KNavigationDrawer.js +9 -9
  73. package/es5/components/KOtpInput/KOtpInput.js +2 -2
  74. package/es5/components/KOverflowBtn/KOverflowBtn.js +1 -1
  75. package/es5/components/KOverlay/KOverlay.js +1 -1
  76. package/es5/components/KPagination/KPagination.js +1 -1
  77. package/es5/components/KParallax/KParallax.js +1 -1
  78. package/es5/components/KPicker/KPicker.js +2 -2
  79. package/es5/components/KProgressCircular/KProgressCircular.js +1 -1
  80. package/es5/components/KProgressLinear/KProgressLinear.js +1 -1
  81. package/es5/components/KRadioGroup/KRadio.js +1 -1
  82. package/es5/components/KRadioGroup/KRadioGroup.js +2 -2
  83. package/es5/components/KRangeSlider/KRangeSlider.js +1 -1
  84. package/es5/components/KRating/KRating.js +1 -1
  85. package/es5/components/KResponsive/KResponsive.js +1 -1
  86. package/es5/components/KSelect/KSelect.js +2 -2
  87. package/es5/components/KSheet/KSheet.js +1 -1
  88. package/es5/components/KSkeletonLoader/KSkeletonLoader.js +1 -1
  89. package/es5/components/KSlideGroup/KSlideGroup.js +1 -1
  90. package/es5/components/KSlider/KSlider.js +1 -1
  91. package/es5/components/KSnackbar/KSnackbar.js +1 -1
  92. package/es5/components/KSparkline/helpers/math.js +4 -4
  93. package/es5/components/KSparkline/helpers/path.js +2 -2
  94. package/es5/components/KSpeedDial/KSpeedDial.js +1 -1
  95. package/es5/components/KStepper/KStepper.js +1 -1
  96. package/es5/components/KSubheader/KSubheader.js +1 -1
  97. package/es5/components/KSwitch/KSwitch.js +2 -2
  98. package/es5/components/KSystemBar/KSystemBar.js +1 -1
  99. package/es5/components/KTabs/KTabs.js +6 -6
  100. package/es5/components/KTextField/KTextField.js +1 -1
  101. package/es5/components/KTextarea/KTextarea.js +1 -1
  102. package/es5/components/KTimePicker/KTimePickerClock.js +1 -1
  103. package/es5/components/KTimePicker/KTimePickerTitle.js +1 -1
  104. package/es5/components/KTimeline/KTimeline.js +1 -1
  105. package/es5/components/KToolbar/KToolbar.js +1 -1
  106. package/es5/components/KTooltip/KTooltip.js +1 -1
  107. package/es5/components/KTreeview/KTreeview.js +1 -1
  108. package/es5/components/KVirtualScroll/KVirtualScroll.js +1 -1
  109. package/es5/components/KWindow/KWindow.js +1 -1
  110. package/es5/directives/ripple/index.js +1 -1
  111. package/es5/framework.js +1 -1
  112. package/es5/framework.js.map +1 -1
  113. package/es5/mixins/binds-attrs/index.js +2 -2
  114. package/es5/mixins/bootable/index.js +7 -7
  115. package/es5/mixins/delayable/index.js +10 -10
  116. package/es5/mixins/loadable/index.js +8 -8
  117. package/es5/mixins/positionable/index.js +25 -25
  118. package/es5/mixins/scrollable/index.js +18 -18
  119. package/es5/mixins/ssr-bootable/index.js +7 -7
  120. package/es5/presets/default/index.js +1 -1
  121. package/es5/services/theme/utils.js +4 -4
  122. package/es5/util/colorUtils.js +13 -13
  123. package/es5/util/dedupeModelListeners.js +3 -3
  124. package/es5/util/dom.js +4 -4
  125. package/es5/util/helpers.js +14 -14
  126. package/lib/components/KAlert/KAlert.js +1 -1
  127. package/lib/components/KAlert/KAlert.js.map +1 -1
  128. package/lib/components/KApp/KApp.js +1 -1
  129. package/lib/components/KApp/KApp.js.map +1 -1
  130. package/lib/components/KAppBar/KAppBar.js +1 -1
  131. package/lib/components/KAppBar/KAppBar.js.map +1 -1
  132. package/lib/components/KAutocomplete/KAutocomplete.js +1 -1
  133. package/lib/components/KAutocomplete/KAutocomplete.js.map +1 -1
  134. package/lib/components/KAvatar/KAvatar.js +1 -1
  135. package/lib/components/KAvatar/KAvatar.js.map +1 -1
  136. package/lib/components/KBadge/KBadge.js +1 -1
  137. package/lib/components/KBadge/KBadge.js.map +1 -1
  138. package/lib/components/KBanner/KBanner.js +1 -1
  139. package/lib/components/KBanner/KBanner.js.map +1 -1
  140. package/lib/components/KBottomNavigation/KBottomNavigation.js +1 -1
  141. package/lib/components/KBottomNavigation/KBottomNavigation.js.map +1 -1
  142. package/lib/components/KBottomSheet/KBottomSheet.js +1 -1
  143. package/lib/components/KBottomSheet/KBottomSheet.js.map +1 -1
  144. package/lib/components/KBreadcrumbs/KBreadcrumbs.js +1 -1
  145. package/lib/components/KBreadcrumbs/KBreadcrumbs.js.map +1 -1
  146. package/lib/components/KBtn/KBtn.js +1 -1
  147. package/lib/components/KBtn/KBtn.js.map +1 -1
  148. package/lib/components/KBtnToggle/KBtnToggle.js +1 -1
  149. package/lib/components/KBtnToggle/KBtnToggle.js.map +1 -1
  150. package/lib/components/KCalendar/KCalendarCategory.js +1 -1
  151. package/lib/components/KCalendar/KCalendarCategory.js.map +1 -1
  152. package/lib/components/KCalendar/KCalendarDaily.js +1 -1
  153. package/lib/components/KCalendar/KCalendarDaily.js.map +1 -1
  154. package/lib/components/KCalendar/KCalendarMonthly.js +1 -1
  155. package/lib/components/KCalendar/KCalendarMonthly.js.map +1 -1
  156. package/lib/components/KCalendar/KCalendarWeekly.js +1 -1
  157. package/lib/components/KCalendar/KCalendarWeekly.js.map +1 -1
  158. package/lib/components/KCalendar/mixins/calendar-with-events.js +1 -1
  159. package/lib/components/KCalendar/mixins/calendar-with-events.js.map +1 -1
  160. package/lib/components/KCalendar/modes/stack.js +12 -12
  161. package/lib/components/KCard/KCard.js +1 -1
  162. package/lib/components/KCard/KCard.js.map +1 -1
  163. package/lib/components/KCarousel/KCarousel.js +1 -1
  164. package/lib/components/KCarousel/KCarousel.js.map +1 -1
  165. package/lib/components/KCheckbox/KCheckbox.js +2 -2
  166. package/lib/components/KCheckbox/KCheckbox.js.map +1 -1
  167. package/lib/components/KCheckbox/KSimpleCheckbox.js +1 -1
  168. package/lib/components/KCheckbox/KSimpleCheckbox.js.map +1 -1
  169. package/lib/components/KChip/KChip.js +1 -1
  170. package/lib/components/KChip/KChip.js.map +1 -1
  171. package/lib/components/KChipGroup/KChipGroup.js +1 -1
  172. package/lib/components/KChipGroup/KChipGroup.js.map +1 -1
  173. package/lib/components/KColorPicker/KColorPicker.js +1 -1
  174. package/lib/components/KColorPicker/KColorPicker.js.map +1 -1
  175. package/lib/components/KColorPicker/KColorPickerCanvas.js +1 -1
  176. package/lib/components/KColorPicker/KColorPickerCanvas.js.map +1 -1
  177. package/lib/components/KColorPicker/KColorPickerEdit.js +1 -1
  178. package/lib/components/KColorPicker/KColorPickerEdit.js.map +1 -1
  179. package/lib/components/KColorPicker/KColorPickerPreview.js +1 -1
  180. package/lib/components/KColorPicker/KColorPickerPreview.js.map +1 -1
  181. package/lib/components/KColorPicker/KColorPickerSwatches.js +1 -1
  182. package/lib/components/KColorPicker/KColorPickerSwatches.js.map +1 -1
  183. package/lib/components/KCombobox/KCombobox.js +1 -1
  184. package/lib/components/KCombobox/KCombobox.js.map +1 -1
  185. package/lib/components/KCounter/KCounter.js +1 -1
  186. package/lib/components/KCounter/KCounter.js.map +1 -1
  187. package/lib/components/KDataIterator/KDataFooter.js +1 -1
  188. package/lib/components/KDataIterator/KDataFooter.js.map +1 -1
  189. package/lib/components/KDataTable/KDataTable.js +1 -1
  190. package/lib/components/KDataTable/KDataTable.js.map +1 -1
  191. package/lib/components/KDataTable/KDataTableHeader.js +1 -1
  192. package/lib/components/KDataTable/KDataTableHeader.js.map +1 -1
  193. package/lib/components/KDataTable/KEditDialog.js +1 -1
  194. package/lib/components/KDataTable/KEditDialog.js.map +1 -1
  195. package/lib/components/KDataTable/KSimpleTable.js +1 -1
  196. package/lib/components/KDataTable/KSimpleTable.js.map +1 -1
  197. package/lib/components/KDataTable/KVirtualTable.js +1 -1
  198. package/lib/components/KDataTable/KVirtualTable.js.map +1 -1
  199. package/lib/components/KDatePicker/KDatePickerHeader.js +1 -1
  200. package/lib/components/KDatePicker/KDatePickerHeader.js.map +1 -1
  201. package/lib/components/KDatePicker/KDatePickerTitle.js +1 -1
  202. package/lib/components/KDatePicker/KDatePickerTitle.js.map +1 -1
  203. package/lib/components/KDatePicker/KDatePickerYears.js +1 -1
  204. package/lib/components/KDatePicker/KDatePickerYears.js.map +1 -1
  205. package/lib/components/KDatePicker/mixins/date-picker-table.js +1 -1
  206. package/lib/components/KDatePicker/mixins/date-picker-table.js.map +1 -1
  207. package/lib/components/KDatePicker/util/monthChange.js +3 -3
  208. package/lib/components/KDialog/KDialog.js +1 -1
  209. package/lib/components/KDialog/KDialog.js.map +1 -1
  210. package/lib/components/KDivider/KDivider.js +1 -1
  211. package/lib/components/KDivider/KDivider.js.map +1 -1
  212. package/lib/components/KExpansionPanel/KExpansionPanels.js +1 -1
  213. package/lib/components/KExpansionPanel/KExpansionPanels.js.map +1 -1
  214. package/lib/components/KFileInput/KFileInput.js +1 -1
  215. package/lib/components/KFileInput/KFileInput.js.map +1 -1
  216. package/lib/components/KFooter/KFooter.js +1 -1
  217. package/lib/components/KFooter/KFooter.js.map +1 -1
  218. package/lib/components/KGrid/KCol.js +1 -1
  219. package/lib/components/KGrid/KCol.js.map +1 -1
  220. package/lib/components/KGrid/KContainer.js +2 -2
  221. package/lib/components/KGrid/KContainer.js.map +1 -1
  222. package/lib/components/KGrid/KFlex.js +1 -1
  223. package/lib/components/KGrid/KFlex.js.map +1 -1
  224. package/lib/components/KGrid/KLayout.js +1 -1
  225. package/lib/components/KGrid/KLayout.js.map +1 -1
  226. package/lib/components/KGrid/KRow.js +1 -1
  227. package/lib/components/KGrid/KRow.js.map +1 -1
  228. package/lib/components/KGrid/KSpacer.js +1 -1
  229. package/lib/components/KGrid/KSpacer.js.map +1 -1
  230. package/lib/components/KIcon/KIcon.js +1 -1
  231. package/lib/components/KIcon/KIcon.js.map +1 -1
  232. package/lib/components/KImg/KImg.js +1 -1
  233. package/lib/components/KImg/KImg.js.map +1 -1
  234. package/lib/components/KInput/KInput.js +1 -1
  235. package/lib/components/KInput/KInput.js.map +1 -1
  236. package/lib/components/KItemGroup/KItem.js +1 -1
  237. package/lib/components/KItemGroup/KItem.js.map +1 -1
  238. package/lib/components/KItemGroup/KItemGroup.js +1 -1
  239. package/lib/components/KItemGroup/KItemGroup.js.map +1 -1
  240. package/lib/components/KLabel/KLabel.js +1 -1
  241. package/lib/components/KLabel/KLabel.js.map +1 -1
  242. package/lib/components/KList/KList.js +1 -1
  243. package/lib/components/KList/KList.js.map +1 -1
  244. package/lib/components/KList/KListGroup.js +1 -1
  245. package/lib/components/KList/KListGroup.js.map +1 -1
  246. package/lib/components/KList/KListItem.js +1 -1
  247. package/lib/components/KList/KListItem.js.map +1 -1
  248. package/lib/components/KList/KListItemGroup.js +1 -1
  249. package/lib/components/KList/KListItemGroup.js.map +1 -1
  250. package/lib/components/KMain/KMain.js +1 -1
  251. package/lib/components/KMain/KMain.js.map +1 -1
  252. package/lib/components/KMenu/KMenu.js +1 -1
  253. package/lib/components/KMenu/KMenu.js.map +1 -1
  254. package/lib/components/KMessages/KMessages.js +1 -1
  255. package/lib/components/KMessages/KMessages.js.map +1 -1
  256. package/lib/components/KNavigationDrawer/KNavigationDrawer.js +9 -9
  257. package/lib/components/KNavigationDrawer/KNavigationDrawer.js.map +1 -1
  258. package/lib/components/KOtpInput/KOtpInput.js +2 -2
  259. package/lib/components/KOtpInput/KOtpInput.js.map +1 -1
  260. package/lib/components/KOverflowBtn/KOverflowBtn.js +1 -1
  261. package/lib/components/KOverflowBtn/KOverflowBtn.js.map +1 -1
  262. package/lib/components/KOverlay/KOverlay.js +1 -1
  263. package/lib/components/KOverlay/KOverlay.js.map +1 -1
  264. package/lib/components/KPagination/KPagination.js +1 -1
  265. package/lib/components/KPagination/KPagination.js.map +1 -1
  266. package/lib/components/KParallax/KParallax.js +1 -1
  267. package/lib/components/KParallax/KParallax.js.map +1 -1
  268. package/lib/components/KPicker/KPicker.js +2 -2
  269. package/lib/components/KPicker/KPicker.js.map +1 -1
  270. package/lib/components/KProgressCircular/KProgressCircular.js +1 -1
  271. package/lib/components/KProgressCircular/KProgressCircular.js.map +1 -1
  272. package/lib/components/KProgressLinear/KProgressLinear.js +1 -1
  273. package/lib/components/KProgressLinear/KProgressLinear.js.map +1 -1
  274. package/lib/components/KRadioGroup/KRadio.js +1 -1
  275. package/lib/components/KRadioGroup/KRadio.js.map +1 -1
  276. package/lib/components/KRadioGroup/KRadioGroup.js +2 -2
  277. package/lib/components/KRadioGroup/KRadioGroup.js.map +1 -1
  278. package/lib/components/KRangeSlider/KRangeSlider.js +1 -1
  279. package/lib/components/KRangeSlider/KRangeSlider.js.map +1 -1
  280. package/lib/components/KRating/KRating.js +1 -1
  281. package/lib/components/KRating/KRating.js.map +1 -1
  282. package/lib/components/KResponsive/KResponsive.js +1 -1
  283. package/lib/components/KResponsive/KResponsive.js.map +1 -1
  284. package/lib/components/KSelect/KSelect.js +2 -2
  285. package/lib/components/KSelect/KSelect.js.map +1 -1
  286. package/lib/components/KSheet/KSheet.js +1 -1
  287. package/lib/components/KSheet/KSheet.js.map +1 -1
  288. package/lib/components/KSkeletonLoader/KSkeletonLoader.js +1 -1
  289. package/lib/components/KSkeletonLoader/KSkeletonLoader.js.map +1 -1
  290. package/lib/components/KSlideGroup/KSlideGroup.js +1 -1
  291. package/lib/components/KSlideGroup/KSlideGroup.js.map +1 -1
  292. package/lib/components/KSlider/KSlider.js +1 -1
  293. package/lib/components/KSlider/KSlider.js.map +1 -1
  294. package/lib/components/KSnackbar/KSnackbar.js +1 -1
  295. package/lib/components/KSnackbar/KSnackbar.js.map +1 -1
  296. package/lib/components/KSparkline/helpers/math.js +4 -4
  297. package/lib/components/KSparkline/helpers/path.js +2 -2
  298. package/lib/components/KSpeedDial/KSpeedDial.js +1 -1
  299. package/lib/components/KSpeedDial/KSpeedDial.js.map +1 -1
  300. package/lib/components/KStepper/KStepper.js +1 -1
  301. package/lib/components/KStepper/KStepper.js.map +1 -1
  302. package/lib/components/KSubheader/KSubheader.js +1 -1
  303. package/lib/components/KSubheader/KSubheader.js.map +1 -1
  304. package/lib/components/KSwitch/KSwitch.js +2 -2
  305. package/lib/components/KSwitch/KSwitch.js.map +1 -1
  306. package/lib/components/KSystemBar/KSystemBar.js +1 -1
  307. package/lib/components/KSystemBar/KSystemBar.js.map +1 -1
  308. package/lib/components/KTabs/KTabs.js +6 -6
  309. package/lib/components/KTabs/KTabs.js.map +1 -1
  310. package/lib/components/KTextField/KTextField.js +1 -1
  311. package/lib/components/KTextField/KTextField.js.map +1 -1
  312. package/lib/components/KTextarea/KTextarea.js +1 -1
  313. package/lib/components/KTextarea/KTextarea.js.map +1 -1
  314. package/lib/components/KTimePicker/KTimePickerClock.js +1 -1
  315. package/lib/components/KTimePicker/KTimePickerClock.js.map +1 -1
  316. package/lib/components/KTimePicker/KTimePickerTitle.js +1 -1
  317. package/lib/components/KTimePicker/KTimePickerTitle.js.map +1 -1
  318. package/lib/components/KTimeline/KTimeline.js +1 -1
  319. package/lib/components/KTimeline/KTimeline.js.map +1 -1
  320. package/lib/components/KToolbar/KToolbar.js +1 -1
  321. package/lib/components/KToolbar/KToolbar.js.map +1 -1
  322. package/lib/components/KTooltip/KTooltip.js +1 -1
  323. package/lib/components/KTooltip/KTooltip.js.map +1 -1
  324. package/lib/components/KTreeview/KTreeview.js +1 -1
  325. package/lib/components/KTreeview/KTreeview.js.map +1 -1
  326. package/lib/components/KVirtualScroll/KVirtualScroll.js +1 -1
  327. package/lib/components/KVirtualScroll/KVirtualScroll.js.map +1 -1
  328. package/lib/components/KWindow/KWindow.js +1 -1
  329. package/lib/components/KWindow/KWindow.js.map +1 -1
  330. package/lib/directives/ripple/index.js +1 -1
  331. package/lib/directives/ripple/index.js.map +1 -1
  332. package/lib/framework.js +1 -1
  333. package/lib/framework.js.map +1 -1
  334. package/lib/mixins/binds-attrs/index.js +2 -2
  335. package/lib/mixins/bootable/index.js +7 -7
  336. package/lib/mixins/delayable/index.js +10 -10
  337. package/lib/mixins/loadable/index.js +8 -8
  338. package/lib/mixins/positionable/index.js +25 -25
  339. package/lib/mixins/scrollable/index.js +18 -18
  340. package/lib/mixins/ssr-bootable/index.js +7 -7
  341. package/lib/presets/default/index.js +1 -1
  342. package/lib/presets/default/index.js.map +1 -1
  343. package/lib/services/theme/utils.js +4 -4
  344. package/lib/util/colorUtils.js +13 -13
  345. package/lib/util/dedupeModelListeners.js +3 -3
  346. package/lib/util/dom.js +4 -4
  347. package/lib/util/helpers.js +14 -14
  348. package/package.json +2 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDataTable/KDataTableHeader.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,gEAAyB;AAEhC;AACA,OAAO,sBAAsB,MAAM,0BAA0B;AAC7D,OAAO,uBAAuB,MAAM,2BAA2B;AAE/D;AACA,OAAO,MAAM,MAAM,iBAAiB;AAEpC;AACA,OAAO,oBAAoB,MAAM,iCAAiC;AAClE,OAAO,SAAS,MAAM,sBAAsB;AAC5C,OAAO,YAAY,MAAM,mCAAmC;AAE5D;AACA,OAAO,GAAG,MAAM,KAAK;AAErB;AACA,eAAe,GAAG,CAAC,MAAM,CAAC;EACxB,IAAI,EAAE,qBAAqB;EAE3B,UAAU,EAAE,IAAI;EAEhB,KAAK,EAAE;IACL,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK;IACvB,MAAM,EAAE;GACT;EAED,MAAM,CAAE,CAAC,EAAE;IAAE,KAAK;IAAE,IAAI;IAAE;EAAK,CAAE,EAAA;IAC/B,oBAAoB,CAAC,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAA,CAAE,EAAE,CAAC,CAAC;IAEzC,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE;MAAE;IAAK,CAAE,CAAC;IAEjC,IAAI,KAAK,CAAC,MAAM,EAAE;MAChB,OAAO,CAAC,CAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,CAAC;KACjD,MAAM;MACL,OAAO,CAAC,CAAC,uBAAuB,EAAE,IAAI,EAAE,QAAQ,CAAC;IAClD;EACH;CACD,CAAC","sourcesContent":["// Styles\nimport './KDataTableHeader.sass'\n\n// Components\nimport KDataTableHeaderMobile from './KDataTableHeaderMobile'\nimport KDataTableHeaderDesktop from './KDataTableHeaderDesktop'\n\n// Mixins\nimport header from './mixins/header'\n\n// Utilities\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport mergeData from '../../util/mergeData'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\n// Types\nimport Kdu from 'kdu'\n\n/* @kdujs/component */\nexport default Kdu.extend({\n name: 'k-data-table-header',\n\n functional: true,\n\n props: {\n ...header.options.props,\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n data = mergeData(data, { props })\n\n if (props.mobile) {\n return h(KDataTableHeaderMobile, data, children)\n } else {\n return h(KDataTableHeaderDesktop, data, children)\n }\n },\n})\n"],"sourceRoot":"","file":"KDataTableHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/KDataTable/KDataTableHeader.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,0DAAyB;AAEhC;AACA,OAAO,sBAAsB,MAAM,0BAA0B;AAC7D,OAAO,uBAAuB,MAAM,2BAA2B;AAE/D;AACA,OAAO,MAAM,MAAM,iBAAiB;AAEpC;AACA,OAAO,oBAAoB,MAAM,iCAAiC;AAClE,OAAO,SAAS,MAAM,sBAAsB;AAC5C,OAAO,YAAY,MAAM,mCAAmC;AAE5D;AACA,OAAO,GAAG,MAAM,KAAK;AAErB;AACA,eAAe,GAAG,CAAC,MAAM,CAAC;EACxB,IAAI,EAAE,qBAAqB;EAE3B,UAAU,EAAE,IAAI;EAEhB,KAAK,EAAE;IACL,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK;IACvB,MAAM,EAAE;GACT;EAED,MAAM,CAAE,CAAC,EAAE;IAAE,KAAK;IAAE,IAAI;IAAE;EAAK,CAAE,EAAA;IAC/B,oBAAoB,CAAC,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAA,CAAE,EAAE,CAAC,CAAC;IAEzC,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE;MAAE;IAAK,CAAE,CAAC;IAEjC,IAAI,KAAK,CAAC,MAAM,EAAE;MAChB,OAAO,CAAC,CAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,CAAC;KACjD,MAAM;MACL,OAAO,CAAC,CAAC,uBAAuB,EAAE,IAAI,EAAE,QAAQ,CAAC;IAClD;EACH;CACD,CAAC","sourcesContent":["// Styles\nimport './KDataTableHeader.sass'\n\n// Components\nimport KDataTableHeaderMobile from './KDataTableHeaderMobile'\nimport KDataTableHeaderDesktop from './KDataTableHeaderDesktop'\n\n// Mixins\nimport header from './mixins/header'\n\n// Utilities\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport mergeData from '../../util/mergeData'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\n// Types\nimport Kdu from 'kdu'\n\n/* @kdujs/component */\nexport default Kdu.extend({\n name: 'k-data-table-header',\n\n functional: true,\n\n props: {\n ...header.options.props,\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n data = mergeData(data, { props })\n\n if (props.mobile) {\n return h(KDataTableHeaderMobile, data, children)\n } else {\n return h(KDataTableHeaderDesktop, data, children)\n }\n },\n})\n"],"sourceRoot":"","file":"KDataTableHeader.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KDataTable\\KEditDialog.sass";
2
+ import "../../../src/components/KDataTable/KEditDialog.sass";
3
3
  // Mixins
4
4
  import Returnable from '../../mixins/returnable';
5
5
  import Themeable from '../../mixins/themeable';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDataTable/KEditDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KEditDialog.sass'\n\n// Mixins\nimport Returnable from '../../mixins/returnable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Component\nimport KBtn from '../KBtn'\nimport KMenu from '../KMenu'\n\n// Types\nimport { KNode, KNodeChildren } from 'kdu'\nimport mixins from '../../util/mixins'\n\n/* @kdujs/component */\nexport default mixins(Returnable, Themeable).extend({\n name: 'k-edit-dialog',\n\n props: {\n cancelText: {\n default: 'Cancel',\n },\n large: Boolean,\n eager: Boolean,\n persistent: Boolean,\n saveText: {\n default: 'Save',\n },\n transition: {\n type: String,\n default: 'slide-x-reverse-transition',\n },\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.$emit('open')\n setTimeout(this.focus, 50) // Give DOM time to paint\n } else {\n this.$emit('close')\n }\n },\n },\n\n methods: {\n cancel () {\n this.isActive = false\n this.$emit('cancel')\n },\n focus () {\n const input = (this.$refs.content as Element).querySelector('input')\n input && input.focus()\n },\n genButton (fn: Function, text: KNodeChildren): KNode {\n return this.$createElement(KBtn, {\n props: {\n text: true,\n color: 'primary',\n light: true,\n },\n on: { click: fn },\n }, text)\n },\n genActions (): KNode {\n return this.$createElement('div', {\n class: 'k-small-dialog__actions',\n }, [\n this.genButton(this.cancel, this.cancelText),\n this.genButton(() => {\n this.save(this.returnValue)\n this.$emit('save')\n }, this.saveText),\n ])\n },\n genContent (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-small-dialog__content',\n on: {\n keydown: (e: KeyboardEvent) => {\n e.keyCode === keyCodes.esc && this.cancel()\n if (e.keyCode === keyCodes.enter) {\n this.save(this.returnValue)\n this.$emit('save')\n }\n },\n },\n ref: 'content',\n }, getSlot(this, 'input'))\n },\n },\n\n render (h): KNode {\n return h(KMenu, {\n staticClass: 'k-small-dialog',\n class: this.themeClasses,\n props: {\n contentClass: 'k-small-dialog__menu-content',\n transition: this.transition,\n origin: 'top right',\n right: true,\n value: this.isActive,\n closeOnClick: !this.persistent,\n closeOnContentClick: false,\n eager: this.eager,\n light: this.light,\n dark: this.dark,\n },\n on: {\n input: (val: boolean) => (this.isActive = val),\n },\n scopedSlots: {\n activator: ({ on }) => {\n return h('div', {\n staticClass: 'k-small-dialog__activator',\n on,\n }, [\n h('span', {\n staticClass: 'k-small-dialog__activator__content',\n }, getSlot(this)),\n ])\n },\n },\n }, [\n this.genContent(),\n this.large ? this.genActions() : null,\n ])\n },\n})\n"],"sourceRoot":"","file":"KEditDialog.js"}
1
+ {"version":3,"sources":["../../../src/components/KDataTable/KEditDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KEditDialog.sass'\n\n// Mixins\nimport Returnable from '../../mixins/returnable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Component\nimport KBtn from '../KBtn'\nimport KMenu from '../KMenu'\n\n// Types\nimport { KNode, KNodeChildren } from 'kdu'\nimport mixins from '../../util/mixins'\n\n/* @kdujs/component */\nexport default mixins(Returnable, Themeable).extend({\n name: 'k-edit-dialog',\n\n props: {\n cancelText: {\n default: 'Cancel',\n },\n large: Boolean,\n eager: Boolean,\n persistent: Boolean,\n saveText: {\n default: 'Save',\n },\n transition: {\n type: String,\n default: 'slide-x-reverse-transition',\n },\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.$emit('open')\n setTimeout(this.focus, 50) // Give DOM time to paint\n } else {\n this.$emit('close')\n }\n },\n },\n\n methods: {\n cancel () {\n this.isActive = false\n this.$emit('cancel')\n },\n focus () {\n const input = (this.$refs.content as Element).querySelector('input')\n input && input.focus()\n },\n genButton (fn: Function, text: KNodeChildren): KNode {\n return this.$createElement(KBtn, {\n props: {\n text: true,\n color: 'primary',\n light: true,\n },\n on: { click: fn },\n }, text)\n },\n genActions (): KNode {\n return this.$createElement('div', {\n class: 'k-small-dialog__actions',\n }, [\n this.genButton(this.cancel, this.cancelText),\n this.genButton(() => {\n this.save(this.returnValue)\n this.$emit('save')\n }, this.saveText),\n ])\n },\n genContent (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-small-dialog__content',\n on: {\n keydown: (e: KeyboardEvent) => {\n e.keyCode === keyCodes.esc && this.cancel()\n if (e.keyCode === keyCodes.enter) {\n this.save(this.returnValue)\n this.$emit('save')\n }\n },\n },\n ref: 'content',\n }, getSlot(this, 'input'))\n },\n },\n\n render (h): KNode {\n return h(KMenu, {\n staticClass: 'k-small-dialog',\n class: this.themeClasses,\n props: {\n contentClass: 'k-small-dialog__menu-content',\n transition: this.transition,\n origin: 'top right',\n right: true,\n value: this.isActive,\n closeOnClick: !this.persistent,\n closeOnContentClick: false,\n eager: this.eager,\n light: this.light,\n dark: this.dark,\n },\n on: {\n input: (val: boolean) => (this.isActive = val),\n },\n scopedSlots: {\n activator: ({ on }) => {\n return h('div', {\n staticClass: 'k-small-dialog__activator',\n on,\n }, [\n h('span', {\n staticClass: 'k-small-dialog__activator__content',\n }, getSlot(this)),\n ])\n },\n },\n }, [\n this.genContent(),\n this.large ? this.genActions() : null,\n ])\n },\n})\n"],"sourceRoot":"","file":"KEditDialog.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\src\\components\\KDataTable\\KSimpleTable.sass";
1
+ import "../../../src/components/KDataTable/KSimpleTable.sass";
2
2
  import { convertToUnit, getSlot } from '../../util/helpers';
3
3
  import Themeable from '../../mixins/themeable';
4
4
  import mixins from '../../util/mixins';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDataTable/KSimpleTable.ts"],"names":[],"mappings":"AAAA,OAAO,4DAAqB;AAE5B,SAAS,aAAa,EAAE,OAAO,QAAQ,oBAAoB;AAC3D,OAAO,SAAS,MAAM,wBAAwB;AAC9C,OAAO,MAAM,MAAM,mBAAmB;AAGtC,eAAe,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;EACtC,IAAI,EAAE,gBAAgB;EAEtB,KAAK,EAAE;IACL,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM;GACxB;EAED,QAAQ,EAAE;IACR,OAAO,CAAA,EAAA;MACL,OAAO;QACL,qBAAqB,EAAE,IAAI,CAAC,KAAK;QACjC,4BAA4B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW;QAChE,4BAA4B,EAAE,IAAI,CAAC,WAAW;QAC9C,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;QAC1C,0BAA0B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QAChD,GAAG,IAAI,CAAC;OACT;IACH;GACD;EAED,OAAO,EAAE;IACP,UAAU,CAAA,EAAA;MACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QACvD,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE;UACL,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM;QAClC;OACF,EAAE,CACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAC5C,CAAC;IACJ;GACD;EAED,MAAM,CAAE,CAAC,EAAA;IACP,OAAO,CAAC,CAAC,KAAK,EAAE;MACd,WAAW,EAAE,cAAc;MAC3B,KAAK,EAAE,IAAI,CAAC;KACb,EAAE,CACD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EACpB,IAAI,CAAC,UAAU,CAAA,CAAE,EACjB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CACxB,CAAC;EACJ;CACD,CAAC","sourcesContent":["import './KSimpleTable.sass'\n\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { KNode } from 'kdu'\n\nexport default mixins(Themeable).extend({\n name: 'k-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'k-data-table--dense': this.dense,\n 'k-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'k-data-table--fixed-header': this.fixedHeader,\n 'k-data-table--has-top': !!this.$slots.top,\n 'k-data-table--has-bottom': !!this.$slots.bottom,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'k-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', getSlot(this)),\n ])\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-data-table',\n class: this.classes,\n }, [\n getSlot(this, 'top'),\n this.genWrapper(),\n getSlot(this, 'bottom'),\n ])\n },\n})\n"],"sourceRoot":"","file":"KSimpleTable.js"}
1
+ {"version":3,"sources":["../../../src/components/KDataTable/KSimpleTable.ts"],"names":[],"mappings":"AAAA,OAAO,sDAAqB;AAE5B,SAAS,aAAa,EAAE,OAAO,QAAQ,oBAAoB;AAC3D,OAAO,SAAS,MAAM,wBAAwB;AAC9C,OAAO,MAAM,MAAM,mBAAmB;AAGtC,eAAe,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;EACtC,IAAI,EAAE,gBAAgB;EAEtB,KAAK,EAAE;IACL,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM;GACxB;EAED,QAAQ,EAAE;IACR,OAAO,CAAA,EAAA;MACL,OAAO;QACL,qBAAqB,EAAE,IAAI,CAAC,KAAK;QACjC,4BAA4B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW;QAChE,4BAA4B,EAAE,IAAI,CAAC,WAAW;QAC9C,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;QAC1C,0BAA0B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QAChD,GAAG,IAAI,CAAC;OACT;IACH;GACD;EAED,OAAO,EAAE;IACP,UAAU,CAAA,EAAA;MACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QACvD,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE;UACL,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM;QAClC;OACF,EAAE,CACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAC5C,CAAC;IACJ;GACD;EAED,MAAM,CAAE,CAAC,EAAA;IACP,OAAO,CAAC,CAAC,KAAK,EAAE;MACd,WAAW,EAAE,cAAc;MAC3B,KAAK,EAAE,IAAI,CAAC;KACb,EAAE,CACD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EACpB,IAAI,CAAC,UAAU,CAAA,CAAE,EACjB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CACxB,CAAC;EACJ;CACD,CAAC","sourcesContent":["import './KSimpleTable.sass'\n\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { KNode } from 'kdu'\n\nexport default mixins(Themeable).extend({\n name: 'k-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'k-data-table--dense': this.dense,\n 'k-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'k-data-table--fixed-header': this.fixedHeader,\n 'k-data-table--has-top': !!this.$slots.top,\n 'k-data-table--has-bottom': !!this.$slots.bottom,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'k-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', getSlot(this)),\n ])\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-data-table',\n class: this.classes,\n }, [\n getSlot(this, 'top'),\n this.genWrapper(),\n getSlot(this, 'bottom'),\n ])\n },\n})\n"],"sourceRoot":"","file":"KSimpleTable.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\src\\components\\KDataTable\\KVirtualTable.sass";
1
+ import "../../../src/components/KDataTable/KVirtualTable.sass";
2
2
  // Components
3
3
  import KSimpleTable from './KSimpleTable';
4
4
  import mixins from '../../util/mixins';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDataTable/KVirtualTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './KVirtualTable.sass'\n\n// Components\nimport KSimpleTable from './KSimpleTable'\n\n// Types\nimport { KNode, KNodeChildren } from 'kdu'\nimport { PropValidator } from 'kdu/types/options'\nimport mixins from '../../util/mixins'\n\n// Utiltiies\nimport { convertToUnit, debounce, getSlot } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(KSimpleTable)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n table: HTMLElement\n }\n cachedItems: KNodeChildren\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'k-virtual-table',\n\n props: {\n chunkSize: {\n type: Number,\n default: 25,\n },\n headerHeight: {\n type: Number,\n default: 48,\n },\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n rowHeight: {\n type: Number,\n default: 48,\n },\n },\n\n data: () => ({\n scrollTop: 0,\n oldChunk: 0,\n scrollDebounce: null as any,\n invalidateCache: false,\n }),\n\n computed: {\n itemsLength (): number {\n return this.items.length\n },\n totalHeight (): number {\n return (this.itemsLength * this.rowHeight) + this.headerHeight\n },\n topIndex (): number {\n return Math.floor(this.scrollTop / this.rowHeight)\n },\n chunkIndex (): number {\n return Math.floor(this.topIndex / this.chunkSize)\n },\n startIndex (): number {\n return Math.max(0, (this.chunkIndex * this.chunkSize) - this.chunkSize)\n },\n offsetTop (): number {\n return Math.max(0, this.startIndex * this.rowHeight)\n },\n stopIndex (): number {\n return Math.min(this.startIndex + (this.chunkSize * 3), this.itemsLength)\n },\n offsetBottom (): number {\n return Math.max(0, (this.itemsLength - this.stopIndex - this.startIndex) * this.rowHeight)\n },\n },\n\n watch: {\n chunkIndex (newValue, oldValue) {\n this.oldChunk = oldValue\n },\n items () {\n this.cachedItems = null\n this.$refs.table.scrollTop = 0\n },\n },\n\n created () {\n this.cachedItems = null\n },\n\n mounted () {\n this.scrollDebounce = debounce(this.onScroll, 50)\n\n this.$refs.table.addEventListener('scroll', this.scrollDebounce, { passive: true })\n },\n\n beforeDestroy () {\n this.$refs.table.removeEventListener('scroll', this.scrollDebounce)\n },\n\n methods: {\n createStyleHeight (height: number) {\n return {\n height: `${height}px`,\n }\n },\n genBody () {\n if (this.cachedItems === null || this.chunkIndex !== this.oldChunk) {\n this.cachedItems = this.genItems()\n this.oldChunk = this.chunkIndex\n }\n\n return this.$createElement('tbody', [\n this.$createElement('tr', { style: this.createStyleHeight(this.offsetTop) }),\n this.cachedItems,\n this.$createElement('tr', { style: this.createStyleHeight(this.offsetBottom) }),\n ])\n },\n genItems () {\n return this.$scopedSlots.items!({ items: this.items.slice(this.startIndex, this.stopIndex) })\n },\n onScroll (e: Event) {\n const target = e.target as Element\n this.scrollTop = target.scrollTop\n },\n genTable () {\n return this.$createElement('div', {\n ref: 'table',\n staticClass: 'k-virtual-table__table',\n }, [\n this.$createElement('table', [\n this.$slots['body.before'],\n this.genBody(),\n this.$slots['body.after'],\n ]),\n ])\n },\n genWrapper () {\n return this.$createElement('div', {\n staticClass: 'k-virtual-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.genTable(),\n ])\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-data-table k-virtual-table',\n class: this.classes,\n }, [\n getSlot(this, 'top'),\n this.genWrapper(),\n getSlot(this, 'bottom'),\n ])\n },\n})\n"],"sourceRoot":"","file":"KVirtualTable.js"}
1
+ {"version":3,"sources":["../../../src/components/KDataTable/KVirtualTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './KVirtualTable.sass'\n\n// Components\nimport KSimpleTable from './KSimpleTable'\n\n// Types\nimport { KNode, KNodeChildren } from 'kdu'\nimport { PropValidator } from 'kdu/types/options'\nimport mixins from '../../util/mixins'\n\n// Utiltiies\nimport { convertToUnit, debounce, getSlot } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(KSimpleTable)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n table: HTMLElement\n }\n cachedItems: KNodeChildren\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'k-virtual-table',\n\n props: {\n chunkSize: {\n type: Number,\n default: 25,\n },\n headerHeight: {\n type: Number,\n default: 48,\n },\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n rowHeight: {\n type: Number,\n default: 48,\n },\n },\n\n data: () => ({\n scrollTop: 0,\n oldChunk: 0,\n scrollDebounce: null as any,\n invalidateCache: false,\n }),\n\n computed: {\n itemsLength (): number {\n return this.items.length\n },\n totalHeight (): number {\n return (this.itemsLength * this.rowHeight) + this.headerHeight\n },\n topIndex (): number {\n return Math.floor(this.scrollTop / this.rowHeight)\n },\n chunkIndex (): number {\n return Math.floor(this.topIndex / this.chunkSize)\n },\n startIndex (): number {\n return Math.max(0, (this.chunkIndex * this.chunkSize) - this.chunkSize)\n },\n offsetTop (): number {\n return Math.max(0, this.startIndex * this.rowHeight)\n },\n stopIndex (): number {\n return Math.min(this.startIndex + (this.chunkSize * 3), this.itemsLength)\n },\n offsetBottom (): number {\n return Math.max(0, (this.itemsLength - this.stopIndex - this.startIndex) * this.rowHeight)\n },\n },\n\n watch: {\n chunkIndex (newValue, oldValue) {\n this.oldChunk = oldValue\n },\n items () {\n this.cachedItems = null\n this.$refs.table.scrollTop = 0\n },\n },\n\n created () {\n this.cachedItems = null\n },\n\n mounted () {\n this.scrollDebounce = debounce(this.onScroll, 50)\n\n this.$refs.table.addEventListener('scroll', this.scrollDebounce, { passive: true })\n },\n\n beforeDestroy () {\n this.$refs.table.removeEventListener('scroll', this.scrollDebounce)\n },\n\n methods: {\n createStyleHeight (height: number) {\n return {\n height: `${height}px`,\n }\n },\n genBody () {\n if (this.cachedItems === null || this.chunkIndex !== this.oldChunk) {\n this.cachedItems = this.genItems()\n this.oldChunk = this.chunkIndex\n }\n\n return this.$createElement('tbody', [\n this.$createElement('tr', { style: this.createStyleHeight(this.offsetTop) }),\n this.cachedItems,\n this.$createElement('tr', { style: this.createStyleHeight(this.offsetBottom) }),\n ])\n },\n genItems () {\n return this.$scopedSlots.items!({ items: this.items.slice(this.startIndex, this.stopIndex) })\n },\n onScroll (e: Event) {\n const target = e.target as Element\n this.scrollTop = target.scrollTop\n },\n genTable () {\n return this.$createElement('div', {\n ref: 'table',\n staticClass: 'k-virtual-table__table',\n }, [\n this.$createElement('table', [\n this.$slots['body.before'],\n this.genBody(),\n this.$slots['body.after'],\n ]),\n ])\n },\n genWrapper () {\n return this.$createElement('div', {\n staticClass: 'k-virtual-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.genTable(),\n ])\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-data-table k-virtual-table',\n class: this.classes,\n }, [\n getSlot(this, 'top'),\n this.genWrapper(),\n getSlot(this, 'bottom'),\n ])\n },\n})\n"],"sourceRoot":"","file":"KVirtualTable.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\src\\components\\KDatePicker\\KDatePickerHeader.sass";
1
+ import "../../../src/components/KDatePicker/KDatePickerHeader.sass";
2
2
  // Components
3
3
  import KBtn from '../KBtn';
4
4
  import KIcon from '../KIcon';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDatePicker/KDatePickerHeader.ts"],"names":[],"mappings":"AAAA,OAAO,kEAA0B;AAEjC;AACA,OAAO,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAK,MAAM,UAAU;AAE5B;AACA,OAAO,SAAS,MAAM,wBAAwB;AAC9C,OAAO,SAAS,MAAM,wBAAwB;AAC9C,OAAO,SAAS,MAAM,wBAAwB;AAE9C;AACA,SAAS,2BAA2B,EAAE,WAAW,QAAQ,QAAQ;AACjE,OAAO,MAAM,MAAM,mBAAmB;AACtC,SAAS,OAAO,QAAQ,oBAAoB;AAM5C,eAAe,MAAM,CACnB,SAAS,EACT,SAAS,EACT;AACF,sB,CACC,CAAC,MAAM,CAAC;EACP,IAAI,EAAE,sBAAsB;EAE5B,KAAK,EAAE;IACL,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,QAAqD;IAC7D,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE;MACR,IAAI,EAAE,MAAM;MACZ,OAAO,EAAE;KACV;IACD,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE;MACR,IAAI,EAAE,MAAM;MACZ,OAAO,EAAE;KACV;IACD,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE;MACL,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;MACtB,QAAQ,EAAE;IACX;GACF;EAED,IAAI,CAAA,EAAA;IACF,OAAO;MACL,WAAW,EAAE;KACd;EACH,CAAC;EAED,QAAQ,EAAE;IACR,SAAS,CAAA,EAAA;MACP,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,OAAO,IAAI,CAAC,MAAM;OACnB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3C,OAAO,2BAA2B,CAAC,IAAI,CAAC,aAAa,EAAE;UAAE,KAAK,EAAE,MAAM;UAAE,IAAI,EAAE,SAAS;UAAE,QAAQ,EAAE;QAAK,CAAE,EAAE;UAAE,MAAM,EAAE;QAAC,CAAE,CAAC;OAC3H,MAAM;QACL,OAAO,2BAA2B,CAAC,IAAI,CAAC,aAAa,EAAE;UAAE,IAAI,EAAE,SAAS;UAAE,QAAQ,EAAE;QAAK,CAAE,EAAE;UAAE,MAAM,EAAE;QAAC,CAAE,CAAC;MAC5G;IACH;GACD;EAED,KAAK,EAAE;IACL,KAAK,CAAE,MAAM,EAAE,MAAM,EAAA;MACnB,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,MAAM;IACpC;GACD;EAED,OAAO,EAAE;IACP,MAAM,CAAE,MAAc,EAAA;MACpB,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;MACxE,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,SAAS;MAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAC3B,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAI,IAClE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAI;MAErE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;QAC/B,KAAK,EAAE;UAAE,YAAY,EAAE;QAAS,CAAE;QAClC,KAAK,EAAE;UACL,IAAI,EAAE,IAAI,CAAC,IAAI;UACf,QAAQ;UACR,IAAI,EAAE,IAAI;UACV,KAAK,EAAE,IAAI,CAAC;SACb;QACD,EAAE,EAAE;UACF,KAAK,EAAG,CAAQ,IAAI;YAClB,CAAC,CAAC,eAAe,CAAA,CAAE;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;UACnD;QACD;OACF,EAAE,CACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAI,MAAM,GAAG,CAAC,KAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAClG,CAAC;IACJ,CAAC;IACD,eAAe,CAAE,IAAY,EAAA;MAC3B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;MAE/D,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,GAAG,IAAI,GAAG,IAAI,EAAE;OACxB,MAAM;QACL,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;MAC7C;IACH,CAAC;IACD,SAAS,CAAA,EAAA;MACP,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;MACxD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;QACjE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;OACvB,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QACjC,KAAK,EAAE;UACL,IAAI,EAAE;SACP;QACD,EAAE,EAAE;UACF,KAAK,EAAE,CAAA,KAAM,IAAI,CAAC,KAAK,CAAC,QAAQ;QACjC;OACF,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;QACnD,KAAK,EAAE;UACL,IAAI,EAAG,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAI,wBAAwB,GAAG;QAC9E;OACF,EAAE,CAAC,MAAM,CAAC,CAAC;MAEZ,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAChC,WAAW,EAAE,6BAA6B;QAC1C,KAAK,EAAE;UACL,uCAAuC,EAAE,IAAI,CAAC;QAC/C;OACF,EAAE,CAAC,UAAU,CAAC,CAAC;IAClB;GACD;EAED,MAAM,CAAA,EAAA;IACJ,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;MAChC,WAAW,EAAE,sBAAsB;MACnC,KAAK,EAAE;QACL,gCAAgC,EAAE,IAAI,CAAC,QAAQ;QAC/C,GAAG,IAAI,CAAC;MACT;KACF,EAAE,CACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,SAAS,CAAA,CAAE,EAChB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChB,CAAC;EACJ;CACD,CAAC","sourcesContent":["import './KDatePickerHeader.sass'\n\n// Components\nimport KBtn from '../KBtn'\nimport KIcon from '../KIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { KNode, PropType } from 'kdu'\nimport { DatePickerFormatter } from 'kdutify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @kdujs/component */\n).extend({\n name: 'k-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextAriaLabel: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevAriaLabel: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel\n const ariaLabel = ariaLabelId ? this.$kdutify.lang.t(ariaLabelId) : undefined\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(KBtn, {\n attrs: { 'aria-label': ariaLabel },\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(KIcon, ((change < 0) === !this.$kdutify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, getSlot(this) || [this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$kdutify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'k-date-picker-header__value',\n class: {\n 'k-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-date-picker-header',\n class: {\n 'k-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDatePickerHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/KDatePicker/KDatePickerHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import './KDatePickerHeader.sass'\n\n// Components\nimport KBtn from '../KBtn'\nimport KIcon from '../KIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { KNode, PropType } from 'kdu'\nimport { DatePickerFormatter } from 'kdutify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @kdujs/component */\n).extend({\n name: 'k-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextAriaLabel: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevAriaLabel: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel\n const ariaLabel = ariaLabelId ? this.$kdutify.lang.t(ariaLabelId) : undefined\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(KBtn, {\n attrs: { 'aria-label': ariaLabel },\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(KIcon, ((change < 0) === !this.$kdutify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, getSlot(this) || [this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$kdutify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'k-date-picker-header__value',\n class: {\n 'k-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-date-picker-header',\n class: {\n 'k-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDatePickerHeader.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\src\\components\\KDatePicker\\KDatePickerTitle.sass";
1
+ import "../../../src/components/KDatePicker/KDatePickerTitle.sass";
2
2
  // Components
3
3
  import KIcon from '../KIcon';
4
4
  // Mixins
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDatePicker/KDatePickerTitle.ts"],"names":[],"mappings":"AAAA,OAAO,iEAAyB;AAEhC;AACA,OAAO,KAAK,MAAM,UAAU;AAE5B;AACA,OAAO,YAAY,MAAM,4BAA4B;AAErD;AACA,OAAO,MAAM,MAAM,mBAAmB;AAKtC,eAAe,MAAM,CACnB;AACF,sB,CACC,CAAC,MAAM,CAAC;EACP,IAAI,EAAE,qBAAqB;EAE3B,KAAK,EAAE;IACL,IAAI,EAAE;MACJ,IAAI,EAAE,MAAM;MACZ,OAAO,EAAE;KACV;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,aAAa,EAAE,OAAO;IACtB,KAAK,EAAE;MACL,IAAI,EAAE;KACP;IACD,IAAI,EAAE;MACJ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;MACtB,OAAO,EAAE;KACV;IACD,QAAQ,EAAE;MACR,IAAI,EAAE;IACP;GACF;EAED,IAAI,EAAE,CAAA,MAAO;IACX,WAAW,EAAE;GACd,CAAC;EAEF,QAAQ,EAAE;IACR,kBAAkB,CAAA,EAAA;MAChB,OAAO,IAAI,CAAC,WAAW,GAAG,2BAA2B,GAAG,mBAAmB;IAC7E;GACD;EAED,KAAK,EAAE;IACL,KAAK,CAAE,GAAW,EAAE,IAAY,EAAA;MAC9B,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI;IAC/B;GACD;EAED,OAAO,EAAE;IACP,WAAW,CAAA,EAAA;MACT,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAChC,KAAK,EAAE;UACL,IAAI,EAAE;QACP;OACF,EAAE,IAAI,CAAC,QAAQ,CAAC;IACnB,CAAC;IACD,UAAU,CAAA,EAAA;MACR,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,CACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAA,CAAE,GAAG,IAAI,CAC1C,EAAE,KAAK,EAAE,2BAA2B,CAAC;IACxC,CAAC;IACD,YAAY,CAAA,EAAA;MACV,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;QACvC,KAAK,EAAE;UACL,IAAI,EAAE,IAAI,CAAC;QACZ;OACF,EAAE,CACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QACzB,QAAQ,EAAE;UAAE,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI;QAAQ,CAAE;QAC9C,GAAG,EAAE,IAAI,CAAC;OACX,CAAC,CACH,CAAC;IACJ,CAAC;IACD,YAAY,CAAA,EAAA;MACV,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY,CAAA,CAAE,CAAC,EAAE,KAAK,EAAE,2BAA2B,CAAC;IAChH;GACD;EAED,MAAM,CAAE,CAAC,EAAA;IACP,OAAO,CAAC,CAAC,KAAK,EAAE;MACd,WAAW,EAAE,qBAAqB;MAClC,KAAK,EAAE;QACL,+BAA+B,EAAE,IAAI,CAAC;MACvC;KACF,EAAE,CACD,IAAI,CAAC,UAAU,CAAA,CAAE,EACjB,IAAI,CAAC,YAAY,CAAA,CAAE,CACpB,CAAC;EACJ;CACD,CAAC","sourcesContent":["import './KDatePickerTitle.sass'\n\n// Components\nimport KIcon from '../KIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { KNode } from 'kdu'\n\nexport default mixins(\n PickerButton\n/* @kdujs/component */\n).extend({\n name: 'k-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n value: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n value (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): KNode {\n return this.$createElement(KIcon, {\n props: {\n dark: true,\n },\n }, this.yearIcon)\n },\n getYearBtn (): KNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'k-date-picker-title__year')\n },\n genTitleText (): KNode {\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [\n this.$createElement('div', {\n domProps: { innerHTML: this.date || '&nbsp;' },\n key: this.value,\n }),\n ])\n },\n genTitleDate (): KNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'k-date-picker-title__date')\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-date-picker-title',\n class: {\n 'k-date-picker-title--disabled': this.disabled,\n },\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDatePickerTitle.js"}
1
+ {"version":3,"sources":["../../../src/components/KDatePicker/KDatePickerTitle.ts"],"names":[],"mappings":"AAAA,OAAO,2DAAyB;AAEhC;AACA,OAAO,KAAK,MAAM,UAAU;AAE5B;AACA,OAAO,YAAY,MAAM,4BAA4B;AAErD;AACA,OAAO,MAAM,MAAM,mBAAmB;AAKtC,eAAe,MAAM,CACnB;AACF,sB,CACC,CAAC,MAAM,CAAC;EACP,IAAI,EAAE,qBAAqB;EAE3B,KAAK,EAAE;IACL,IAAI,EAAE;MACJ,IAAI,EAAE,MAAM;MACZ,OAAO,EAAE;KACV;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,aAAa,EAAE,OAAO;IACtB,KAAK,EAAE;MACL,IAAI,EAAE;KACP;IACD,IAAI,EAAE;MACJ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;MACtB,OAAO,EAAE;KACV;IACD,QAAQ,EAAE;MACR,IAAI,EAAE;IACP;GACF;EAED,IAAI,EAAE,CAAA,MAAO;IACX,WAAW,EAAE;GACd,CAAC;EAEF,QAAQ,EAAE;IACR,kBAAkB,CAAA,EAAA;MAChB,OAAO,IAAI,CAAC,WAAW,GAAG,2BAA2B,GAAG,mBAAmB;IAC7E;GACD;EAED,KAAK,EAAE;IACL,KAAK,CAAE,GAAW,EAAE,IAAY,EAAA;MAC9B,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI;IAC/B;GACD;EAED,OAAO,EAAE;IACP,WAAW,CAAA,EAAA;MACT,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAChC,KAAK,EAAE;UACL,IAAI,EAAE;QACP;OACF,EAAE,IAAI,CAAC,QAAQ,CAAC;IACnB,CAAC;IACD,UAAU,CAAA,EAAA;MACR,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,CACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAA,CAAE,GAAG,IAAI,CAC1C,EAAE,KAAK,EAAE,2BAA2B,CAAC;IACxC,CAAC;IACD,YAAY,CAAA,EAAA;MACV,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;QACvC,KAAK,EAAE;UACL,IAAI,EAAE,IAAI,CAAC;QACZ;OACF,EAAE,CACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QACzB,QAAQ,EAAE;UAAE,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI;QAAQ,CAAE;QAC9C,GAAG,EAAE,IAAI,CAAC;OACX,CAAC,CACH,CAAC;IACJ,CAAC;IACD,YAAY,CAAA,EAAA;MACV,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY,CAAA,CAAE,CAAC,EAAE,KAAK,EAAE,2BAA2B,CAAC;IAChH;GACD;EAED,MAAM,CAAE,CAAC,EAAA;IACP,OAAO,CAAC,CAAC,KAAK,EAAE;MACd,WAAW,EAAE,qBAAqB;MAClC,KAAK,EAAE;QACL,+BAA+B,EAAE,IAAI,CAAC;MACvC;KACF,EAAE,CACD,IAAI,CAAC,UAAU,CAAA,CAAE,EACjB,IAAI,CAAC,YAAY,CAAA,CAAE,CACpB,CAAC;EACJ;CACD,CAAC","sourcesContent":["import './KDatePickerTitle.sass'\n\n// Components\nimport KIcon from '../KIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { KNode } from 'kdu'\n\nexport default mixins(\n PickerButton\n/* @kdujs/component */\n).extend({\n name: 'k-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n value: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n value (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): KNode {\n return this.$createElement(KIcon, {\n props: {\n dark: true,\n },\n }, this.yearIcon)\n },\n getYearBtn (): KNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'k-date-picker-title__year')\n },\n genTitleText (): KNode {\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [\n this.$createElement('div', {\n domProps: { innerHTML: this.date || '&nbsp;' },\n key: this.value,\n }),\n ])\n },\n genTitleDate (): KNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'k-date-picker-title__date')\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-date-picker-title',\n class: {\n 'k-date-picker-title--disabled': this.disabled,\n },\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDatePickerTitle.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\src\\components\\KDatePicker\\KDatePickerYears.sass";
1
+ import "../../../src/components/KDatePicker/KDatePickerYears.sass";
2
2
  // Mixins
3
3
  import Colorable from '../../mixins/colorable';
4
4
  import Localable from '../../mixins/localable';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDatePicker/KDatePickerYears.ts"],"names":[],"mappings":"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","sourcesContent":["import './KDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport {\n createItemTypeNativeListeners,\n createNativeLocaleFormatter,\n} from './util'\nimport { mergeListeners } from '../../util/mergeData'\nimport mixins, { ExtractKdu } from '../../util/mixins'\n\n// Types\nimport Kdu, { KNode, PropType } from 'kdu'\nimport { DatePickerFormatter } from 'kdutify/types'\n\ninterface options extends Kdu {\n $el: HTMLElement\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractKdu<[\n typeof Colorable,\n typeof Localable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @kdujs/component */\n).extend({\n name: 'k-date-picker-years',\n\n props: {\n format: Function as PropType<DatePickerFormatter | undefined>,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n value: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): KNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.value, 10) === year\n const color = active && (this.color || 'primary')\n\n return this.$createElement('li', this.setTextColor(color, {\n key: year,\n class: { active },\n on: mergeListeners({\n click: () => this.$emit('input', year),\n }, createItemTypeNativeListeners(this, ':year', year)),\n }), formatted)\n },\n\n genYearItems (): KNode[] {\n const children = []\n const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): KNode {\n return this.$createElement('ul', {\n staticClass: 'k-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n"],"sourceRoot":"","file":"KDatePickerYears.js"}
1
+ {"version":3,"sources":["../../../src/components/KDatePicker/KDatePickerYears.ts"],"names":[],"mappings":"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","sourcesContent":["import './KDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport {\n createItemTypeNativeListeners,\n createNativeLocaleFormatter,\n} from './util'\nimport { mergeListeners } from '../../util/mergeData'\nimport mixins, { ExtractKdu } from '../../util/mixins'\n\n// Types\nimport Kdu, { KNode, PropType } from 'kdu'\nimport { DatePickerFormatter } from 'kdutify/types'\n\ninterface options extends Kdu {\n $el: HTMLElement\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractKdu<[\n typeof Colorable,\n typeof Localable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @kdujs/component */\n).extend({\n name: 'k-date-picker-years',\n\n props: {\n format: Function as PropType<DatePickerFormatter | undefined>,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n value: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): KNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.value, 10) === year\n const color = active && (this.color || 'primary')\n\n return this.$createElement('li', this.setTextColor(color, {\n key: year,\n class: { active },\n on: mergeListeners({\n click: () => this.$emit('input', year),\n }, createItemTypeNativeListeners(this, ':year', year)),\n }), formatted)\n },\n\n genYearItems (): KNode[] {\n const children = []\n const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): KNode {\n return this.$createElement('ul', {\n staticClass: 'k-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n"],"sourceRoot":"","file":"KDatePickerYears.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\..\\src\\components\\KDatePicker\\KDatePickerTable.sass";
1
+ import "../../../../src/components/KDatePicker/KDatePickerTable.sass";
2
2
  // Directives
3
3
  import Touch from '../../../directives/touch';
4
4
  // Mixins
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/KDatePicker/mixins/date-picker-table.ts"],"names":[],"mappings":"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","sourcesContent":["import '../KDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n KNodeChildren,\n} from 'kdu'\nimport { PropValidator } from 'kdu/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'kdutify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @kdujs/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropType<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$kdutify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'k-size--default': !isFloating,\n 'k-date-picker-table__current': isCurrent,\n 'k-btn--active': isSelected,\n 'k-btn--flat': !isAllowed || this.disabled,\n 'k-btn--text': isSelected === isCurrent,\n 'k-btn--rounded': isFloating,\n 'k-btn--disabled': !isAllowed || this.disabled,\n 'k-btn--outlined': isCurrent && !isSelected,\n 'k-date-picker--first-in-range': isFirst,\n 'k-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n click: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value)\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.value && Array.isArray(this.value)) {\n isFirst = value === this.value[0]\n isLast = value === this.value[this.value.length - 1]\n }\n\n return this.$createElement('button', setColor(color, {\n staticClass: 'k-btn',\n class: this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n ),\n attrs: {\n type: 'button',\n },\n domProps: {\n disabled: this.disabled || !isAllowed || isOtherMonth,\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n this.$createElement('div', {\n staticClass: 'k-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? this.$createElement('div', {\n staticClass: 'k-date-picker-table__events',\n }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: KNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = this.$createElement('transition', {\n props: { name: this.computedTransition },\n }, [this.$createElement('table', { key: this.tableDate }, children)])\n\n const touchDirective = {\n name: 'touch',\n value: {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n }\n\n return this.$createElement('div', {\n staticClass,\n class: {\n 'k-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n on: (!this.disabled && this.scrollable) ? {\n wheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : undefined,\n directives: [touchDirective],\n }, [transition])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n"],"sourceRoot":"","file":"date-picker-table.js"}
1
+ {"version":3,"sources":["../../../../src/components/KDatePicker/mixins/date-picker-table.ts"],"names":[],"mappings":"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","sourcesContent":["import '../KDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n KNodeChildren,\n} from 'kdu'\nimport { PropValidator } from 'kdu/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'kdutify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @kdujs/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropType<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$kdutify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'k-size--default': !isFloating,\n 'k-date-picker-table__current': isCurrent,\n 'k-btn--active': isSelected,\n 'k-btn--flat': !isAllowed || this.disabled,\n 'k-btn--text': isSelected === isCurrent,\n 'k-btn--rounded': isFloating,\n 'k-btn--disabled': !isAllowed || this.disabled,\n 'k-btn--outlined': isCurrent && !isSelected,\n 'k-date-picker--first-in-range': isFirst,\n 'k-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n click: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value)\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.value && Array.isArray(this.value)) {\n isFirst = value === this.value[0]\n isLast = value === this.value[this.value.length - 1]\n }\n\n return this.$createElement('button', setColor(color, {\n staticClass: 'k-btn',\n class: this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n ),\n attrs: {\n type: 'button',\n },\n domProps: {\n disabled: this.disabled || !isAllowed || isOtherMonth,\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n this.$createElement('div', {\n staticClass: 'k-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? this.$createElement('div', {\n staticClass: 'k-date-picker-table__events',\n }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: KNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = this.$createElement('transition', {\n props: { name: this.computedTransition },\n }, [this.$createElement('table', { key: this.tableDate }, children)])\n\n const touchDirective = {\n name: 'touch',\n value: {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n }\n\n return this.$createElement('div', {\n staticClass,\n class: {\n 'k-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n on: (!this.disabled && this.scrollable) ? {\n wheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : undefined,\n directives: [touchDirective],\n }, [transition])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n"],"sourceRoot":"","file":"date-picker-table.js"}
@@ -1,7 +1,7 @@
1
1
  import pad from './pad';
2
- /**
3
- * @param {String} value YYYY-MM format
4
- * @param {Number} sign -1 or +1
2
+ /**
3
+ * @param {String} value YYYY-MM format
4
+ * @param {Number} sign -1 or +1
5
5
  */
6
6
  export default (value, sign) => {
7
7
  const [year, month] = value.split('-').map(Number);
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KDialog\\KDialog.sass";
2
+ import "../../../src/components/KDialog/KDialog.sass";
3
3
  // Components
4
4
  import { KThemeProvider } from '../KThemeProvider';
5
5
  // Mixins
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDialog/KDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KDialog.sass'\n\n// Components\nimport { KThemeProvider } from '../KThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { KNode, KNodeData } from 'kdu'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @kdujs/component */\nexport default baseMixins.extend({\n name: 'k-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`k-dialog ${this.contentClass}`).trim()]: true,\n 'k-dialog--active': this.isActive,\n 'k-dialog--persistent': this.persistent,\n 'k-dialog--fullscreen': this.fullscreen,\n 'k-dialog--scrollable': this.scrollable,\n 'k-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'k-dialog__content': true,\n 'k-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(KThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: KNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-dialog__container',\n class: {\n 'k-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDialog.js"}
1
+ {"version":3,"sources":["../../../src/components/KDialog/KDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KDialog.sass'\n\n// Components\nimport { KThemeProvider } from '../KThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { KNode, KNodeData } from 'kdu'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @kdujs/component */\nexport default baseMixins.extend({\n name: 'k-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`k-dialog ${this.contentClass}`).trim()]: true,\n 'k-dialog--active': this.isActive,\n 'k-dialog--persistent': this.persistent,\n 'k-dialog--fullscreen': this.fullscreen,\n 'k-dialog--scrollable': this.scrollable,\n 'k-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'k-dialog__content': true,\n 'k-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(KThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: KNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-dialog__container',\n class: {\n 'k-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDialog.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KDivider\\KDivider.sass";
2
+ import "../../../src/components/KDivider/KDivider.sass";
3
3
  // Mixins
4
4
  import Themeable from '../../mixins/themeable';
5
5
  export default Themeable.extend({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDivider/KDivider.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,sDAAiB;AAKxB;AACA,OAAO,SAAS,MAAM,wBAAwB;AAE9C,eAAe,SAAS,CAAC,MAAM,CAAC;EAC9B,IAAI,EAAE,WAAW;EAEjB,KAAK,EAAE;IACL,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;GACX;EAED,MAAM,CAAE,CAAC,EAAA;IACP;IACA,IAAI,WAAW;IACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;MACzD,WAAW,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,YAAY;IACxD;IACD,OAAO,CAAC,CAAC,IAAI,EAAE;MACb,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI,CAAC,KAAK;QAC9B,qBAAqB,EAAE,IAAI,CAAC,QAAQ;QACpC,GAAG,IAAI,CAAC;OACT;MACD,KAAK,EAAE;QACL,IAAI,EAAE,WAAW;QACjB,kBAAkB,EAAE,WAAW;QAC/B,GAAG,IAAI,CAAC;OACT;MACD,EAAE,EAAE,IAAI,CAAC;KACV,CAAC;EACJ;CACD,CAAC","sourcesContent":["// Styles\nimport './KDivider.sass'\n\n// Types\nimport { KNode } from 'kdu'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'k-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): KNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'k-divider': true,\n 'k-divider--inset': this.inset,\n 'k-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n"],"sourceRoot":"","file":"KDivider.js"}
1
+ {"version":3,"sources":["../../../src/components/KDivider/KDivider.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,gDAAiB;AAKxB;AACA,OAAO,SAAS,MAAM,wBAAwB;AAE9C,eAAe,SAAS,CAAC,MAAM,CAAC;EAC9B,IAAI,EAAE,WAAW;EAEjB,KAAK,EAAE;IACL,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;GACX;EAED,MAAM,CAAE,CAAC,EAAA;IACP;IACA,IAAI,WAAW;IACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;MACzD,WAAW,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,YAAY;IACxD;IACD,OAAO,CAAC,CAAC,IAAI,EAAE;MACb,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI,CAAC,KAAK;QAC9B,qBAAqB,EAAE,IAAI,CAAC,QAAQ;QACpC,GAAG,IAAI,CAAC;OACT;MACD,KAAK,EAAE;QACL,IAAI,EAAE,WAAW;QACjB,kBAAkB,EAAE,WAAW;QAC/B,GAAG,IAAI,CAAC;OACT;MACD,EAAE,EAAE,IAAI,CAAC;KACV,CAAC;EACJ;CACD,CAAC","sourcesContent":["// Styles\nimport './KDivider.sass'\n\n// Types\nimport { KNode } from 'kdu'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'k-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): KNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'k-divider': true,\n 'k-divider--inset': this.inset,\n 'k-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n"],"sourceRoot":"","file":"KDivider.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KExpansionPanel\\KExpansionPanel.sass";
2
+ import "../../../src/components/KExpansionPanel/KExpansionPanel.sass";
3
3
  // Components
4
4
  import { BaseItemGroup } from '../KItemGroup/KItemGroup';
5
5
  // Utilities
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KExpansionPanel/KExpansionPanels.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,oEAAwB;AAE/B;AACA,SAAS,aAAa,QAA2B,0BAA0B;AAG3E;AACA,SAAS,QAAQ,QAAQ,oBAAoB;AAK7C;AACA,eAAe,aAAa,CAAC,MAAM,CAAC;EAClC,IAAI,EAAE,oBAAoB;EAE1B,OAAO,CAAA,EAAA;IACL,OAAO;MACL,eAAe,EAAE;KAClB;EACH,CAAC;EAED,KAAK,EAAE;IACL,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE;GACP;EAED,QAAQ,EAAE;IACR,OAAO,CAAA,EAAA;MACL,OAAO;QACL,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACpD,oBAAoB,EAAE,IAAI;QAC1B,+BAA+B,EAAE,IAAI,CAAC,SAAS;QAC/C,0BAA0B,EAAE,IAAI,CAAC,IAAI;QACrC,2BAA2B,EAAE,IAAI,CAAC,KAAK;QACvC,+BAA+B,EAAE,IAAI,CAAC,SAAS;QAC/C,2BAA2B,EAAE,IAAI,CAAC,KAAK;QACvC,4BAA4B,EAAE,IAAI,CAAC,MAAM;QACzC,0BAA0B,EAAE,IAAI,CAAC;OAClC;IACH;GACD;EAED,OAAO,CAAA,EAAA;IACL;IACA,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;MACxC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;IACrC;IAED;IACA,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IACrB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAClC;MACA,QAAQ,CAAC,8BAA8B,EAAE,iBAAiB,EAAE,IAAI,CAAC;IAClE;EACH,CAAC;EAED,OAAO,EAAE;IACP,UAAU,CAAE,IAAiD,EAAE,KAAa,EAAA;MAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;MACxC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;MAEhD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;MACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAClD;EACD;CACF,CAAC","sourcesContent":["// Styles\nimport './KExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../KItemGroup/KItemGroup'\nimport KExpansionPanel from './KExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface KExpansionPanelInstance extends InstanceType<typeof KExpansionPanel> {}\n\n/* @kdujs/component */\nexport default BaseItemGroup.extend({\n name: 'k-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'k-expansion-panels': true,\n 'k-expansion-panels--accordion': this.accordion,\n 'k-expansion-panels--flat': this.flat,\n 'k-expansion-panels--hover': this.hover,\n 'k-expansion-panels--focusable': this.focusable,\n 'k-expansion-panels--inset': this.inset,\n 'k-expansion-panels--popout': this.popout,\n 'k-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & KExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n"],"sourceRoot":"","file":"KExpansionPanels.js"}
1
+ {"version":3,"sources":["../../../src/components/KExpansionPanel/KExpansionPanels.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,8DAAwB;AAE/B;AACA,SAAS,aAAa,QAA2B,0BAA0B;AAG3E;AACA,SAAS,QAAQ,QAAQ,oBAAoB;AAK7C;AACA,eAAe,aAAa,CAAC,MAAM,CAAC;EAClC,IAAI,EAAE,oBAAoB;EAE1B,OAAO,CAAA,EAAA;IACL,OAAO;MACL,eAAe,EAAE;KAClB;EACH,CAAC;EAED,KAAK,EAAE;IACL,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE;GACP;EAED,QAAQ,EAAE;IACR,OAAO,CAAA,EAAA;MACL,OAAO;QACL,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACpD,oBAAoB,EAAE,IAAI;QAC1B,+BAA+B,EAAE,IAAI,CAAC,SAAS;QAC/C,0BAA0B,EAAE,IAAI,CAAC,IAAI;QACrC,2BAA2B,EAAE,IAAI,CAAC,KAAK;QACvC,+BAA+B,EAAE,IAAI,CAAC,SAAS;QAC/C,2BAA2B,EAAE,IAAI,CAAC,KAAK;QACvC,4BAA4B,EAAE,IAAI,CAAC,MAAM;QACzC,0BAA0B,EAAE,IAAI,CAAC;OAClC;IACH;GACD;EAED,OAAO,CAAA,EAAA;IACL;IACA,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;MACxC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;IACrC;IAED;IACA,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IACrB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAClC;MACA,QAAQ,CAAC,8BAA8B,EAAE,iBAAiB,EAAE,IAAI,CAAC;IAClE;EACH,CAAC;EAED,OAAO,EAAE;IACP,UAAU,CAAE,IAAiD,EAAE,KAAa,EAAA;MAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;MACxC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;MAEhD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;MACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAClD;EACD;CACF,CAAC","sourcesContent":["// Styles\nimport './KExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../KItemGroup/KItemGroup'\nimport KExpansionPanel from './KExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface KExpansionPanelInstance extends InstanceType<typeof KExpansionPanel> {}\n\n/* @kdujs/component */\nexport default BaseItemGroup.extend({\n name: 'k-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'k-expansion-panels': true,\n 'k-expansion-panels--accordion': this.accordion,\n 'k-expansion-panels--flat': this.flat,\n 'k-expansion-panels--hover': this.hover,\n 'k-expansion-panels--focusable': this.focusable,\n 'k-expansion-panels--inset': this.inset,\n 'k-expansion-panels--popout': this.popout,\n 'k-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & KExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n"],"sourceRoot":"","file":"KExpansionPanels.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KFileInput\\KFileInput.sass";
2
+ import "../../../src/components/KFileInput/KFileInput.sass";
3
3
  // Extensions
4
4
  import KTextField from '../KTextField';
5
5
  // Components
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KFileInput/KFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KFileInput.sass'\n\n// Extensions\nimport KTextField from '../KTextField'\n\n// Components\nimport { KChip } from '../KChip'\n\n// Types\nimport { PropValidator } from 'kdu/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default KTextField.extend({\n name: 'k-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$kdutify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$kdutify.fileInput.counter',\n },\n hideInput: Boolean,\n multiple: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...KTextField.options.computed.classes.call(this),\n 'k-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.multiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$kdutify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$kdutify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n text (): string[] {\n if (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <k-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.multiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.multiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(KChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = KTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = KTextField.options.methods.genInput.call(this)\n\n input.data!.attrs!.multiple = this.multiple\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // due to the input event not firing\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$kdutify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'k-file-input__text',\n class: {\n 'k-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'k-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = KTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: (e: MouseEvent) => {\n // Clicking the label already delegates to input element, so we shouldn't click it twice\n if (e.target && (e.target as HTMLElement).nodeName === 'LABEL') return\n\n this.$refs.input.click()\n },\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.multiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in KTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"KFileInput.js"}
1
+ {"version":3,"sources":["../../../src/components/KFileInput/KFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KFileInput.sass'\n\n// Extensions\nimport KTextField from '../KTextField'\n\n// Components\nimport { KChip } from '../KChip'\n\n// Types\nimport { PropValidator } from 'kdu/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default KTextField.extend({\n name: 'k-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$kdutify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$kdutify.fileInput.counter',\n },\n hideInput: Boolean,\n multiple: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...KTextField.options.computed.classes.call(this),\n 'k-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.multiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$kdutify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$kdutify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n text (): string[] {\n if (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <k-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.multiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.multiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(KChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = KTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = KTextField.options.methods.genInput.call(this)\n\n input.data!.attrs!.multiple = this.multiple\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // due to the input event not firing\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$kdutify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'k-file-input__text',\n class: {\n 'k-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'k-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = KTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: (e: MouseEvent) => {\n // Clicking the label already delegates to input element, so we shouldn't click it twice\n if (e.target && (e.target as HTMLElement).nodeName === 'LABEL') return\n\n this.$refs.input.click()\n },\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.multiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in KTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"KFileInput.js"}