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/KColorPicker/KColorPickerCanvas.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KColorPickerCanvas.sass'\n\n// Helpers\nimport { clamp, convertToUnit } from '../../util/helpers'\nimport { fromHSVA, KColorPickerColor, fromRGBA } from './util'\n\n// Types\nimport Kdu, { KNode, PropType } from 'kdu'\n\nexport default Kdu.extend({\n name: 'k-color-picker-canvas',\n\n props: {\n color: {\n type: Object as PropType<KColorPickerColor>,\n default: () => fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data () {\n return {\n boundingRect: {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n } as ClientRect,\n }\n },\n\n computed: {\n dot (): { x: number, y: number} {\n if (!this.color) return { x: 0, y: 0 }\n\n return {\n x: this.color.hsva.s * parseInt(this.width, 10),\n y: (1 - this.color.hsva.v) * parseInt(this.height, 10),\n }\n },\n },\n\n watch: {\n 'color.hue': 'updateCanvas',\n },\n\n mounted () {\n this.updateCanvas()\n },\n\n methods: {\n emitColor (x: number, y: number) {\n const { left, top, width, height } = this.boundingRect\n\n this.$emit('update:color', fromHSVA({\n h: this.color.hue,\n s: clamp(x - left, 0, width) / width,\n v: 1 - clamp(y - top, 0, height) / height,\n a: this.color.alpha,\n }))\n },\n updateCanvas () {\n if (!this.color) return\n\n const canvas = this.$refs.canvas as HTMLCanvasElement\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${this.color.hue}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n },\n handleClick (e: MouseEvent) {\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseDown (e: MouseEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n\n window.addEventListener('mousemove', this.handleMouseMove)\n window.addEventListener('mouseup', this.handleMouseUp)\n },\n handleMouseMove (e: MouseEvent) {\n if (this.disabled) return\n\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseUp () {\n window.removeEventListener('mousemove', this.handleMouseMove)\n window.removeEventListener('mouseup', this.handleMouseUp)\n },\n genCanvas (): KNode {\n return this.$createElement('canvas', {\n ref: 'canvas',\n attrs: {\n width: this.width,\n height: this.height,\n },\n })\n },\n genDot (): KNode {\n const radius = parseInt(this.dotSize, 10) / 2\n const x = convertToUnit(this.dot.x - radius)\n const y = convertToUnit(this.dot.y - radius)\n\n return this.$createElement('div', {\n staticClass: 'k-color-picker__canvas-dot',\n class: {\n 'k-color-picker__canvas-dot--disabled': this.disabled,\n },\n style: {\n width: convertToUnit(this.dotSize),\n height: convertToUnit(this.dotSize),\n transform: `translate(${x}, ${y})`,\n },\n })\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__canvas',\n style: {\n width: convertToUnit(this.width),\n height: convertToUnit(this.height),\n },\n on: {\n click: this.handleClick,\n mousedown: this.handleMouseDown,\n },\n }, [\n this.genCanvas(),\n this.genDot(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerCanvas.js"}
1
+ {"version":3,"sources":["../../../src/components/KColorPicker/KColorPickerCanvas.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KColorPickerCanvas.sass'\n\n// Helpers\nimport { clamp, convertToUnit } from '../../util/helpers'\nimport { fromHSVA, KColorPickerColor, fromRGBA } from './util'\n\n// Types\nimport Kdu, { KNode, PropType } from 'kdu'\n\nexport default Kdu.extend({\n name: 'k-color-picker-canvas',\n\n props: {\n color: {\n type: Object as PropType<KColorPickerColor>,\n default: () => fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data () {\n return {\n boundingRect: {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n } as ClientRect,\n }\n },\n\n computed: {\n dot (): { x: number, y: number} {\n if (!this.color) return { x: 0, y: 0 }\n\n return {\n x: this.color.hsva.s * parseInt(this.width, 10),\n y: (1 - this.color.hsva.v) * parseInt(this.height, 10),\n }\n },\n },\n\n watch: {\n 'color.hue': 'updateCanvas',\n },\n\n mounted () {\n this.updateCanvas()\n },\n\n methods: {\n emitColor (x: number, y: number) {\n const { left, top, width, height } = this.boundingRect\n\n this.$emit('update:color', fromHSVA({\n h: this.color.hue,\n s: clamp(x - left, 0, width) / width,\n v: 1 - clamp(y - top, 0, height) / height,\n a: this.color.alpha,\n }))\n },\n updateCanvas () {\n if (!this.color) return\n\n const canvas = this.$refs.canvas as HTMLCanvasElement\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${this.color.hue}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n },\n handleClick (e: MouseEvent) {\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseDown (e: MouseEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n\n window.addEventListener('mousemove', this.handleMouseMove)\n window.addEventListener('mouseup', this.handleMouseUp)\n },\n handleMouseMove (e: MouseEvent) {\n if (this.disabled) return\n\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseUp () {\n window.removeEventListener('mousemove', this.handleMouseMove)\n window.removeEventListener('mouseup', this.handleMouseUp)\n },\n genCanvas (): KNode {\n return this.$createElement('canvas', {\n ref: 'canvas',\n attrs: {\n width: this.width,\n height: this.height,\n },\n })\n },\n genDot (): KNode {\n const radius = parseInt(this.dotSize, 10) / 2\n const x = convertToUnit(this.dot.x - radius)\n const y = convertToUnit(this.dot.y - radius)\n\n return this.$createElement('div', {\n staticClass: 'k-color-picker__canvas-dot',\n class: {\n 'k-color-picker__canvas-dot--disabled': this.disabled,\n },\n style: {\n width: convertToUnit(this.dotSize),\n height: convertToUnit(this.dotSize),\n transform: `translate(${x}, ${y})`,\n },\n })\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__canvas',\n style: {\n width: convertToUnit(this.width),\n height: convertToUnit(this.height),\n },\n on: {\n click: this.handleClick,\n mousedown: this.handleMouseDown,\n },\n }, [\n this.genCanvas(),\n this.genDot(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerCanvas.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KColorPicker\\KColorPickerEdit.sass";
2
+ import "../../../src/components/KColorPicker/KColorPickerEdit.sass";
3
3
  // Components
4
4
  import KBtn from '../KBtn';
5
5
  import KIcon from '../KIcon';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KColorPicker/KColorPickerEdit.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KColorPickerEdit.sass'\n\n// Components\nimport KBtn from '../KBtn'\nimport KIcon from '../KIcon'\n\n// Helpers\nimport { parseHex } from '../../util/colorUtils'\n\n// Types\nimport Kdu, { KNode, PropType } from 'kdu'\nimport { KColorPickerColor, fromRGBA, fromHexa, fromHSLA } from './util'\n\ntype Input = [string, number, string]\n\nexport type Mode = {\n inputs?: Input[]\n from: Function\n}\n\nexport const modes = {\n rgba: {\n inputs: [\n ['r', 255, 'int'],\n ['g', 255, 'int'],\n ['b', 255, 'int'],\n ['a', 1, 'float'],\n ],\n from: fromRGBA,\n },\n hsla: {\n inputs: [\n ['h', 360, 'int'],\n ['s', 1, 'float'],\n ['l', 1, 'float'],\n ['a', 1, 'float'],\n ],\n from: fromHSLA,\n },\n hexa: {\n from: fromHexa,\n },\n} as { [key: string]: Mode }\n\nexport default Kdu.extend({\n name: 'k-color-picker-edit',\n\n props: {\n color: Object as PropType<KColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n },\n\n data () {\n return {\n modes,\n internalMode: this.mode,\n }\n },\n\n computed: {\n currentMode (): Mode {\n return this.modes[this.internalMode]\n },\n },\n\n watch: {\n mode (mode) {\n this.internalMode = mode\n },\n },\n\n created () {\n this.internalMode = this.mode\n },\n\n methods: {\n getValue (v: any, type: string) {\n if (type === 'float') return Math.round(v * 100) / 100\n else if (type === 'int') return Math.round(v)\n else return 0\n },\n parseValue (v: string, type: string) {\n if (type === 'float') return parseFloat(v)\n else if (type === 'int') return parseInt(v, 10) || 0\n else return 0\n },\n changeMode () {\n const modes = Object.keys(this.modes)\n const index = modes.indexOf(this.internalMode)\n const newMode = modes[(index + 1) % modes.length]\n this.internalMode = newMode\n this.$emit('update:mode', newMode)\n },\n genInput (target: string, attrs: any, value: any, on: any): KNode {\n return this.$createElement('div', {\n staticClass: 'k-color-picker__input',\n }, [\n this.$createElement('input', {\n key: target,\n attrs,\n domProps: {\n value,\n },\n on,\n }),\n this.$createElement('span', target.toUpperCase()),\n ])\n },\n genInputs (): KNode[] | KNode {\n if (this.internalMode === 'hexa') {\n const hex = this.color.hexa\n const value = this.hideAlpha && hex.endsWith('FF') ? hex.substr(0, 7) : hex\n return this.genInput(\n 'hex',\n {\n maxlength: this.hideAlpha ? 7 : 9,\n disabled: this.disabled,\n },\n value,\n {\n change: (e: Event) => {\n const el = e.target as HTMLInputElement\n this.$emit('update:color', this.currentMode.from(parseHex(el.value)))\n },\n }\n )\n } else {\n const inputs = this.hideAlpha ? this.currentMode.inputs!.slice(0, -1) : this.currentMode.inputs!\n return inputs.map(([target, max, type]) => {\n const value = this.color[this.internalMode as keyof KColorPickerColor] as any\n return this.genInput(\n target,\n {\n type: 'number',\n min: 0,\n max,\n step: type === 'float' ? '0.01' : type === 'int' ? '1' : undefined,\n disabled: this.disabled,\n },\n this.getValue(value[target], type),\n {\n input: (e: Event) => {\n const el = e.target as HTMLInputElement\n const newVal = this.parseValue(el.value || '0', type)\n\n this.$emit('update:color', this.currentMode.from(\n Object.assign({}, value, { [target]: newVal }),\n this.color.alpha\n ))\n },\n }\n )\n })\n }\n },\n genSwitch (): KNode {\n return this.$createElement(KBtn, {\n props: {\n small: true,\n icon: true,\n disabled: this.disabled,\n },\n on: {\n click: this.changeMode,\n },\n }, [\n this.$createElement(KIcon, '$unfold'),\n ])\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__edit',\n }, [\n this.genInputs(),\n !this.hideModeSwitch && this.genSwitch(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerEdit.js"}
1
+ {"version":3,"sources":["../../../src/components/KColorPicker/KColorPickerEdit.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KColorPickerEdit.sass'\n\n// Components\nimport KBtn from '../KBtn'\nimport KIcon from '../KIcon'\n\n// Helpers\nimport { parseHex } from '../../util/colorUtils'\n\n// Types\nimport Kdu, { KNode, PropType } from 'kdu'\nimport { KColorPickerColor, fromRGBA, fromHexa, fromHSLA } from './util'\n\ntype Input = [string, number, string]\n\nexport type Mode = {\n inputs?: Input[]\n from: Function\n}\n\nexport const modes = {\n rgba: {\n inputs: [\n ['r', 255, 'int'],\n ['g', 255, 'int'],\n ['b', 255, 'int'],\n ['a', 1, 'float'],\n ],\n from: fromRGBA,\n },\n hsla: {\n inputs: [\n ['h', 360, 'int'],\n ['s', 1, 'float'],\n ['l', 1, 'float'],\n ['a', 1, 'float'],\n ],\n from: fromHSLA,\n },\n hexa: {\n from: fromHexa,\n },\n} as { [key: string]: Mode }\n\nexport default Kdu.extend({\n name: 'k-color-picker-edit',\n\n props: {\n color: Object as PropType<KColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n },\n\n data () {\n return {\n modes,\n internalMode: this.mode,\n }\n },\n\n computed: {\n currentMode (): Mode {\n return this.modes[this.internalMode]\n },\n },\n\n watch: {\n mode (mode) {\n this.internalMode = mode\n },\n },\n\n created () {\n this.internalMode = this.mode\n },\n\n methods: {\n getValue (v: any, type: string) {\n if (type === 'float') return Math.round(v * 100) / 100\n else if (type === 'int') return Math.round(v)\n else return 0\n },\n parseValue (v: string, type: string) {\n if (type === 'float') return parseFloat(v)\n else if (type === 'int') return parseInt(v, 10) || 0\n else return 0\n },\n changeMode () {\n const modes = Object.keys(this.modes)\n const index = modes.indexOf(this.internalMode)\n const newMode = modes[(index + 1) % modes.length]\n this.internalMode = newMode\n this.$emit('update:mode', newMode)\n },\n genInput (target: string, attrs: any, value: any, on: any): KNode {\n return this.$createElement('div', {\n staticClass: 'k-color-picker__input',\n }, [\n this.$createElement('input', {\n key: target,\n attrs,\n domProps: {\n value,\n },\n on,\n }),\n this.$createElement('span', target.toUpperCase()),\n ])\n },\n genInputs (): KNode[] | KNode {\n if (this.internalMode === 'hexa') {\n const hex = this.color.hexa\n const value = this.hideAlpha && hex.endsWith('FF') ? hex.substr(0, 7) : hex\n return this.genInput(\n 'hex',\n {\n maxlength: this.hideAlpha ? 7 : 9,\n disabled: this.disabled,\n },\n value,\n {\n change: (e: Event) => {\n const el = e.target as HTMLInputElement\n this.$emit('update:color', this.currentMode.from(parseHex(el.value)))\n },\n }\n )\n } else {\n const inputs = this.hideAlpha ? this.currentMode.inputs!.slice(0, -1) : this.currentMode.inputs!\n return inputs.map(([target, max, type]) => {\n const value = this.color[this.internalMode as keyof KColorPickerColor] as any\n return this.genInput(\n target,\n {\n type: 'number',\n min: 0,\n max,\n step: type === 'float' ? '0.01' : type === 'int' ? '1' : undefined,\n disabled: this.disabled,\n },\n this.getValue(value[target], type),\n {\n input: (e: Event) => {\n const el = e.target as HTMLInputElement\n const newVal = this.parseValue(el.value || '0', type)\n\n this.$emit('update:color', this.currentMode.from(\n Object.assign({}, value, { [target]: newVal }),\n this.color.alpha\n ))\n },\n }\n )\n })\n }\n },\n genSwitch (): KNode {\n return this.$createElement(KBtn, {\n props: {\n small: true,\n icon: true,\n disabled: this.disabled,\n },\n on: {\n click: this.changeMode,\n },\n }, [\n this.$createElement(KIcon, '$unfold'),\n ])\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__edit',\n }, [\n this.genInputs(),\n !this.hideModeSwitch && this.genSwitch(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerEdit.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KColorPicker\\KColorPickerPreview.sass";
2
+ import "../../../src/components/KColorPicker/KColorPickerPreview.sass";
3
3
  // Components
4
4
  import KSlider from '../KSlider/KSlider';
5
5
  // Utilities
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KColorPicker/KColorPickerPreview.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KColorPickerPreview.sass'\n\n// Components\nimport KSlider from '../KSlider/KSlider'\n\n// Utilities\nimport { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils'\n\n// Types\nimport Kdu, { KNode, KNodeData, PropType } from 'kdu'\nimport { KColorPickerColor, fromHSVA } from './util'\n\nexport default Kdu.extend({\n name: 'k-color-picker-preview',\n\n props: {\n color: Object as PropType<KColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n methods: {\n genAlpha (): KNode {\n return this.genTrack({\n staticClass: 'k-color-picker__alpha',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.alpha,\n step: 0,\n min: 0,\n max: 1,\n },\n style: {\n backgroundImage: this.disabled\n ? undefined\n : `linear-gradient(to ${this.$kdutify.rtl ? 'left' : 'right'}, transparent, ${RGBtoCSS(this.color.rgba)})`,\n },\n on: {\n input: (val: number) => this.color.alpha !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, a: val })),\n },\n })\n },\n genSliders (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-color-picker__sliders',\n }, [\n this.genHue(),\n !this.hideAlpha && this.genAlpha(),\n ])\n },\n genDot (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-color-picker__dot',\n }, [\n this.$createElement('div', {\n style: {\n background: RGBAtoCSS(this.color.rgba),\n },\n }),\n ])\n },\n genHue (): KNode {\n return this.genTrack({\n staticClass: 'k-color-picker__hue',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.hue,\n step: 0,\n min: 0,\n max: 360,\n },\n on: {\n input: (val: number) => this.color.hue !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, h: val })),\n },\n })\n },\n genTrack (options: KNodeData): KNode {\n return this.$createElement(KSlider, {\n class: 'k-color-picker__track',\n ...options,\n props: {\n disabled: this.disabled,\n ...options.props,\n },\n })\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__preview',\n class: {\n 'k-color-picker__preview--hide-alpha': this.hideAlpha,\n },\n }, [\n this.genDot(),\n this.genSliders(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerPreview.js"}
1
+ {"version":3,"sources":["../../../src/components/KColorPicker/KColorPickerPreview.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KColorPickerPreview.sass'\n\n// Components\nimport KSlider from '../KSlider/KSlider'\n\n// Utilities\nimport { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils'\n\n// Types\nimport Kdu, { KNode, KNodeData, PropType } from 'kdu'\nimport { KColorPickerColor, fromHSVA } from './util'\n\nexport default Kdu.extend({\n name: 'k-color-picker-preview',\n\n props: {\n color: Object as PropType<KColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n methods: {\n genAlpha (): KNode {\n return this.genTrack({\n staticClass: 'k-color-picker__alpha',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.alpha,\n step: 0,\n min: 0,\n max: 1,\n },\n style: {\n backgroundImage: this.disabled\n ? undefined\n : `linear-gradient(to ${this.$kdutify.rtl ? 'left' : 'right'}, transparent, ${RGBtoCSS(this.color.rgba)})`,\n },\n on: {\n input: (val: number) => this.color.alpha !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, a: val })),\n },\n })\n },\n genSliders (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-color-picker__sliders',\n }, [\n this.genHue(),\n !this.hideAlpha && this.genAlpha(),\n ])\n },\n genDot (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-color-picker__dot',\n }, [\n this.$createElement('div', {\n style: {\n background: RGBAtoCSS(this.color.rgba),\n },\n }),\n ])\n },\n genHue (): KNode {\n return this.genTrack({\n staticClass: 'k-color-picker__hue',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.hue,\n step: 0,\n min: 0,\n max: 360,\n },\n on: {\n input: (val: number) => this.color.hue !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, h: val })),\n },\n })\n },\n genTrack (options: KNodeData): KNode {\n return this.$createElement(KSlider, {\n class: 'k-color-picker__track',\n ...options,\n props: {\n disabled: this.disabled,\n ...options.props,\n },\n })\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__preview',\n class: {\n 'k-color-picker__preview--hide-alpha': this.hideAlpha,\n },\n }, [\n this.genDot(),\n this.genSliders(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerPreview.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KColorPicker\\KColorPickerSwatches.sass";
2
+ import "../../../src/components/KColorPicker/KColorPickerSwatches.sass";
3
3
  // Components
4
4
  import KIcon from '../KIcon';
5
5
  // Helpers
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KColorPicker/KColorPickerSwatches.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,sEAA6B;AAEpC;AACA,OAAO,KAAK,MAAM,UAAU;AAE5B;AACA,OAAO,MAAM,MAAM,mBAAmB;AACtC,SAA4B,OAAO,EAAE,UAAU,QAAQ,QAAQ;AAC/D,SAAS,aAAa,EAAE,SAAS,QAAQ,oBAAoB;AAC7D,OAAO,MAAM,MAAM,mBAAmB;AACtC,OAAO,SAAS,MAAM,wBAAwB;AAI9C,SAAS,aAAa,QAAQ,uBAAuB;AAErD,SAAS,kBAAkB,CAAE,MAA8C,EAAA;EACzE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAG;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;IACzB,OAAO,KAAK,CAAC,IAAI,GAAG,CAClB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,CACf,GAAG,CACF,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,WAAW,CAClB;EACH,CAAC,CAAC;AACJ;AAEA,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI;AACrC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI;AAErC,eAAe,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;EACtC,IAAI,EAAE,yBAAyB;EAE/B,KAAK,EAAE;IACL,QAAQ,EAAE;MACR,IAAI,EAAE,KAA6B;MACnC,OAAO,EAAE,CAAA,KAAM,kBAAkB,CAAC,MAAM;KACzC;IACD,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,MAAqC;IAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM;GAC3B;EAED,OAAO,EAAE;IACP,QAAQ,CAAE,KAAa,EAAA;MACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QACzC,KAAK,EAAE;UACL,UAAU,EAAE;QACb;OACF,EAAE,CACD,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAC3E,KAAK,EAAE;UACL,KAAK,EAAE,IAAI;UACX,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG;UACzE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;QACxE;OACF,EAAE,UAAU,CAAC,CACf,CAAC;MAEF,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAChC,WAAW,EAAE,uBAAuB;QACpC,EAAE,EAAE;UACF;UACA,KAAK,EAAE,CAAA,KAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,KAAK,aAAa,GAAG,WAAW,GAAG,KAAK,CAAC;QAChH;OACF,EAAE,CAAC,OAAO,CAAC,CAAC;IACf,CAAC;IACD,WAAW,CAAA,EAAA;MACT,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,IAAG;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAExC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;UAChC,WAAW,EAAE;SACd,EAAE,MAAM,CAAC;MACZ,CAAC,CAAC;IACJ;GACD;EAED,MAAM,CAAE,CAAC,EAAA;IACP,OAAO,CAAC,CAAC,KAAK,EAAE;MACd,WAAW,EAAE,0BAA0B;MACvC,KAAK,EAAE;QACL,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS;MACxC;KACF,EAAE,CACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAA,CAAE,CAAC,CAC/C,CAAC;EACJ;CACD,CAAC","sourcesContent":["// Styles\nimport './KColorPickerSwatches.sass'\n\n// Components\nimport KIcon from '../KIcon'\n\n// Helpers\nimport colors from '../../util/colors'\nimport { KColorPickerColor, fromHex, parseColor } from './util'\nimport { convertToUnit, deepEqual } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { KNode, PropType } from 'kdu'\nimport { contrastRatio } from '../../util/colorUtils'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nconst white = fromHex('#FFFFFF').rgba\nconst black = fromHex('#000000').rgba\n\nexport default mixins(Themeable).extend({\n name: 'k-color-picker-swatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<KColorPickerColor>,\n maxWidth: [Number, String],\n maxHeight: [Number, String],\n },\n\n methods: {\n genColor (color: string) {\n const content = this.$createElement('div', {\n style: {\n background: color,\n },\n }, [\n deepEqual(this.color, parseColor(color, null)) && this.$createElement(KIcon, {\n props: {\n small: true,\n dark: contrastRatio(this.color.rgba, white) > 2 && this.color.alpha > 0.5,\n light: contrastRatio(this.color.rgba, black) > 2 && this.color.alpha > 0.5,\n },\n }, '$success'),\n ])\n\n return this.$createElement('div', {\n staticClass: 'k-color-picker__color',\n on: {\n // TODO: Less hacky way of catching transparent\n click: () => this.disabled || this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color)),\n },\n }, [content])\n },\n genSwatches () {\n return this.swatches.map(swatch => {\n const colors = swatch.map(this.genColor)\n\n return this.$createElement('div', {\n staticClass: 'k-color-picker__swatch',\n }, colors)\n })\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__swatches',\n style: {\n maxWidth: convertToUnit(this.maxWidth),\n maxHeight: convertToUnit(this.maxHeight),\n },\n }, [\n this.$createElement('div', this.genSwatches()),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerSwatches.js"}
1
+ {"version":3,"sources":["../../../src/components/KColorPicker/KColorPickerSwatches.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './KColorPickerSwatches.sass'\n\n// Components\nimport KIcon from '../KIcon'\n\n// Helpers\nimport colors from '../../util/colors'\nimport { KColorPickerColor, fromHex, parseColor } from './util'\nimport { convertToUnit, deepEqual } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { KNode, PropType } from 'kdu'\nimport { contrastRatio } from '../../util/colorUtils'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nconst white = fromHex('#FFFFFF').rgba\nconst black = fromHex('#000000').rgba\n\nexport default mixins(Themeable).extend({\n name: 'k-color-picker-swatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<KColorPickerColor>,\n maxWidth: [Number, String],\n maxHeight: [Number, String],\n },\n\n methods: {\n genColor (color: string) {\n const content = this.$createElement('div', {\n style: {\n background: color,\n },\n }, [\n deepEqual(this.color, parseColor(color, null)) && this.$createElement(KIcon, {\n props: {\n small: true,\n dark: contrastRatio(this.color.rgba, white) > 2 && this.color.alpha > 0.5,\n light: contrastRatio(this.color.rgba, black) > 2 && this.color.alpha > 0.5,\n },\n }, '$success'),\n ])\n\n return this.$createElement('div', {\n staticClass: 'k-color-picker__color',\n on: {\n // TODO: Less hacky way of catching transparent\n click: () => this.disabled || this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color)),\n },\n }, [content])\n },\n genSwatches () {\n return this.swatches.map(swatch => {\n const colors = swatch.map(this.genColor)\n\n return this.$createElement('div', {\n staticClass: 'k-color-picker__swatch',\n }, colors)\n })\n },\n },\n\n render (h): KNode {\n return h('div', {\n staticClass: 'k-color-picker__swatches',\n style: {\n maxWidth: convertToUnit(this.maxWidth),\n maxHeight: convertToUnit(this.maxHeight),\n },\n }, [\n this.$createElement('div', this.genSwatches()),\n ])\n },\n})\n"],"sourceRoot":"","file":"KColorPickerSwatches.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KAutocomplete\\KAutocomplete.sass";
2
+ import "../../../src/components/KAutocomplete/KAutocomplete.sass";
3
3
  // Extensions
4
4
  import KSelect from '../KSelect/KSelect';
5
5
  import KAutocomplete from '../KAutocomplete/KAutocomplete';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KCombobox/KCombobox.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,gEAAqC;AAE5C;AACA,OAAO,OAAO,MAAM,oBAAoB;AACxC,OAAO,aAAa,MAAM,gCAAgC;AAE1D;AACA,SAAS,QAAQ,QAAQ,oBAAoB;AAK7C;AACA,eAAe,aAAa,CAAC,MAAM,CAAC;EAClC,IAAI,EAAE,YAAY;EAElB,KAAK,EAAE;IACL,UAAU,EAAE;MACV,IAAI,EAAE,KAAK;MACX,OAAO,EAAE,CAAA,KAAO;KACU;IAC5B,YAAY,EAAE;MACZ,IAAI,EAAE,OAAO;MACb,OAAO,EAAE;IACV;GACF;EAED,IAAI,EAAE,CAAA,MAAO;IACX,YAAY,EAAE,CAAC;GAChB,CAAC;EAEF,QAAQ,EAAE;IACR,oBAAoB,CAAA,EAAA;MAClB,OAAO,IAAI,CAAC,QAAQ,GAChB,IAAI,CAAC,aAAa,CAAC,MAAM,GACzB,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,QAAQ,CAAA,CAAE,CAAC,MAAM;IACnD,CAAC;IACD,OAAO,CAAA,EAAA;MACL,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ;IACrE,CAAC;IACD,iBAAiB,CAAA,EAAA;MACf,OAAO,IAAI;IACb,CAAC;IACD,WAAW,CAAA,EAAA;MACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,KAAK;MAEjC,OAAO,IAAI,CAAC,iBAAiB,IAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW;IAClD,CAAC;IACD,aAAa,CAAA,EAAA;MACX,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI;IACpC;GACD;EAED,OAAO,EAAE;IACP,uBAAuB,CAAE,GAAQ,EAAA;MAC/B,IACE,GAAG,IACH,IAAI,CAAC,QAAQ,IACb,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB;QACA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,IAAI,IAAI,EAAE;UACrB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;UACjE,IAAI,CAAC,UAAU,CAAA,CAAE;QAClB;MACF;MAED,IAAI,CAAC,oBAAoB,CAAA,CAAE;IAC7B,CAAC;IACD,QAAQ,CAAA,EAAA;MACN,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;MAE/D,OAAO,KAAK,CAAC,IAAK,CAAC,KAAM,CAAC,IAAI;MAC9B,KAAK,CAAC,IAAK,CAAC,EAAG,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO;MAEpC,OAAO,KAAK;IACd,CAAC;IACD,gBAAgB,CAAE,IAAY,EAAE,KAAa,EAAA;MAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;MAE7E;MACA,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,IAAI,CAAC,gBAAiB,CAAC,SAAU,GAAG;UAClC,GAAG,IAAI,CAAC,gBAAiB,CAAC,SAAU;UACpC,QAAQ,EAAE,CAAA,KAAK;YACb,IAAI,CAAC,YAAY,GAAG,KAAK;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;UACzB;SACD;MACF;MAED,OAAO,IAAI;IACb,CAAC;IACD,WAAW,CAAE,IAAY,EAAA;MACvB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;MAEpD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IACD;IACA;IACA,WAAW,CAAE,CAAQ,EAAA;MACnB,CAAC,CAAC,cAAc,CAAA,CAAE;MAClB;MACA,IAAI,IAAI,CAAC,YAAY,CAAA,CAAE,GAAG,CAAC,CAAC,EAAE;MAE9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;IACjC,CAAC;IACD,SAAS,CAAE,CAAgB,EAAA;MACzB,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;MAEzB,IACE,CAAC,CAAC,OAAO,IACT,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAChD;QACA,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;MAChD;MAED;MACA;MACA,IAAI,IAAI,CAAC,QAAQ,IACf,OAAO,KAAK,QAAQ,CAAC,IAAI,IACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,EACrC;QACA,IAAI,CAAC,UAAU,CAAA,CAAE;OAClB,MAAM,IAAI,OAAO,KAAK,QAAQ,CAAC,KAAK,EAAE;QACrC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;MACpB;MAED;MACA;MACA;MACA;MACA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;IACnC,CAAC;IACD,SAAS,CAAE,CAAgB,EAAA;MACzB;MACA;MACA;MACA,IAAI,IAAI,CAAC,QAAQ,IACf,IAAI,CAAC,cAAc,IACnB,IAAI,CAAC,YAAY,CAAA,CAAE,KAAK,CAAC,CAAC,EAC1B;QACA,CAAC,CAAC,cAAc,CAAA,CAAE;QAClB,CAAC,CAAC,eAAe,CAAA,CAAE;QAEnB,OAAO,IAAI,CAAC,UAAU,CAAA,CAAE;MACzB;MAED,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,UAAU,CAAE,IAAY,EAAA;MACtB;MACA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE;QAC1B,IAAI,CAAC,aAAa,CAAA,CAAE;OACrB,MAAM;QACL,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAEzD;QACA;QACA,IACE,IAAI,CAAC,cAAc,IACnB,IAAI,CAAC,QAAQ,IACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAA,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAA,CAAE,CAAC,EACxF;UACA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC3B;MACF;IACH,CAAC;IACD,gBAAgB,CAAA,EAAA;MACd,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAC5B,IAAI,CAAC,aAAa,KAAK,EAAE,EACzB;QACA,IAAI,CAAC,aAAa,GAAG,EAAE;OACxB,MAAM;QACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;MAC/E;IACH,CAAC;IACD,QAAQ,CAAE,KAAW,EAAA;MACnB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChG,CAAC;IACD,aAAa,CAAA,EAAA;MACX,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAA,CAAE;MACxC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,IAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC;MAE7C;MACA;MACA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;QACd,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,GACzC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAC/B,KAAK,CAAC,KAAK,CAAC;QAEhB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;OACjB,MAAM;QACL,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,cAAc;MAC/C;MAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;MACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;MACtB,IAAI,CAAC,cAAc,GAAG,IAAI;IAC5B,CAAC;IACD,cAAc,CAAA,EAAA;MACZ;MACA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MAEzB;MACA;MACA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAA,CAAE;MAE7E;MACA,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ;MACzE,IAAI,WAAW,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI;IAC7C,CAAC;IACD,UAAU,CAAA,EAAA;MACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAA,CAAE,GAAG,IAAI,CAAC,cAAc,CAAA,CAAE;IAC3D,CAAC;IACD,UAAU,CAAA,EAAA;MACR,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAA,CAAE;MAErC;MACA;MACA;MACA;MACA,IAAK,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IACrC,CAAC,IAAI,CAAC,cAAc,EAAE;MAE1B,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAA,CAAE;MAC5B;MAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,IAC7C,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;MAE7C;MACA;MACA,MAAM,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,QAAQ,GAC5E,MAAM,CAAC,MAAM,CAAC,CAAA,CAAE,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAC5C,IAAI,CAAC,cAAc;MAEvB;MACA;MACA;MACA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAA,CAAE;QAChD,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;MAC7B;MAED;MACA;MACA;MACA,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE,OAAQ,IAAI,CAAC,cAAc,GAAG,IAAI;MAEtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;MAE7B,IAAI,CAAC,cAAc,GAAG,IAAI;IAC5B,CAAC;IACD,OAAO,CAAE,KAAqB,EAAA;;MAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;MAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;MAE1C,MAAM,cAAc,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,0CAA0C,CAAC;MAC/F,IAAI,cAAc,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;QAC1E,KAAK,CAAC,cAAc,CAAA,CAAE;QACtB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,cAAqB,CAAC;MACrE;IACH,CAAC;IACD,iBAAiB,CAAA,EAAA;MACf,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;MAEtB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5D;EACD;CACF,CAAC","sourcesContent":["// Styles\nimport '../KAutocomplete/KAutocomplete.sass'\n\n// Extensions\nimport KSelect from '../KSelect/KSelect'\nimport KAutocomplete from '../KAutocomplete/KAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'kdu/types/options'\n\n/* @kdujs/component */\nexport default KAutocomplete.extend({\n name: 'k-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return KSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = KAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = KSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n KSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in k-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let k-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n KSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n KAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n KAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n KSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n this.$emit('paste', event)\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.kdutify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n KSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n KAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n"],"sourceRoot":"","file":"KCombobox.js"}
1
+ {"version":3,"sources":["../../../src/components/KCombobox/KCombobox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../KAutocomplete/KAutocomplete.sass'\n\n// Extensions\nimport KSelect from '../KSelect/KSelect'\nimport KAutocomplete from '../KAutocomplete/KAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'kdu/types/options'\n\n/* @kdujs/component */\nexport default KAutocomplete.extend({\n name: 'k-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return KSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = KAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = KSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n KSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in k-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let k-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n KSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n KAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n KAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n KSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n this.$emit('paste', event)\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.kdutify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n KSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n KAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n"],"sourceRoot":"","file":"KCombobox.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KCounter\\KCounter.sass";
2
+ import "../../../src/components/KCounter/KCounter.sass";
3
3
  // Mixins
4
4
  import Themeable, { functionalThemeClasses } from '../../mixins/themeable';
5
5
  import mixins from '../../util/mixins';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KCounter/KCounter.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,sDAAiB;AAExB;AACA,OAAO,SAAS,IAAI,sBAAsB,QAAQ,wBAAwB;AAI1E,OAAO,MAAM,MAAM,mBAAmB;AAEtC;AACA,eAAe,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;EACtC,IAAI,EAAE,WAAW;EAEjB,UAAU,EAAE,IAAI;EAEhB,KAAK,EAAE;IACL,KAAK,EAAE;MACL,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;MACtB,OAAO,EAAE;KACV;IACD,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM;GACrB;EAED,MAAM,CAAE,CAAC,EAAE,GAAG,EAAA;IACZ,MAAM;MAAE;IAAK,CAAE,GAAG,GAAG;IACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,GAAG,GAAG,KAAK,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/D,MAAM,SAAS,GAAG,GAAG,IAAK,KAAK,GAAG,GAAI;IAEtC,OAAO,CAAC,CAAC,KAAK,EAAE;MACd,WAAW,EAAE,WAAW;MACxB,KAAK,EAAE;QACL,aAAa,EAAE,SAAS;QACxB,GAAG,sBAAsB,CAAC,GAAG;MAC9B;KACF,EAAE,OAAO,CAAC;EACb;CACD,CAAC","sourcesContent":["// Styles\nimport './KCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { KNode } from 'kdu'\nimport mixins from '../../util/mixins'\n\n/* @kdujs/component */\nexport default mixins(Themeable).extend({\n name: 'k-counter',\n\n functional: true,\n\n props: {\n value: {\n type: [Number, String],\n default: '',\n },\n max: [Number, String],\n },\n\n render (h, ctx): KNode {\n const { props } = ctx\n const max = parseInt(props.max, 10)\n const value = parseInt(props.value, 10)\n const content = max ? `${value} / ${max}` : String(props.value)\n const isGreater = max && (value > max)\n\n return h('div', {\n staticClass: 'k-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx),\n },\n }, content)\n },\n})\n"],"sourceRoot":"","file":"KCounter.js"}
1
+ {"version":3,"sources":["../../../src/components/KCounter/KCounter.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,gDAAiB;AAExB;AACA,OAAO,SAAS,IAAI,sBAAsB,QAAQ,wBAAwB;AAI1E,OAAO,MAAM,MAAM,mBAAmB;AAEtC;AACA,eAAe,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;EACtC,IAAI,EAAE,WAAW;EAEjB,UAAU,EAAE,IAAI;EAEhB,KAAK,EAAE;IACL,KAAK,EAAE;MACL,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;MACtB,OAAO,EAAE;KACV;IACD,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM;GACrB;EAED,MAAM,CAAE,CAAC,EAAE,GAAG,EAAA;IACZ,MAAM;MAAE;IAAK,CAAE,GAAG,GAAG;IACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,GAAG,GAAG,KAAK,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/D,MAAM,SAAS,GAAG,GAAG,IAAK,KAAK,GAAG,GAAI;IAEtC,OAAO,CAAC,CAAC,KAAK,EAAE;MACd,WAAW,EAAE,WAAW;MACxB,KAAK,EAAE;QACL,aAAa,EAAE,SAAS;QACxB,GAAG,sBAAsB,CAAC,GAAG;MAC9B;KACF,EAAE,OAAO,CAAC;EACb;CACD,CAAC","sourcesContent":["// Styles\nimport './KCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { KNode } from 'kdu'\nimport mixins from '../../util/mixins'\n\n/* @kdujs/component */\nexport default mixins(Themeable).extend({\n name: 'k-counter',\n\n functional: true,\n\n props: {\n value: {\n type: [Number, String],\n default: '',\n },\n max: [Number, String],\n },\n\n render (h, ctx): KNode {\n const { props } = ctx\n const max = parseInt(props.max, 10)\n const value = parseInt(props.value, 10)\n const content = max ? `${value} / ${max}` : String(props.value)\n const isGreater = max && (value > max)\n\n return h('div', {\n staticClass: 'k-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx),\n },\n }, content)\n },\n})\n"],"sourceRoot":"","file":"KCounter.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\src\\components\\KDataIterator\\KDataFooter.sass";
1
+ import "../../../src/components/KDataIterator/KDataFooter.sass";
2
2
  // Components
3
3
  import KSelect from '../KSelect/KSelect';
4
4
  import KIcon from '../KIcon';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDataIterator/KDataFooter.ts"],"names":[],"mappings":"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","sourcesContent":["import './KDataFooter.sass'\n\n// Components\nimport KSelect from '../KSelect/KSelect'\nimport KIcon from '../KIcon'\nimport KBtn from '../KBtn'\n\n// Types\nimport Kdu, { KNode, KNodeChildrenArrayContents, PropType } from 'kdu'\nimport { DataPagination, DataOptions, DataItemsPerPageOption } from 'kdutify/types'\nimport { PropValidator } from 'kdu/types/options'\nimport { getSlot } from '../../util/helpers'\n\nexport default Kdu.extend({\n name: 'k-data-footer',\n\n props: {\n options: {\n type: Object as PropType<DataOptions>,\n required: true,\n },\n pagination: {\n type: Object as PropType<DataPagination>,\n required: true,\n },\n itemsPerPageOptions: {\n type: Array,\n default: () => ([5, 10, 15, -1]),\n } as PropValidator<DataItemsPerPageOption[]>,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$kdutify.dataFooter.itemsPerPageText',\n },\n itemsPerPageAllText: {\n type: String,\n default: '$kdutify.dataFooter.itemsPerPageAll',\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$kdutify.dataFooter.pageText',\n },\n },\n\n computed: {\n disableNextPageIcon (): boolean {\n return this.options.itemsPerPage <= 0 ||\n this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n this.pagination.pageStop < 0\n },\n computedDataItemsPerPageOptions (): any[] {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option\n else return this.genDataItemsPerPageOption(option)\n })\n },\n },\n\n methods: {\n updateOptions (obj: object) {\n this.$emit('update:options', Object.assign({}, this.options, obj))\n },\n onFirstPage () {\n this.updateOptions({ page: 1 })\n },\n onPreviousPage () {\n this.updateOptions({ page: this.options.page - 1 })\n },\n onNextPage () {\n this.updateOptions({ page: this.options.page + 1 })\n },\n onLastPage () {\n this.updateOptions({ page: this.pagination.pageCount })\n },\n onChangeItemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage, page: 1 })\n },\n genDataItemsPerPageOption (option: number) {\n return {\n text: option === -1 ? this.$kdutify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option,\n }\n },\n genItemsPerPageSelect () {\n let value = this.options.itemsPerPage\n const computedIPPO = this.computedDataItemsPerPageOptions\n\n if (computedIPPO.length <= 1) return null\n\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n return this.$createElement('div', {\n staticClass: 'k-data-footer__select',\n }, [\n this.$kdutify.lang.t(this.itemsPerPageText),\n this.$createElement(KSelect, {\n attrs: {\n 'aria-label': this.$kdutify.lang.t(this.itemsPerPageText),\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px',\n },\n on: {\n input: this.onChangeItemsPerPage,\n },\n }),\n ])\n },\n genPaginationInfo () {\n let children: KNodeChildrenArrayContents = ['–']\n const itemsLength: number = this.pagination.itemsLength\n let pageStart: number = this.pagination.pageStart\n let pageStop: number = this.pagination.pageStop\n\n if (this.pagination.itemsLength && this.pagination.itemsPerPage) {\n pageStart = this.pagination.pageStart + 1\n pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n ? itemsLength\n : this.pagination.pageStop\n\n children = this.$scopedSlots['page-text']\n ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n : [this.$kdutify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n } else if (this.$scopedSlots['page-text']) {\n children = [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n }\n\n return this.$createElement('div', {\n class: 'k-data-footer__pagination',\n }, children)\n },\n genIcon (click: Function, disabled: boolean, label: string, icon: string): KNode {\n return this.$createElement(KBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true,\n // dark: this.dark, // TODO: add mixin\n // light: this.light // TODO: add mixin\n },\n on: {\n click,\n },\n attrs: {\n 'aria-label': label, // TODO: Localization\n },\n }, [this.$createElement(KIcon, icon)])\n },\n genIcons () {\n const before: KNodeChildrenArrayContents = []\n const after: KNodeChildrenArrayContents = []\n\n before.push(this.genIcon(\n this.onPreviousPage,\n this.options.page === 1,\n this.$kdutify.lang.t('$kdutify.dataFooter.prevPage'),\n this.$kdutify.rtl ? this.nextIcon : this.prevIcon\n ))\n\n after.push(this.genIcon(\n this.onNextPage,\n this.disableNextPageIcon,\n this.$kdutify.lang.t('$kdutify.dataFooter.nextPage'),\n this.$kdutify.rtl ? this.prevIcon : this.nextIcon\n ))\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(\n this.onFirstPage,\n this.options.page === 1,\n this.$kdutify.lang.t('$kdutify.dataFooter.firstPage'),\n this.$kdutify.rtl ? this.lastIcon : this.firstIcon\n ))\n\n after.push(this.genIcon(\n this.onLastPage,\n this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n this.$kdutify.lang.t('$kdutify.dataFooter.lastPage'),\n this.$kdutify.rtl ? this.firstIcon : this.lastIcon\n ))\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'k-data-footer__icons-before',\n }, before),\n this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n this.$createElement('div', {\n staticClass: 'k-data-footer__icons-after',\n }, after),\n ]\n },\n },\n\n render (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-data-footer',\n }, [\n getSlot(this, 'prepend'),\n this.genItemsPerPageSelect(),\n this.genPaginationInfo(),\n this.genIcons(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDataFooter.js"}
1
+ {"version":3,"sources":["../../../src/components/KDataIterator/KDataFooter.ts"],"names":[],"mappings":"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","sourcesContent":["import './KDataFooter.sass'\n\n// Components\nimport KSelect from '../KSelect/KSelect'\nimport KIcon from '../KIcon'\nimport KBtn from '../KBtn'\n\n// Types\nimport Kdu, { KNode, KNodeChildrenArrayContents, PropType } from 'kdu'\nimport { DataPagination, DataOptions, DataItemsPerPageOption } from 'kdutify/types'\nimport { PropValidator } from 'kdu/types/options'\nimport { getSlot } from '../../util/helpers'\n\nexport default Kdu.extend({\n name: 'k-data-footer',\n\n props: {\n options: {\n type: Object as PropType<DataOptions>,\n required: true,\n },\n pagination: {\n type: Object as PropType<DataPagination>,\n required: true,\n },\n itemsPerPageOptions: {\n type: Array,\n default: () => ([5, 10, 15, -1]),\n } as PropValidator<DataItemsPerPageOption[]>,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$kdutify.dataFooter.itemsPerPageText',\n },\n itemsPerPageAllText: {\n type: String,\n default: '$kdutify.dataFooter.itemsPerPageAll',\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$kdutify.dataFooter.pageText',\n },\n },\n\n computed: {\n disableNextPageIcon (): boolean {\n return this.options.itemsPerPage <= 0 ||\n this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n this.pagination.pageStop < 0\n },\n computedDataItemsPerPageOptions (): any[] {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option\n else return this.genDataItemsPerPageOption(option)\n })\n },\n },\n\n methods: {\n updateOptions (obj: object) {\n this.$emit('update:options', Object.assign({}, this.options, obj))\n },\n onFirstPage () {\n this.updateOptions({ page: 1 })\n },\n onPreviousPage () {\n this.updateOptions({ page: this.options.page - 1 })\n },\n onNextPage () {\n this.updateOptions({ page: this.options.page + 1 })\n },\n onLastPage () {\n this.updateOptions({ page: this.pagination.pageCount })\n },\n onChangeItemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage, page: 1 })\n },\n genDataItemsPerPageOption (option: number) {\n return {\n text: option === -1 ? this.$kdutify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option,\n }\n },\n genItemsPerPageSelect () {\n let value = this.options.itemsPerPage\n const computedIPPO = this.computedDataItemsPerPageOptions\n\n if (computedIPPO.length <= 1) return null\n\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n return this.$createElement('div', {\n staticClass: 'k-data-footer__select',\n }, [\n this.$kdutify.lang.t(this.itemsPerPageText),\n this.$createElement(KSelect, {\n attrs: {\n 'aria-label': this.$kdutify.lang.t(this.itemsPerPageText),\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px',\n },\n on: {\n input: this.onChangeItemsPerPage,\n },\n }),\n ])\n },\n genPaginationInfo () {\n let children: KNodeChildrenArrayContents = ['–']\n const itemsLength: number = this.pagination.itemsLength\n let pageStart: number = this.pagination.pageStart\n let pageStop: number = this.pagination.pageStop\n\n if (this.pagination.itemsLength && this.pagination.itemsPerPage) {\n pageStart = this.pagination.pageStart + 1\n pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n ? itemsLength\n : this.pagination.pageStop\n\n children = this.$scopedSlots['page-text']\n ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n : [this.$kdutify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n } else if (this.$scopedSlots['page-text']) {\n children = [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n }\n\n return this.$createElement('div', {\n class: 'k-data-footer__pagination',\n }, children)\n },\n genIcon (click: Function, disabled: boolean, label: string, icon: string): KNode {\n return this.$createElement(KBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true,\n // dark: this.dark, // TODO: add mixin\n // light: this.light // TODO: add mixin\n },\n on: {\n click,\n },\n attrs: {\n 'aria-label': label, // TODO: Localization\n },\n }, [this.$createElement(KIcon, icon)])\n },\n genIcons () {\n const before: KNodeChildrenArrayContents = []\n const after: KNodeChildrenArrayContents = []\n\n before.push(this.genIcon(\n this.onPreviousPage,\n this.options.page === 1,\n this.$kdutify.lang.t('$kdutify.dataFooter.prevPage'),\n this.$kdutify.rtl ? this.nextIcon : this.prevIcon\n ))\n\n after.push(this.genIcon(\n this.onNextPage,\n this.disableNextPageIcon,\n this.$kdutify.lang.t('$kdutify.dataFooter.nextPage'),\n this.$kdutify.rtl ? this.prevIcon : this.nextIcon\n ))\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(\n this.onFirstPage,\n this.options.page === 1,\n this.$kdutify.lang.t('$kdutify.dataFooter.firstPage'),\n this.$kdutify.rtl ? this.lastIcon : this.firstIcon\n ))\n\n after.push(this.genIcon(\n this.onLastPage,\n this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n this.$kdutify.lang.t('$kdutify.dataFooter.lastPage'),\n this.$kdutify.rtl ? this.firstIcon : this.lastIcon\n ))\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'k-data-footer__icons-before',\n }, before),\n this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n this.$createElement('div', {\n staticClass: 'k-data-footer__icons-after',\n }, after),\n ]\n },\n },\n\n render (): KNode {\n return this.$createElement('div', {\n staticClass: 'k-data-footer',\n }, [\n getSlot(this, 'prepend'),\n this.genItemsPerPageSelect(),\n this.genPaginationInfo(),\n this.genIcons(),\n ])\n },\n})\n"],"sourceRoot":"","file":"KDataFooter.js"}
@@ -1,4 +1,4 @@
1
- import "..\\..\\..\\src\\components\\KDataTable\\KDataTable.sass";
1
+ import "../../../src/components/KDataTable/KDataTable.sass";
2
2
  // Components
3
3
  import { KData } from '../KData';
4
4
  import { KDataFooter, KDataIterator } from '../KDataIterator';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/KDataTable/KDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './KDataTable.sass'\n\n// Types\nimport { KNode, KNodeChildrenArrayContents, KNodeChildren } from 'kdu'\nimport { PropValidator } from 'kdu/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\n} from 'kdutify/types'\n\n// Components\nimport { KData } from '../KData'\nimport { KDataFooter, KDataIterator } from '../KDataIterator'\nimport KBtn from '../KBtn'\nimport KDataTableHeader from './KDataTableHeader'\n// import KVirtualTable from './KVirtualTable'\nimport KIcon from '../KIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport KSimpleCheckbox from '../KCheckbox/KSimpleCheckbox'\nimport KSimpleTable from './KSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Mouse from '../../mixins/mouse'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses, mergeStyles } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction,\n filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n } else {\n return items\n }\n}\n\n/* @kdujs/component */\nexport default mixins(\n KDataIterator,\n Loadable,\n Mouse,\n).extend({\n name: 'k-data-table',\n\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const data = {\n ...KDataIterator.options.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n attrs: {\n class: {\n 'k-data-table__selected': data.isSelected,\n },\n },\n on: {\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: (event: MouseEvent) => this.$emit('click:row', item, data, event),\n },\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'k-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: KNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(KDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: KNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'k-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: KNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(KBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(KIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(KBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(KIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): KNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'k-data-table__expanded k-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'k-data-table__expanded k-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): KNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(KSimpleCheckbox, {\n staticClass: 'k-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(KIcon, {\n staticClass: 'k-data-table__expand-icon',\n class: {\n 'k-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'k-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$kdutify.rtl,\n },\n scopedSlots,\n on: data.on,\n })\n },\n genBody (props: DataScopeProps): KNode | string | KNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): KNode[] | undefined {\n return this.$scopedSlots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$kdutify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: KNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(KDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): KNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(KVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(KSimpleTable, {\n props: simpleProps,\n class: {\n 'k-data-table--mobile': this.isMobile,\n 'k-data-table--selectable': this.showSelect,\n },\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: KNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): KNode {\n return this.$createElement(KData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"KDataTable.js"}
1
+ {"version":3,"sources":["../../../src/components/KDataTable/KDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './KDataTable.sass'\n\n// Types\nimport { KNode, KNodeChildrenArrayContents, KNodeChildren } from 'kdu'\nimport { PropValidator } from 'kdu/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\n} from 'kdutify/types'\n\n// Components\nimport { KData } from '../KData'\nimport { KDataFooter, KDataIterator } from '../KDataIterator'\nimport KBtn from '../KBtn'\nimport KDataTableHeader from './KDataTableHeader'\n// import KVirtualTable from './KVirtualTable'\nimport KIcon from '../KIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport KSimpleCheckbox from '../KCheckbox/KSimpleCheckbox'\nimport KSimpleTable from './KSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Mouse from '../../mixins/mouse'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses, mergeStyles } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction,\n filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n } else {\n return items\n }\n}\n\n/* @kdujs/component */\nexport default mixins(\n KDataIterator,\n Loadable,\n Mouse,\n).extend({\n name: 'k-data-table',\n\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const data = {\n ...KDataIterator.options.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n attrs: {\n class: {\n 'k-data-table__selected': data.isSelected,\n },\n },\n on: {\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: (event: MouseEvent) => this.$emit('click:row', item, data, event),\n },\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'k-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: KNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(KDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: KNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'k-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: KNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(KBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(KIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(KBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(KIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): KNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'k-data-table__expanded k-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'k-data-table__expanded k-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): KNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(KSimpleCheckbox, {\n staticClass: 'k-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(KIcon, {\n staticClass: 'k-data-table__expand-icon',\n class: {\n 'k-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'k-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$kdutify.rtl,\n },\n scopedSlots,\n on: data.on,\n })\n },\n genBody (props: DataScopeProps): KNode | string | KNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): KNode[] | undefined {\n return this.$scopedSlots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$kdutify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: KNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(KDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): KNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(KVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(KSimpleTable, {\n props: simpleProps,\n class: {\n 'k-data-table--mobile': this.isMobile,\n 'k-data-table--selectable': this.showSelect,\n },\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: KNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): KNode {\n return this.$createElement(KData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"KDataTable.js"}
@@ -1,5 +1,5 @@
1
1
  // Styles
2
- import "..\\..\\..\\src\\components\\KDataTable\\KDataTableHeader.sass";
2
+ import "../../../src/components/KDataTable/KDataTableHeader.sass";
3
3
  // Components
4
4
  import KDataTableHeaderMobile from './KDataTableHeaderMobile';
5
5
  import KDataTableHeaderDesktop from './KDataTableHeaderDesktop';