@dimailn/vuetify 2.7.2-alpha25 → 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 (494) hide show
  1. package/dist/vuetify.js +1436 -1164
  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/VAppBar/VAppBarNavIcon.js +5 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  11. package/es5/components/VBadge/VBadge.js +1 -0
  12. package/es5/components/VBadge/VBadge.js.map +1 -1
  13. package/es5/components/VBanner/VBanner.js +23 -15
  14. package/es5/components/VBanner/VBanner.js.map +1 -1
  15. package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
  16. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  17. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +18 -6
  18. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  19. package/es5/components/VBtn/VBtn.js +6 -2
  20. package/es5/components/VBtn/VBtn.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendar.js +27 -29
  22. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  23. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  24. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  26. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  27. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  28. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  29. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  30. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  31. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  32. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  33. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  34. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  35. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  36. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  37. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  38. package/es5/components/VCarousel/VCarousel.js +20 -13
  39. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  40. package/es5/components/VCarousel/VCarouselItem.js +7 -3
  41. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  42. package/es5/components/VCheckbox/VCheckbox.js +34 -1
  43. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  44. package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
  45. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  46. package/es5/components/VChip/VChip.js +14 -6
  47. package/es5/components/VChip/VChip.js.map +1 -1
  48. package/es5/components/VData/VData.js +1 -0
  49. package/es5/components/VData/VData.js.map +1 -1
  50. package/es5/components/VDataIterator/VDataFooter.js +6 -1
  51. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  52. package/es5/components/VDataIterator/VDataIterator.js +1 -0
  53. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  54. package/es5/components/VDataTable/VDataTable.js +22 -13
  55. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  56. package/es5/components/VDataTable/VDataTableHeader.js +2 -6
  57. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  58. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  59. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  60. package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  61. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  62. package/es5/components/VDataTable/VEditDialog.js +23 -18
  63. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  64. package/es5/components/VDataTable/mixins/header.js +5 -7
  65. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  66. package/es5/components/VDatePicker/VDatePicker.js +13 -18
  67. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  68. package/es5/components/VDatePicker/VDatePickerHeader.js +50 -22
  69. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  70. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  71. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  72. package/es5/components/VDatePicker/VDatePickerTitle.js +16 -7
  73. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  74. package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
  75. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  76. package/es5/components/VDatePicker/mixins/date-picker-table.js +21 -16
  77. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  78. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  79. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  80. package/es5/components/VDialog/VDialog.js +17 -12
  81. package/es5/components/VDialog/VDialog.js.map +1 -1
  82. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  83. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  84. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +11 -9
  85. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  86. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +16 -19
  87. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  88. package/es5/components/VFileInput/VFileInput.js +1 -0
  89. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  90. package/es5/components/VForm/VForm.js +1 -0
  91. package/es5/components/VForm/VForm.js.map +1 -1
  92. package/es5/components/VHover/VHover.js +1 -0
  93. package/es5/components/VHover/VHover.js.map +1 -1
  94. package/es5/components/VImg/VImg.js +9 -7
  95. package/es5/components/VImg/VImg.js.map +1 -1
  96. package/es5/components/VInput/VInput.js +11 -4
  97. package/es5/components/VInput/VInput.js.map +1 -1
  98. package/es5/components/VItemGroup/VItem.js +2 -1
  99. package/es5/components/VItemGroup/VItem.js.map +1 -1
  100. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  101. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  102. package/es5/components/VLazy/VLazy.js +8 -15
  103. package/es5/components/VLazy/VLazy.js.map +1 -1
  104. package/es5/components/VList/VListGroup.js +30 -20
  105. package/es5/components/VList/VListGroup.js.map +1 -1
  106. package/es5/components/VList/VListItem.js +31 -13
  107. package/es5/components/VList/VListItem.js.map +1 -1
  108. package/es5/components/VList/VListItemAction.js +23 -9
  109. package/es5/components/VList/VListItemAction.js.map +1 -1
  110. package/es5/components/VMenu/VMenu.js +1 -0
  111. package/es5/components/VMenu/VMenu.js.map +1 -1
  112. package/es5/components/VMessages/VMessages.js +5 -1
  113. package/es5/components/VMessages/VMessages.js.map +1 -1
  114. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
  115. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  116. package/es5/components/VOtpInput/VOtpInput.js +1 -5
  117. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  118. package/es5/components/VOverflowBtn/VOverflowBtn.js +4 -1
  119. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  120. package/es5/components/VOverlay/VOverlay.js +1 -0
  121. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  122. package/es5/components/VPagination/VPagination.js +4 -4
  123. package/es5/components/VPagination/VPagination.js.map +1 -1
  124. package/es5/components/VPicker/VPicker.js +7 -4
  125. package/es5/components/VPicker/VPicker.js.map +1 -1
  126. package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
  127. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  128. package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
  129. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  130. package/es5/components/VRadioGroup/VRadio.js +11 -2
  131. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  132. package/es5/components/VSelect/VSelect.js +115 -64
  133. package/es5/components/VSelect/VSelect.js.map +1 -1
  134. package/es5/components/VSelect/VSelectList.js +30 -26
  135. package/es5/components/VSelect/VSelectList.js.map +1 -1
  136. package/es5/components/VSlideGroup/VSlideGroup.js +27 -22
  137. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  138. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  139. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  140. package/es5/components/VSlider/VSlider.js +16 -15
  141. package/es5/components/VSlider/VSlider.js.map +1 -1
  142. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  143. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  144. package/es5/components/VSparkline/VSparkline.js +48 -68
  145. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  146. package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
  147. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  148. package/es5/components/VStepper/VStepper.js +1 -0
  149. package/es5/components/VStepper/VStepper.js.map +1 -1
  150. package/es5/components/VStepper/VStepperContent.js +3 -1
  151. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  152. package/es5/components/VStepper/VStepperStep.js +11 -19
  153. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  154. package/es5/components/VSwitch/VSwitch.js +11 -9
  155. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  156. package/es5/components/VTabs/VTab.js +1 -0
  157. package/es5/components/VTabs/VTab.js.map +1 -1
  158. package/es5/components/VTabs/VTabs.js +17 -6
  159. package/es5/components/VTabs/VTabs.js.map +1 -1
  160. package/es5/components/VTabs/VTabsItems.js +1 -0
  161. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  162. package/es5/components/VTextField/VTextField.js +34 -26
  163. package/es5/components/VTextField/VTextField.js.map +1 -1
  164. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  165. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  166. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  167. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  168. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  169. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  170. package/es5/components/VToolbar/VToolbar.js +1 -3
  171. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  172. package/es5/components/VTooltip/VTooltip.js +9 -4
  173. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  174. package/es5/components/VTreeview/VTreeviewNode.js +11 -3
  175. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  176. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  177. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  178. package/es5/components/VWindow/VWindow.js +0 -3
  179. package/es5/components/VWindow/VWindow.js.map +1 -1
  180. package/es5/components/VWindow/VWindowItem.js +1 -5
  181. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  182. package/es5/components/transitions/createTransition.js +8 -2
  183. package/es5/components/transitions/createTransition.js.map +1 -1
  184. package/es5/framework.js +1 -1
  185. package/es5/mixins/detachable/index.js +9 -5
  186. package/es5/mixins/detachable/index.js.map +1 -1
  187. package/es5/mixins/picker/index.js +13 -3
  188. package/es5/mixins/picker/index.js.map +1 -1
  189. package/lib/components/VAlert/VAlert.js +1 -0
  190. package/lib/components/VAlert/VAlert.js.map +1 -1
  191. package/lib/components/VAppBar/VAppBar.js +17 -6
  192. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  193. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  194. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  195. package/lib/components/VBadge/VBadge.js +1 -0
  196. package/lib/components/VBadge/VBadge.js.map +1 -1
  197. package/lib/components/VBanner/VBanner.js +9 -13
  198. package/lib/components/VBanner/VBanner.js.map +1 -1
  199. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  200. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  201. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +2 -2
  202. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  203. package/lib/components/VBtn/VBtn.js +4 -2
  204. package/lib/components/VBtn/VBtn.js.map +1 -1
  205. package/lib/components/VCalendar/VCalendar.js +26 -31
  206. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  207. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  208. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  209. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  210. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  211. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  212. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  213. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  214. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  215. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  216. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  217. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  218. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  219. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  220. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  221. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  222. package/lib/components/VCarousel/VCarousel.js +15 -14
  223. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  224. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  225. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  226. package/lib/components/VCheckbox/VCheckbox.js +15 -2
  227. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  228. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  229. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  230. package/lib/components/VChip/VChip.js +14 -6
  231. package/lib/components/VChip/VChip.js.map +1 -1
  232. package/lib/components/VData/VData.js +1 -0
  233. package/lib/components/VData/VData.js.map +1 -1
  234. package/lib/components/VDataIterator/VDataFooter.js +2 -1
  235. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  236. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  237. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  238. package/lib/components/VDataTable/VDataTable.js +7 -12
  239. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  240. package/lib/components/VDataTable/VDataTableHeader.js +3 -6
  241. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  242. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  243. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  244. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  245. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  246. package/lib/components/VDataTable/VEditDialog.js +16 -15
  247. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  248. package/lib/components/VDataTable/mixins/header.js +1 -6
  249. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  250. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  251. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  252. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  253. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  254. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  255. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  256. package/lib/components/VDatePicker/VDatePickerTitle.js +6 -5
  257. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  258. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  259. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  260. package/lib/components/VDatePicker/mixins/date-picker-table.js +18 -14
  261. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  262. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  263. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  264. package/lib/components/VDialog/VDialog.js +3 -2
  265. package/lib/components/VDialog/VDialog.js.map +1 -1
  266. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  267. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  268. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  269. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  270. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +3 -6
  271. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  272. package/lib/components/VFileInput/VFileInput.js +1 -0
  273. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  274. package/lib/components/VForm/VForm.js +1 -0
  275. package/lib/components/VForm/VForm.js.map +1 -1
  276. package/lib/components/VHover/VHover.js +1 -0
  277. package/lib/components/VHover/VHover.js.map +1 -1
  278. package/lib/components/VImg/VImg.js +4 -8
  279. package/lib/components/VImg/VImg.js.map +1 -1
  280. package/lib/components/VInput/VInput.js +3 -2
  281. package/lib/components/VInput/VInput.js.map +1 -1
  282. package/lib/components/VItemGroup/VItem.js +2 -1
  283. package/lib/components/VItemGroup/VItem.js.map +1 -1
  284. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  285. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  286. package/lib/components/VLazy/VLazy.js +8 -15
  287. package/lib/components/VLazy/VLazy.js.map +1 -1
  288. package/lib/components/VList/VListGroup.js +8 -10
  289. package/lib/components/VList/VListGroup.js.map +1 -1
  290. package/lib/components/VList/VListItem.js +28 -15
  291. package/lib/components/VList/VListItem.js.map +1 -1
  292. package/lib/components/VList/VListItemAction.js +15 -9
  293. package/lib/components/VList/VListItemAction.js.map +1 -1
  294. package/lib/components/VMenu/VMenu.js +1 -0
  295. package/lib/components/VMenu/VMenu.js.map +1 -1
  296. package/lib/components/VMessages/VMessages.js +1 -1
  297. package/lib/components/VMessages/VMessages.js.map +1 -1
  298. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  299. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  300. package/lib/components/VOtpInput/VOtpInput.js +2 -6
  301. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  302. package/lib/components/VOverflowBtn/VOverflowBtn.js +2 -1
  303. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  304. package/lib/components/VOverlay/VOverlay.js +1 -0
  305. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  306. package/lib/components/VPagination/VPagination.js +2 -4
  307. package/lib/components/VPagination/VPagination.js.map +1 -1
  308. package/lib/components/VPicker/VPicker.js +4 -4
  309. package/lib/components/VPicker/VPicker.js.map +1 -1
  310. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  311. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  312. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  313. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  314. package/lib/components/VRadioGroup/VRadio.js +3 -2
  315. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  316. package/lib/components/VSelect/VSelect.js +66 -21
  317. package/lib/components/VSelect/VSelect.js.map +1 -1
  318. package/lib/components/VSelect/VSelectList.js +15 -17
  319. package/lib/components/VSelect/VSelectList.js.map +1 -1
  320. package/lib/components/VSlideGroup/VSlideGroup.js +4 -7
  321. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  322. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  323. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  324. package/lib/components/VSlider/VSlider.js +1 -4
  325. package/lib/components/VSlider/VSlider.js.map +1 -1
  326. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  327. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  328. package/lib/components/VSparkline/VSparkline.js +48 -67
  329. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  330. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  331. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  332. package/lib/components/VStepper/VStepper.js +1 -0
  333. package/lib/components/VStepper/VStepper.js.map +1 -1
  334. package/lib/components/VStepper/VStepperContent.js +1 -1
  335. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  336. package/lib/components/VStepper/VStepperStep.js +7 -18
  337. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  338. package/lib/components/VSwitch/VSwitch.js +2 -4
  339. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  340. package/lib/components/VTabs/VTab.js +1 -0
  341. package/lib/components/VTabs/VTab.js.map +1 -1
  342. package/lib/components/VTabs/VTabs.js +16 -6
  343. package/lib/components/VTabs/VTabs.js.map +1 -1
  344. package/lib/components/VTabs/VTabsItems.js +1 -0
  345. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  346. package/lib/components/VTextField/VTextField.js +7 -16
  347. package/lib/components/VTextField/VTextField.js.map +1 -1
  348. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  349. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  350. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  351. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  352. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  353. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  354. package/lib/components/VToolbar/VToolbar.js +1 -3
  355. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  356. package/lib/components/VTooltip/VTooltip.js +2 -3
  357. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  358. package/lib/components/VTreeview/VTreeviewNode.js +3 -3
  359. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  360. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  361. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  362. package/lib/components/VWindow/VWindow.js +0 -3
  363. package/lib/components/VWindow/VWindow.js.map +1 -1
  364. package/lib/components/VWindow/VWindowItem.js +2 -6
  365. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  366. package/lib/components/transitions/createTransition.js +2 -2
  367. package/lib/components/transitions/createTransition.js.map +1 -1
  368. package/lib/framework.js +1 -1
  369. package/lib/mixins/detachable/index.js +9 -5
  370. package/lib/mixins/detachable/index.js.map +1 -1
  371. package/lib/mixins/picker/index.js +5 -3
  372. package/lib/mixins/picker/index.js.map +1 -1
  373. package/package.json +1 -1
  374. package/src/components/VAlert/VAlert.ts +2 -0
  375. package/src/components/VAppBar/VAppBar.ts +12 -3
  376. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  377. package/src/components/VBadge/VBadge.ts +1 -1
  378. package/src/components/VBanner/VBanner.ts +17 -17
  379. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  380. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +2 -2
  381. package/src/components/VBtn/VBtn.ts +8 -2
  382. package/src/components/VCalendar/VCalendar.ts +29 -27
  383. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  384. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  385. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  386. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  387. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  388. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  389. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  390. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  391. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  392. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  393. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  394. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  395. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  396. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  397. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  398. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  399. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  400. package/src/components/VCalendar/mixins/times.ts +1 -1
  401. package/src/components/VCarousel/VCarousel.ts +16 -12
  402. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  403. package/src/components/VCheckbox/VCheckbox.ts +20 -2
  404. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  405. package/src/components/VChip/VChip.ts +16 -13
  406. package/src/components/VData/VData.ts +2 -0
  407. package/src/components/VDataIterator/VDataFooter.ts +3 -1
  408. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  409. package/src/components/VDataTable/VDataTable.ts +7 -9
  410. package/src/components/VDataTable/VDataTableHeader.ts +2 -4
  411. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  412. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  413. package/src/components/VDataTable/VEditDialog.ts +20 -18
  414. package/src/components/VDataTable/mixins/header.ts +1 -5
  415. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  416. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  417. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  418. package/src/components/VDatePicker/VDatePickerTitle.ts +9 -7
  419. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  420. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  421. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  422. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  423. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  424. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  425. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  426. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  427. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  428. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  429. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  430. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  431. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  432. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  433. package/src/components/VDatePicker/mixins/date-picker-table.ts +19 -14
  434. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  435. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  436. package/src/components/VDialog/VDialog.ts +9 -7
  437. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  438. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
  439. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +2 -3
  440. package/src/components/VFileInput/VFileInput.ts +2 -0
  441. package/src/components/VForm/VForm.ts +2 -0
  442. package/src/components/VHover/VHover.ts +2 -0
  443. package/src/components/VImg/VImg.ts +4 -3
  444. package/src/components/VInput/VInput.ts +4 -2
  445. package/src/components/VItemGroup/VItem.ts +4 -0
  446. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  447. package/src/components/VLazy/VLazy.ts +11 -13
  448. package/src/components/VList/VListGroup.ts +12 -13
  449. package/src/components/VList/VListItem.ts +36 -19
  450. package/src/components/VList/VListItemAction.ts +11 -10
  451. package/src/components/VMenu/VMenu.ts +3 -1
  452. package/src/components/VMessages/VMessages.ts +1 -1
  453. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  454. package/src/components/VOtpInput/VOtpInput.ts +2 -3
  455. package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
  456. package/src/components/VOverlay/VOverlay.ts +2 -0
  457. package/src/components/VPagination/VPagination.ts +3 -2
  458. package/src/components/VPicker/VPicker.ts +9 -11
  459. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  460. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  461. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  462. package/src/components/VRadioGroup/VRadio.ts +4 -2
  463. package/src/components/VSelect/VSelect.ts +61 -21
  464. package/src/components/VSelect/VSelectList.ts +16 -12
  465. package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
  466. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  467. package/src/components/VSlider/VSlider.ts +1 -4
  468. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  469. package/src/components/VSparkline/VSparkline.ts +54 -92
  470. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  471. package/src/components/VStepper/VStepper.ts +3 -1
  472. package/src/components/VStepper/VStepperContent.ts +1 -1
  473. package/src/components/VStepper/VStepperStep.ts +8 -15
  474. package/src/components/VSwitch/VSwitch.ts +5 -6
  475. package/src/components/VTabs/VTab.ts +2 -0
  476. package/src/components/VTabs/VTabs.ts +18 -12
  477. package/src/components/VTabs/VTabsItems.ts +2 -0
  478. package/src/components/VTextField/VTextField.ts +10 -13
  479. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  480. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  481. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  482. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  483. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  484. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  485. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
  486. package/src/components/VToolbar/VToolbar.ts +1 -1
  487. package/src/components/VTooltip/VTooltip.ts +2 -2
  488. package/src/components/VTreeview/VTreeviewNode.ts +3 -3
  489. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  490. package/src/components/VWindow/VWindow.ts +0 -1
  491. package/src/components/VWindow/VWindowItem.ts +2 -3
  492. package/src/components/transitions/createTransition.ts +2 -2
  493. package/src/mixins/detachable/index.ts +11 -5
  494. package/src/mixins/picker/index.ts +4 -4
