@dimailn/vuetify 2.7.2-alpha4 → 2.7.2-alpha40

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 (1034) hide show
  1. package/dist/vuetify.js +4383 -2392
  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 +36 -14
  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 +36 -40
  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 +40 -9
  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 +16 -7
  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/VContent/VContent.js +25 -6
  65. package/es5/components/VContent/VContent.js.map +1 -1
  66. package/es5/components/VCounter/VCounter.js.map +1 -1
  67. package/es5/components/VData/VData.js +15 -2
  68. package/es5/components/VData/VData.js.map +1 -1
  69. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  70. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  71. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  72. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  73. package/es5/components/VDataTable/RowGroup.js +46 -15
  74. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  75. package/es5/components/VDataTable/VDataTable.js +41 -44
  76. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  77. package/es5/components/VDataTable/VDataTableHeader.js +5 -8
  78. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  79. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  80. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  81. package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
  82. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  83. package/es5/components/VDataTable/VEditDialog.js +26 -22
  84. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  85. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  86. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  87. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  88. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  89. package/es5/components/VDataTable/mixins/header.js +7 -9
  90. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  91. package/es5/components/VDatePicker/VDatePicker.js +51 -36
  92. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  93. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  94. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  95. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  96. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  97. package/es5/components/VDatePicker/VDatePickerTitle.js +61 -16
  98. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  99. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  100. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  101. package/es5/components/VDatePicker/mixins/date-picker-table.js +52 -31
  102. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  103. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  104. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  105. package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
  106. package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
  107. package/es5/components/VDialog/VDialog.js +59 -33
  108. package/es5/components/VDialog/VDialog.js.map +1 -1
  109. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  110. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  111. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  112. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  113. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  114. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  115. package/es5/components/VFileInput/VFileInput.js +50 -27
  116. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  117. package/es5/components/VFooter/VFooter.js +1 -1
  118. package/es5/components/VFooter/VFooter.js.map +1 -1
  119. package/es5/components/VForm/VForm.js +45 -30
  120. package/es5/components/VForm/VForm.js.map +1 -1
  121. package/es5/components/VGrid/VCol.js +6 -4
  122. package/es5/components/VGrid/VCol.js.map +1 -1
  123. package/es5/components/VGrid/VContainer.js +27 -10
  124. package/es5/components/VGrid/VContainer.js.map +1 -1
  125. package/es5/components/VGrid/VRow.js +1 -1
  126. package/es5/components/VGrid/VRow.js.map +1 -1
  127. package/es5/components/VGrid/grid.js +35 -15
  128. package/es5/components/VGrid/grid.js.map +1 -1
  129. package/es5/components/VHover/VHover.js +24 -17
  130. package/es5/components/VHover/VHover.js.map +1 -1
  131. package/es5/components/VIcon/VIcon.js +77 -53
  132. package/es5/components/VIcon/VIcon.js.map +1 -1
  133. package/es5/components/VImg/VImg.js +10 -8
  134. package/es5/components/VImg/VImg.js.map +1 -1
  135. package/es5/components/VInput/VInput.js +65 -12
  136. package/es5/components/VInput/VInput.js.map +1 -1
  137. package/es5/components/VItemGroup/VItem.js +21 -17
  138. package/es5/components/VItemGroup/VItem.js.map +1 -1
  139. package/es5/components/VItemGroup/VItemGroup.js +11 -2
  140. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  141. package/es5/components/VLabel/VLabel.js +3 -1
  142. package/es5/components/VLabel/VLabel.js.map +1 -1
  143. package/es5/components/VLazy/VLazy.js +8 -15
  144. package/es5/components/VLazy/VLazy.js.map +1 -1
  145. package/es5/components/VList/VList.js +2 -2
  146. package/es5/components/VList/VList.js.map +1 -1
  147. package/es5/components/VList/VListGroup.js +73 -40
  148. package/es5/components/VList/VListGroup.js.map +1 -1
  149. package/es5/components/VList/VListItem.js +63 -18
  150. package/es5/components/VList/VListItem.js.map +1 -1
  151. package/es5/components/VList/VListItemAction.js +23 -9
  152. package/es5/components/VList/VListItemAction.js.map +1 -1
  153. package/es5/components/VList/VListItemIcon.js +3 -1
  154. package/es5/components/VList/VListItemIcon.js.map +1 -1
  155. package/es5/components/VMain/VMain.js +1 -1
  156. package/es5/components/VMain/VMain.js.map +1 -1
  157. package/es5/components/VMenu/VMenu.js +62 -32
  158. package/es5/components/VMenu/VMenu.js.map +1 -1
  159. package/es5/components/VMessages/VMessages.js +33 -6
  160. package/es5/components/VMessages/VMessages.js.map +1 -1
  161. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +41 -19
  162. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  163. package/es5/components/VOtpInput/VOtpInput.js +87 -34
  164. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  165. package/es5/components/VOverflowBtn/VOverflowBtn.js +18 -14
  166. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  167. package/es5/components/VOverlay/VOverlay.js +31 -3
  168. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  169. package/es5/components/VPagination/VPagination.js +48 -27
  170. package/es5/components/VPagination/VPagination.js.map +1 -1
  171. package/es5/components/VPicker/VPicker.js +7 -4
  172. package/es5/components/VPicker/VPicker.js.map +1 -1
  173. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  174. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  175. package/es5/components/VProgressLinear/VProgressLinear.js +51 -30
  176. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  177. package/es5/components/VRadioGroup/VRadio.js +11 -2
  178. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  179. package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
  180. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  181. package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
  182. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  183. package/es5/components/VRating/VRating.js +45 -17
  184. package/es5/components/VRating/VRating.js.map +1 -1
  185. package/es5/components/VSelect/VSelect.js +161 -81
  186. package/es5/components/VSelect/VSelect.js.map +1 -1
  187. package/es5/components/VSelect/VSelectList.js +109 -44
  188. package/es5/components/VSelect/VSelectList.js.map +1 -1
  189. package/es5/components/VSheet/VSheet.js +3 -1
  190. package/es5/components/VSheet/VSheet.js.map +1 -1
  191. package/es5/components/VSlideGroup/VSlideGroup.js +40 -28
  192. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  193. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  194. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  195. package/es5/components/VSlider/VSlider.js +73 -41
  196. package/es5/components/VSlider/VSlider.js.map +1 -1
  197. package/es5/components/VSnackbar/VSnackbar.js +8 -3
  198. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  199. package/es5/components/VSparkline/VSparkline.js +48 -68
  200. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  201. package/es5/components/VSpeedDial/VSpeedDial.js +13 -17
  202. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  203. package/es5/components/VStepper/VStepper.js +3 -2
  204. package/es5/components/VStepper/VStepper.js.map +1 -1
  205. package/es5/components/VStepper/VStepperContent.js +9 -8
  206. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  207. package/es5/components/VStepper/VStepperStep.js +12 -20
  208. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  209. package/es5/components/VSubheader/VSubheader.js +1 -1
  210. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  211. package/es5/components/VSwitch/VSwitch.js +11 -9
  212. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  213. package/es5/components/VTabs/VTab.js +1 -0
  214. package/es5/components/VTabs/VTab.js.map +1 -1
  215. package/es5/components/VTabs/VTabs.js +68 -24
  216. package/es5/components/VTabs/VTabs.js.map +1 -1
  217. package/es5/components/VTabs/VTabsBar.js +3 -0
  218. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  219. package/es5/components/VTabs/VTabsItems.js +1 -0
  220. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  221. package/es5/components/VTextField/VTextField.js +42 -29
  222. package/es5/components/VTextField/VTextField.js.map +1 -1
  223. package/es5/components/VTextarea/VTextarea.js +1 -1
  224. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  225. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  226. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  227. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  228. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  229. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  230. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  231. package/es5/components/VToolbar/VToolbar.js +3 -6
  232. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  233. package/es5/components/VTooltip/VTooltip.js +14 -20
  234. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  235. package/es5/components/VTreeview/VTreeview.js +24 -18
  236. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  237. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  238. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  239. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  240. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  241. package/es5/components/VWindow/VWindow.js +13 -8
  242. package/es5/components/VWindow/VWindow.js.map +1 -1
  243. package/es5/components/VWindow/VWindowItem.js +10 -10
  244. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  245. package/es5/components/transitions/createTransition.js +8 -2
  246. package/es5/components/transitions/createTransition.js.map +1 -1
  247. package/es5/components/transitions/expand-transition.js +1 -0
  248. package/es5/components/transitions/expand-transition.js.map +1 -1
  249. package/es5/directives/color/index.js +6 -3
  250. package/es5/directives/color/index.js.map +1 -1
  251. package/es5/directives/intersect/index.js +20 -7
  252. package/es5/directives/intersect/index.js.map +1 -1
  253. package/es5/directives/mutate/index.js +13 -13
  254. package/es5/directives/mutate/index.js.map +1 -1
  255. package/es5/directives/resize/index.js +8 -8
  256. package/es5/directives/resize/index.js.map +1 -1
  257. package/es5/directives/ripple/index.js +5 -2
  258. package/es5/directives/ripple/index.js.map +1 -1
  259. package/es5/directives/scroll/index.js +8 -8
  260. package/es5/directives/scroll/index.js.map +1 -1
  261. package/es5/directives/touch/index.js +11 -8
  262. package/es5/directives/touch/index.js.map +1 -1
  263. package/es5/framework.js +1 -1
  264. package/es5/install.js +10 -33
  265. package/es5/install.js.map +1 -1
  266. package/es5/mixins/activatable/index.js +11 -13
  267. package/es5/mixins/activatable/index.js.map +1 -1
  268. package/es5/mixins/applicationable/index.js +4 -4
  269. package/es5/mixins/applicationable/index.js.map +1 -1
  270. package/es5/mixins/binds-attrs/index.js +1 -1
  271. package/es5/mixins/binds-attrs/index.js.map +1 -1
  272. package/es5/mixins/bootable/index.js +1 -2
  273. package/es5/mixins/bootable/index.js.map +1 -1
  274. package/es5/mixins/detachable/index.js +13 -10
  275. package/es5/mixins/detachable/index.js.map +1 -1
  276. package/es5/mixins/groupable/index.js +6 -2
  277. package/es5/mixins/groupable/index.js.map +1 -1
  278. package/es5/mixins/intersectable/index.js +2 -2
  279. package/es5/mixins/intersectable/index.js.map +1 -1
  280. package/es5/mixins/menuable/index.js +1 -1
  281. package/es5/mixins/menuable/index.js.map +1 -1
  282. package/es5/mixins/mouse/index.js +10 -5
  283. package/es5/mixins/mouse/index.js.map +1 -1
  284. package/es5/mixins/overlayable/index.js +5 -3
  285. package/es5/mixins/overlayable/index.js.map +1 -1
  286. package/es5/mixins/picker/index.js +13 -3
  287. package/es5/mixins/picker/index.js.map +1 -1
  288. package/es5/mixins/positionable/index.js.map +1 -1
  289. package/es5/mixins/proxyable/index.js +5 -2
  290. package/es5/mixins/proxyable/index.js.map +1 -1
  291. package/es5/mixins/registrable/index.js.map +1 -1
  292. package/es5/mixins/routable/index.js +5 -2
  293. package/es5/mixins/routable/index.js.map +1 -1
  294. package/es5/mixins/selectable/index.js +9 -7
  295. package/es5/mixins/selectable/index.js.map +1 -1
  296. package/es5/mixins/toggleable/index.js.map +1 -1
  297. package/es5/mixins/translatable/index.js +1 -1
  298. package/es5/mixins/translatable/index.js.map +1 -1
  299. package/es5/mixins/validatable/index.js +34 -7
  300. package/es5/mixins/validatable/index.js.map +1 -1
  301. package/es5/services/goto/util.js +42 -3
  302. package/es5/services/goto/util.js.map +1 -1
  303. package/es5/services/theme/index.js +20 -71
  304. package/es5/services/theme/index.js.map +1 -1
  305. package/es5/util/console.js +49 -18
  306. package/es5/util/console.js.map +1 -1
  307. package/es5/util/helpers.js +58 -3
  308. package/es5/util/helpers.js.map +1 -1
  309. package/es5/util/legacyEventsMixin.js +48 -0
  310. package/es5/util/legacyEventsMixin.js.map +1 -0
  311. package/es5/util/mergeData.js +6 -5
  312. package/es5/util/mergeData.js.map +1 -1
  313. package/es5/util/mixins.js +4 -3
  314. package/es5/util/mixins.js.map +1 -1
  315. package/lib/components/VAlert/VAlert.js +13 -7
  316. package/lib/components/VAlert/VAlert.js.map +1 -1
  317. package/lib/components/VAppBar/VAppBar.js +23 -16
  318. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  319. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  320. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  321. package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
  322. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  323. package/lib/components/VBadge/VBadge.js +26 -13
  324. package/lib/components/VBadge/VBadge.js.map +1 -1
  325. package/lib/components/VBanner/VBanner.js +20 -13
  326. package/lib/components/VBanner/VBanner.js.map +1 -1
  327. package/lib/components/VBottomNavigation/VBottomNavigation.js +19 -15
  328. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  329. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  330. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  331. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  332. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  333. package/lib/components/VBtn/VBtn.js +21 -20
  334. package/lib/components/VBtn/VBtn.js.map +1 -1
  335. package/lib/components/VCalendar/VCalendar.js +26 -31
  336. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  337. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  338. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  339. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  340. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  341. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  342. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  343. package/lib/components/VCalendar/VCalendarWeekly.js +28 -36
  344. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  345. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  346. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  347. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  348. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  349. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  350. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  351. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  352. package/lib/components/VCarousel/VCarousel.js +36 -16
  353. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  354. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  355. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  356. package/lib/components/VCheckbox/VCheckbox.js +19 -9
  357. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  358. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  359. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  360. package/lib/components/VChip/VChip.js +17 -8
  361. package/lib/components/VChip/VChip.js.map +1 -1
  362. package/lib/components/VColorPicker/VColorPicker.js +47 -44
  363. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  364. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  365. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  366. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  367. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  368. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  369. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  370. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  371. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  372. package/lib/components/VCombobox/VCombobox.js +1 -0
  373. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  374. package/lib/components/VContent/VContent.js +19 -4
  375. package/lib/components/VContent/VContent.js.map +1 -1
  376. package/lib/components/VCounter/VCounter.js.map +1 -1
  377. package/lib/components/VData/VData.js +16 -2
  378. package/lib/components/VData/VData.js.map +1 -1
  379. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  380. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  381. package/lib/components/VDataIterator/VDataIterator.js +31 -34
  382. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  383. package/lib/components/VDataTable/RowGroup.js +30 -14
  384. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  385. package/lib/components/VDataTable/VDataTable.js +20 -33
  386. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  387. package/lib/components/VDataTable/VDataTableHeader.js +7 -9
  388. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  389. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  390. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  391. package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
  392. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  393. package/lib/components/VDataTable/VEditDialog.js +18 -18
  394. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  395. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  396. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  397. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  398. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  399. package/lib/components/VDataTable/mixins/header.js +3 -8
  400. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  401. package/lib/components/VDatePicker/VDatePicker.js +38 -27
  402. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  403. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  404. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  405. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  406. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  407. package/lib/components/VDatePicker/VDatePickerTitle.js +34 -11
  408. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  409. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  410. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  411. package/lib/components/VDatePicker/mixins/date-picker-table.js +31 -16
  412. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  413. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  414. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  415. package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
  416. package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
  417. package/lib/components/VDialog/VDialog.js +13 -5
  418. package/lib/components/VDialog/VDialog.js.map +1 -1
  419. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  420. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  421. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  422. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  423. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  424. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  425. package/lib/components/VFileInput/VFileInput.js +43 -25
  426. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  427. package/lib/components/VFooter/VFooter.js +2 -2
  428. package/lib/components/VFooter/VFooter.js.map +1 -1
  429. package/lib/components/VForm/VForm.js +41 -26
  430. package/lib/components/VForm/VForm.js.map +1 -1
  431. package/lib/components/VGrid/VCol.js +7 -5
  432. package/lib/components/VGrid/VCol.js.map +1 -1
  433. package/lib/components/VGrid/VContainer.js +14 -10
  434. package/lib/components/VGrid/VContainer.js.map +1 -1
  435. package/lib/components/VGrid/VRow.js +2 -2
  436. package/lib/components/VGrid/VRow.js.map +1 -1
  437. package/lib/components/VGrid/grid.js +16 -14
  438. package/lib/components/VGrid/grid.js.map +1 -1
  439. package/lib/components/VHover/VHover.js +24 -18
  440. package/lib/components/VHover/VHover.js.map +1 -1
  441. package/lib/components/VIcon/VIcon.js +79 -57
  442. package/lib/components/VIcon/VIcon.js.map +1 -1
  443. package/lib/components/VImg/VImg.js +5 -9
  444. package/lib/components/VImg/VImg.js.map +1 -1
  445. package/lib/components/VInput/VInput.js +32 -9
  446. package/lib/components/VInput/VInput.js.map +1 -1
  447. package/lib/components/VItemGroup/VItem.js +25 -21
  448. package/lib/components/VItemGroup/VItem.js.map +1 -1
  449. package/lib/components/VItemGroup/VItemGroup.js +13 -3
  450. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  451. package/lib/components/VLabel/VLabel.js +3 -1
  452. package/lib/components/VLabel/VLabel.js.map +1 -1
  453. package/lib/components/VLazy/VLazy.js +9 -16
  454. package/lib/components/VLazy/VLazy.js.map +1 -1
  455. package/lib/components/VList/VList.js +3 -3
  456. package/lib/components/VList/VList.js.map +1 -1
  457. package/lib/components/VList/VListGroup.js +34 -32
  458. package/lib/components/VList/VListGroup.js.map +1 -1
  459. package/lib/components/VList/VListItem.js +41 -19
  460. package/lib/components/VList/VListItem.js.map +1 -1
  461. package/lib/components/VList/VListItemAction.js +15 -9
  462. package/lib/components/VList/VListItemAction.js.map +1 -1
  463. package/lib/components/VList/VListItemIcon.js +3 -1
  464. package/lib/components/VList/VListItemIcon.js.map +1 -1
  465. package/lib/components/VMain/VMain.js +2 -2
  466. package/lib/components/VMain/VMain.js.map +1 -1
  467. package/lib/components/VMenu/VMenu.js +18 -6
  468. package/lib/components/VMenu/VMenu.js.map +1 -1
  469. package/lib/components/VMessages/VMessages.js +13 -2
  470. package/lib/components/VMessages/VMessages.js.map +1 -1
  471. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +17 -12
  472. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  473. package/lib/components/VOtpInput/VOtpInput.js +103 -35
  474. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  475. package/lib/components/VOverflowBtn/VOverflowBtn.js +16 -15
  476. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  477. package/lib/components/VOverlay/VOverlay.js +13 -2
  478. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  479. package/lib/components/VPagination/VPagination.js +28 -23
  480. package/lib/components/VPagination/VPagination.js.map +1 -1
  481. package/lib/components/VPicker/VPicker.js +4 -4
  482. package/lib/components/VPicker/VPicker.js.map +1 -1
  483. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  484. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  485. package/lib/components/VProgressLinear/VProgressLinear.js +45 -22
  486. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  487. package/lib/components/VRadioGroup/VRadio.js +3 -2
  488. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  489. package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
  490. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  491. package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
  492. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  493. package/lib/components/VRating/VRating.js +11 -0
  494. package/lib/components/VRating/VRating.js.map +1 -1
  495. package/lib/components/VSelect/VSelect.js +104 -42
  496. package/lib/components/VSelect/VSelect.js.map +1 -1
  497. package/lib/components/VSelect/VSelectList.js +64 -29
  498. package/lib/components/VSelect/VSelectList.js.map +1 -1
  499. package/lib/components/VSheet/VSheet.js +3 -2
  500. package/lib/components/VSheet/VSheet.js.map +1 -1
  501. package/lib/components/VSlideGroup/VSlideGroup.js +23 -23
  502. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  503. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  504. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  505. package/lib/components/VSlider/VSlider.js +37 -25
  506. package/lib/components/VSlider/VSlider.js.map +1 -1
  507. package/lib/components/VSnackbar/VSnackbar.js +2 -1
  508. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  509. package/lib/components/VSparkline/VSparkline.js +48 -67
  510. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  511. package/lib/components/VSpeedDial/VSpeedDial.js +9 -15
  512. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  513. package/lib/components/VStepper/VStepper.js +4 -3
  514. package/lib/components/VStepper/VStepper.js.map +1 -1
  515. package/lib/components/VStepper/VStepperContent.js +7 -8
  516. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  517. package/lib/components/VStepper/VStepperStep.js +8 -19
  518. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  519. package/lib/components/VSubheader/VSubheader.js +1 -1
  520. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  521. package/lib/components/VSwitch/VSwitch.js +2 -4
  522. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  523. package/lib/components/VTabs/VTab.js +1 -0
  524. package/lib/components/VTabs/VTab.js.map +1 -1
  525. package/lib/components/VTabs/VTabs.js +34 -8
  526. package/lib/components/VTabs/VTabs.js.map +1 -1
  527. package/lib/components/VTabs/VTabsBar.js +3 -0
  528. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  529. package/lib/components/VTabs/VTabsItems.js +1 -0
  530. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  531. package/lib/components/VTextField/VTextField.js +15 -19
  532. package/lib/components/VTextField/VTextField.js.map +1 -1
  533. package/lib/components/VTextarea/VTextarea.js +1 -1
  534. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  535. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  536. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  537. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  538. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  539. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  540. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  541. package/lib/components/VToolbar/VToolbar.js +6 -7
  542. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  543. package/lib/components/VTooltip/VTooltip.js +11 -22
  544. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  545. package/lib/components/VTreeview/VTreeview.js +15 -13
  546. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  547. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  548. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  549. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  550. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  551. package/lib/components/VWindow/VWindow.js +7 -6
  552. package/lib/components/VWindow/VWindow.js.map +1 -1
  553. package/lib/components/VWindow/VWindowItem.js +5 -7
  554. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  555. package/lib/components/transitions/createTransition.js +2 -2
  556. package/lib/components/transitions/createTransition.js.map +1 -1
  557. package/lib/components/transitions/expand-transition.js +1 -0
  558. package/lib/components/transitions/expand-transition.js.map +1 -1
  559. package/lib/directives/color/index.js +6 -3
  560. package/lib/directives/color/index.js.map +1 -1
  561. package/lib/directives/intersect/index.js +20 -7
  562. package/lib/directives/intersect/index.js.map +1 -1
  563. package/lib/directives/mutate/index.js +13 -13
  564. package/lib/directives/mutate/index.js.map +1 -1
  565. package/lib/directives/resize/index.js +8 -8
  566. package/lib/directives/resize/index.js.map +1 -1
  567. package/lib/directives/ripple/index.js +5 -3
  568. package/lib/directives/ripple/index.js.map +1 -1
  569. package/lib/directives/scroll/index.js +8 -8
  570. package/lib/directives/scroll/index.js.map +1 -1
  571. package/lib/directives/touch/index.js +11 -8
  572. package/lib/directives/touch/index.js.map +1 -1
  573. package/lib/framework.js +1 -1
  574. package/lib/install.js +5 -28
  575. package/lib/install.js.map +1 -1
  576. package/lib/mixins/activatable/index.js +13 -14
  577. package/lib/mixins/activatable/index.js.map +1 -1
  578. package/lib/mixins/applicationable/index.js +4 -4
  579. package/lib/mixins/applicationable/index.js.map +1 -1
  580. package/lib/mixins/binds-attrs/index.js +1 -1
  581. package/lib/mixins/binds-attrs/index.js.map +1 -1
  582. package/lib/mixins/bootable/index.js +2 -4
  583. package/lib/mixins/bootable/index.js.map +1 -1
  584. package/lib/mixins/detachable/index.js +14 -11
  585. package/lib/mixins/detachable/index.js.map +1 -1
  586. package/lib/mixins/groupable/index.js +4 -2
  587. package/lib/mixins/groupable/index.js.map +1 -1
  588. package/lib/mixins/intersectable/index.js +2 -2
  589. package/lib/mixins/intersectable/index.js.map +1 -1
  590. package/lib/mixins/menuable/index.js +1 -1
  591. package/lib/mixins/menuable/index.js.map +1 -1
  592. package/lib/mixins/mouse/index.js +9 -5
  593. package/lib/mixins/mouse/index.js.map +1 -1
  594. package/lib/mixins/overlayable/index.js +4 -2
  595. package/lib/mixins/overlayable/index.js.map +1 -1
  596. package/lib/mixins/picker/index.js +5 -3
  597. package/lib/mixins/picker/index.js.map +1 -1
  598. package/lib/mixins/positionable/index.js.map +1 -1
  599. package/lib/mixins/proxyable/index.js +5 -2
  600. package/lib/mixins/proxyable/index.js.map +1 -1
  601. package/lib/mixins/registrable/index.js.map +1 -1
  602. package/lib/mixins/routable/index.js +5 -2
  603. package/lib/mixins/routable/index.js.map +1 -1
  604. package/lib/mixins/selectable/index.js +15 -12
  605. package/lib/mixins/selectable/index.js.map +1 -1
  606. package/lib/mixins/toggleable/index.js.map +1 -1
  607. package/lib/mixins/translatable/index.js +1 -1
  608. package/lib/mixins/translatable/index.js.map +1 -1
  609. package/lib/mixins/validatable/index.js +17 -7
  610. package/lib/mixins/validatable/index.js.map +1 -1
  611. package/lib/services/goto/util.js +42 -3
  612. package/lib/services/goto/util.js.map +1 -1
  613. package/lib/services/theme/index.js +18 -64
  614. package/lib/services/theme/index.js.map +1 -1
  615. package/lib/util/console.js +47 -17
  616. package/lib/util/console.js.map +1 -1
  617. package/lib/util/helpers.js +52 -3
  618. package/lib/util/helpers.js.map +1 -1
  619. package/lib/util/legacyEventsMixin.js +37 -0
  620. package/lib/util/legacyEventsMixin.js.map +1 -0
  621. package/lib/util/mergeData.js +6 -5
  622. package/lib/util/mergeData.js.map +1 -1
  623. package/lib/util/mixins.js +3 -2
  624. package/lib/util/mixins.js.map +1 -1
  625. package/package.json +2 -2
  626. package/src/components/VAlert/VAlert.ts +19 -8
  627. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  628. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +18 -20
  629. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  630. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  631. package/src/components/VAppBar/VAppBar.ts +21 -14
  632. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  633. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  634. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  635. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  636. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +4 -5
  637. package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
  638. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +125 -72
  639. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +109 -82
  640. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +114 -52
  641. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  642. package/src/components/VBadge/VBadge.ts +38 -26
  643. package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
  644. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  645. package/src/components/VBanner/VBanner.ts +30 -17
  646. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  647. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +3 -3
  648. package/src/components/VBottomNavigation/VBottomNavigation.ts +29 -17
  649. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
  650. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +10 -10
  651. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
  652. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
  653. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
  654. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
  655. package/src/components/VBtn/VBtn.ts +25 -17
  656. package/src/components/VBtn/__tests__/VBtn.spec.ts +262 -242
  657. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  658. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
  659. package/src/components/VCalendar/VCalendar.ts +29 -27
  660. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  661. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  662. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  663. package/src/components/VCalendar/VCalendarWeekly.ts +30 -35
  664. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +19 -35
  665. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +21 -19
  666. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  667. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +38 -38
  668. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  669. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  670. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  671. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  672. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  673. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  674. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  675. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  676. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  677. package/src/components/VCalendar/mixins/times.ts +1 -1
  678. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  679. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  680. package/src/components/VCarousel/VCarousel.ts +42 -15
  681. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  682. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
  683. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
  684. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  685. package/src/components/VCheckbox/VCheckbox.ts +23 -10
  686. package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
  687. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +163 -152
  688. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  689. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
  690. package/src/components/VChip/VChip.ts +19 -15
  691. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  692. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  693. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  694. package/src/components/VColorPicker/VColorPicker.ts +51 -41
  695. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  696. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  697. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  698. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  699. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  700. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  701. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  702. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  703. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +236 -193
  704. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +48 -31
  705. package/src/components/VCombobox/VCombobox.ts +23 -0
  706. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +202 -174
  707. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +126 -95
  708. package/src/components/VContent/VContent.ts +11 -3
  709. package/src/components/VCounter/VCounter.ts +1 -1
  710. package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
  711. package/src/components/VData/VData.ts +14 -1
  712. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  713. package/src/components/VDataIterator/VDataFooter.ts +16 -9
  714. package/src/components/VDataIterator/VDataIterator.ts +51 -35
  715. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  716. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  717. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +113 -103
  718. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +94 -84
  719. package/src/components/VDataTable/RowGroup.ts +33 -16
  720. package/src/components/VDataTable/VDataTable.ts +20 -29
  721. package/src/components/VDataTable/VDataTableHeader.ts +8 -9
  722. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
  723. package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
  724. package/src/components/VDataTable/VEditDialog.ts +23 -21
  725. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  726. package/src/components/VDataTable/VVirtualTable.ts +2 -3
  727. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  728. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  729. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  730. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
  731. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +41 -35
  732. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +52 -40
  733. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
  734. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  735. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  736. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +3348 -2891
  737. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +157 -186
  738. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  739. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  740. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +14 -17
  741. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +17 -17
  742. package/src/components/VDataTable/mixins/header.ts +6 -10
  743. package/src/components/VDatePicker/VDatePicker.ts +48 -27
  744. package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
  745. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  746. package/src/components/VDatePicker/VDatePickerTitle.ts +41 -15
  747. package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
  748. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +278 -260
  749. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +157 -131
  750. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  751. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +85 -75
  752. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  753. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +56 -32
  754. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +29 -26
  755. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +628 -595
  756. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +248 -228
  757. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  758. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  759. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  760. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +18 -9
  761. package/src/components/VDatePicker/mixins/date-picker-table.ts +33 -15
  762. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  763. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  764. package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
  765. package/src/components/VDialog/VDialog.ts +24 -12
  766. package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
  767. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  768. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  769. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  770. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  771. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +7 -10
  772. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +13 -18
  773. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +45 -29
  774. package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +6 -4
  775. package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +9 -5
  776. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +12 -11
  777. package/src/components/VFileInput/VFileInput.ts +47 -32
  778. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
  779. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  780. package/src/components/VFooter/VFooter.ts +2 -2
  781. package/src/components/VFooter/__tests__/VFooter.spec.ts +28 -21
  782. package/src/components/VForm/VForm.ts +63 -35
  783. package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
  784. package/src/components/VGrid/VCol.ts +4 -4
  785. package/src/components/VGrid/VContainer.ts +16 -12
  786. package/src/components/VGrid/VRow.ts +2 -2
  787. package/src/components/VGrid/__tests__/VCol.spec.ts +20 -18
  788. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  789. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  790. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -11
  791. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  792. package/src/components/VGrid/grid.ts +16 -17
  793. package/src/components/VHover/VHover.ts +23 -17
  794. package/src/components/VHover/__tests__/VHover.spec.ts +44 -28
  795. package/src/components/VIcon/VIcon.ts +72 -53
  796. package/src/components/VIcon/__tests__/VIcon.spec.ts +139 -123
  797. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
  798. package/src/components/VImg/VImg.ts +5 -4
  799. package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
  800. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  801. package/src/components/VInput/VInput.ts +33 -8
  802. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  803. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  804. package/src/components/VItemGroup/VItem.ts +30 -24
  805. package/src/components/VItemGroup/VItemGroup.ts +14 -3
  806. package/src/components/VItemGroup/__tests__/VItem.spec.ts +39 -46
  807. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  808. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  809. package/src/components/VLabel/VLabel.ts +1 -1
  810. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  811. package/src/components/VLazy/VLazy.ts +12 -14
  812. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  813. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  814. package/src/components/VList/VList.ts +3 -3
  815. package/src/components/VList/VListGroup.ts +43 -32
  816. package/src/components/VList/VListItem.ts +56 -24
  817. package/src/components/VList/VListItemAction.ts +11 -10
  818. package/src/components/VList/VListItemIcon.ts +1 -1
  819. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  820. package/src/components/VList/__tests__/VListGroup.spec.ts +58 -50
  821. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  822. package/src/components/VList/__tests__/VListItemAction.spec.ts +32 -31
  823. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  824. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  825. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  826. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +6 -7
  827. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  828. package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
  829. package/src/components/VMain/VMain.ts +2 -2
  830. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  831. package/src/components/VMenu/VMenu.ts +28 -7
  832. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  833. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  834. package/src/components/VMessages/VMessages.ts +15 -4
  835. package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
  836. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  837. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +27 -19
  838. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
  839. package/src/components/VOtpInput/VOtpInput.ts +92 -32
  840. package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +75 -78
  841. package/src/components/VOverflowBtn/VOverflowBtn.ts +16 -11
  842. package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +6 -6
  843. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
  844. package/src/components/VOverlay/VOverlay.ts +15 -1
  845. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  846. package/src/components/VPagination/VPagination.ts +41 -29
  847. package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
  848. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +214 -459
  849. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  850. package/src/components/VPicker/VPicker.ts +9 -11
  851. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  852. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  853. package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
  854. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  855. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  856. package/src/components/VProgressLinear/VProgressLinear.ts +62 -33
  857. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +386 -71
  858. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  859. package/src/components/VRadioGroup/VRadio.ts +4 -2
  860. package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
  861. package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +57 -44
  862. package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +4 -4
  863. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
  864. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
  865. package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
  866. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
  867. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  868. package/src/components/VRating/VRating.ts +13 -0
  869. package/src/components/VRating/__tests__/VRating.spec.ts +24 -29
  870. package/src/components/VResponsive/__tests__/VResponsive.spec.ts +10 -5
  871. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  872. package/src/components/VSelect/VSelect.ts +110 -48
  873. package/src/components/VSelect/VSelectList.ts +62 -25
  874. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  875. package/src/components/VSelect/__tests__/VSelect2.spec.ts +129 -113
  876. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  877. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  878. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  879. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  880. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +48 -60
  881. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +9 -297
  882. package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
  883. package/src/components/VSheet/VSheet.ts +2 -1
  884. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  885. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  886. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  887. package/src/components/VSlideGroup/VSlideGroup.ts +36 -24
  888. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  889. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +70 -62
  890. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
  891. package/src/components/VSlider/VSlider.ts +58 -32
  892. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  893. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  894. package/src/components/VSnackbar/VSnackbar.ts +2 -2
  895. package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +46 -37
  896. package/src/components/VSparkline/VSparkline.ts +54 -92
  897. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  898. package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
  899. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  900. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  901. package/src/components/VStepper/VStepper.ts +7 -5
  902. package/src/components/VStepper/VStepperContent.ts +10 -16
  903. package/src/components/VStepper/VStepperStep.ts +9 -16
  904. package/src/components/VStepper/__tests__/VStepper.spec.ts +7 -4
  905. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +120 -107
  906. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  907. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
  908. package/src/components/VSubheader/VSubheader.ts +1 -1
  909. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
  910. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  911. package/src/components/VSwitch/VSwitch.ts +5 -6
  912. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +34 -44
  913. package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
  914. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
  915. package/src/components/VTabs/VTab.ts +2 -0
  916. package/src/components/VTabs/VTabs.ts +39 -14
  917. package/src/components/VTabs/VTabsBar.ts +11 -5
  918. package/src/components/VTabs/VTabsItems.ts +2 -0
  919. package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
  920. package/src/components/VTabs/__tests__/VTabs.spec.ts +189 -76
  921. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
  922. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  923. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  924. package/src/components/VTextField/VTextField.ts +22 -22
  925. package/src/components/VTextField/__tests__/VTextField.spec.ts +350 -257
  926. package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
  927. package/src/components/VTextarea/VTextarea.ts +1 -1
  928. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +163 -35
  929. package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +99 -4
  930. package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +49 -10
  931. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  932. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  933. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  934. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +155 -142
  935. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  936. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +49 -43
  937. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  938. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
  939. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +6 -7
  940. package/src/components/VToolbar/VToolbar.ts +6 -7
  941. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  942. package/src/components/VTooltip/VTooltip.ts +26 -32
  943. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +64 -78
  944. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  945. package/src/components/VTreeview/VTreeview.ts +20 -17
  946. package/src/components/VTreeview/VTreeviewNode.ts +4 -6
  947. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
  948. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +74 -78
  949. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
  950. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +32 -26
  951. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
  952. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
  953. package/src/components/VWindow/VWindow.ts +9 -6
  954. package/src/components/VWindow/VWindowItem.ts +5 -4
  955. package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
  956. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
  957. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  958. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  959. package/src/components/transitions/createTransition.ts +2 -2
  960. package/src/components/transitions/expand-transition.ts +2 -0
  961. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
  962. package/src/directives/click-outside/__tests__/click-outside.spec.ts +3 -3
  963. package/src/directives/color/__tests__/color.spec.ts +54 -34
  964. package/src/directives/color/index.ts +7 -3
  965. package/src/directives/intersect/__tests__/intersect.spec.ts +7 -7
  966. package/src/directives/intersect/index.ts +81 -42
  967. package/src/directives/mutate/__tests__/mutate.spec.ts +32 -26
  968. package/src/directives/mutate/index.ts +58 -49
  969. package/src/directives/resize/__tests__/resize.spec.ts +5 -5
  970. package/src/directives/resize/index.ts +33 -14
  971. package/src/directives/ripple/__tests__/ripple.spec.ts +34 -36
  972. package/src/directives/ripple/index.ts +3 -6
  973. package/src/directives/scroll/__tests__/scroll.spec.ts +13 -13
  974. package/src/directives/scroll/index.ts +35 -20
  975. package/src/directives/touch/__tests__/touch.spec.ts +23 -16
  976. package/src/directives/touch/index.ts +42 -30
  977. package/src/globals.d.ts +6 -6
  978. package/src/install.ts +10 -32
  979. package/src/mixins/activatable/__tests__/activatable.spec.ts +55 -55
  980. package/src/mixins/activatable/index.ts +10 -11
  981. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  982. package/src/mixins/applicationable/index.ts +4 -4
  983. package/src/mixins/binds-attrs/index.ts +1 -1
  984. package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
  985. package/src/mixins/bootable/index.ts +4 -3
  986. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  987. package/src/mixins/dependent/__tests__/dependent.spec.ts +72 -33
  988. package/src/mixins/detachable/__tests__/detachable.spec.ts +45 -31
  989. package/src/mixins/detachable/index.ts +17 -10
  990. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  991. package/src/mixins/groupable/index.ts +10 -8
  992. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  993. package/src/mixins/intersectable/index.ts +2 -2
  994. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  995. package/src/mixins/menuable/index.ts +1 -1
  996. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  997. package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
  998. package/src/mixins/mouse/index.ts +10 -6
  999. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  1000. package/src/mixins/overlayable/index.ts +4 -3
  1001. package/src/mixins/picker/index.ts +4 -4
  1002. package/src/mixins/positionable/index.ts +2 -2
  1003. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  1004. package/src/mixins/proxyable/index.ts +6 -3
  1005. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  1006. package/src/mixins/registrable/index.ts +4 -4
  1007. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  1008. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  1009. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  1010. package/src/mixins/routable/index.ts +6 -4
  1011. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  1012. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  1013. package/src/mixins/selectable/index.ts +17 -14
  1014. package/src/mixins/toggleable/index.ts +2 -2
  1015. package/src/mixins/translatable/index.ts +1 -1
  1016. package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
  1017. package/src/mixins/validatable/index.ts +29 -21
  1018. package/src/services/goto/__tests__/goto.spec.ts +146 -1
  1019. package/src/services/goto/util.ts +44 -5
  1020. package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
  1021. package/src/services/theme/__tests__/theme.spec.ts +81 -83
  1022. package/src/services/theme/index.ts +22 -60
  1023. package/src/util/__tests__/console.spec.ts +124 -11
  1024. package/src/util/__tests__/dom.spec.ts +8 -5
  1025. package/src/util/__tests__/helpers.spec.ts +122 -33
  1026. package/src/util/__tests__/mergeData.spec.ts +8 -8
  1027. package/src/util/console.ts +43 -24
  1028. package/src/util/helpers.ts +57 -5
  1029. package/src/util/legacyEventsMixin.ts +34 -0
  1030. package/src/util/mergeData.ts +10 -5
  1031. package/src/util/mixins.ts +24 -7
  1032. package/types/alacarte.d.ts +14 -14
  1033. package/types/index.d.ts +8 -8
  1034. package/types/lib.d.ts +173 -173
