@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha28

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 (528) hide show
  1. package/dist/vuetify.js +1185 -1041
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +1 -1
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +17 -6
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VBadge/VBadge.js +1 -0
  10. package/es5/components/VBadge/VBadge.js.map +1 -1
  11. package/es5/components/VBanner/VBanner.js +11 -12
  12. package/es5/components/VBanner/VBanner.js.map +1 -1
  13. package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  15. package/es5/components/VBtn/VBtn.js +2 -2
  16. package/es5/components/VBtn/VBtn.js.map +1 -1
  17. package/es5/components/VCalendar/VCalendar.js +27 -29
  18. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  20. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  22. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  23. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  24. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  26. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  27. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  28. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  29. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  30. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  31. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  32. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  33. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  34. package/es5/components/VCarousel/VCarousel.js +10 -9
  35. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  36. package/es5/components/VCheckbox/VCheckbox.js +31 -2
  37. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  38. package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
  39. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  40. package/es5/components/VChip/VChip.js +15 -6
  41. package/es5/components/VChip/VChip.js.map +1 -1
  42. package/es5/components/VData/VData.js +1 -0
  43. package/es5/components/VData/VData.js.map +1 -1
  44. package/es5/components/VDataIterator/VDataFooter.js +1 -0
  45. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  46. package/es5/components/VDataIterator/VDataIterator.js +1 -0
  47. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  48. package/es5/components/VDataTable/VDataTable.js +1 -6
  49. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  50. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  51. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  52. package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  53. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  54. package/es5/components/VDataTable/VEditDialog.js +19 -18
  55. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  56. package/es5/components/VDataTable/mixins/header.js +0 -6
  57. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  58. package/es5/components/VDatePicker/VDatePicker.js +13 -18
  59. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  60. package/es5/components/VDatePicker/VDatePickerHeader.js +48 -26
  61. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  62. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  63. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  64. package/es5/components/VDatePicker/VDatePickerTitle.js +4 -3
  65. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  66. package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
  67. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  68. package/es5/components/VDatePicker/mixins/date-picker-table.js +16 -13
  69. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  70. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  71. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  72. package/es5/components/VDialog/VDialog.js +1 -0
  73. package/es5/components/VDialog/VDialog.js.map +1 -1
  74. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  75. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  76. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -10
  77. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  78. package/es5/components/VFileInput/VFileInput.js +1 -0
  79. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  80. package/es5/components/VForm/VForm.js +1 -0
  81. package/es5/components/VForm/VForm.js.map +1 -1
  82. package/es5/components/VHover/VHover.js +1 -0
  83. package/es5/components/VHover/VHover.js.map +1 -1
  84. package/es5/components/VImg/VImg.js +3 -5
  85. package/es5/components/VImg/VImg.js.map +1 -1
  86. package/es5/components/VInput/VInput.js +1 -0
  87. package/es5/components/VInput/VInput.js.map +1 -1
  88. package/es5/components/VItemGroup/VItem.js +2 -1
  89. package/es5/components/VItemGroup/VItem.js.map +1 -1
  90. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  91. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  92. package/es5/components/VLazy/VLazy.js +8 -15
  93. package/es5/components/VLazy/VLazy.js.map +1 -1
  94. package/es5/components/VList/VListGroup.js +3 -11
  95. package/es5/components/VList/VListGroup.js.map +1 -1
  96. package/es5/components/VList/VListItem.js +30 -14
  97. package/es5/components/VList/VListItem.js.map +1 -1
  98. package/es5/components/VList/VListItemAction.js +23 -9
  99. package/es5/components/VList/VListItemAction.js.map +1 -1
  100. package/es5/components/VMenu/VMenu.js +2 -1
  101. package/es5/components/VMenu/VMenu.js.map +1 -1
  102. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
  103. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  104. package/es5/components/VOtpInput/VOtpInput.js +37 -5
  105. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  106. package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -0
  107. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  108. package/es5/components/VOverlay/VOverlay.js +1 -0
  109. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  110. package/es5/components/VPagination/VPagination.js +1 -3
  111. package/es5/components/VPagination/VPagination.js.map +1 -1
  112. package/es5/components/VPicker/VPicker.js +2 -3
  113. package/es5/components/VPicker/VPicker.js.map +1 -1
  114. package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
  115. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  116. package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
  117. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  118. package/es5/components/VRadioGroup/VRadio.js +1 -0
  119. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  120. package/es5/components/VSelect/VSelect.js +111 -64
  121. package/es5/components/VSelect/VSelect.js.map +1 -1
  122. package/es5/components/VSelect/VSelectList.js +28 -19
  123. package/es5/components/VSelect/VSelectList.js.map +1 -1
  124. package/es5/components/VSlideGroup/VSlideGroup.js +1 -4
  125. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  126. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  127. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  128. package/es5/components/VSlider/VSlider.js +0 -3
  129. package/es5/components/VSlider/VSlider.js.map +1 -1
  130. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  131. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  132. package/es5/components/VSparkline/VSparkline.js +48 -68
  133. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  134. package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
  135. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  136. package/es5/components/VStepper/VStepper.js +1 -0
  137. package/es5/components/VStepper/VStepper.js.map +1 -1
  138. package/es5/components/VStepper/VStepperStep.js +11 -19
  139. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  140. package/es5/components/VSwitch/VSwitch.js +1 -3
  141. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  142. package/es5/components/VTabs/VTab.js +1 -0
  143. package/es5/components/VTabs/VTab.js.map +1 -1
  144. package/es5/components/VTabs/VTabs.js +11 -4
  145. package/es5/components/VTabs/VTabs.js.map +1 -1
  146. package/es5/components/VTabs/VTabsItems.js +1 -0
  147. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  148. package/es5/components/VTextField/VTextField.js +31 -27
  149. package/es5/components/VTextField/VTextField.js.map +1 -1
  150. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  151. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  152. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  153. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  154. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  155. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  156. package/es5/components/VToolbar/VToolbar.js +1 -3
  157. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  158. package/es5/components/VTooltip/VTooltip.js +9 -6
  159. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  160. package/es5/components/VTreeview/VTreeview.js +0 -7
  161. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  162. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  163. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  164. package/es5/components/VWindow/VWindow.js +0 -3
  165. package/es5/components/VWindow/VWindow.js.map +1 -1
  166. package/es5/components/VWindow/VWindowItem.js +1 -5
  167. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  168. package/es5/framework.js +1 -1
  169. package/es5/mixins/detachable/index.js +9 -5
  170. package/es5/mixins/detachable/index.js.map +1 -1
  171. package/es5/mixins/routable/index.js +5 -2
  172. package/es5/mixins/routable/index.js.map +1 -1
  173. package/lib/components/VAlert/VAlert.js +1 -1
  174. package/lib/components/VAlert/VAlert.js.map +1 -1
  175. package/lib/components/VAppBar/VAppBar.js +17 -6
  176. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  177. package/lib/components/VBadge/VBadge.js +1 -0
  178. package/lib/components/VBadge/VBadge.js.map +1 -1
  179. package/lib/components/VBanner/VBanner.js +7 -11
  180. package/lib/components/VBanner/VBanner.js.map +1 -1
  181. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  182. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  183. package/lib/components/VBtn/VBtn.js +2 -2
  184. package/lib/components/VBtn/VBtn.js.map +1 -1
  185. package/lib/components/VCalendar/VCalendar.js +26 -31
  186. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  187. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  188. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  189. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  190. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  191. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  192. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  193. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  194. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  195. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  196. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  197. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  198. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  199. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  200. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  201. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  202. package/lib/components/VCarousel/VCarousel.js +12 -11
  203. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  204. package/lib/components/VCheckbox/VCheckbox.js +14 -1
  205. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  206. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  207. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  208. package/lib/components/VChip/VChip.js +15 -6
  209. package/lib/components/VChip/VChip.js.map +1 -1
  210. package/lib/components/VData/VData.js +1 -0
  211. package/lib/components/VData/VData.js.map +1 -1
  212. package/lib/components/VDataIterator/VDataFooter.js +1 -0
  213. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  214. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  215. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  216. package/lib/components/VDataTable/VDataTable.js +2 -7
  217. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  218. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  219. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  220. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  221. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  222. package/lib/components/VDataTable/VEditDialog.js +15 -14
  223. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  224. package/lib/components/VDataTable/mixins/header.js +0 -5
  225. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  226. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  227. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  228. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  229. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  230. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  231. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  232. package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
  233. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  234. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  235. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  236. package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
  237. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  238. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  239. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  240. package/lib/components/VDialog/VDialog.js +1 -0
  241. package/lib/components/VDialog/VDialog.js.map +1 -1
  242. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  243. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  244. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
  245. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  246. package/lib/components/VFileInput/VFileInput.js +1 -0
  247. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  248. package/lib/components/VForm/VForm.js +1 -0
  249. package/lib/components/VForm/VForm.js.map +1 -1
  250. package/lib/components/VHover/VHover.js +1 -0
  251. package/lib/components/VHover/VHover.js.map +1 -1
  252. package/lib/components/VImg/VImg.js +2 -6
  253. package/lib/components/VImg/VImg.js.map +1 -1
  254. package/lib/components/VInput/VInput.js +1 -0
  255. package/lib/components/VInput/VInput.js.map +1 -1
  256. package/lib/components/VItemGroup/VItem.js +2 -1
  257. package/lib/components/VItemGroup/VItem.js.map +1 -1
  258. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  259. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  260. package/lib/components/VLazy/VLazy.js +8 -15
  261. package/lib/components/VLazy/VLazy.js.map +1 -1
  262. package/lib/components/VList/VListGroup.js +3 -5
  263. package/lib/components/VList/VListGroup.js.map +1 -1
  264. package/lib/components/VList/VListItem.js +29 -16
  265. package/lib/components/VList/VListItem.js.map +1 -1
  266. package/lib/components/VList/VListItemAction.js +15 -9
  267. package/lib/components/VList/VListItemAction.js.map +1 -1
  268. package/lib/components/VMenu/VMenu.js +2 -1
  269. package/lib/components/VMenu/VMenu.js.map +1 -1
  270. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  271. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  272. package/lib/components/VOtpInput/VOtpInput.js +50 -6
  273. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  274. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
  275. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  276. package/lib/components/VOverlay/VOverlay.js +1 -0
  277. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  278. package/lib/components/VPagination/VPagination.js +1 -3
  279. package/lib/components/VPagination/VPagination.js.map +1 -1
  280. package/lib/components/VPicker/VPicker.js +3 -3
  281. package/lib/components/VPicker/VPicker.js.map +1 -1
  282. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  283. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  284. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  285. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  286. package/lib/components/VRadioGroup/VRadio.js +1 -0
  287. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  288. package/lib/components/VSelect/VSelect.js +64 -19
  289. package/lib/components/VSelect/VSelect.js.map +1 -1
  290. package/lib/components/VSelect/VSelectList.js +24 -20
  291. package/lib/components/VSelect/VSelectList.js.map +1 -1
  292. package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
  293. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  294. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  295. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  296. package/lib/components/VSlider/VSlider.js +0 -3
  297. package/lib/components/VSlider/VSlider.js.map +1 -1
  298. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  299. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  300. package/lib/components/VSparkline/VSparkline.js +48 -67
  301. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  302. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  303. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  304. package/lib/components/VStepper/VStepper.js +1 -0
  305. package/lib/components/VStepper/VStepper.js.map +1 -1
  306. package/lib/components/VStepper/VStepperStep.js +7 -18
  307. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  308. package/lib/components/VSwitch/VSwitch.js +1 -3
  309. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  310. package/lib/components/VTabs/VTab.js +1 -0
  311. package/lib/components/VTabs/VTab.js.map +1 -1
  312. package/lib/components/VTabs/VTabs.js +14 -4
  313. package/lib/components/VTabs/VTabs.js.map +1 -1
  314. package/lib/components/VTabs/VTabsItems.js +1 -0
  315. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  316. package/lib/components/VTextField/VTextField.js +6 -15
  317. package/lib/components/VTextField/VTextField.js.map +1 -1
  318. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  319. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  320. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  321. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  322. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  323. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  324. package/lib/components/VToolbar/VToolbar.js +1 -3
  325. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  326. package/lib/components/VTooltip/VTooltip.js +4 -5
  327. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  328. package/lib/components/VTreeview/VTreeview.js +0 -6
  329. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  330. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  331. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  332. package/lib/components/VWindow/VWindow.js +0 -3
  333. package/lib/components/VWindow/VWindow.js.map +1 -1
  334. package/lib/components/VWindow/VWindowItem.js +2 -6
  335. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  336. package/lib/framework.js +1 -1
  337. package/lib/mixins/detachable/index.js +9 -5
  338. package/lib/mixins/detachable/index.js.map +1 -1
  339. package/lib/mixins/routable/index.js +5 -2
  340. package/lib/mixins/routable/index.js.map +1 -1
  341. package/package.json +1 -1
  342. package/src/components/VAlert/VAlert.ts +2 -1
  343. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  344. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  345. package/src/components/VAppBar/VAppBar.ts +12 -3
  346. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  347. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  348. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  349. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  350. package/src/components/VBadge/VBadge.ts +1 -1
  351. package/src/components/VBanner/VBanner.ts +14 -14
  352. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  353. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  354. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  355. package/src/components/VBtn/VBtn.ts +2 -2
  356. package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
  357. package/src/components/VCalendar/VCalendar.ts +29 -27
  358. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  359. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  360. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  361. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  362. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  363. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  364. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  365. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  366. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  367. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  368. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  369. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  370. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  371. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  372. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  373. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  374. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  375. package/src/components/VCalendar/mixins/times.ts +1 -1
  376. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  377. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  378. package/src/components/VCarousel/VCarousel.ts +13 -9
  379. package/src/components/VCheckbox/VCheckbox.ts +19 -1
  380. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  381. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  382. package/src/components/VChip/VChip.ts +17 -13
  383. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  384. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  385. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  386. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
  387. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  388. package/src/components/VData/VData.ts +2 -0
  389. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  390. package/src/components/VDataIterator/VDataFooter.ts +2 -0
  391. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  392. package/src/components/VDataTable/VDataTable.ts +2 -4
  393. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  394. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  395. package/src/components/VDataTable/VEditDialog.ts +19 -17
  396. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  397. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  398. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  399. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +910 -988
  400. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +26 -22
  401. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +60 -29
  402. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  403. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  404. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +18 -10
  405. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +1 -1
  406. package/src/components/VDataTable/mixins/header.ts +0 -4
  407. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  408. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  409. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  410. package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
  411. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  412. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  413. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  414. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  415. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  416. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  417. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  418. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  419. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  420. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  421. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  422. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  423. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  424. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  425. package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
  426. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  427. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  428. package/src/components/VDialog/VDialog.ts +7 -5
  429. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  430. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  431. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  432. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
  433. package/src/components/VFileInput/VFileInput.ts +2 -0
  434. package/src/components/VForm/VForm.ts +2 -0
  435. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  436. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  437. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  438. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  439. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  440. package/src/components/VHover/VHover.ts +2 -0
  441. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  442. package/src/components/VImg/VImg.ts +2 -1
  443. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
  444. package/src/components/VInput/VInput.ts +2 -0
  445. package/src/components/VItemGroup/VItem.ts +4 -0
  446. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  447. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  448. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  449. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  450. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  451. package/src/components/VLazy/VLazy.ts +11 -13
  452. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  453. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  454. package/src/components/VList/VListGroup.ts +7 -8
  455. package/src/components/VList/VListItem.ts +38 -18
  456. package/src/components/VList/VListItemAction.ts +11 -10
  457. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  458. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  459. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  460. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  461. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  462. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  463. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  464. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  465. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  466. package/src/components/VMenu/VMenu.ts +4 -2
  467. package/src/components/VMessages/__tests__/VMessages.spec.ts +14 -13
  468. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  469. package/src/components/VOtpInput/VOtpInput.ts +39 -4
  470. package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
  471. package/src/components/VOverlay/VOverlay.ts +2 -0
  472. package/src/components/VPagination/VPagination.ts +2 -1
  473. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  474. package/src/components/VPicker/VPicker.ts +8 -10
  475. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  476. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  477. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  478. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  479. package/src/components/VRadioGroup/VRadio.ts +2 -0
  480. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  481. package/src/components/VSelect/VSelect.ts +59 -19
  482. package/src/components/VSelect/VSelectList.ts +20 -16
  483. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  484. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  485. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  486. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  487. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  488. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  489. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  490. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  491. package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
  492. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  493. package/src/components/VSlider/VSlider.ts +0 -3
  494. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  495. package/src/components/VSparkline/VSparkline.ts +54 -92
  496. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  497. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  498. package/src/components/VStepper/VStepper.ts +3 -1
  499. package/src/components/VStepper/VStepperStep.ts +8 -15
  500. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  501. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  502. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  503. package/src/components/VSwitch/VSwitch.ts +4 -5
  504. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  505. package/src/components/VTabs/VTab.ts +2 -0
  506. package/src/components/VTabs/VTabs.ts +16 -10
  507. package/src/components/VTabs/VTabsItems.ts +2 -0
  508. package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
  509. package/src/components/VTextField/VTextField.ts +9 -12
  510. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  511. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  512. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  513. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  514. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  515. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  516. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  517. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  518. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  519. package/src/components/VToolbar/VToolbar.ts +1 -1
  520. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  521. package/src/components/VTooltip/VTooltip.ts +4 -4
  522. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  523. package/src/components/VTreeview/VTreeview.ts +0 -5
  524. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  525. package/src/components/VWindow/VWindow.ts +0 -1
  526. package/src/components/VWindow/VWindowItem.ts +2 -3
  527. package/src/mixins/detachable/index.ts +11 -5
  528. package/src/mixins/routable/index.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSparkline/VSparkline.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { genPoints, genBars } from './helpers/core'\nimport { genPath } from './helpers/path'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { Prop, PropValidator } from 'vue/types/options'\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\ninterface options extends Vue {\n $refs: {\n path: SVGPathElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable\n ]>\n/* eslint-enable indent */\n>(\n Colorable\n).extend({\n name: 'VSparkline',\n\n inheritAttrs: false,\n\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000,\n },\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n autoLineWidth: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: 'primary',\n },\n fill: {\n type: Boolean,\n default: false,\n },\n gradient: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n gradientDirection: {\n type: String as Prop<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false,\n },\n type: {\n type: String as Prop<'trend' | 'bar'>,\n default: 'trend',\n validator: (val: string) => ['trend', 'bar'].includes(val),\n },\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n lastLength: 0,\n }),\n\n computed: {\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n parsedHeight (): number {\n return parseInt(this.height, 10)\n },\n parsedLabelSize (): number {\n return parseInt(this.labelSize, 10) || 7\n },\n totalHeight (): number {\n let height = this.parsedHeight\n\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5\n\n return height\n },\n totalWidth (): number {\n let width = this.parsedWidth\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width)\n\n return width\n },\n totalValues (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1)\n return (this.parsedWidth - totalPadding) / this.totalValues\n } else {\n return parseFloat(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n if (this.type === 'bar') return { minX: 0, maxX: this.totalWidth, minY: 0, maxY: this.parsedHeight }\n\n const padding = this.parsedPadding\n\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding,\n }\n },\n hasLabels (): boolean {\n return Boolean(\n this.showLabels ||\n this.labels.length > 0 ||\n this.$slots.label\n )\n },\n parsedLabels (): SparklineText[] {\n const labels = []\n const points = this._values\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = this.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n },\n normalizedValues (): number[] {\n return this.value.map(item => (typeof item === 'number' ? item : item.value))\n },\n _values (): Point[] | Bar[] {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary)\n },\n textY (): number {\n let y = this.parsedHeight\n if (this.type === 'trend') y -= 4\n return y\n },\n _radius (): number {\n return this.smooth === true ? 8 : Number(this.smooth)\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler () {\n this.$nextTick(() => {\n if (\n !this.autoDraw ||\n this.type === 'bar' ||\n !this.$refs.path\n ) return\n\n const path = this.$refs.path\n const length = path.getTotalLength()\n\n if (!this.fill) {\n path.style.transition = 'none'\n path.style.strokeDasharray = length + ' ' + length\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString()\n path.getBoundingClientRect()\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.strokeDashoffset = '0'\n } else {\n path.style.transformOrigin = 'bottom center'\n path.style.transition = 'none'\n path.style.transform = `scaleY(0)`\n path.getBoundingClientRect()\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.transform = `scaleY(1)`\n }\n this.lastLength = length\n })\n },\n },\n },\n\n methods: {\n genGradient () {\n const gradientDirection = this.gradientDirection\n const gradient = this.gradient.slice()\n\n // Pushes empty string to force\n // a fallback to currentColor\n if (!gradient.length) gradient.push('')\n\n const len = Math.max(gradient.length - 1, 1)\n const stops = gradient.reverse().map((color, index) =>\n h('stop', {\n attrs: {\n offset: index / len,\n 'stop-color': color || 'currentColor',\n },\n })\n )\n\n return h('defs', [\n h('linearGradient', {\n attrs: {\n id: this.$.uid,\n gradientUnits: 'userSpaceOnUse',\n x1: gradientDirection === 'left' ? '100%' : '0',\n y1: gradientDirection === 'top' ? '100%' : '0',\n x2: gradientDirection === 'right' ? '100%' : '0',\n y2: gradientDirection === 'bottom' ? '100%' : '0',\n },\n }, stops),\n ])\n },\n genG (children: VNode[]) {\n return h('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n } as object, // TODO: TS 3.5 is too eager with the array type here\n }, children)\n },\n genPath () {\n const points = genPoints(this.normalizedValues, this.boundary)\n\n return h('path', {\n attrs: {\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${this.$.uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this.$.uid})`,\n },\n ref: 'path',\n })\n },\n genLabels (offsetX: number) {\n const children = this.parsedLabels.map((item, i) => (\n h('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + (this.parsedLabelSize * 0.75),\n 'font-size': Number(this.labelSize) || 7,\n },\n }, [this.genLabel(item, i)])\n ))\n\n return this.genG(children)\n },\n genLabel (item: SparklineText, index: number) {\n return this.$slots.label\n ? this.$slots.label({ index, value: item.value })\n : item.value\n },\n genBars () {\n if (!this.value || this.totalValues < 2) return undefined as never\n\n const bars = genBars(this.normalizedValues, this.boundary)\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2\n\n return h('svg', {\n attrs: {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`,\n },\n }, [\n this.genGradient(),\n this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this.$.uid),\n this.hasLabels ? this.genLabels(offsetX) : undefined as never,\n h('g', {\n attrs: {\n 'clip-path': `url(#sparkline-bar-${this.$.uid}-clip)`,\n fill: `url(#${this.$.uid})`,\n },\n }, [\n h('rect', {\n attrs: {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height,\n },\n }),\n ]),\n ])\n },\n genClipPath (bars: Bar[], offsetX: number, lineWidth: number, id: string) {\n const rounding = typeof this.smooth === 'number'\n ? this.smooth\n : this.smooth ? 2 : 0\n\n return h('clipPath', {\n attrs: {\n id: `${id}-clip`,\n },\n }, bars.map(item => {\n return h('rect', {\n attrs: {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding,\n },\n }, [\n this.autoDraw ? h('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze',\n },\n }) : undefined as never,\n ])\n }))\n },\n genTrend () {\n return h('svg', this.setTextColor(this.color, {\n attrs: {\n ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`,\n },\n }), [\n this.genGradient(),\n this.hasLabels && this.genLabels(-(this._lineWidth / 2)),\n this.genPath(),\n ])\n },\n },\n\n render (): VNode {\n if (this.totalValues < 2) return undefined as never\n\n return this.type === 'trend' ? this.genTrend() : this.genBars()\n },\n})\n"],"sourceRoot":"","file":"VSparkline.js"}
1
+ {"version":3,"sources":["../../../src/components/VSparkline/VSparkline.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, defineComponent, PropType, VNode, getCurrentInstance } from 'vue'\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport { genPoints, genBars } from './helpers/core'\nimport { genPath } from './helpers/path'\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\nexport default defineComponent({\n name: 'v-sparkline',\n mixins: [Colorable],\n\n inheritAttrs: false,\n\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000,\n },\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n autoLineWidth: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: 'primary',\n },\n fill: {\n type: Boolean,\n default: false,\n },\n gradient: {\n type: Array as PropType<string[]>,\n default: () => ([]),\n },\n gradientDirection: {\n type: String as PropType<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false,\n },\n type: {\n type: String as PropType<'trend' | 'bar'>,\n default: 'trend',\n validator: (val: string) => ['trend', 'bar'].includes(val),\n },\n value: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n lastLength: 0,\n }),\n\n computed: {\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n parsedHeight (): number {\n return parseInt(this.height, 10)\n },\n parsedLabelSize (): number {\n return parseInt(this.labelSize, 10) || 7\n },\n totalHeight (): number {\n let height = this.parsedHeight\n\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5\n\n return height\n },\n totalWidth (): number {\n let width = this.parsedWidth\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width)\n\n return width\n },\n totalValues (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1)\n return (this.parsedWidth - totalPadding) / this.totalValues\n } else {\n return parseFloat(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n if (this.type === 'bar') return { minX: 0, maxX: this.totalWidth, minY: 0, maxY: this.parsedHeight }\n\n const padding = this.parsedPadding\n\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding,\n }\n },\n hasLabels (): boolean {\n return Boolean(\n this.showLabels ||\n this.labels.length > 0 ||\n this.$slots.label\n )\n },\n parsedLabels (): SparklineText[] {\n const labels = []\n const points = this._values\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = this.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n },\n normalizedValues (): number[] {\n return this.value.map(item => (typeof item === 'number' ? item : item.value))\n },\n _values (): Point[] | Bar[] {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary)\n },\n textY (): number {\n let y = this.parsedHeight\n if (this.type === 'trend') y -= 4\n return y\n },\n _radius (): number {\n return this.smooth === true ? 8 : Number(this.smooth)\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler () {\n this.$nextTick(() => {\n if (\n !this.autoDraw ||\n this.type === 'bar' ||\n !this.$refs.path\n ) return\n\n const path = this.$refs.path\n const length = path.getTotalLength()\n\n if (!this.fill) {\n path.style.transition = 'none'\n path.style.strokeDasharray = length + ' ' + length\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString()\n path.getBoundingClientRect()\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.strokeDashoffset = '0'\n } else {\n path.style.transformOrigin = 'bottom center'\n path.style.transition = 'none'\n path.style.transform = `scaleY(0)`\n path.getBoundingClientRect()\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.transform = `scaleY(1)`\n }\n this.lastLength = length\n })\n },\n },\n },\n\n methods: {\n genGradient () {\n const gradientDirection = this.gradientDirection\n const gradient = this.gradient.slice()\n\n // Pushes empty string to force\n // a fallback to currentColor\n if (!gradient.length) gradient.push('')\n\n const len = Math.max(gradient.length - 1, 1)\n const stops = gradient.reverse().map((color, index) =>\n h('stop', {\n offset: index / len,\n 'stop-color': color || 'currentColor',\n })\n )\n\n const instance = getCurrentInstance()\n return h('defs', [\n h('linearGradient', {\n id: instance?.uid,\n gradientUnits: 'userSpaceOnUse',\n x1: gradientDirection === 'left' ? '100%' : '0',\n y1: gradientDirection === 'top' ? '100%' : '0',\n x2: gradientDirection === 'right' ? '100%' : '0',\n y2: gradientDirection === 'bottom' ? '100%' : '0',\n }, stops),\n ])\n },\n genG (children: VNode[]) {\n return h('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n },\n }, children)\n },\n genPath () {\n const points = genPoints(this.normalizedValues, this.boundary)\n const instance = getCurrentInstance()\n\n return h('path', {\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${instance?.uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${instance?.uid})`,\n ref: 'path',\n })\n },\n genLabels (offsetX: number) {\n const children = this.parsedLabels.map((item, i) => (\n h('text', {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + (this.parsedLabelSize * 0.75),\n 'font-size': Number(this.labelSize) || 7,\n }, [this.genLabel(item, i)])\n ))\n\n return this.genG(children)\n },\n genLabel (item: SparklineText, index: number) {\n return this.$slots.label\n ? this.$slots.label({ index, value: item.value })\n : item.value\n },\n genBars () {\n if (!this.value || this.totalValues < 2) return undefined as never\n\n const bars = genBars(this.normalizedValues, this.boundary)\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2\n\n return h('svg', {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`,\n }, [\n this.genGradient(),\n this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + getCurrentInstance()?.uid),\n this.hasLabels ? this.genLabels(offsetX) : undefined as never,\n h('g', {\n 'clip-path': `url(#sparkline-bar-${getCurrentInstance()?.uid}-clip)`,\n fill: `url(#${getCurrentInstance()?.uid})`,\n }, [\n h('rect', {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height,\n }),\n ]),\n ])\n },\n genClipPath (bars: Bar[], offsetX: number, lineWidth: number, id: string) {\n const rounding = typeof this.smooth === 'number'\n ? this.smooth\n : this.smooth ? 2 : 0\n\n return h('clipPath', {\n id: `${id}-clip`,\n }, bars.map(item => {\n return h('rect', {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding,\n }, [\n this.autoDraw ? h('animate', {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze',\n }) : undefined as never,\n ])\n }))\n },\n genTrend () {\n return h('svg', this.setTextColor(this.color, {\n ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`,\n }), [\n this.genGradient(),\n this.hasLabels && this.genLabels(-(this._lineWidth / 2)),\n this.genPath(),\n ])\n },\n },\n\n render (): VNode {\n if (this.totalValues < 2) return undefined as never\n\n return this.type === 'trend' ? this.genTrend() : this.genBars()\n },\n})\n"],"sourceRoot":"","file":"VSparkline.js"}
@@ -1,4 +1,4 @@
1
- import { TransitionGroup, h } from 'vue'; // Styles
1
+ import { TransitionGroup, h, withDirectives } from 'vue'; // Styles
2
2
 
3
3
  import "../../../src/components/VSpeedDial/VSpeedDial.sass"; // Mixins
4
4
 
@@ -14,9 +14,7 @@ import { getSlot } from '../../util/helpers';
14
14
 
15
15
  export default mixins(Positionable, Toggleable, Transitionable).extend({
16
16
  name: 'v-speed-dial',
17
- directives: {
18
- ClickOutside
19
- },
17
+ emits: ['update:modelValue'],
20
18
  props: {
21
19
  direction: {
22
20
  type: String,
@@ -52,10 +50,6 @@ export default mixins(Positionable, Toggleable, Transitionable).extend({
52
50
  let children = [];
53
51
  const data = {
54
52
  class: this.classes,
55
- directives: [{
56
- name: 'click-outside',
57
- value: () => this.isActive = false
58
- }],
59
53
  on: {
60
54
  click: () => this.isActive = !this.isActive
61
55
  }
@@ -92,7 +86,7 @@ export default mixins(Positionable, Toggleable, Transitionable).extend({
92
86
  origin: this.origin,
93
87
  tag: 'div'
94
88
  }, children);
95
- return h('div', data, [getSlot(this, 'activator'), list]);
89
+ return withDirectives(h('div', data, [getSlot(this, 'activator'), list]), [[ClickOutside, () => this.isActive = false]]);
96
90
  }
97
91
 
98
92
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSpeedDial/VSpeedDial.ts"],"names":[],"mappings":"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","sourcesContent":["import {TransitionGroup, h} from 'vue'\n// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\nimport { Prop } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n directives: { ClickOutside },\n\n props: {\n direction: {\n type: String as Prop<'top' | 'right' | 'bottom' | 'left'>,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n directives: [{\n name: 'click-outside',\n value: () => (this.isActive = false),\n }],\n on: {\n click: () => (this.isActive = !this.isActive),\n },\n }\n\n if (this.openOnHover) {\n data.on!.mouseenter = () => (this.isActive = true)\n data.on!.mouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (getSlot(this) || []).map((b, i) => {\n if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.name === 'v-btn' || b.componentOptions.Ctor.name === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h(TransitionGroup, {\n class: 'v-speed-dial__list',\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n }, children)\n\n return h('div', data, [getSlot(this, 'activator'), list])\n },\n})\n"],"sourceRoot":"","file":"VSpeedDial.js"}
1
+ {"version":3,"sources":["../../../src/components/VSpeedDial/VSpeedDial.ts"],"names":[],"mappings":"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","sourcesContent":["import { TransitionGroup, h, VNode, VNodeData, withDirectives } from 'vue'\n// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\n\nimport { Prop } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n emits: ['update:modelValue'],\n\n props: {\n direction: {\n type: String as Prop<'top' | 'right' | 'bottom' | 'left'>,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n on: {\n click: () => (this.isActive = !this.isActive),\n },\n }\n\n if (this.openOnHover) {\n data.on!.mouseenter = () => (this.isActive = true)\n data.on!.mouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (getSlot(this) || []).map((b, i) => {\n if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.name === 'v-btn' || b.componentOptions.Ctor.name === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h(TransitionGroup, {\n class: 'v-speed-dial__list',\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n }, children)\n\n return withDirectives(h('div', data, [getSlot(this, 'activator'), list]), [\n [ClickOutside, () => (this.isActive = false)],\n ])\n },\n})\n"],"sourceRoot":"","file":"VSpeedDial.js"}
@@ -29,6 +29,7 @@ export default baseMixins.extend({
29
29
  flat: Boolean,
30
30
  vertical: Boolean
31
31
  },
32
+ emits: ['change'],
32
33
 
33
34
  data() {
34
35
  const data = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VStepper/VStepper.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType<typeof VStepperStep>\ntype VStepperContentInstance = InstanceType<typeof VStepperContent>\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n data () {\n const data: Dictionary<any> = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.value != null\n ? this.value\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-stepper', this.classes],\n style: this.styles,\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VStepper.js"}
1
+ {"version":3,"sources":["../../../src/components/VStepper/VStepper.ts"],"names":[],"mappings":"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","sourcesContent":["import { h } from 'vue'\n// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType<typeof VStepperStep>\ntype VStepperContentInstance = InstanceType<typeof VStepperContent>\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n emits: ['change'],\n\n data () {\n const data: Dictionary<any> = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.value != null\n ? this.value\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-stepper', this.classes],\n style: this.styles,\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VStepper.js"}
@@ -1,4 +1,4 @@
1
- import { h } from 'vue'; // Components
1
+ import { h, withDirectives } from 'vue'; // Components
2
2
 
3
3
  import VIcon from '../VIcon'; // Mixins
4
4
 
@@ -14,9 +14,6 @@ const baseMixins = mixins(Colorable, RegistrableInject('stepper', 'v-stepper-ste
14
14
 
15
15
  export default baseMixins.extend({
16
16
  name: 'v-stepper-step',
17
- directives: {
18
- ripple
19
- },
20
17
  inject: ['stepClick'],
21
18
  props: {
22
19
  color: {
@@ -54,6 +51,7 @@ export default baseMixins.extend({
54
51
  computed: {
55
52
  classes() {
56
53
  return {
54
+ 'v-stepper__step': true,
57
55
  'v-stepper__step--active': this.isActive,
58
56
  'v-stepper__step--editable': this.editable,
59
57
  'v-stepper__step--inactive': this.isInactive,
@@ -135,21 +133,12 @@ export default baseMixins.extend({
135
133
  },
136
134
 
137
135
  render() {
138
- return h('div', {
139
- attrs: {
140
- tabindex: this.editable ? 0 : -1
141
- },
142
- class: 'v-stepper__step',
136
+ return withDirectives(h('div', {
137
+ tabindex: this.editable ? 0 : -1,
143
138
  class: this.classes,
144
- directives: [{
145
- name: 'ripple',
146
- value: this.editable
147
- }],
148
- on: {
149
- click: this.click,
150
- keydown: this.keyboardClick
151
- }
152
- }, [this.genStep(), this.genLabel()]);
139
+ onClick: this.click,
140
+ onKeydown: this.keyboardClick
141
+ }, [this.genStep(), this.genLabel()]), [[ripple, this.editable]]);
153
142
  }
154
143
 
155
144
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VStepper/VStepperStep.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<VuetifyStepperRuleValidator[]>,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeUnmount () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return h(VIcon, icon)\n },\n genLabel () {\n return h('div', {\n class: 'v-stepper__label',\n }, getSlot(this))\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return h('span', this.setBackgroundColor(color, {\n class: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n keyboardClick (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.space) {\n this.click(e)\n }\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (): VNode {\n return h('div', {\n attrs: {\n tabindex: this.editable ? 0 : -1,\n },\n class: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: {\n click: this.click,\n keydown: this.keyboardClick,\n },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VStepperStep.js"}
1
+ {"version":3,"sources":["../../../src/components/VStepper/VStepperStep.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper-step',\n\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<VuetifyStepperRuleValidator[]>,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step': true,\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeUnmount () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return h(VIcon, icon)\n },\n genLabel () {\n return h('div', {\n class: 'v-stepper__label',\n }, getSlot(this))\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return h('span', this.setBackgroundColor(color, {\n class: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n keyboardClick (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.space) {\n this.click(e)\n }\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', {\n tabindex: this.editable ? 0 : -1,\n class: this.classes,\n onClick: this.click,\n onKeydown: this.keyboardClick,\n }, [\n this.genStep(),\n this.genLabel(),\n ]), [\n [ripple, this.editable]\n ])\n },\n})\n"],"sourceRoot":"","file":"VStepperStep.js"}
@@ -18,9 +18,6 @@ import mergeData from '../../util/mergeData';
18
18
 
19
19
  export default defineComponent({
20
20
  name: 'v-switch',
21
- directives: {
22
- Touch
23
- },
24
21
  extends: Selectable,
25
22
  props: {
26
23
  inset: Boolean,
@@ -33,6 +30,7 @@ export default defineComponent({
33
30
  default: false
34
31
  }
35
32
  },
33
+ emits: ['click', 'focus', 'blur'],
36
34
  computed: {
37
35
  classes() {
38
36
  return { ...VInput.computed.classes.call(this),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSwitch/VSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { defineComponent, VNode, VNodeData, h } from 'vue'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-switch',\n\n directives: { Touch },\n\n extends: Selectable,\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [[\n Touch,\n {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n ]],\n })),\n\n h('div', mergeData({\n class: 'v-input--switch__track' },\n this.switchData,\n )),\n h('div', mergeData({\n class: 'v-input--switch__thumb'},\n this.switchData,\n ), [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return h(VFabTransition, {}, () => [\n this.loading === false\n ? null\n : getSlot(this, 'progress') || h(VProgressCircular, {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n"],"sourceRoot":"","file":"VSwitch.js"}
1
+ {"version":3,"sources":["../../../src/components/VSwitch/VSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { defineComponent, VNode, VNodeData, h } from 'vue'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-switch',\n\n\n extends: Selectable,\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['click', 'focus', 'blur'],\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [[\n Touch,\n {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n ]],\n })),\n\n h('div', mergeData({ class: 'v-input--switch__track' },\n this.switchData,\n )),\n h('div', mergeData({ class: 'v-input--switch__thumb' },\n this.switchData,\n ), [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return h(VFabTransition, {}, () => [\n this.loading === false\n ? null\n : getSlot(this, 'progress') || h(VProgressCircular, {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n"],"sourceRoot":"","file":"VSwitch.js"}
@@ -11,6 +11,7 @@ const baseMixins = mixins(Routable, // Must be after routable
11
11
  GroupableFactory('tabsBar'), Themeable);
12
12
  export default baseMixins.extend({
13
13
  name: 'v-tab',
14
+ emits: ['change', 'click', 'keydown'],
14
15
  props: {
15
16
  ripple: {
16
17
  type: [Boolean, Object],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType<typeof VTabsBar>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n tabValue: {\n required: false,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n this.$emitLegacy('change')\n }\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n\n data = {\n ...data,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n onKeydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n }\n\n return withDirectives(\n h(tag, data, getSlot(this)),\n directives\n )\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType<typeof VTabsBar>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend({\n name: 'v-tab',\n\n emits: ['change', 'click', 'keydown'],\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n tabValue: {\n required: false,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n this.$emitLegacy('change')\n }\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n\n data = {\n ...data,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n onKeydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n }\n\n return withDirectives(\n h(tag, data, getSlot(this)),\n directives\n )\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
@@ -17,9 +17,6 @@ import mixins from '../../util/mixins';
17
17
  const baseMixins = mixins(Colorable, Proxyable, Themeable);
18
18
  export default baseMixins.extend({
19
19
  name: 'v-tabs',
20
- directives: {
21
- Resize
22
- },
23
20
  props: {
24
21
  activeClass: {
25
22
  type: String,
@@ -117,10 +114,17 @@ export default baseMixins.extend({
117
114
  vertical: 'callSlider',
118
115
  '$vuetify.application.left': 'onResize',
119
116
  '$vuetify.application.right': 'onResize',
120
- '$vuetify.rtl': 'onResize'
117
+ '$vuetify.rtl': 'onResize',
118
+
119
+ modelValue(val) {
120
+ this.validateModelValue(val);
121
+ }
122
+
121
123
  },
122
124
 
123
125
  mounted() {
126
+ this.validateModelValue(this.modelValue);
127
+
124
128
  if (typeof ResizeObserver !== 'undefined') {
125
129
  const obs = new ResizeObserver(() => {
126
130
  this.onResize();
@@ -137,6 +141,12 @@ export default baseMixins.extend({
137
141
  },
138
142
 
139
143
  methods: {
144
+ validateModelValue(val) {
145
+ if (typeof val === 'number' && val < 0) {
146
+ this.internalValue = 0;
147
+ }
148
+ },
149
+
140
150
  callSlider() {
141
151
  if (this.hideSlider || !this.$refs.items || !this.$refs.items.selectedItems.length) {
142
152
  this.slider.width = 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n modelValue: this.internalValue,\n 'onCall:slider': this.callSlider,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return h(VTabsBar, data, () => [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return h(VTabsItems, {\n modelValue: this.internalValue,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n }\n }, () => item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = h(VTabsSlider, {\n color: this.sliderColor\n })\n }\n\n return h('div', {\n class: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.type) {\n switch (vnode.type.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return withDirectives(h('div', {\n class: ['v-tabs', this.classes]\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ]), [\n [\n Resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VTabs.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend({\n name: 'v-tabs',\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n modelValue (val: any) {\n this.validateModelValue(val)\n },\n },\n\n mounted () {\n this.validateModelValue(this.modelValue)\n\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n validateModelValue (val: any) {\n if (typeof val === 'number' && val < 0) {\n this.internalValue = 0\n }\n },\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n modelValue: this.internalValue,\n 'onCall:slider': this.callSlider,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return h(VTabsBar, data, () => [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return h(VTabsItems, {\n modelValue: this.internalValue,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n },\n }, () => item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = h(VTabsSlider, {\n color: this.sliderColor,\n })\n }\n\n return h('div', {\n class: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.type) {\n switch (vnode.type.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return withDirectives(h('div', {\n class: ['v-tabs', this.classes],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ]), [\n [\n Resize,\n this.onResize,\n '',\n { quiet: true },\n ],\n ])\n },\n})\n"],"sourceRoot":"","file":"VTabs.js"}
@@ -14,6 +14,7 @@ export default defineComponent({
14
14
  default: false
15
15
  }
16
16
  },
17
+ emits: ['change'],
17
18
  computed: {
18
19
  classes() {
19
20
  return { ...VWindow.computed.classes.call(this),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTabsItems.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,eAAT,QAAgC,KAAhC;AACA,OAAO,OAAP,MAAoB,oBAApB,C,CAEA;;AACA,SAAS,aAAT,QAAiD,4BAAjD;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,cADuB;AAG7B,EAAA,OAAO,EAAE,OAHoB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,OADG;AAET,MAAA,OAAO,EAAE;AAFA;AADN,GAJsB;AAW7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAjB,CAAyB,IAAzB,CAA8B,IAA9B,CADE;AAEL,wBAAgB;AAFX,OAAP;AAID,KANO;;AAOR,IAAA,MAAM,GAAA;AACJ,aAAO,KAAK,UAAZ;AACD;;AATO,GAXmB;AAuB7B,EAAA,OAAO,EAAE;AACP,IAAA,QAAQ,CAAE,IAAF,EAA2B,CAA3B,EAAoC;AAC1C,aAAO,IAAI,CAAC,EAAL,IAAW,aAAa,CAAC,OAAd,CAAsB,QAAtB,CAA+B,IAA/B,CAAoC,IAApC,EAA0C,IAA1C,EAAgD,CAAhD,CAAlB;AACD;;AAHM;AAvBoB,CAAD,CAA9B","sourcesContent":["// Extensions\nimport { defineComponent } from 'vue'\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-tabs-items',\n\n extends: VWindow,\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.methods.getValue.call(this, item, i)\n },\n },\n})\n"],"sourceRoot":"","file":"VTabsItems.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTabsItems.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,eAAT,QAAgC,KAAhC;AACA,OAAO,OAAP,MAAoB,oBAApB,C,CAEA;;AACA,SAAS,aAAT,QAAiD,4BAAjD;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,cADuB;AAG7B,EAAA,OAAO,EAAE,OAHoB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,OADG;AAET,MAAA,OAAO,EAAE;AAFA;AADN,GAJsB;AAW7B,EAAA,KAAK,EAAE,CAAC,QAAD,CAXsB;AAa7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAjB,CAAyB,IAAzB,CAA8B,IAA9B,CADE;AAEL,wBAAgB;AAFX,OAAP;AAID,KANO;;AAOR,IAAA,MAAM,GAAA;AACJ,aAAO,KAAK,UAAZ;AACD;;AATO,GAbmB;AAyB7B,EAAA,OAAO,EAAE;AACP,IAAA,QAAQ,CAAE,IAAF,EAA2B,CAA3B,EAAoC;AAC1C,aAAO,IAAI,CAAC,EAAL,IAAW,aAAa,CAAC,OAAd,CAAsB,QAAtB,CAA+B,IAA/B,CAAoC,IAApC,EAA0C,IAA1C,EAAgD,CAAhD,CAAlB;AACD;;AAHM;AAzBoB,CAAD,CAA9B","sourcesContent":["// Extensions\nimport { defineComponent } from 'vue'\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-tabs-items',\n\n extends: VWindow,\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['change'],\n\n computed: {\n classes (): object {\n return {\n ...VWindow.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.methods.getValue.call(this, item, i)\n },\n },\n})\n"],"sourceRoot":"","file":"VTabsItems.js"}
@@ -10,8 +10,7 @@ import Intersectable from '../../mixins/intersectable';
10
10
  import Loadable from '../../mixins/loadable';
11
11
  import Validatable from '../../mixins/validatable'; // Directives
12
12
 
13
- import resize from '../../directives/resize';
14
- import ripple from '../../directives/ripple'; // Utilities
13
+ import resize from '../../directives/resize'; // Utilities
15
14
 
16
15
  import { attachedRoot } from '../../util/dom';
17
16
  import { convertToUnit, getSlot, keyCodes } from '../../util/helpers';
@@ -27,10 +26,6 @@ const dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', '
27
26
 
28
27
  export default baseMixins.extend({
29
28
  name: 'v-text-field',
30
- directives: {
31
- resize,
32
- ripple
33
- },
34
29
  props: {
35
30
  appendOuterIcon: String,
36
31
  autofocus: Boolean,
@@ -62,6 +57,7 @@ export default baseMixins.extend({
62
57
  default: 'text'
63
58
  }
64
59
  },
60
+ emits: ['update:modelValue', 'blur', 'focus', 'keydown'],
65
61
  data: () => ({
66
62
  badInput: false,
67
63
  labelWidth: 0,
@@ -191,19 +187,14 @@ export default baseMixins.extend({
191
187
  },
192
188
 
193
189
  created() {
190
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
194
191
  /* istanbul ignore next */
195
- if (this.$attrs.hasOwnProperty('box')) {
196
- breaking('box', 'filled', this);
197
- }
198
- /* istanbul ignore next */
199
-
200
192
 
201
- if (this.$attrs.hasOwnProperty('browser-autocomplete')) {
202
- breaking('browser-autocomplete', 'autocomplete', this);
203
- }
193
+ breakingProps.forEach(([original, replacement]) => {
194
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
195
+ });
204
196
  /* istanbul ignore if */
205
197
 
206
-
207
198
  if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {
208
199
  consoleWarn('shaped should be used with either filled or outlined', this);
209
200
  }