@@ -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, {
@@ -213,7 +218,7 @@ export default mixins(
213
218
  genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {
214
219
  const transition = h(Transition, {
215
220
  name: this.computedTransition,
216
- }, [h('table', { key: this.tableDate }, children)])
221
+ }, () => [h('table', { key: this.tableDate }, children)])
217
222
 
218
223
  const touchDirective = [
219
224
  Touch,
@@ -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,
@@ -244,7 +246,7 @@ export default baseMixins.extend({
244
246
  root: true,
245
247
  light: this.light,
246
248
  dark: this.dark
247
- }, [
249
+ }, () => [
248
250
  h('div', {
249
251
  class: this.contentClasses,
250
252
  role: 'dialog',
@@ -266,7 +268,7 @@ export default baseMixins.extend({
266
268
  name: this.transition,
267
269
  origin: this.origin,
268
270
  appear: true
269
- }, [content])
271
+ }, () => [content])
270
272
  },
271
273
  genInnerContent () {
272
274
  const directives = [
@@ -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,
@@ -60,7 +60,7 @@ export default baseMixins.extend({
60
60
  },
61
61
 
62
62
  render (): VNode {
63
- return h(VExpandTransition, this.showLazyContent(() => [
63
+ return h(VExpandTransition, {}, () => this.showLazyContent(() => [
64
64
  withDirectives(h('div', this.setBackgroundColor(this.color, {
65
65
  class: 'v-expansion-panel-content'
66
66
  }), [
@@ -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,
@@ -83,9 +82,9 @@ export default baseMixins.extend({
83
82
  },
84
83
  genIcon () {
85
84
  const icon = getSlot(this, 'actions', { open: this.isActive }) ||
86
- [h(VIcon, this.expandIcon)]
85
+ [h(VIcon, {}, () => this.expandIcon)]
87
86
 
88
- return h(VFadeTransition, [
87
+ return h(VFadeTransition, {}, () => [
89
88
  withDirectives(h('div', {
90
89
  class: ['v-expansion-panel-header__icon', {
91
90
  'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,
@@ -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
@@ -131,7 +132,7 @@ export default mixins(
131
132
  return h(Transition, {
132
133
  name: this.transition,
133
134
  mode: 'in-out',
134
- }, [image])
135
+ }, () => [image])
135
136
  },
136
137
  },
137
138
 
@@ -265,7 +266,7 @@ export default mixins(
265
266
  return h(Transition, {
266
267
  appear: true,
267
268
  name: this.transition,
268
- }, placeholder)
269
+ }, () => placeholder)
269
270
  }
270
271
  },
271
272
  },
@@ -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,
@@ -228,7 +230,7 @@ export default baseMixins.extend({
228
230
  h(
229
231
  VIcon,
230
232
  data,
231
- icon
233
+ () => icon
232
234
  ),
233
235
  ])
234
236
  },
@@ -252,7 +254,7 @@ export default baseMixins.extend({
252
254
  focused: this.hasState,
253
255
  for: this.computedId,
254
256
  light: this.light,
255
- }, getSlot(this, 'label') || this.label)
257
+ }, () => getSlot(this, 'label') || this.label)
256
258
  },
257
259
  genMessages () {
258
260
  if (!this.showDetails) return null
@@ -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: {
@@ -122,7 +120,7 @@ export default baseMixins.extend({
122
120
  this.$nextTick(() => (this.isActive = !this.isActive))
123
121
  },
124
122
  genIcon (icon: string | false): VNode {
125
- return h(VIcon, icon)
123
+ return h(VIcon, {}, () => icon)
126
124
  },
127
125
  genAppendIcon (): VNode | null {
128
126
  const icon = !this.subGroup ? this.appendIcon : false
@@ -132,7 +130,7 @@ export default baseMixins.extend({
132
130
 
133
131
  return h(VListItemIcon, {
134
132
  class: 'v-list-group__header__append-icon',
135
- }, [
133
+ }, () => [
136
134
  slot || this.genIcon(icon),
137
135
  ])
138
136
  },
@@ -144,28 +142,29 @@ 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
+ }, () => [
151
150
  this.genPrependIcon(),
152
151
  getSlot(this, 'activator'),
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 {
@@ -178,7 +177,7 @@ export default baseMixins.extend({
178
177
 
179
178
  return h(VListItemIcon, {
180
179
  class: 'v-list-group__header__prepend-icon',
181
- }, [
180
+ }, () => [
182
181
  slot || this.genIcon(icon),
183
182
  ])
184
183
  },
@@ -208,10 +207,10 @@ 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
- h(VExpandTransition, this.genItems()),
213
+ h(VExpandTransition, {}, () => this.genItems()),
215
214
  ])
216
215
  },
217
216
  })
@@ -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'
@@ -192,9 +199,19 @@ export default baseMixins.extend({
192
199
  toggle: this.toggle,
193
200
  })
194
201
 
195
- return withDirectives(
196
- h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children),
197
- directives
198
- )
202
+ const nodeData = this.isActive ? this.setTextColor(this.color, data) : data
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
+
211
+ const node = typeof tag === 'string'
212
+ ? h(tag, nodeData, children)
213
+ : h(tag, nodeData, () => children)
214
+
215
+ return withDirectives(node, directives)
199
216
  },
200
217
  })
@@ -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
  })