@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha27

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 (444) hide show
  1. package/dist/vuetify.js +1109 -1021
  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 -0
  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 +14 -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 +26 -12
  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 +1 -0
  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 +1 -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 +13 -17
  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 +6 -3
  159. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  160. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  161. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  162. package/es5/components/VWindow/VWindow.js +0 -3
  163. package/es5/components/VWindow/VWindow.js.map +1 -1
  164. package/es5/components/VWindow/VWindowItem.js +1 -5
  165. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  166. package/es5/framework.js +1 -1
  167. package/es5/mixins/detachable/index.js +9 -5
  168. package/es5/mixins/detachable/index.js.map +1 -1
  169. package/lib/components/VAlert/VAlert.js +1 -0
  170. package/lib/components/VAlert/VAlert.js.map +1 -1
  171. package/lib/components/VAppBar/VAppBar.js +17 -6
  172. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  173. package/lib/components/VBadge/VBadge.js +1 -0
  174. package/lib/components/VBadge/VBadge.js.map +1 -1
  175. package/lib/components/VBanner/VBanner.js +7 -11
  176. package/lib/components/VBanner/VBanner.js.map +1 -1
  177. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  178. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  179. package/lib/components/VBtn/VBtn.js +2 -2
  180. package/lib/components/VBtn/VBtn.js.map +1 -1
  181. package/lib/components/VCalendar/VCalendar.js +26 -31
  182. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  183. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  184. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  185. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  186. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  187. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  188. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  189. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  190. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  191. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  192. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  193. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  194. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  195. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  196. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  197. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  198. package/lib/components/VCarousel/VCarousel.js +12 -11
  199. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  200. package/lib/components/VCheckbox/VCheckbox.js +14 -1
  201. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  202. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  203. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  204. package/lib/components/VChip/VChip.js +14 -6
  205. package/lib/components/VChip/VChip.js.map +1 -1
  206. package/lib/components/VData/VData.js +1 -0
  207. package/lib/components/VData/VData.js.map +1 -1
  208. package/lib/components/VDataIterator/VDataFooter.js +1 -0
  209. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  210. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  211. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  212. package/lib/components/VDataTable/VDataTable.js +2 -7
  213. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  214. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  215. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  216. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  217. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  218. package/lib/components/VDataTable/VEditDialog.js +15 -14
  219. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  220. package/lib/components/VDataTable/mixins/header.js +0 -5
  221. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  222. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  223. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  224. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  225. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  226. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  227. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  228. package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
  229. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  230. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  231. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  232. package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
  233. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  234. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  235. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  236. package/lib/components/VDialog/VDialog.js +1 -0
  237. package/lib/components/VDialog/VDialog.js.map +1 -1
  238. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  239. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  240. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
  241. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  242. package/lib/components/VFileInput/VFileInput.js +1 -0
  243. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  244. package/lib/components/VForm/VForm.js +1 -0
  245. package/lib/components/VForm/VForm.js.map +1 -1
  246. package/lib/components/VHover/VHover.js +1 -0
  247. package/lib/components/VHover/VHover.js.map +1 -1
  248. package/lib/components/VImg/VImg.js +2 -6
  249. package/lib/components/VImg/VImg.js.map +1 -1
  250. package/lib/components/VInput/VInput.js +1 -0
  251. package/lib/components/VInput/VInput.js.map +1 -1
  252. package/lib/components/VItemGroup/VItem.js +2 -1
  253. package/lib/components/VItemGroup/VItem.js.map +1 -1
  254. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  255. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  256. package/lib/components/VLazy/VLazy.js +8 -15
  257. package/lib/components/VLazy/VLazy.js.map +1 -1
  258. package/lib/components/VList/VListGroup.js +3 -5
  259. package/lib/components/VList/VListGroup.js.map +1 -1
  260. package/lib/components/VList/VListItem.js +25 -14
  261. package/lib/components/VList/VListItem.js.map +1 -1
  262. package/lib/components/VList/VListItemAction.js +15 -9
  263. package/lib/components/VList/VListItemAction.js.map +1 -1
  264. package/lib/components/VMenu/VMenu.js +1 -0
  265. package/lib/components/VMenu/VMenu.js.map +1 -1
  266. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  267. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  268. package/lib/components/VOtpInput/VOtpInput.js +2 -6
  269. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  270. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
  271. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  272. package/lib/components/VOverlay/VOverlay.js +1 -0
  273. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  274. package/lib/components/VPagination/VPagination.js +1 -3
  275. package/lib/components/VPagination/VPagination.js.map +1 -1
  276. package/lib/components/VPicker/VPicker.js +3 -3
  277. package/lib/components/VPicker/VPicker.js.map +1 -1
  278. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  279. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  280. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  281. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  282. package/lib/components/VRadioGroup/VRadio.js +1 -0
  283. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  284. package/lib/components/VSelect/VSelect.js +64 -19
  285. package/lib/components/VSelect/VSelect.js.map +1 -1
  286. package/lib/components/VSelect/VSelectList.js +13 -15
  287. package/lib/components/VSelect/VSelectList.js.map +1 -1
  288. package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
  289. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  291. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  292. package/lib/components/VSlider/VSlider.js +0 -3
  293. package/lib/components/VSlider/VSlider.js.map +1 -1
  294. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  295. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  296. package/lib/components/VSparkline/VSparkline.js +48 -67
  297. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  298. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  299. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  300. package/lib/components/VStepper/VStepper.js +1 -0
  301. package/lib/components/VStepper/VStepper.js.map +1 -1
  302. package/lib/components/VStepper/VStepperStep.js +7 -18
  303. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  304. package/lib/components/VSwitch/VSwitch.js +1 -3
  305. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  306. package/lib/components/VTabs/VTab.js +1 -0
  307. package/lib/components/VTabs/VTab.js.map +1 -1
  308. package/lib/components/VTabs/VTabs.js +14 -4
  309. package/lib/components/VTabs/VTabs.js.map +1 -1
  310. package/lib/components/VTabs/VTabsItems.js +1 -0
  311. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  312. package/lib/components/VTextField/VTextField.js +6 -15
  313. package/lib/components/VTextField/VTextField.js.map +1 -1
  314. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  315. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  316. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  317. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  318. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  319. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  320. package/lib/components/VToolbar/VToolbar.js +1 -3
  321. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  322. package/lib/components/VTooltip/VTooltip.js +1 -2
  323. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  324. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  325. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  326. package/lib/components/VWindow/VWindow.js +0 -3
  327. package/lib/components/VWindow/VWindow.js.map +1 -1
  328. package/lib/components/VWindow/VWindowItem.js +2 -6
  329. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  330. package/lib/framework.js +1 -1
  331. package/lib/mixins/detachable/index.js +9 -5
  332. package/lib/mixins/detachable/index.js.map +1 -1
  333. package/package.json +1 -1
  334. package/src/components/VAlert/VAlert.ts +2 -0
  335. package/src/components/VAppBar/VAppBar.ts +12 -3
  336. package/src/components/VBadge/VBadge.ts +1 -1
  337. package/src/components/VBanner/VBanner.ts +14 -14
  338. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  339. package/src/components/VBtn/VBtn.ts +2 -2
  340. package/src/components/VCalendar/VCalendar.ts +29 -27
  341. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  342. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  343. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  344. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  345. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  346. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  347. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  348. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  349. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  350. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  351. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  352. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  353. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  354. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  355. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  356. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  357. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  358. package/src/components/VCalendar/mixins/times.ts +1 -1
  359. package/src/components/VCarousel/VCarousel.ts +13 -9
  360. package/src/components/VCheckbox/VCheckbox.ts +19 -1
  361. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  362. package/src/components/VChip/VChip.ts +16 -13
  363. package/src/components/VData/VData.ts +2 -0
  364. package/src/components/VDataIterator/VDataFooter.ts +2 -0
  365. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  366. package/src/components/VDataTable/VDataTable.ts +2 -4
  367. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  368. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  369. package/src/components/VDataTable/VEditDialog.ts +19 -17
  370. package/src/components/VDataTable/mixins/header.ts +0 -4
  371. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  372. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  373. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  374. package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
  375. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  376. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  377. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  378. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  379. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  380. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  381. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  382. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  383. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  384. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  385. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  386. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  387. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  388. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  389. package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
  390. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  391. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  392. package/src/components/VDialog/VDialog.ts +7 -5
  393. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  394. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
  395. package/src/components/VFileInput/VFileInput.ts +2 -0
  396. package/src/components/VForm/VForm.ts +2 -0
  397. package/src/components/VHover/VHover.ts +2 -0
  398. package/src/components/VImg/VImg.ts +2 -1
  399. package/src/components/VInput/VInput.ts +2 -0
  400. package/src/components/VItemGroup/VItem.ts +4 -0
  401. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  402. package/src/components/VLazy/VLazy.ts +11 -13
  403. package/src/components/VList/VListGroup.ts +7 -8
  404. package/src/components/VList/VListItem.ts +29 -15
  405. package/src/components/VList/VListItemAction.ts +11 -10
  406. package/src/components/VMenu/VMenu.ts +3 -1
  407. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  408. package/src/components/VOtpInput/VOtpInput.ts +2 -3
  409. package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
  410. package/src/components/VOverlay/VOverlay.ts +2 -0
  411. package/src/components/VPagination/VPagination.ts +2 -1
  412. package/src/components/VPicker/VPicker.ts +8 -10
  413. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  414. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  415. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  416. package/src/components/VRadioGroup/VRadio.ts +2 -0
  417. package/src/components/VSelect/VSelect.ts +59 -19
  418. package/src/components/VSelect/VSelectList.ts +13 -9
  419. package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
  420. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  421. package/src/components/VSlider/VSlider.ts +0 -3
  422. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  423. package/src/components/VSparkline/VSparkline.ts +54 -92
  424. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  425. package/src/components/VStepper/VStepper.ts +3 -1
  426. package/src/components/VStepper/VStepperStep.ts +8 -15
  427. package/src/components/VSwitch/VSwitch.ts +4 -5
  428. package/src/components/VTabs/VTab.ts +2 -0
  429. package/src/components/VTabs/VTabs.ts +16 -10
  430. package/src/components/VTabs/VTabsItems.ts +2 -0
  431. package/src/components/VTextField/VTextField.ts +9 -12
  432. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  433. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  434. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  435. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  436. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  437. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  438. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
  439. package/src/components/VToolbar/VToolbar.ts +1 -1
  440. package/src/components/VTooltip/VTooltip.ts +1 -1
  441. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  442. package/src/components/VWindow/VWindow.ts +0 -1
  443. package/src/components/VWindow/VWindowItem.ts +2 -3
  444. package/src/mixins/detachable/index.ts +11 -5
