@dimailn/vuetify 2.7.2-alpha3 → 2.7.2-alpha32

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 (887) hide show
  1. package/dist/vuetify.js +3833 -2062
  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 +39 -9
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +23 -17
  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/VAutocomplete/VAutocomplete.js +11 -7
  12. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  13. package/es5/components/VBadge/VBadge.js +46 -14
  14. package/es5/components/VBadge/VBadge.js.map +1 -1
  15. package/es5/components/VBanner/VBanner.js +51 -15
  16. package/es5/components/VBanner/VBanner.js.map +1 -1
  17. package/es5/components/VBottomNavigation/VBottomNavigation.js +33 -7
  18. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  19. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
  20. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  21. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  22. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  23. package/es5/components/VBtn/VBtn.js +20 -16
  24. package/es5/components/VBtn/VBtn.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendar.js +27 -29
  26. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  27. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  28. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  29. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  30. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  31. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  32. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  33. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  34. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  35. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  36. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  37. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  38. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  39. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  40. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  41. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  42. package/es5/components/VCarousel/VCarousel.js +61 -17
  43. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  44. package/es5/components/VCarousel/VCarouselItem.js +7 -3
  45. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  46. package/es5/components/VCheckbox/VCheckbox.js +34 -1
  47. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  48. package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
  49. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  50. package/es5/components/VChip/VChip.js +15 -6
  51. package/es5/components/VChip/VChip.js.map +1 -1
  52. package/es5/components/VColorPicker/VColorPicker.js +54 -39
  53. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  54. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  55. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  56. package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
  57. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  58. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  59. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  60. package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
  61. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  62. package/es5/components/VCombobox/VCombobox.js +1 -0
  63. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  64. package/es5/components/VData/VData.js +15 -2
  65. package/es5/components/VData/VData.js.map +1 -1
  66. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  67. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  68. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  69. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  70. package/es5/components/VDataTable/RowGroup.js +46 -15
  71. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  72. package/es5/components/VDataTable/VDataTable.js +41 -44
  73. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  74. package/es5/components/VDataTable/VDataTableHeader.js +5 -8
  75. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  76. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  77. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  78. package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
  79. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  80. package/es5/components/VDataTable/VEditDialog.js +26 -22
  81. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  82. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  83. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  84. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  85. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  86. package/es5/components/VDataTable/mixins/header.js +7 -9
  87. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  88. package/es5/components/VDatePicker/VDatePicker.js +39 -32
  89. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  90. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  91. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  92. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  93. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  94. package/es5/components/VDatePicker/VDatePickerTitle.js +44 -10
  95. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  96. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  97. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  98. package/es5/components/VDatePicker/mixins/date-picker-table.js +51 -30
  99. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  100. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  101. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  102. package/es5/components/VDialog/VDialog.js +58 -32
  103. package/es5/components/VDialog/VDialog.js.map +1 -1
  104. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  105. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  106. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  107. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  108. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  109. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  110. package/es5/components/VFileInput/VFileInput.js +50 -27
  111. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  112. package/es5/components/VForm/VForm.js +45 -30
  113. package/es5/components/VForm/VForm.js.map +1 -1
  114. package/es5/components/VGrid/VCol.js +3 -3
  115. package/es5/components/VGrid/VCol.js.map +1 -1
  116. package/es5/components/VGrid/VContainer.js +3 -1
  117. package/es5/components/VGrid/VContainer.js.map +1 -1
  118. package/es5/components/VHover/VHover.js +1 -0
  119. package/es5/components/VHover/VHover.js.map +1 -1
  120. package/es5/components/VImg/VImg.js +10 -8
  121. package/es5/components/VImg/VImg.js.map +1 -1
  122. package/es5/components/VInput/VInput.js +65 -12
  123. package/es5/components/VInput/VInput.js.map +1 -1
  124. package/es5/components/VItemGroup/VItem.js +21 -17
  125. package/es5/components/VItemGroup/VItem.js.map +1 -1
  126. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  127. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  128. package/es5/components/VLazy/VLazy.js +8 -15
  129. package/es5/components/VLazy/VLazy.js.map +1 -1
  130. package/es5/components/VList/VList.js +1 -1
  131. package/es5/components/VList/VList.js.map +1 -1
  132. package/es5/components/VList/VListGroup.js +73 -40
  133. package/es5/components/VList/VListGroup.js.map +1 -1
  134. package/es5/components/VList/VListItem.js +63 -18
  135. package/es5/components/VList/VListItem.js.map +1 -1
  136. package/es5/components/VList/VListItemAction.js +23 -9
  137. package/es5/components/VList/VListItemAction.js.map +1 -1
  138. package/es5/components/VMenu/VMenu.js +57 -31
  139. package/es5/components/VMenu/VMenu.js.map +1 -1
  140. package/es5/components/VMessages/VMessages.js +33 -6
  141. package/es5/components/VMessages/VMessages.js.map +1 -1
  142. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +37 -16
  143. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  144. package/es5/components/VOtpInput/VOtpInput.js +37 -5
  145. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  146. package/es5/components/VOverflowBtn/VOverflowBtn.js +4 -1
  147. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  148. package/es5/components/VOverlay/VOverlay.js +32 -4
  149. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  150. package/es5/components/VPagination/VPagination.js +48 -27
  151. package/es5/components/VPagination/VPagination.js.map +1 -1
  152. package/es5/components/VPicker/VPicker.js +7 -4
  153. package/es5/components/VPicker/VPicker.js.map +1 -1
  154. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  155. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  156. package/es5/components/VProgressLinear/VProgressLinear.js +67 -25
  157. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  158. package/es5/components/VRadioGroup/VRadio.js +11 -2
  159. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  160. package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
  161. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  162. package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
  163. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  164. package/es5/components/VRating/VRating.js +45 -17
  165. package/es5/components/VRating/VRating.js.map +1 -1
  166. package/es5/components/VSelect/VSelect.js +156 -79
  167. package/es5/components/VSelect/VSelect.js.map +1 -1
  168. package/es5/components/VSelect/VSelectList.js +104 -44
  169. package/es5/components/VSelect/VSelectList.js.map +1 -1
  170. package/es5/components/VSlideGroup/VSlideGroup.js +27 -22
  171. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  172. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  173. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  174. package/es5/components/VSlider/VSlider.js +73 -41
  175. package/es5/components/VSlider/VSlider.js.map +1 -1
  176. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  177. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  178. package/es5/components/VSparkline/VSparkline.js +48 -68
  179. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  180. package/es5/components/VSpeedDial/VSpeedDial.js +13 -17
  181. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  182. package/es5/components/VStepper/VStepper.js +1 -0
  183. package/es5/components/VStepper/VStepper.js.map +1 -1
  184. package/es5/components/VStepper/VStepperContent.js +4 -2
  185. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  186. package/es5/components/VStepper/VStepperStep.js +12 -20
  187. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  188. package/es5/components/VSubheader/VSubheader.js +2 -2
  189. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  190. package/es5/components/VSwitch/VSwitch.js +11 -9
  191. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  192. package/es5/components/VTabs/VTab.js +1 -0
  193. package/es5/components/VTabs/VTab.js.map +1 -1
  194. package/es5/components/VTabs/VTabs.js +62 -23
  195. package/es5/components/VTabs/VTabs.js.map +1 -1
  196. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  197. package/es5/components/VTabs/VTabsItems.js +1 -0
  198. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  199. package/es5/components/VTextField/VTextField.js +39 -28
  200. package/es5/components/VTextField/VTextField.js.map +1 -1
  201. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  202. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  203. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  204. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  205. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  206. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  207. package/es5/components/VToolbar/VToolbar.js +3 -6
  208. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  209. package/es5/components/VTooltip/VTooltip.js +13 -12
  210. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  211. package/es5/components/VTreeview/VTreeview.js +24 -18
  212. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  213. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  214. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  215. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  216. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  217. package/es5/components/VWindow/VWindow.js +13 -8
  218. package/es5/components/VWindow/VWindow.js.map +1 -1
  219. package/es5/components/VWindow/VWindowItem.js +10 -10
  220. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  221. package/es5/components/transitions/createTransition.js +8 -2
  222. package/es5/components/transitions/createTransition.js.map +1 -1
  223. package/es5/components/transitions/expand-transition.js +1 -0
  224. package/es5/components/transitions/expand-transition.js.map +1 -1
  225. package/es5/directives/intersect/index.js +20 -7
  226. package/es5/directives/intersect/index.js.map +1 -1
  227. package/es5/directives/mutate/index.js +13 -13
  228. package/es5/directives/mutate/index.js.map +1 -1
  229. package/es5/directives/resize/index.js +8 -8
  230. package/es5/directives/resize/index.js.map +1 -1
  231. package/es5/directives/scroll/index.js +10 -9
  232. package/es5/directives/scroll/index.js.map +1 -1
  233. package/es5/directives/touch/index.js +4 -4
  234. package/es5/directives/touch/index.js.map +1 -1
  235. package/es5/framework.js +1 -1
  236. package/es5/install.js +10 -33
  237. package/es5/install.js.map +1 -1
  238. package/es5/mixins/activatable/index.js +11 -5
  239. package/es5/mixins/activatable/index.js.map +1 -1
  240. package/es5/mixins/applicationable/index.js +4 -4
  241. package/es5/mixins/applicationable/index.js.map +1 -1
  242. package/es5/mixins/binds-attrs/index.js +1 -1
  243. package/es5/mixins/binds-attrs/index.js.map +1 -1
  244. package/es5/mixins/bootable/index.js +1 -2
  245. package/es5/mixins/bootable/index.js.map +1 -1
  246. package/es5/mixins/detachable/index.js +12 -9
  247. package/es5/mixins/detachable/index.js.map +1 -1
  248. package/es5/mixins/groupable/index.js +1 -1
  249. package/es5/mixins/groupable/index.js.map +1 -1
  250. package/es5/mixins/intersectable/index.js +2 -2
  251. package/es5/mixins/intersectable/index.js.map +1 -1
  252. package/es5/mixins/menuable/index.js +1 -1
  253. package/es5/mixins/menuable/index.js.map +1 -1
  254. package/es5/mixins/mouse/index.js +10 -5
  255. package/es5/mixins/mouse/index.js.map +1 -1
  256. package/es5/mixins/overlayable/index.js +5 -3
  257. package/es5/mixins/overlayable/index.js.map +1 -1
  258. package/es5/mixins/picker/index.js +13 -3
  259. package/es5/mixins/picker/index.js.map +1 -1
  260. package/es5/mixins/routable/index.js +5 -2
  261. package/es5/mixins/routable/index.js.map +1 -1
  262. package/es5/mixins/selectable/index.js +5 -5
  263. package/es5/mixins/selectable/index.js.map +1 -1
  264. package/es5/mixins/translatable/index.js +1 -1
  265. package/es5/mixins/translatable/index.js.map +1 -1
  266. package/es5/mixins/validatable/index.js +34 -7
  267. package/es5/mixins/validatable/index.js.map +1 -1
  268. package/es5/services/breakpoint/index.js +3 -1
  269. package/es5/services/breakpoint/index.js.map +1 -1
  270. package/es5/util/console.js +49 -18
  271. package/es5/util/console.js.map +1 -1
  272. package/es5/util/helpers.js +49 -1
  273. package/es5/util/helpers.js.map +1 -1
  274. package/es5/util/legacyEventsMixin.js +48 -0
  275. package/es5/util/legacyEventsMixin.js.map +1 -0
  276. package/lib/components/VAlert/VAlert.js +13 -7
  277. package/lib/components/VAlert/VAlert.js.map +1 -1
  278. package/lib/components/VAppBar/VAppBar.js +23 -16
  279. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  280. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  281. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  282. package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
  283. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  284. package/lib/components/VBadge/VBadge.js +26 -13
  285. package/lib/components/VBadge/VBadge.js.map +1 -1
  286. package/lib/components/VBanner/VBanner.js +20 -13
  287. package/lib/components/VBanner/VBanner.js.map +1 -1
  288. package/lib/components/VBottomNavigation/VBottomNavigation.js +15 -7
  289. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  290. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  291. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  292. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  293. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  294. package/lib/components/VBtn/VBtn.js +21 -20
  295. package/lib/components/VBtn/VBtn.js.map +1 -1
  296. package/lib/components/VCalendar/VCalendar.js +26 -31
  297. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  298. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  299. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  300. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  301. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  302. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  303. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  304. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  305. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  306. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  307. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  308. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  309. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  310. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  311. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  312. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  313. package/lib/components/VCarousel/VCarousel.js +36 -16
  314. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  315. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  316. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  317. package/lib/components/VCheckbox/VCheckbox.js +15 -2
  318. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  319. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  320. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  321. package/lib/components/VChip/VChip.js +15 -6
  322. package/lib/components/VChip/VChip.js.map +1 -1
  323. package/lib/components/VColorPicker/VColorPicker.js +47 -44
  324. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  325. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  326. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  327. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  328. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  329. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  330. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  331. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  332. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  333. package/lib/components/VCombobox/VCombobox.js +1 -0
  334. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  335. package/lib/components/VData/VData.js +16 -2
  336. package/lib/components/VData/VData.js.map +1 -1
  337. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  338. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  339. package/lib/components/VDataIterator/VDataIterator.js +31 -34
  340. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  341. package/lib/components/VDataTable/RowGroup.js +30 -14
  342. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  343. package/lib/components/VDataTable/VDataTable.js +20 -33
  344. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  345. package/lib/components/VDataTable/VDataTableHeader.js +7 -9
  346. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  347. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  348. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  349. package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
  350. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  351. package/lib/components/VDataTable/VEditDialog.js +18 -18
  352. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  353. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  354. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  355. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  356. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  357. package/lib/components/VDataTable/mixins/header.js +3 -8
  358. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  359. package/lib/components/VDatePicker/VDatePicker.js +24 -23
  360. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  361. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  362. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  363. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  364. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  365. package/lib/components/VDatePicker/VDatePickerTitle.js +17 -5
  366. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  367. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  368. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  369. package/lib/components/VDatePicker/mixins/date-picker-table.js +30 -15
  370. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  371. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  372. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  373. package/lib/components/VDialog/VDialog.js +12 -4
  374. package/lib/components/VDialog/VDialog.js.map +1 -1
  375. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  376. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  377. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  378. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  379. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  380. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  381. package/lib/components/VFileInput/VFileInput.js +43 -25
  382. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  383. package/lib/components/VForm/VForm.js +41 -26
  384. package/lib/components/VForm/VForm.js.map +1 -1
  385. package/lib/components/VGrid/VCol.js +3 -3
  386. package/lib/components/VGrid/VCol.js.map +1 -1
  387. package/lib/components/VGrid/VContainer.js +3 -1
  388. package/lib/components/VGrid/VContainer.js.map +1 -1
  389. package/lib/components/VHover/VHover.js +1 -0
  390. package/lib/components/VHover/VHover.js.map +1 -1
  391. package/lib/components/VImg/VImg.js +5 -9
  392. package/lib/components/VImg/VImg.js.map +1 -1
  393. package/lib/components/VInput/VInput.js +32 -9
  394. package/lib/components/VInput/VInput.js.map +1 -1
  395. package/lib/components/VItemGroup/VItem.js +25 -21
  396. package/lib/components/VItemGroup/VItem.js.map +1 -1
  397. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  398. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  399. package/lib/components/VLazy/VLazy.js +8 -15
  400. package/lib/components/VLazy/VLazy.js.map +1 -1
  401. package/lib/components/VList/VList.js +1 -1
  402. package/lib/components/VList/VList.js.map +1 -1
  403. package/lib/components/VList/VListGroup.js +34 -32
  404. package/lib/components/VList/VListGroup.js.map +1 -1
  405. package/lib/components/VList/VListItem.js +40 -18
  406. package/lib/components/VList/VListItem.js.map +1 -1
  407. package/lib/components/VList/VListItemAction.js +15 -9
  408. package/lib/components/VList/VListItemAction.js.map +1 -1
  409. package/lib/components/VMenu/VMenu.js +16 -4
  410. package/lib/components/VMenu/VMenu.js.map +1 -1
  411. package/lib/components/VMessages/VMessages.js +13 -2
  412. package/lib/components/VMessages/VMessages.js.map +1 -1
  413. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +12 -8
  414. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  415. package/lib/components/VOtpInput/VOtpInput.js +50 -6
  416. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  417. package/lib/components/VOverflowBtn/VOverflowBtn.js +2 -1
  418. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  419. package/lib/components/VOverlay/VOverlay.js +14 -3
  420. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  421. package/lib/components/VPagination/VPagination.js +28 -23
  422. package/lib/components/VPagination/VPagination.js.map +1 -1
  423. package/lib/components/VPicker/VPicker.js +4 -4
  424. package/lib/components/VPicker/VPicker.js.map +1 -1
  425. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  426. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  427. package/lib/components/VProgressLinear/VProgressLinear.js +46 -19
  428. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  429. package/lib/components/VRadioGroup/VRadio.js +3 -2
  430. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  431. package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
  432. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  433. package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
  434. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  435. package/lib/components/VRating/VRating.js +11 -0
  436. package/lib/components/VRating/VRating.js.map +1 -1
  437. package/lib/components/VSelect/VSelect.js +99 -40
  438. package/lib/components/VSelect/VSelect.js.map +1 -1
  439. package/lib/components/VSelect/VSelectList.js +54 -29
  440. package/lib/components/VSelect/VSelectList.js.map +1 -1
  441. package/lib/components/VSlideGroup/VSlideGroup.js +4 -7
  442. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  443. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  444. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  445. package/lib/components/VSlider/VSlider.js +37 -25
  446. package/lib/components/VSlider/VSlider.js.map +1 -1
  447. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  448. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  449. package/lib/components/VSparkline/VSparkline.js +48 -67
  450. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  451. package/lib/components/VSpeedDial/VSpeedDial.js +9 -15
  452. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  453. package/lib/components/VStepper/VStepper.js +1 -0
  454. package/lib/components/VStepper/VStepper.js.map +1 -1
  455. package/lib/components/VStepper/VStepperContent.js +2 -2
  456. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  457. package/lib/components/VStepper/VStepperStep.js +8 -19
  458. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  459. package/lib/components/VSubheader/VSubheader.js +1 -2
  460. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  461. package/lib/components/VSwitch/VSwitch.js +2 -4
  462. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  463. package/lib/components/VTabs/VTab.js +1 -0
  464. package/lib/components/VTabs/VTab.js.map +1 -1
  465. package/lib/components/VTabs/VTabs.js +28 -7
  466. package/lib/components/VTabs/VTabs.js.map +1 -1
  467. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  468. package/lib/components/VTabs/VTabsItems.js +1 -0
  469. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  470. package/lib/components/VTextField/VTextField.js +12 -18
  471. package/lib/components/VTextField/VTextField.js.map +1 -1
  472. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  473. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  474. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  475. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  476. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  477. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  478. package/lib/components/VToolbar/VToolbar.js +5 -6
  479. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  480. package/lib/components/VTooltip/VTooltip.js +10 -14
  481. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  482. package/lib/components/VTreeview/VTreeview.js +15 -13
  483. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  484. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  485. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  486. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  487. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  488. package/lib/components/VWindow/VWindow.js +7 -6
  489. package/lib/components/VWindow/VWindow.js.map +1 -1
  490. package/lib/components/VWindow/VWindowItem.js +5 -7
  491. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  492. package/lib/components/transitions/createTransition.js +2 -2
  493. package/lib/components/transitions/createTransition.js.map +1 -1
  494. package/lib/components/transitions/expand-transition.js +1 -0
  495. package/lib/components/transitions/expand-transition.js.map +1 -1
  496. package/lib/directives/intersect/index.js +20 -7
  497. package/lib/directives/intersect/index.js.map +1 -1
  498. package/lib/directives/mutate/index.js +13 -13
  499. package/lib/directives/mutate/index.js.map +1 -1
  500. package/lib/directives/resize/index.js +8 -8
  501. package/lib/directives/resize/index.js.map +1 -1
  502. package/lib/directives/scroll/index.js +10 -9
  503. package/lib/directives/scroll/index.js.map +1 -1
  504. package/lib/directives/touch/index.js +4 -4
  505. package/lib/directives/touch/index.js.map +1 -1
  506. package/lib/framework.js +1 -1
  507. package/lib/install.js +5 -28
  508. package/lib/install.js.map +1 -1
  509. package/lib/mixins/activatable/index.js +12 -6
  510. package/lib/mixins/activatable/index.js.map +1 -1
  511. package/lib/mixins/applicationable/index.js +4 -4
  512. package/lib/mixins/applicationable/index.js.map +1 -1
  513. package/lib/mixins/binds-attrs/index.js +1 -1
  514. package/lib/mixins/binds-attrs/index.js.map +1 -1
  515. package/lib/mixins/bootable/index.js +2 -4
  516. package/lib/mixins/bootable/index.js.map +1 -1
  517. package/lib/mixins/detachable/index.js +13 -10
  518. package/lib/mixins/detachable/index.js.map +1 -1
  519. package/lib/mixins/groupable/index.js +1 -1
  520. package/lib/mixins/groupable/index.js.map +1 -1
  521. package/lib/mixins/intersectable/index.js +2 -2
  522. package/lib/mixins/intersectable/index.js.map +1 -1
  523. package/lib/mixins/menuable/index.js +1 -1
  524. package/lib/mixins/menuable/index.js.map +1 -1
  525. package/lib/mixins/mouse/index.js +9 -5
  526. package/lib/mixins/mouse/index.js.map +1 -1
  527. package/lib/mixins/overlayable/index.js +5 -3
  528. package/lib/mixins/overlayable/index.js.map +1 -1
  529. package/lib/mixins/picker/index.js +5 -3
  530. package/lib/mixins/picker/index.js.map +1 -1
  531. package/lib/mixins/routable/index.js +5 -2
  532. package/lib/mixins/routable/index.js.map +1 -1
  533. package/lib/mixins/selectable/index.js +6 -5
  534. package/lib/mixins/selectable/index.js.map +1 -1
  535. package/lib/mixins/translatable/index.js +1 -1
  536. package/lib/mixins/translatable/index.js.map +1 -1
  537. package/lib/mixins/validatable/index.js +17 -7
  538. package/lib/mixins/validatable/index.js.map +1 -1
  539. package/lib/services/breakpoint/index.js +3 -1
  540. package/lib/services/breakpoint/index.js.map +1 -1
  541. package/lib/util/console.js +47 -17
  542. package/lib/util/console.js.map +1 -1
  543. package/lib/util/helpers.js +47 -1
  544. package/lib/util/helpers.js.map +1 -1
  545. package/lib/util/legacyEventsMixin.js +37 -0
  546. package/lib/util/legacyEventsMixin.js.map +1 -0
  547. package/package.json +1 -1
  548. package/src/components/VAlert/VAlert.ts +19 -8
  549. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  550. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
  551. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  552. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  553. package/src/components/VAppBar/VAppBar.ts +21 -14
  554. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  555. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  556. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  557. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  558. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  559. package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
  560. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
  561. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
  562. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
  563. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  564. package/src/components/VBadge/VBadge.ts +38 -26
  565. package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
  566. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  567. package/src/components/VBanner/VBanner.ts +30 -17
  568. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  569. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  570. package/src/components/VBottomNavigation/VBottomNavigation.ts +20 -8
  571. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
  572. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +11 -10
  573. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
  574. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
  575. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
  576. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
  577. package/src/components/VBtn/VBtn.ts +25 -17
  578. package/src/components/VBtn/__tests__/VBtn.spec.ts +257 -242
  579. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  580. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
  581. package/src/components/VCalendar/VCalendar.ts +29 -27
  582. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  583. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  584. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  585. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  586. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  587. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  588. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  589. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  590. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  591. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  592. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  593. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  594. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  595. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  596. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  597. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  598. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  599. package/src/components/VCalendar/mixins/times.ts +1 -1
  600. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  601. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  602. package/src/components/VCarousel/VCarousel.ts +42 -15
  603. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  604. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
  605. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
  606. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  607. package/src/components/VCheckbox/VCheckbox.ts +20 -2
  608. package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
  609. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  610. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  611. package/src/components/VChip/VChip.ts +17 -13
  612. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  613. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  614. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  615. package/src/components/VColorPicker/VColorPicker.ts +51 -41
  616. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  617. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  618. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  619. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  620. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  621. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  622. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  623. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  624. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +218 -175
  625. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +38 -21
  626. package/src/components/VCombobox/VCombobox.ts +23 -0
  627. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
  628. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
  629. package/src/components/VData/VData.ts +14 -1
  630. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  631. package/src/components/VDataIterator/VDataFooter.ts +16 -9
  632. package/src/components/VDataIterator/VDataIterator.ts +51 -35
  633. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  634. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  635. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
  636. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
  637. package/src/components/VDataTable/RowGroup.ts +33 -16
  638. package/src/components/VDataTable/VDataTable.ts +20 -29
  639. package/src/components/VDataTable/VDataTableHeader.ts +8 -9
  640. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
  641. package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
  642. package/src/components/VDataTable/VEditDialog.ts +23 -21
  643. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  644. package/src/components/VDataTable/VVirtualTable.ts +2 -3
  645. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  646. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  647. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  648. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
  649. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
  650. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +33 -24
  651. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
  652. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  653. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  654. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
  655. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
  656. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  657. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  658. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +10 -13
  659. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
  660. package/src/components/VDataTable/mixins/header.ts +6 -10
  661. package/src/components/VDatePicker/VDatePicker.ts +30 -25
  662. package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
  663. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  664. package/src/components/VDatePicker/VDatePickerTitle.ts +21 -7
  665. package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
  666. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  667. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  668. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  669. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  670. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  671. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  672. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  673. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  674. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  675. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  676. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  677. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  678. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  679. package/src/components/VDatePicker/mixins/date-picker-table.ts +32 -14
  680. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  681. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  682. package/src/components/VDialog/VDialog.ts +23 -11
  683. package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
  684. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  685. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  686. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  687. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  688. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +2 -2
  689. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +3 -4
  690. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +43 -27
  691. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +18 -16
  692. package/src/components/VFileInput/VFileInput.ts +47 -32
  693. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
  694. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  695. package/src/components/VForm/VForm.ts +63 -35
  696. package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
  697. package/src/components/VGrid/VCol.ts +2 -2
  698. package/src/components/VGrid/VContainer.ts +1 -1
  699. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  700. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  701. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  702. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  703. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  704. package/src/components/VHover/VHover.ts +2 -0
  705. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  706. package/src/components/VImg/VImg.ts +5 -4
  707. package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
  708. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  709. package/src/components/VInput/VInput.ts +33 -8
  710. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  711. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  712. package/src/components/VItemGroup/VItem.ts +30 -24
  713. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  714. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  715. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  716. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  717. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  718. package/src/components/VLazy/VLazy.ts +11 -13
  719. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  720. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  721. package/src/components/VList/VList.ts +1 -1
  722. package/src/components/VList/VListGroup.ts +43 -32
  723. package/src/components/VList/VListItem.ts +55 -23
  724. package/src/components/VList/VListItemAction.ts +11 -10
  725. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  726. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  727. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  728. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  729. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  730. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  731. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  732. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  733. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  734. package/src/components/VMenu/VMenu.ts +25 -4
  735. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  736. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  737. package/src/components/VMessages/VMessages.ts +15 -4
  738. package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
  739. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  740. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +23 -16
  741. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
  742. package/src/components/VOtpInput/VOtpInput.ts +39 -4
  743. package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
  744. package/src/components/VOverlay/VOverlay.ts +16 -2
  745. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  746. package/src/components/VPagination/VPagination.ts +41 -29
  747. package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
  748. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +184 -429
  749. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  750. package/src/components/VPicker/VPicker.ts +9 -11
  751. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  752. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  753. package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
  754. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  755. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  756. package/src/components/VProgressLinear/VProgressLinear.ts +64 -30
  757. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +378 -71
  758. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  759. package/src/components/VRadioGroup/VRadio.ts +4 -2
  760. package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
  761. package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
  762. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
  763. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  764. package/src/components/VRating/VRating.ts +13 -0
  765. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  766. package/src/components/VSelect/VSelect.ts +105 -47
  767. package/src/components/VSelect/VSelectList.ts +51 -25
  768. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  769. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  770. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  771. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  772. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  773. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  774. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  775. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  776. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  777. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  778. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  779. package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
  780. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  781. package/src/components/VSlider/VSlider.ts +58 -32
  782. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  783. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  784. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  785. package/src/components/VSparkline/VSparkline.ts +54 -92
  786. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  787. package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
  788. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  789. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  790. package/src/components/VStepper/VStepper.ts +3 -1
  791. package/src/components/VStepper/VStepperContent.ts +2 -2
  792. package/src/components/VStepper/VStepperStep.ts +9 -16
  793. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  794. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  795. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  796. package/src/components/VSubheader/VSubheader.ts +1 -1
  797. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
  798. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  799. package/src/components/VSwitch/VSwitch.ts +5 -6
  800. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  801. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
  802. package/src/components/VTabs/VTab.ts +2 -0
  803. package/src/components/VTabs/VTabs.ts +33 -13
  804. package/src/components/VTabs/VTabsBar.ts +7 -5
  805. package/src/components/VTabs/VTabsItems.ts +2 -0
  806. package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
  807. package/src/components/VTabs/__tests__/VTabs.spec.ts +127 -79
  808. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
  809. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  810. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  811. package/src/components/VTextField/VTextField.ts +14 -16
  812. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  813. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  814. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  815. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  816. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  817. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  818. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  819. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  820. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  821. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
  822. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +4 -5
  823. package/src/components/VToolbar/VToolbar.ts +5 -6
  824. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  825. package/src/components/VTooltip/VTooltip.ts +24 -24
  826. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +60 -75
  827. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  828. package/src/components/VTreeview/VTreeview.ts +20 -17
  829. package/src/components/VTreeview/VTreeviewNode.ts +4 -6
  830. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
  831. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +77 -66
  832. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
  833. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +26 -51
  834. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
  835. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
  836. package/src/components/VWindow/VWindow.ts +9 -6
  837. package/src/components/VWindow/VWindowItem.ts +5 -4
  838. package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
  839. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
  840. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  841. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  842. package/src/components/transitions/createTransition.ts +2 -2
  843. package/src/components/transitions/expand-transition.ts +2 -0
  844. package/src/directives/intersect/index.ts +81 -42
  845. package/src/directives/mutate/index.ts +58 -49
  846. package/src/directives/resize/index.ts +33 -14
  847. package/src/directives/scroll/index.ts +36 -20
  848. package/src/directives/touch/index.ts +37 -27
  849. package/src/install.ts +10 -32
  850. package/src/mixins/activatable/index.ts +10 -5
  851. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  852. package/src/mixins/applicationable/index.ts +4 -4
  853. package/src/mixins/binds-attrs/index.ts +1 -1
  854. package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
  855. package/src/mixins/bootable/index.ts +4 -3
  856. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  857. package/src/mixins/detachable/index.ts +16 -9
  858. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  859. package/src/mixins/groupable/index.ts +1 -1
  860. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  861. package/src/mixins/intersectable/index.ts +2 -2
  862. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  863. package/src/mixins/menuable/index.ts +1 -1
  864. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  865. package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
  866. package/src/mixins/mouse/index.ts +10 -6
  867. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  868. package/src/mixins/overlayable/index.ts +5 -4
  869. package/src/mixins/picker/index.ts +4 -4
  870. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  871. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  872. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  873. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  874. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  875. package/src/mixins/routable/index.ts +6 -4
  876. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  877. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  878. package/src/mixins/selectable/index.ts +7 -7
  879. package/src/mixins/translatable/index.ts +1 -1
  880. package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
  881. package/src/mixins/validatable/index.ts +29 -21
  882. package/src/services/breakpoint/index.ts +5 -0
  883. package/src/util/__tests__/console.spec.ts +124 -11
  884. package/src/util/__tests__/helpers.spec.ts +121 -32
  885. package/src/util/console.ts +43 -24
  886. package/src/util/helpers.ts +49 -4
  887. package/src/util/legacyEventsMixin.ts +34 -0