@@ -84,10 +84,6 @@ function calculateCenteredOffset(selectedElement, widths, rtl) {
84
84
 
85
85
  var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.default).extend({
86
86
  name: 'base-slide-group',
87
- directives: {
88
- Resize: _resize.default,
89
- Touch: _touch.default
90
- },
91
87
  props: {
92
88
  activeClass: {
93
89
  type: String,
@@ -109,6 +105,7 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
109
105
  }
110
106
  }
111
107
  },
108
+ emits: ['click:prev', 'click:next'],
112
109
  data: function data() {
113
110
  return {
114
111
  isOverflowing: false,
@@ -225,7 +222,11 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
225
222
  },
226
223
  methods: {
227
224
  onScroll: function onScroll() {
228
- this.$refs.wrapper.scrollLeft = 0;
225
+ var wrapper = this.$refs.wrapper;
226
+
227
+ if (wrapper) {
228
+ wrapper.scrollLeft = 0;
229
+ }
229
230
  },
230
231
  onFocusin: function onFocusin(e) {
231
232
  if (!this.isOverflowing) return; // Focused element is likely to be the root of an item, so a
@@ -290,6 +291,8 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
290
291
  };
291
292
  },
292
293
  genIcon: function genIcon(location) {
294
+ var _this3 = this;
295
+
293
296
  var icon = location;
294
297
 
295
298
  if (this.$vuetify.rtl && location === 'prev') {
@@ -303,11 +306,13 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
303
306
  if (!this.showArrows && !hasAffix) return null;
304
307
  return (0, _vue.h)(_VIcon.default, {
305
308
  disabled: !hasAffix
306
- }, this["".concat(icon, "Icon")]);
309
+ }, function () {
310
+ return _this3["".concat(icon, "Icon")];
311
+ });
307
312
  },
308
313
  // Always generate prev for scrollable hint
309
314
  genPrev: function genPrev() {
310
- var _this3 = this;
315
+ var _this4 = this;
311
316
 
312
317
  var slot = this.$slots.prev ? this.$slots.prev({}) : (0, _helpers.getSlot)(this, 'prev') || this.__cachedPrev;
313
318
  return (0, _vue.h)('div', {
@@ -315,16 +320,20 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
315
320
  'v-slide-group__prev--disabled': !this.hasPrev
316
321
  }],
317
322
  onClick: function onClick() {
318
- return _this3.onAffixClick('prev');
323
+ return _this4.onAffixClick('prev');
319
324
  },
320
325
  key: 'prev'
321
326
  }, [slot]);