@@ -55,10 +55,9 @@ exports[`VDatePickerTitle.ts should render readonly component and match snapshot
55
55
  exports[`VDatePickerTitle.ts should render year icon 1`] = `
56
56
  <div class="v-picker__title__btn v-date-picker-title__year">
57
57
  1234
58
- <i aria-hidden="true"
59
- class="v-icon notranslate material-icons theme--dark"
58
+ <span class="v-icon notranslate theme--dark"
59
+ aria-hidden="true"
60
60
  >
61
- year
62
- </i>
61
+ </span>
63
62
  </div>
64
63
  `;
@@ -21,7 +21,7 @@ import {
21
21
  VNodeChildren,
22
22
  Transition,
23
23
  withDirectives,
24
- h
24
+ h,
25
25
  } from 'vue'
26
26
  import { PropValidator } from 'vue/types/options'
27
27
  import {
@@ -41,7 +41,6 @@ export default mixins(
41
41
  Themeable
42
42
  /* @vue/component */
43
43
  ).extend({
44
- directives: { Touch },
45
44
 
46
45
  props: {
47
46
  allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,
@@ -65,7 +64,7 @@ export default mixins(
65
64
  type: String,
66
65
  required: true,
67
66
  },
68
- value: [String, Array] as PropType<string | string[]>,
67
+ modelValue: [String, Array] as PropType<string | string[]>,
69
68
  },
70
69
 
71
70
  data: () => ({
@@ -83,6 +82,10 @@ export default mixins(
83
82
  displayedYear (): number {
84
83
  return Number(this.tableDate.split('-')[0])
85
84
  },
85
+ // Vue 3 compatibility: use modelValue
86
+ currentValue (): string | string[] | undefined {
87
+ return this.modelValue
88
+ },
86
89
  },
87
90
 
88
91
  watch: {
@@ -123,7 +126,9 @@ export default mixins(
123
126
 
124
127
  return mergeListeners({
125
128
  onClick: () => {
126
- if (isAllowed && !this.readonly) this.$emit('input', value)
129
+ if (isAllowed && !this.readonly) {
130
+ this.$emit('update:modelValue', value)
131
+ }
127
132
  },
128
133
  }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))
129
134
  },
@@ -135,9 +140,9 @@ export default mixins(
135
140
  const color = (isSelected || isCurrent) && (this.color || 'accent')
136
141
  let isFirst = false
137
142
  let isLast = false
138
- if (this.range && !!this.value && Array.isArray(this.value)) {
139
- isFirst = value === this.value[0]
140
- isLast = value === this.value[this.value.length - 1]
143
+ if (this.range && !!this.currentValue && Array.isArray(this.currentValue)) {
144
+ isFirst = value === this.currentValue[0]
145
+ isLast = value === this.currentValue[this.currentValue.length - 1]
141
146
  }
142
147
 
143
148
  return h('button', setColor(color, {
@@ -222,7 +227,7 @@ export default mixins(
222
227
  (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),
223
228
  right: (e: TouchWrapper) => (e.offsetX > 15) &&
224
229
  (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),
225
- }
230
+ },
226
231
  ]
227
232
 
228
233
  return withDirectives(h('div', {
@@ -240,16 +245,16 @@ export default mixins(
240
245
  }, [transition]), [touchDirective])
241
246
  },
242
247
  isSelected (value: string): boolean {
243
- if (Array.isArray(this.value)) {
244
- if (this.range && this.value.length === 2) {
245
- const [from, to] = [...this.value].sort()
248
+ if (Array.isArray(this.currentValue)) {
249
+ if (this.range && this.currentValue.length === 2) {
250
+ const [from, to] = [...this.currentValue].sort()
246
251
  return from <= value && value <= to
247
252
  } else {
248
- return this.value.indexOf(value) !== -1
253
+ return this.currentValue.indexOf(value) !== -1
249
254
  }
250
255
  }
251
256
 
252
- return value === this.value
257
+ return value === this.currentValue
253
258
  },
254
259
  },
255
260
  })
@@ -24,4 +24,11 @@ describe('VDatePicker/util/createNativeLocaleFormatter.ts', () => {
24
24
  expect(nullFormatter).toBeUndefined()
25
25
  global.Intl = oldIntl
26
26
  })
27
+
28
+ it('should handle invalid date strings', () => {
29
+ const formatter = createNativeLocaleFormatter(undefined, { year: 'numeric', timeZone: 'UTC' })
30
+ expect(formatter('undefined')).toBe('1970')
31
+ expect(formatter('null')).toBe('1970')
32
+ expect(formatter('')).toBe('1970')
33
+ })
27
34
  })
@@ -23,6 +23,9 @@ function createNativeLocaleFormatter (
23
23
  substrOptions: SubstrOptions = { start: 0, length: 0 }
24
24
  ): DatePickerFormatter | undefined {
25
25
  const makeIsoString = (dateString: string) => {
26
+ if (!dateString || dateString === 'undefined' || dateString === 'null') {
27
+ return '1970-01-01' // fallback date
28
+ }
26
29
  const [year, month, date] = dateString.trim().split(' ')[0].split('-')
27
30
  return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')
28
31
  }
@@ -1,4 +1,4 @@
1
- import {Transition, h, vShow, withDirectives} from 'vue'
1
+ import { Transition, h, vShow, withDirectives } from 'vue'
2
2
  // Styles
3
3
  import './VDialog.sass'
4
4
 
@@ -64,6 +64,8 @@ export default baseMixins.extend({
64
64
  width: [String, Number],
65
65
  },
66
66
 
67
+ emits: ['click:outside', 'keydown'],
68
+
67
69
  data () {
68
70
  return {
69
71
  activatedBy: null as EventTarget | null,
@@ -276,12 +278,12 @@ export default baseMixins.extend({
276
278
  handler: this.onClickOutside,
277
279
  closeConditional: this.closeConditional,
278
280
  include: this.getOpenDependentElements,
279
- }
281
+ },
280
282
  ],
281
283
  [
282
284
  vShow,
283
- this.isActive
284
- ]
285
+ this.isActive,
286
+ ],
285
287
  ]
286
288
  const data: VNodeData = {
287
289
  class: this.classes,
@@ -314,7 +316,7 @@ export default baseMixins.extend({
314
316
  this.attach === '' ||
315
317
  this.attach === true ||
316
318
  this.attach === 'attach',
317
- }]
319
+ }],
318
320
  }, [
319
321
  this.genActivator(),
320
322
  this.genContent(),
@@ -25,6 +25,11 @@ export default mixins(
25
25
  ).extend({
26
26
  name: 'v-expansion-panel',
27
27
 
28
+ emits: [
29
+ 'click',
30
+ 'change',
31
+ ],
32
+
28
33
  props: {
29
34
  disabled: Boolean,
30
35
  readonly: Boolean,
@@ -31,7 +31,6 @@ interface options extends ExtractVue<typeof baseMixins> {
31
31
  export default baseMixins.extend({
32
32
  name: 'v-expansion-panel-header',
33
33
 
34
- directives: { ripple },
35
34
 
36
35
  props: {
37
36
  disableIconRotate: Boolean,
@@ -77,6 +77,8 @@ export default defineComponent({
77
77
  } as PropValidator<File | File[]>,
78
78
  },
79
79
 
80
+ emits: ['change', 'keydown'],
81
+
80
82
  computed: {
81
83
  classes (): object {
82
84
  return {
@@ -50,6 +50,8 @@ export default mixins(
50
50
  value: Boolean,
51
51
  },
52
52
 
53
+ emits: ['input', 'update:modelValue', 'submit'],
54
+
53
55
  data: () => ({
54
56
  inputs: [] as VInputInstance[],
55
57
  watchers: [] as Watchers[],
@@ -27,6 +27,8 @@ export default mixins(
27
27
  },
28
28
  },
29
29
 
30
+ emits: ['update:modelValue'],
31
+
30
32
  methods: {
31
33
  onMouseEnter () {
32
34
  this.runDelay('open')
@@ -39,7 +39,6 @@ export default mixins(
39
39
  ).extend({
40
40
  name: 'v-img',
41
41
 
42
- directives: { intersect },
43
42
 
44
43
  props: {
45
44
  alt: String,
@@ -73,6 +72,8 @@ export default mixins(
73
72
  },
74
73
  },
75
74
 
75
+ emits: ['load', 'error', 'loadstart'],
76
+
76
77
  data () {
77
78
  return {
78
79
  currentSrc: '', // Set from srcset
@@ -59,6 +59,8 @@ export default baseMixins.extend({
59
59
  modelValue: null as any as PropType<any>,
60
60
  },
61
61
 
62
+ emits: ['click', 'mousedown', 'mouseup', 'touchstart', 'touchend'],
63
+
62
64
  data () {
63
65
  return {
64
66
  lazyValue: this.modelValue,
@@ -81,4 +81,8 @@ export default mixins(
81
81
  GroupableFactory('itemGroup', 'v-item', 'v-item-group')
82
82
  ).extend({
83
83
  name: 'v-item',
84
+
85
+ emits: [
86
+ 'change',
87
+ ],
84
88
  })
@@ -30,6 +30,8 @@ export const BaseItemGroup = mixins(
30
30
  ).extend({
31
31
  name: 'base-item-group',
32
32
 
33
+ emits: ['update:modelValue'],
34
+
33
35
  props: {
34
36
  activeClass: {
35
37
  type: String,
@@ -258,7 +260,11 @@ export const BaseItemGroup = mixins(
258
260
  },
259
261
 
260
262
  render (): VNode {
261
- return h(this.tag, this.genData(), getSlot(this))
263
+ const data = this.genData()
264
+ return h(this.tag, {
265
+ class: data.class,
266
+ ...data.attrs,
267
+ }, getSlot(this))
262
268
  },
263
269
  })
264
270
 
@@ -1,4 +1,4 @@
1
- import {Transition, h} from 'vue'
1
+ import { Transition, h, withDirectives, defineComponent } from 'vue'
2
2
  // Mixins
3
3
  import Measurable from '../../mixins/measurable'
4
4
  import Toggleable from '../../mixins/toggleable'
@@ -20,7 +20,8 @@ export default mixins(
20
20
  ).extend({
21
21
  name: 'VLazy',
22
22
 
23
- directives: { intersect },
23
+ emits: ['update:modelValue'],
24
+
24
25
 
25
26
  props: {
26
27
  options: {
@@ -73,18 +74,15 @@ export default mixins(
73
74
  },
74
75
 
75
76
  render (): VNode {
76
- return h(this.tag, {
77
+ return withDirectives(h(this.tag, {
77
78
  class: 'v-lazy',
78
- attrs: this.$attrs,
79
- directives: [{
80
- name: 'intersect',
81
- value: {
82
- handler: this.onObserve,
83
- options: this.options,
84
- },
85
- }],
86
- on: this.$listeners,
79
+ ...this.$attrs,
87
80
  style: this.styles,
88
- }, [this.genContent()])
81
+ }, [this.genContent()]), [
82
+ [intersect, {
83
+ handler: this.onObserve,
84
+ options: this.options,
85
+ }]
86
+ ])
89
87
  },
90
88
  })
@@ -1,4 +1,4 @@
1
- import {h, withDirectives, vShow} from 'vue'
1
+ import { h, withDirectives, vShow, VNode } from 'vue'
2
2
  // Styles
3
3
  import './VListGroup.sass'
4
4
 
@@ -26,7 +26,6 @@ import mixins, { ExtractVue } from '../../util/mixins'
26
26
  import { getSlot } from '../../util/helpers'
27
27
 
28
28
  // Types
29
- import { VNode } from 'vue'
30
29
  import { Route } from 'vue-router'
31
30
 
32
31
  const baseMixins = mixins(
@@ -50,7 +49,6 @@ interface options extends ExtractVue<typeof baseMixins> {
50
49
  export default baseMixins.extend({
51
50
  name: 'v-list-group',
52
51
 
53
- directives: { ripple },
54
52
 
55
53
  props: {
56
54
  activeClass: {
@@ -144,7 +142,8 @@ export default baseMixins.extend({
144
142
  'v-list-group__header': true,
145
143
  [this.activeClass]: this.isActive,
146
144
  },
147
- inputValue: this.isActive,
145
+ link: true,
146
+ modelValue: this.isActive,
148
147
  ...this.listeners$,
149
148
  onClick: this.click
150
149
  }, () => [
@@ -153,19 +152,19 @@ export default baseMixins.extend({
153
152
  this.genAppendIcon(),
154
153
  ]),
155
154
  [
156
- [Ripple, this.ripple]
155
+ [Ripple, this.ripple],
157
156
  ])
158
157
  },
159
158
  genItems (): VNode[] {
160
159
  const directives = [[
161
160
  vShow,
162
- this.isActive
161
+ this.isActive,
163
162
  ]]
164
163
 
165
164
  return this.showLazyContent(() => [
166
165
  withDirectives(h('div', {
167
166
  class: 'v-list-group__items',
168
- }, getSlot(this)), directives)
167
+ }, getSlot(this)), directives),
169
168
  ])
170
169
  },
171
170
  genPrependIcon (): VNode | null {
@@ -208,7 +207,7 @@ export default baseMixins.extend({
208
207
 
209
208
  render (): VNode {
210
209
  return h('div', this.setTextColor(this.isActive && this.color, {
211
- class: ['v-list-group', this.classes]
210
+ class: ['v-list-group', this.classes],
212
211
  }), [
213
212
  this.genHeader(),
214
213
  h(VExpandTransition, {}, () => this.genItems()),
@@ -1,4 +1,4 @@
1
- import {h, withDirectives} from 'vue'
1
+ import { h, withDirectives, VNode, PropType, PropValidator } from 'vue'
2
2
  // Styles
3
3
  import './VListItem.sass'
4
4
 
@@ -14,21 +14,19 @@ import Ripple from '../../directives/ripple'
14
14
 
15
15
  // Utilities
16
16
  import { getSlot, keyCodes } from './../../util/helpers'
17
- import mergeData from './../../util/mergeData'
17
+ import mergeData, { mergeClasses } from './../../util/mergeData'
18
18
  import { ExtractVue } from './../../util/mixins'
19
19
  import { removed } from '../../util/console'
20
20
 
21
21
  // Types
22
22
  import mixins from '../../util/mixins'
23
- import { VNode } from 'vue'
24
- import { PropType, PropValidator } from 'vue/types/options'
25
23
 
26
24
  const baseMixins = mixins(
27
25
  Colorable,
28
26
  Routable,
29
27
  Themeable,
30
28
  GroupableFactory('listItemGroup'),
31
- ToggleableFactory('inputValue')
29
+ ToggleableFactory('modelValue')
32
30
  )
33
31
 
34
32
  interface options extends ExtractVue<typeof baseMixins> {
@@ -43,9 +41,6 @@ interface options extends ExtractVue<typeof baseMixins> {
43
41
  export default baseMixins.extend({
44
42
  name: 'v-list-item',
45
43
 
46
- directives: {
47
- Ripple,
48
- },
49
44
 
50
45
  inject: {
51
46
  isInGroup: {
@@ -66,7 +61,7 @@ export default baseMixins.extend({
66
61
 
67
62
  props: {
68
63
  activeClass: {
69
- type: String
64
+ type: String,
70
65
  } as any as PropValidator<string>,
71
66
  dense: Boolean,
72
67
  inactive: Boolean,
@@ -80,16 +75,23 @@ export default baseMixins.extend({
80
75
  },
81
76
  threeLine: Boolean,
82
77
  twoLine: Boolean,
83
- value: null as any as PropType<any>,
78
+ modelValue: null as any as PropType<any>,
84
79
  },
85
80
 
81
+ emits: [
82
+ 'click',
83
+ 'keydown',
84
+ 'change',
85
+ 'update:modelValue',
86
+ ],
87
+
86
88
  data: () => ({
87
89
  proxyClass: 'v-list-item--active',
88
90
  }),
89
91
 
90
92
  computed: {
91
- $activeClass() {
92
- if(this.activeClass) return this.activeClass
93
+ $activeClass () {
94
+ if (this.activeClass) return this.activeClass
93
95
  if (!this.listItemGroup) return ''
94
96
 
95
97
  return this.listItemGroup.activeClass
@@ -131,10 +133,11 @@ export default baseMixins.extend({
131
133
  this.to || this.toggle()
132
134
  },
133
135
  genAttrs () {
136
+ const { class: _, ...otherAttrs } = this.$attrs
134
137
  const attrs: Record<string, any> = {
138
+ ...otherAttrs,
135
139
  'aria-disabled': this.disabled ? true : undefined,
136
140
  tabindex: this.isClickable && !this.disabled ? 0 : -1,
137
- ...this.$attrs,
138
141
  }
139
142
 
140
143
  if (this.$attrs.hasOwnProperty('role')) {
@@ -154,19 +157,21 @@ export default baseMixins.extend({
154
157
  return attrs
155
158
  },
156
159
  toggle () {
157
- if (this.to && this.inputValue === undefined) {
160
+ if (this.to && this.modelValue === undefined) {
158
161
  this.isActive = !this.isActive
159
162
  }
160
163
  this.$emit('change')
164
+ this.$emitLegacy('change')
161
165
  },
162
166
  },
163
167
 
164
168
  render (): VNode {
165
169
  let { tag, data, directives } = this.generateRouteLink()
170
+ const attrs = this.genAttrs()
166
171
 
167
172
  data = mergeData(
168
173
  data,
169
- this.genAttrs()
174
+ attrs
170
175
  )
171
176
 
172
177
  data = {
@@ -179,6 +184,8 @@ export default baseMixins.extend({
179
184
  this.$emit('keydown', e)
180
185
  }
181
186
  },
187
+ // Ensure our attrs take precedence over routable
188
+ ...attrs,
182
189
  }
183
190
 
184
191
  if (this.inactive) tag = 'div'
@@ -194,6 +201,13 @@ export default baseMixins.extend({
194
201
 
195
202
  const nodeData = this.isActive ? this.setTextColor(this.color, data) : data
196
203
 
204
+ const attrsClasses = this.$attrs.class
205
+ if (attrsClasses) {
206
+ nodeData.class = [this.classes, attrsClasses]
207
+ } else {
208
+ nodeData.class = this.classes
209
+ }
210
+
197
211
  const node = typeof tag === 'string'
198
212
  ? h(tag, nodeData, children)
199
213
  : h(tag, nodeData, () => children)
@@ -1,22 +1,23 @@
1
1
  // Types
2
- import { defineComponent, VNode, h } from 'vue'
2
+ import { defineComponent, VNode, h, Comment } from 'vue'
3
3
 
4
4
  /* @vue/component */
5
5
  export default defineComponent({
6
6
  name: 'v-list-item-action',
7
7
 
8
- functional: true,
9
-
10
8
  render (): VNode {
11
- const data = this.$attrs
12
- data.class = data.class ? `v-list-item__action ${data.class}` : 'v-list-item__action'
13
- const children = this.$slots.default()
9
+ const { class: attrClass, ...otherAttrs } = this.$attrs
10
+ let className = attrClass ? `v-list-item__action ${attrClass}` : 'v-list-item__action'
11
+ const children = this.$slots.default?.() || []
14
12
 
15
- const filteredChild = children.filter(VNode => {
16
- return VNode.isComment === false && VNode.text !== ' '
13
+ const filteredChild = children.filter((vnode: any) => {
14
+ return vnode?.type !== Comment && vnode?.children !== ' '
17
15
  })
18
- if (filteredChild.length > 1) data.class += ' v-list-item__action--stack'
16
+ if (filteredChild.length > 1) className += ' v-list-item__action--stack'
19
17
 
20
- return h('div', data, children)
18
+ return h('div', {
19
+ ...otherAttrs,
20
+ class: className
21
+ }, children)
21
22
  },
22
23
  })
@@ -1,4 +1,4 @@
1
- import {h, Transition, vShow, withDirectives} from 'vue'
1
+ import { h, Transition, vShow, withDirectives } from 'vue'
2
2
  // Styles
3
3
  import './VMenu.sass'
4
4
 
@@ -84,6 +84,8 @@ export default baseMixins.extend({
84
84
  },
85
85
  },
86
86
 
87
+ emits: ['keydown'],
88
+
87
89
  data () {
88
90
  return {
89
91
  calculatedTopAuto: 0,
@@ -50,11 +50,6 @@ const baseMixins = mixins(
50
50
  export default baseMixins.extend({
51
51
  name: 'v-navigation-drawer',
52
52
 
53
- directives: {
54
- ClickOutside,
55
- Resize,
56
- Touch,
57
- },
58
53
 
59
54
  provide (): object {
60
55
  return {
@@ -96,6 +91,8 @@ export default baseMixins.extend({
96
91
  modelValue: null as unknown as PropType<any>,
97
92
  },
98
93
 
94
+ emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],
95
+
99
96
  data: () => ({
100
97
  isMouseover: false,
101
98
  touchArea: {
@@ -31,9 +31,6 @@ interface options extends InstanceType<typeof baseMixins> {
31
31
  export default baseMixins.extend({
32
32
  name: 'v-otp-input',
33
33
 
34
- directives: {
35
- ripple,
36
- },
37
34
 
38
35
  inheritAttrs: false,
39
36
 
@@ -49,6 +46,8 @@ export default baseMixins.extend({
49
46
  plain: Boolean,
50
47
  },
51
48
 
49
+ emits: ['blur', 'focus', 'change', 'keydown', 'finish'],
50
+
52
51
  data: () => ({
53
52
  initialValue: null,
54
53
  isBooted: false,
@@ -24,6 +24,8 @@ export default defineComponent({
24
24
  segmented: Boolean,
25
25
  },
26
26
 
27
+ emits: ['change'],
28
+
27
29
  computed: {
28
30
  classes (): object {
29
31
  return {
@@ -22,6 +22,8 @@ export default mixins(
22
22
  ).extend({
23
23
  name: 'v-overlay',
24
24
 
25
+ emits: ['update:modelValue'],
26
+
25
27
  props: {
26
28
  absolute: Boolean,
27
29
  color: {
@@ -25,7 +25,6 @@ export default mixins(
25
25
  ).extend({
26
26
  name: 'v-pagination',
27
27
 
28
- directives: { Resize },
29
28
 
30
29
  props: {
31
30
  circle: Boolean,
@@ -72,6 +71,8 @@ export default mixins(
72
71
  },
73
72
  },
74
73
 
74
+ emits: ['update:modelValue', 'next', 'previous'],
75
+
75
76
  data () {
76
77
  return {
77
78
  maxButtons: 0,
@@ -1,4 +1,5 @@
1
- import {h, Transition} from 'vue'
1
+ import { h, Transition, defineComponent } from 'vue'
2
+ import type { VNode } from 'vue'
2
3
  import './VPicker.sass'
3
4
  import '../VCard/VCard.sass'
4
5
 
@@ -10,17 +11,14 @@ import Themeable from '../../mixins/themeable'
10
11
  // Helpers
11
12
  import { convertToUnit, getSlot } from '../../util/helpers'
12
13
 
13
- // Types
14
- import { VNode } from 'vue/types'
15
- import mixins from '../../util/mixins'
16
-
17
14
  /* @vue/component */
18
- export default mixins(
19
- Colorable,
20
- Elevatable,
21
- Themeable
22
- ).extend({
15
+ export default defineComponent({
23
16
  name: 'v-picker',
17
+ mixins: [
18
+ Colorable,
19
+ Elevatable,
20
+ Themeable,
21
+ ],
24
22
 
25
23
  props: {
26
24
  flat: Boolean,