@@ -21,6 +21,7 @@ const baseMixins = mixins(BindsAttrs, Colorable, Rippleable, GroupableFactory('r
21
21
  export default baseMixins.extend({
22
22
  name: 'v-radio',
23
23
  inheritAttrs: false,
24
+ emits: ['change', 'focus', 'blur'],
24
25
  props: {
25
26
  disabled: {
26
27
  type: Boolean,
@@ -122,7 +123,7 @@ export default baseMixins.extend({
122
123
  for: this.computedId,
123
124
  color: this.validationState,
124
125
  focused: this.hasState
125
- }, getSlot(this, 'label') || this.label);
126
+ }, () => getSlot(this, 'label') || this.label);
126
127
  },
127
128
 
128
129
  genRadio() {
@@ -134,7 +135,7 @@ export default baseMixins.extend({
134
135
  class: 'v-input--selection-controls__input'
135
136
  }, [h(VIcon, this.setTextColor(this.validationState, {
136
137
  dense: this.radioGroup && this.radioGroup.dense
137
- }), this.computedIcon), this.genInput({
138
+ }), () => this.computedIcon), this.genInput({
138
139
  name: this.computedName,
139
140
  value: this.value,
140
141
  ...radioAttrs
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRadioGroup/VRadio.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: {\n type: Boolean,\n default: null,\n },\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.computed.computedId.call(this)\n },\n hasLabel: VInput.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup.$.uid}`\n },\n rippleState (): string | undefined {\n return Selectable.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n // Label shouldn't cause the input to focus\n onClick: prevent,\n for: this.computedId,\n color: this.validationState,\n focused: this.hasState,\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n h(VIcon, this.setTextColor(this.validationState, {\n dense: this.radioGroup && this.radioGroup.dense,\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (): VNode {\n const data: VNodeData = {\n class: ['v-radio', this.classes],\n ...mergeListeners({\n onClick: this.onChange,\n }, this.listeners$),\n title: this.attrs$.title\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VRadio.js"}
1
+ {"version":3,"sources":["../../../src/components/VRadioGroup/VRadio.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n emits: ['change', 'focus', 'blur'],\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: {\n type: Boolean,\n default: null,\n },\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.computed.computedId.call(this)\n },\n hasLabel: VInput.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup.$.uid}`\n },\n rippleState (): string | undefined {\n return Selectable.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n // Label shouldn't cause the input to focus\n onClick: prevent,\n for: this.computedId,\n color: this.validationState,\n focused: this.hasState,\n }, () => getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n h(VIcon, this.setTextColor(this.validationState, {\n dense: this.radioGroup && this.radioGroup.dense,\n }), () => this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (): VNode {\n const data: VNodeData = {\n class: ['v-radio', this.classes],\n ...mergeListeners({\n onClick: this.onChange,\n }, this.listeners$),\n title: this.attrs$.title\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VRadio.js"}
@@ -3,10 +3,11 @@ import "../../../src/styles/components/_selection-controls.sass";
3
3
  import "../../../src/components/VRadioGroup/VRadioGroup.sass"; // Extensions
4
4
 
5
5
  import VInput from '../VInput';
6
- import { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Types
6
+ import { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Utilities
7
7
 
8
+ import { mergeProps, h } from 'vue';
8
9
  import mixins from '../../util/mixins';
9
- import { h } from 'vue';
10
+ import { breaking } from '../../util/console';
10
11
  const baseMixins = mixins(VInput, BaseItemGroup);
11
12
  /* @vue/component */
12
13
 
@@ -45,6 +46,16 @@ export default baseMixins.extend({
45
46
  }
46
47
 
47
48
  },
49
+
50
+ created() {
51
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
52
+ /* istanbul ignore next */
53
+
54
+ breakingProps.forEach(([original, replacement]) => {
55
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
56
+ });
57
+ },
58
+
48
59
  methods: {
49
60
  genDefaultSlot() {
50
61
  return h('div', {
@@ -76,9 +87,7 @@ export default baseMixins.extend({
76
87
 
77
88
  render() {
78
89
  const vnode = VInput.render.call(this);
79
- vnode.props = { ...vnode.props,
80
- ...this.attrs$
81
- };
90
+ vnode.props = mergeProps(vnode.props, this.attrs$);
82
91
  return vnode;
83
92
  }
84
93
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,yDAAP;AACA,OAAO,sDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,WAAnB;AACA,SAAS,aAAT,QAA8B,0BAA9B,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAEA,SAAQ,CAAR,QAAgB,KAAhB;AAEA,MAAM,UAAU,GAAG,MAAM,CACvB,MADuB,EAEvB,aAFuB,CAAzB;AAKA;;AACA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,eADyB;;AAG/B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD,GAP8B;;AAS/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KALH;AASL,IAAA,IAAI,EAAE,MATD;AAUL,IAAA,GAAG,EAAE,OAVA;AAWL;AACA;AACA;AACA,IAAA,UAAU,EAAE;AAdP,GATwB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADE;AAEL,4DAAoD,IAF/C;AAGL,wCAAgC,KAAK,MAAL,IAAe,CAAC,KAAK,GAHhD;AAIL,qCAA6B,KAAK;AAJ7B,OAAP;AAMD;;AARO,GA1BqB;AAqC/B,EAAA,OAAO,EAAE;AACP,IAAA,cAAc,GAAA;AACZ,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,6BADO;AAEd,QAAA,EAAE,EAAE,KAAK,EAFK;AAGd,QAAA,IAAI,EAAE,YAHQ;AAId,2BAAmB,KAAK;AAJV,OAAR,EAKL,MAAM,CAAC,OAAP,CAAe,cAAf,CAA8B,IAA9B,CAAmC,IAAnC,CALK,CAAR;AAMD,KARM;;AASP,IAAA,YAAY,GAAA;AACV,YAAM,MAAM,GAAG,MAAM,CAAC,OAAP,CAAe,YAAf,CAA4B,IAA5B,CAAiC,IAAjC,CAAf;AAEA,aAAO,MAAM,CAAC,KAAP,CAAc,OAArB;AAEA,aAAO,MAAP;AACD,KAfM;;AAgBP,IAAA,QAAQ,GAAA;AACN,YAAM,KAAK,GAAG,MAAM,CAAC,OAAP,CAAe,QAAf,CAAwB,IAAxB,CAA6B,IAA7B,CAAd;AAEA,UAAI,CAAC,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAA,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,EAAnB,GAAwB,KAAK,UAA7B,CALM,CAMN;;AACA,aAAO,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,GAA1B;AACA,MAAA,KAAK,CAAC,GAAN,GAAY,QAAZ;AAEA,aAAO,KAAP;AACD,KA3BM;;AA4BP,IAAA,OAAO,EAAE,aAAa,CAAC,OAAd,CAAsB;AA5BxB,GArCsB;;AAoE/B,EAAA,MAAM,GAAA;AACJ,UAAM,KAAK,GAAG,MAAM,CAAC,MAAP,CAAc,IAAd,CAAmB,IAAnB,CAAd;AAEA,IAAA,KAAK,CAAC,KAAN,GAAc,EACZ,GAAG,KAAK,CAAC,KADG;AAEZ,SAAG,KAAK;AAFI,KAAd;AAKA,WAAO,KAAP;AACD;;AA7E8B,CAAlB,CAAf","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\nimport {h} from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n BaseItemGroup,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n modelValue: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return h('div', {\n class: 'v-input--radio-group__input',\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n }, VInput.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.methods.genInputSlot.call(this)\n\n delete render.props!.onClick\n\n return render\n },\n genLabel () {\n const label = VInput.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.methods.onClick,\n },\n\n render () {\n const vnode = VInput.render.call(this)\n\n vnode.props = {\n ...vnode.props,\n ...this.attrs$\n }\n\n return vnode\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Utilities\nimport { mergeProps, h } from 'vue'\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n BaseItemGroup,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n modelValue: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genDefaultSlot () {\n return h('div', {\n class: 'v-input--radio-group__input',\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n }, VInput.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.methods.genInputSlot.call(this)\n\n delete render.props!.onClick\n\n return render\n },\n genLabel () {\n const label = VInput.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.methods.onClick,\n },\n\n render () {\n const vnode = VInput.render.call(this)\n\n vnode.props = mergeProps(vnode.props, this.attrs$);\n\n return vnode\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
@@ -4,23 +4,25 @@ import "../../../src/components/VRangeSlider/VRangeSlider.sass"; // Components
4
4
  import VSlider from '../VSlider'; // Helpers
5
5
 
6
6
  import { addOnceEventListener, createRange, deepEqual, passiveSupported } from '../../util/helpers';
7
- import { defineComponent } from 'vue';
7
+ import { breaking } from '../../util/console';
8
+ import { defineComponent, h } from 'vue';
8
9
  /* @vue/component */
9
10
 
10
11
  export default defineComponent({
11
12
  name: 'v-range-slider',
12
13
  extends: VSlider,
13
14
  props: {
14
- value: {
15
+ modelValue: {
15
16
  type: Array,
16
17
  default: () => [0, 0]
17
18
  }
18
19
  },
20
+ emits: ['update:modelValue', 'focus', 'blur', 'start', 'change'],
19
21
 
20
22
  data() {
21
23
  return {
22
24
  activeThumb: null,
23
- lazyValue: this.value
25
+ lazyValue: this.modelValue
24
26
  };
25
27
  },
26
28
 
@@ -53,7 +55,7 @@ export default defineComponent({
53
55
  }
54
56
 
55
57
  this.lazyValue = value;
56
- if (!deepEqual(value, this.value)) this.$emit('input', value);
58
+ if (!deepEqual(value, this.modelValue)) this.$emit('update:modelValue', value);
57
59
  this.validate();
58
60
  }
59
61
 
@@ -64,6 +66,16 @@ export default defineComponent({
64
66
  }
65
67
 
66
68
  },
69
+
70
+ created() {
71
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
72
+ /* istanbul ignore next */
73
+
74
+ breakingProps.forEach(([original, replacement]) => {
75
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
76
+ });
77
+ },
78
+
67
79
  methods: {
68
80
  getTrackStyle(startLength, endLength, startPadding = 0, endPadding = 0) {
69
81
  const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left';
@@ -87,7 +99,7 @@ export default defineComponent({
87
99
  input.data = input.data || {};
88
100
  input.data.attrs = input.data.attrs || {};
89
101
  input.data.attrs.value = this.internalValue[i];
90
- input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`;
102
+ input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this.$.uid}`;
91
103
  return input;
92
104
  });
93
105
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-range-slider',\n extends: VSlider,\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => h('div', this.setBackgroundColor(section.color, {\n class: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
1
+ {"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-range-slider',\n extends: VSlider,\n\n props: {\n modelValue: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n emits: ['update:modelValue', 'focus', 'blur', 'start', 'change'],\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.modelValue,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.modelValue)) this.$emit('update:modelValue', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this.$.uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => h('div', this.setBackgroundColor(section.color, {\n class: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
@@ -13,6 +13,7 @@ import Ripple from '../../directives/ripple'; // Utilities
13
13
 
14
14
  import { createRange } from '../../util/helpers';
15
15
  import mixins from '../../util/mixins';
16
+ import { breaking } from '../../util/console';
16
17
  /* @vue/component */
17
18
 
18
19
  export default mixins(Colorable, Delayable, Rippleable, Sizeable, Themeable).extend({
@@ -102,6 +103,16 @@ export default mixins(Colorable, Delayable, Rippleable, Sizeable, Themeable).ext
102
103
  }
103
104
 
104
105
  },
106
+
107
+ created() {
108
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
109
+ /* istanbul ignore next */
110
+
111
+ breakingProps.forEach(([original, replacement]) => {
112
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
113
+ });
114
+ },
115
+
105
116
  watch: {
106
117
  internalValue(val) {
107
118
  val !== this.modelValue && this.$emit('update:modelValue', val);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n modelValue: {\n type: Number,\n default: 0,\n },\n iconLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.icon',\n },\n },\n\n emits: ['update:modelValue'],\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.modelValue,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n return [\n [\n Ripple,\n { circle: true, isDirActive: !this.readonly && this.ripple }\n ]\n ]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.modelValue && this.$emit('update:modelValue', val)\n },\n modelValue (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n onClick: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n\n if (\n this.halfIncrements &&\n this.$vuetify.rtl\n ) {\n isHalf = !isHalf\n }\n\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$slots.item) return this.$slots.item(props)\n\n const listeners: Record<string, Function> = {\n onClick: props.onClick,\n }\n\n if (this.hover) {\n listeners.onMouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.onMouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.onMousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return withDirectives(h(VIcon, this.setTextColor(this.getColor(props), {\n 'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n ...this.iconProps,\n ...listeners,\n }), {default: () => [this.getIconName(props)]}), this.directives)\n },\n },\n\n render (): VNode {\n // const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n class: ['v-rating',\n {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n }\n ]\n }, {default: () => createRange(Number(this.length)).map(i => this.genItem(i)) })\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
1
+ {"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n modelValue: {\n type: Number,\n default: 0,\n },\n iconLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.icon',\n },\n },\n\n emits: ['update:modelValue'],\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.modelValue,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n return [\n [\n Ripple,\n { circle: true, isDirActive: !this.readonly && this.ripple }\n ]\n ]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n watch: {\n internalValue (val) {\n val !== this.modelValue && this.$emit('update:modelValue', val)\n },\n modelValue (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n onClick: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n\n if (\n this.halfIncrements &&\n this.$vuetify.rtl\n ) {\n isHalf = !isHalf\n }\n\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$slots.item) return this.$slots.item(props)\n\n const listeners: Record<string, Function> = {\n onClick: props.onClick,\n }\n\n if (this.hover) {\n listeners.onMouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.onMouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.onMousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return withDirectives(h(VIcon, this.setTextColor(this.getColor(props), {\n 'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n ...this.iconProps,\n ...listeners,\n }), {default: () => [this.getIconName(props)]}), this.directives)\n },\n },\n\n render (): VNode {\n // const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n class: ['v-rating',\n {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n }\n ]\n }, {default: () => createRange(Number(this.length)).map(i => this.genItem(i)) })\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}