322
327
  },
323
328
  genTransition: function genTransition(location) {
324
- return (0, _vue.h)(_transitions.VFadeTransition, [this.genIcon(location)]);
329
+ var _this5 = this;
330
+
331
+ return (0, _vue.h)(_transitions.VFadeTransition, {}, function () {
332
+ return [_this5.genIcon(location)];
333
+ });
325
334
  },
326
335
  genWrapper: function genWrapper() {
327
- var _this4 = this;
336
+ var _this6 = this;
328
337
 
329
338
  return (0, _vue.withDirectives)((0, _vue.h)('div', {
330
339
  class: 'v-slide-group__wrapper',
@@ -332,13 +341,13 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
332
341
  onScroll: this.onScroll
333
342
  }, [this.genContent()]), [[_touch.default, {
334
343
  start: function start(e) {
335
- return _this4.overflowCheck(e, _this4.onTouchStart);
344
+ return _this6.overflowCheck(e, _this6.onTouchStart);
336
345
  },
337
346
  move: function move(e) {
338
- return _this4.overflowCheck(e, _this4.onTouchMove);
347
+ return _this6.overflowCheck(e, _this6.onTouchMove);
339
348
  },
340
349
  end: function end(e) {
341
- return _this4.overflowCheck(e, _this4.onTouchEnd);
350
+ return _this6.overflowCheck(e, _this6.onTouchEnd);
342
351
  }
343
352
  }]]);
344
353
  },
@@ -353,11 +362,12 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
353
362
  },
354
363
  onResize: function onResize() {
355
364
  /* istanbul ignore next */
356
- if (this._isDestroyed) return;
365
+ if (this.$.isUnmounted) return;
357
366
  this.setWidths();
358
367
  },
359
368
  onTouchStart: function onTouchStart(e) {
360
369
  var content = this.$refs.content;
370
+ if (!content) return;
361
371
  this.startX = this.scrollOffset + e.touchstartX;
362
372
  content.style.setProperty('transition', 'none');
363
373
  content.style.setProperty('willChange', 'transform');
@@ -383,9 +393,9 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
383
393
  },
384
394
  onTouchEnd: function onTouchEnd() {
385
395
  if (!this.canTouch) return;
386
- var _this$$refs = this.$refs,
387
- content = _this$$refs.content,
388
- wrapper = _this$$refs.wrapper;
396
+ var content = this.$refs.content;
397
+ var wrapper = this.$refs.wrapper;
398
+ if (!content || !wrapper) return;
389
399
  var maxScrollOffset = content.clientWidth - wrapper.clientWidth;
390
400
  content.style.setProperty('transition', null);
391
401
  content.style.setProperty('willChange', null);
@@ -419,7 +429,9 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
419
429
  : function scrollIntoView() {
420
430
  if (!this.selectedItem && this.items.length) {
421
431
  var lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect();
422
- var wrapperPosition = this.$refs.wrapper.getBoundingClientRect();
432
+ var wrapper = this.$refs.wrapper;
433
+ if (!wrapper) return;
434
+ var wrapperPosition = wrapper.getBoundingClientRect();
423
435
 
424
436
  if (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right || !this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left) {
425
437
  this.scrollTo('prev');
@@ -448,23 +460,23 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _mobile.def
448
460
  }, this.$vuetify.rtl, this.scrollOffset);
449
461
  },
450
462
  setWidths: function setWidths() {
451
- var _this5 = this;
463
+ var _this7 = this;
452
464
 
453
465
  window.requestAnimationFrame(function () {
454
- if (_this5._isDestroyed) return;
455
- var _this5$$refs = _this5.$refs,
456
- content = _this5$$refs.content,
457
- wrapper = _this5$$refs.wrapper;
458
- _this5.widths = {
459
- content: content ? content.clientWidth : 0,
460
- wrapper: wrapper ? wrapper.clientWidth : 0
466
+ if (_this7.$.isUnmounted) return;
467
+ var content = _this7.$refs.content;
468
+ var wrapper = _this7.$refs.wrapper;
469
+ if (!content || !wrapper) return;
470
+ _this7.widths = {
471
+ content: content.clientWidth,
472
+ wrapper: wrapper.clientWidth
461
473
  }; // https://github.com/vuetifyjs/vuetify/issues/13212
462
474
  // We add +1 to the wrappers width to prevent an issue where the `clientWidth`
463
475
  // gets calculated wrongly by the browser if using a different zoom-level.
464
476
 
465
- _this5.isOverflowing = _this5.widths.wrapper + 1 < _this5.widths.content;
477
+ _this7.isOverflowing = _this7.widths.wrapper + 1 < _this7.widths.content;
466
478
 
467
- _this5.scrollIntoView();
479
+ _this7.scrollIntoView();
468
480
  });
469
481
  }
470
482
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, defineComponent } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof BaseItemGroup,\n typeof Mobile,\n ]>\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$slots.next\n ? this.$slots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return h('div', {\n class: ['v-slide-group__next', {\n 'v-slide-group__next--disabled': !this.hasNext,\n }],\n onClick: () => this.onAffixClick('next'),\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-slide-group__content',\n ref: 'content',\n onFocusin: this.onFocusin,\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return h(VIcon, {\n disabled: !hasAffix,\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$slots.prev\n ? this.$slots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return h('div', {\n class: ['v-slide-group__prev', {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n }],\n onClick: () => this.onAffixClick('prev'),\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return h(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return withDirectives(h('div', {\n class: 'v-slide-group__wrapper',\n ref: 'wrapper',\n onScroll: this.onScroll,\n }, [this.genContent()]), [\n [\n Touch,\n {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n }\n ]\n\n ])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ]), [\n [\n Resize,\n this.onResize\n ]\n ])\n },\n})\n\nexport default defineComponent({\n name: 'v-slide-group',\n\n extends: BaseSlideGroup,\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof BaseItemGroup,\n typeof Mobile,\n ]>\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n emits: ['click:prev', 'click:next'],\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n const wrapper = this.$refs.wrapper as HTMLElement\n if (wrapper) {\n wrapper.scrollLeft = 0\n }\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$slots.next\n ? this.$slots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return h('div', {\n class: ['v-slide-group__next', {\n 'v-slide-group__next--disabled': !this.hasNext,\n }],\n onClick: () => this.onAffixClick('next'),\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-slide-group__content',\n ref: 'content',\n onFocusin: this.onFocusin,\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return h(VIcon, {\n disabled: !hasAffix,\n }, () => (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$slots.prev\n ? this.$slots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return h('div', {\n class: ['v-slide-group__prev', {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n }],\n onClick: () => this.onAffixClick('prev'),\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return h(VFadeTransition, {}, () => [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return withDirectives(h('div', {\n class: 'v-slide-group__wrapper',\n ref: 'wrapper',\n onScroll: this.onScroll,\n }, [this.genContent()]), [\n [\n Touch,\n {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n ],\n\n ])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this.$.isUnmounted) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const content = this.$refs.content as HTMLElement\n\n if (!content) return\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const content = this.$refs.content as HTMLElement\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!content || !wrapper) return\n\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!wrapper) return\n const wrapperPosition = wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this.$.isUnmounted) return\n\n const content = this.$refs.content as HTMLElement\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!content || !wrapper) return\n\n this.widths = {\n content: content.clientWidth,\n wrapper: wrapper.clientWidth,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ]), [\n [\n Resize,\n this.onResize,\n ],\n ])\n },\n})\n\nexport default defineComponent({\n name: 'v-slide-group',\n\n extends: BaseSlideGroup,\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
@@ -18,7 +18,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  var _default = (0, _mixins.default)(_VItem.BaseItem, (0, _groupable.factory)('slideGroup')
19
19
  /* @vue/component */
20
20
  ).extend({
21
- name: 'v-slide-item'
21
+ name: 'v-slide-item',
22
+ emits: ['change']
22
23
  });
23
24
 
24
25
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSlideGroup/VSlideItem.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;;;AALA;AAGA;eAIe,qBACb,eADa,EAEb,wBAAiB,YAAjB;AACA;AAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE;AADC,CAJM,C","sourcesContent":["// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n})\n"],"sourceRoot":"","file":"VSlideItem.js"}
1
+ {"version":3,"sources":["../../../src/components/VSlideGroup/VSlideItem.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;;;AALA;AAGA;eAIe,qBACb,eADa,EAEb,wBAAiB,YAAjB;AACA;AAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,cADC;AAGP,EAAA,KAAK,EAAE,CAAC,QAAD;AAHA,CAJM,C","sourcesContent":["// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n\n emits: ['change'],\n})\n"],"sourceRoot":"","file":"VSlideItem.js"}
@@ -31,13 +31,22 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
31
31
 
32
32
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
33
 
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
+
38
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
39
+
40
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
41
+
42
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
34
46
  var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
35
47
  /* @vue/component */
36
48
  ).extend({
37
49
  name: 'v-slider',
38
- directives: {
39
- ClickOutside: _clickOutside.default
40
- },
41
50
  props: {
42
51
  disabled: Boolean,
43
52
  inverseLabel: Boolean,
@@ -58,7 +67,7 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
58
67
  type: [Boolean, String],
59
68
  default: undefined,
60
69
  validator: function validator(v) {
61
- return typeof v === 'boolean' || v === 'always';
70
+ return typeof v === 'boolean' || v === 'always' || v === undefined;
62
71
  }
63
72
  },
64
73
  thumbSize: {
@@ -87,6 +96,7 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
87
96
  modelValue: [Number, String],
88
97
  vertical: Boolean
89
98
  },
99
+ emits: ['update:modelValue', 'start', 'end', 'mouseup', 'change', 'focus', 'blur'],
90
100
  data: function data() {
91
101
  return {
92
102
  app: null,
@@ -99,6 +109,20 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
99
109
  startOffset: 0
100
110
  };
101
111
  },
112
+ created: function created() {
113
+ var _this = this;
114
+
115
+ var breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
116
+ /* istanbul ignore next */
117
+
118
+ breakingProps.forEach(function (_ref) {
119
+ var _ref2 = _slicedToArray(_ref, 2),
120
+ original = _ref2[0],
121
+ replacement = _ref2[1];
122
+
123
+ if (_this.$attrs.hasOwnProperty(original)) (0, _console.breaking)(original, replacement, _this);
124
+ });
125
+ },
102
126
  computed: {
103
127
  classes: function classes() {
104
128
  return _objectSpread(_objectSpread({}, _VInput.default.computed.classes.call(this)), {}, {
@@ -112,11 +136,14 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
112
136
  return this.lazyValue;
113
137
  },
114
138
  set: function set(val) {
139
+ var originalVal = val;
115
140
  val = isNaN(val) ? this.minValue : val; // Round value to ensure the
116
141
  // entire slider range can
117
142
  // be selected with step
118
143
 
119
- var value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue));
144
+ var value = this.roundValue(val); // Then clamp to min/max
145
+
146
+ value = Math.min(Math.max(value, this.minValue), this.maxValue);
120
147
  if (value === this.lazyValue) return;
121
148
  this.lazyValue = value;
122
149
  this.$emit('update:modelValue', value);
@@ -132,14 +159,15 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
132
159
  return parseFloat(this.max);
133
160
  },
134
161
  stepNumeric: function stepNumeric() {
135
- return this.step > 0 ? parseFloat(this.step) : 0;
162
+ var step = parseFloat(this.step);
163
+ return step > 0 ? step : 0;
136
164
  },
137
165
  inputWidth: function inputWidth() {
138
166
  var inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100;
139
167
  return isNaN(inputWidth) ? 0 : inputWidth;
140
168
  },
141
169
  trackFillStyles: function trackFillStyles() {
142
- var _ref;
170
+ var _ref3;
143
171
 
144
172
  var startDir = this.vertical ? 'bottom' : 'left';
145
173
  var endDir = this.vertical ? 'top' : 'right';
@@ -147,20 +175,20 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
147
175
  var start = this.$vuetify.rtl ? 'auto' : '0';
148
176
  var end = this.$vuetify.rtl ? '0' : 'auto';
149
177
  var value = this.isDisabled ? "calc(".concat(this.inputWidth, "% - 10px)") : "".concat(this.inputWidth, "%");
150
- return _ref = {
178
+ return _ref3 = {
151
179
  transition: this.trackTransition
152
- }, _defineProperty(_ref, startDir, start), _defineProperty(_ref, endDir, end), _defineProperty(_ref, valueDir, value), _ref;
180
+ }, _defineProperty(_ref3, startDir, start), _defineProperty(_ref3, endDir, end), _defineProperty(_ref3, valueDir, value), _ref3;
153
181
  },
154
182
  trackStyles: function trackStyles() {
155
- var _ref2;
183
+ var _ref4;
156
184
 
157
185
  var startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right';
158
186
  var endDir = this.vertical ? 'height' : 'width';
159
187
  var start = '0px';
160
188
  var end = this.isDisabled ? "calc(".concat(100 - this.inputWidth, "% - 10px)") : "calc(".concat(100 - this.inputWidth, "%)");
161
- return _ref2 = {
189
+ return _ref4 = {
162
190
  transition: this.trackTransition
163
- }, _defineProperty(_ref2, startDir, start), _defineProperty(_ref2, endDir, end), _ref2;
191
+ }, _defineProperty(_ref4, startDir, start), _defineProperty(_ref4, endDir, end), _ref4;
164
192
  },
165
193
  showTicks: function showTicks() {
166
194
  return this.tickLabels.length > 0 || !!(!this.isDisabled && this.stepNumeric && this.ticks);
@@ -190,14 +218,21 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
190
218
  watch: {
191
219
  min: function min(val) {
192
220
  var parsed = parseFloat(val);
193
- parsed > this.internalValue && this.$emit('update:modelValue', parsed);
221
+
222
+ if (parsed > this.internalValue) {
223
+ this.$emit('update:modelValue', parsed);
224
+ }
194
225
  },
195
226
  max: function max(val) {
196
227
  var parsed = parseFloat(val);
197
- parsed < this.internalValue && this.$emit('update:modelValue', parsed);
228
+
229
+ if (parsed < this.internalValue) {
230
+ this.$emit('update:modelValue', parsed);
231
+ }
198
232
  },
199
233
  modelValue: {
200
234
  handler: function handler(v) {
235
+ // Use the setter to ensure proper rounding and validation
201
236
  this.internalValue = v;
202
237
  },
203
238
  immediate: true
@@ -216,7 +251,7 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
216
251
  return children;
217
252
  },
218
253
  genSlider: function genSlider() {
219
- return (0, _vue.h)('div', {
254
+ return (0, _vue.withDirectives)((0, _vue.h)('div', {
220
255
  class: _objectSpread({
221
256
  'v-slider': true,
222
257
  'v-slider--horizontal': !this.vertical,
@@ -226,14 +261,10 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
226
261
  'v-slider--disabled': this.isDisabled,
227
262
  'v-slider--readonly': this.isReadonly
228
263
  }, this.themeClasses),
229
- directives: [{
230
- name: 'click-outside',
231
- value: this.onBlur
232
- }],
233
264
  onClick: this.onSliderClick,
234
265
  onMousedown: this.onSliderMouseDown,
235
266
  onTouchstart: this.onSliderMouseDown
236
- }, this.genChildren());
267
+ }, this.genChildren()), [[_clickOutside.default, this.onBlur]]);
237
268
  },
238
269
  genChildren: function genChildren() {
239
270
  return [this.genInput(), this.genTrackContainer(), this.genSteps(), this.genThumbContainer(this.internalValue, this.inputWidth, this.isActive, this.isFocused, this.onFocus, this.onBlur)];
@@ -261,7 +292,7 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
261
292
  }, children);
262
293
  },
263
294
  genSteps: function genSteps() {
264
- var _this = this;
295
+ var _this2 = this;
265
296
 
266
297
  if (!this.step || !this.showTicks) return null;
267
298
  var tickSize = parseFloat(this.tickSize);
@@ -274,14 +305,14 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
274
305
 
275
306
  var children = [];
276
307
 
277
- if (_this.tickLabels[index]) {
308
+ if (_this2.tickLabels[index]) {
278
309
  children.push((0, _vue.h)('div', {
279
310
  class: 'v-slider__tick-label'
280
- }, _this.tickLabels[index]));
311
+ }, _this2.tickLabels[index]));
281
312
  }
282
313
 
283
- var width = index * (100 / _this.numTicks);
284
- var filled = _this.$vuetify.rtl ? 100 - _this.inputWidth < width : width < _this.inputWidth;
314
+ var width = index * (100 / _this2.numTicks);
315
+ var filled = _this2.$vuetify.rtl ? 100 - _this2.inputWidth < width : width < _this2.inputWidth;
285
316
  return (0, _vue.h)('span', {
286
317
  key: index,
287
318
  class: ['v-slider__tick', {
@@ -332,24 +363,24 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
332
363
  }) : [(0, _vue.h)('span', [String(value)])];
333
364
  },
334
365
  genThumbLabel: function genThumbLabel(content) {
366
+ var _this3 = this;
367
+
335
368
  var size = (0, _helpers.convertToUnit)(this.thumbSize);
336
369
  var transform = this.vertical ? "translateY(20%) translateY(".concat(Number(this.thumbSize) / 3 - 1, "px) translateX(55%) rotate(135deg)") : "translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)";
337
370
  return (0, _vue.h)(_transitions.VScaleTransition, {
338
371
  origin: 'bottom center'
339
- }, [(0, _vue.h)('div', {
340
- class: 'v-slider__thumb-label-container',
341
- directives: [{
342
- name: 'show',
343
- value: this.isFocused || this.isActive || this.thumbLabel === 'always'
344
- }]
345
- }, [(0, _vue.h)('div', this.setBackgroundColor(this.computedThumbColor, {
346
- class: 'v-slider__thumb-label',
347
- style: {
348
- height: size,
349
- width: size,
350
- transform: transform
351
- }
352
- }), [(0, _vue.h)('div', content)])])]);
372
+ }, function () {
373
+ return [(0, _vue.withDirectives)((0, _vue.h)('div', {
374
+ class: 'v-slider__thumb-label-container'
375
+ }, [(0, _vue.h)('div', _this3.setBackgroundColor(_this3.computedThumbColor, {
376
+ class: 'v-slider__thumb-label',
377
+ style: {
378
+ height: size,
379
+ width: size,
380
+ transform: transform
381
+ }
382
+ }), [(0, _vue.h)('div', content)])]), [[_vue.vShow, _this3.isFocused || _this3.isActive || _this3.thumbLabel === 'always']])];
383
+ });
353
384
  },
354
385
  genThumb: function genThumb() {
355
386
  return (0, _vue.h)('div', this.setBackgroundColor(this.computedThumbColor, {
@@ -365,7 +396,7 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
365
396
  }, direction, "".concat(value, "%"));
366
397
  },
367
398
  onSliderMouseDown: function onSliderMouseDown(e) {
368
- var _this2 = this;
399
+ var _this4 = this;
369
400
 
370
401
  var _a;
371
402
 
@@ -382,7 +413,7 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
382
413
  this.startOffset = 0;
383
414
  window.clearTimeout(this.mouseTimeout);
384
415
  this.mouseTimeout = window.setTimeout(function () {
385
- _this2.thumbPressed = true;
416
+ _this4.thumbPressed = true;
386
417
  }, 300);
387
418
  }
388
419
 
@@ -442,6 +473,7 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
442
473
  thumb.focus();
443
474
  this.onMouseMove(e);
444
475
  this.$emit('update:modelValue', this.internalValue);
476
+ this.$emit('change', this.internalValue);
445
477
  },
446
478
  onBlur: function onBlur(e) {
447
479
  this.isFocused = false;