@dimailn/vuetify 2.7.2-alpha3 → 2.7.2-alpha31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (887) hide show
  1. package/dist/vuetify.js +3832 -2079
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +39 -9
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +23 -17
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  11. package/es5/components/VAutocomplete/VAutocomplete.js +11 -7
  12. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  13. package/es5/components/VBadge/VBadge.js +46 -14
  14. package/es5/components/VBadge/VBadge.js.map +1 -1
  15. package/es5/components/VBanner/VBanner.js +51 -15
  16. package/es5/components/VBanner/VBanner.js.map +1 -1
  17. package/es5/components/VBottomNavigation/VBottomNavigation.js +33 -7
  18. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  19. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
  20. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  21. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  22. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  23. package/es5/components/VBtn/VBtn.js +20 -16
  24. package/es5/components/VBtn/VBtn.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendar.js +27 -29
  26. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  27. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  28. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  29. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  30. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  31. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  32. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  33. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  34. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  35. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  36. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  37. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  38. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  39. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  40. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  41. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  42. package/es5/components/VCarousel/VCarousel.js +61 -17
  43. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  44. package/es5/components/VCarousel/VCarouselItem.js +7 -3
  45. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  46. package/es5/components/VCheckbox/VCheckbox.js +34 -1
  47. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  48. package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
  49. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  50. package/es5/components/VChip/VChip.js +15 -6
  51. package/es5/components/VChip/VChip.js.map +1 -1
  52. package/es5/components/VColorPicker/VColorPicker.js +54 -39
  53. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  54. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  55. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  56. package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
  57. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  58. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  59. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  60. package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
  61. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  62. package/es5/components/VCombobox/VCombobox.js +1 -0
  63. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  64. package/es5/components/VData/VData.js +15 -2
  65. package/es5/components/VData/VData.js.map +1 -1
  66. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  67. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  68. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  69. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  70. package/es5/components/VDataTable/RowGroup.js +46 -15
  71. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  72. package/es5/components/VDataTable/VDataTable.js +41 -44
  73. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  74. package/es5/components/VDataTable/VDataTableHeader.js +5 -8
  75. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  76. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  77. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  78. package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
  79. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  80. package/es5/components/VDataTable/VEditDialog.js +26 -22
  81. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  82. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  83. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  84. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  85. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  86. package/es5/components/VDataTable/mixins/header.js +7 -9
  87. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  88. package/es5/components/VDatePicker/VDatePicker.js +39 -32
  89. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  90. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  91. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  92. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  93. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  94. package/es5/components/VDatePicker/VDatePickerTitle.js +44 -10
  95. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  96. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  97. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  98. package/es5/components/VDatePicker/mixins/date-picker-table.js +51 -30
  99. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  100. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  101. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  102. package/es5/components/VDialog/VDialog.js +58 -32
  103. package/es5/components/VDialog/VDialog.js.map +1 -1
  104. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  105. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  106. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  107. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  108. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  109. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  110. package/es5/components/VFileInput/VFileInput.js +50 -27
  111. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  112. package/es5/components/VForm/VForm.js +45 -30
  113. package/es5/components/VForm/VForm.js.map +1 -1
  114. package/es5/components/VGrid/VCol.js +3 -3
  115. package/es5/components/VGrid/VCol.js.map +1 -1
  116. package/es5/components/VGrid/VContainer.js +3 -1
  117. package/es5/components/VGrid/VContainer.js.map +1 -1
  118. package/es5/components/VHover/VHover.js +1 -0
  119. package/es5/components/VHover/VHover.js.map +1 -1
  120. package/es5/components/VImg/VImg.js +10 -8
  121. package/es5/components/VImg/VImg.js.map +1 -1
  122. package/es5/components/VInput/VInput.js +65 -12
  123. package/es5/components/VInput/VInput.js.map +1 -1
  124. package/es5/components/VItemGroup/VItem.js +19 -19
  125. package/es5/components/VItemGroup/VItem.js.map +1 -1
  126. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  127. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  128. package/es5/components/VLazy/VLazy.js +8 -15
  129. package/es5/components/VLazy/VLazy.js.map +1 -1
  130. package/es5/components/VList/VList.js +1 -1
  131. package/es5/components/VList/VList.js.map +1 -1
  132. package/es5/components/VList/VListGroup.js +73 -40
  133. package/es5/components/VList/VListGroup.js.map +1 -1
  134. package/es5/components/VList/VListItem.js +63 -18
  135. package/es5/components/VList/VListItem.js.map +1 -1
  136. package/es5/components/VList/VListItemAction.js +23 -9
  137. package/es5/components/VList/VListItemAction.js.map +1 -1
  138. package/es5/components/VMenu/VMenu.js +57 -31
  139. package/es5/components/VMenu/VMenu.js.map +1 -1
  140. package/es5/components/VMessages/VMessages.js +33 -6
  141. package/es5/components/VMessages/VMessages.js.map +1 -1
  142. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +37 -16
  143. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  144. package/es5/components/VOtpInput/VOtpInput.js +37 -5
  145. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  146. package/es5/components/VOverflowBtn/VOverflowBtn.js +4 -1
  147. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  148. package/es5/components/VOverlay/VOverlay.js +32 -4
  149. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  150. package/es5/components/VPagination/VPagination.js +48 -27
  151. package/es5/components/VPagination/VPagination.js.map +1 -1
  152. package/es5/components/VPicker/VPicker.js +7 -4
  153. package/es5/components/VPicker/VPicker.js.map +1 -1
  154. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  155. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  156. package/es5/components/VProgressLinear/VProgressLinear.js +67 -25
  157. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  158. package/es5/components/VRadioGroup/VRadio.js +11 -2
  159. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  160. package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
  161. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  162. package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
  163. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  164. package/es5/components/VRating/VRating.js +45 -17
  165. package/es5/components/VRating/VRating.js.map +1 -1
  166. package/es5/components/VSelect/VSelect.js +156 -79
  167. package/es5/components/VSelect/VSelect.js.map +1 -1
  168. package/es5/components/VSelect/VSelectList.js +104 -44
  169. package/es5/components/VSelect/VSelectList.js.map +1 -1
  170. package/es5/components/VSlideGroup/VSlideGroup.js +27 -22
  171. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  172. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  173. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  174. package/es5/components/VSlider/VSlider.js +73 -41
  175. package/es5/components/VSlider/VSlider.js.map +1 -1
  176. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  177. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  178. package/es5/components/VSparkline/VSparkline.js +48 -68
  179. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  180. package/es5/components/VSpeedDial/VSpeedDial.js +13 -17
  181. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  182. package/es5/components/VStepper/VStepper.js +1 -0
  183. package/es5/components/VStepper/VStepper.js.map +1 -1
  184. package/es5/components/VStepper/VStepperContent.js +4 -2
  185. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  186. package/es5/components/VStepper/VStepperStep.js +12 -20
  187. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  188. package/es5/components/VSubheader/VSubheader.js +2 -2
  189. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  190. package/es5/components/VSwitch/VSwitch.js +11 -9
  191. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  192. package/es5/components/VTabs/VTab.js +1 -0
  193. package/es5/components/VTabs/VTab.js.map +1 -1
  194. package/es5/components/VTabs/VTabs.js +62 -23
  195. package/es5/components/VTabs/VTabs.js.map +1 -1
  196. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  197. package/es5/components/VTabs/VTabsItems.js +1 -0
  198. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  199. package/es5/components/VTextField/VTextField.js +39 -28
  200. package/es5/components/VTextField/VTextField.js.map +1 -1
  201. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  202. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  203. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  204. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  205. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  206. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  207. package/es5/components/VToolbar/VToolbar.js +3 -6
  208. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  209. package/es5/components/VTooltip/VTooltip.js +13 -12
  210. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  211. package/es5/components/VTreeview/VTreeview.js +24 -18
  212. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  213. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  214. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  215. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  216. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  217. package/es5/components/VWindow/VWindow.js +13 -8
  218. package/es5/components/VWindow/VWindow.js.map +1 -1
  219. package/es5/components/VWindow/VWindowItem.js +10 -10
  220. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  221. package/es5/components/transitions/createTransition.js +8 -2
  222. package/es5/components/transitions/createTransition.js.map +1 -1
  223. package/es5/components/transitions/expand-transition.js +1 -0
  224. package/es5/components/transitions/expand-transition.js.map +1 -1
  225. package/es5/directives/intersect/index.js +20 -7
  226. package/es5/directives/intersect/index.js.map +1 -1
  227. package/es5/directives/mutate/index.js +13 -13
  228. package/es5/directives/mutate/index.js.map +1 -1
  229. package/es5/directives/resize/index.js +8 -8
  230. package/es5/directives/resize/index.js.map +1 -1
  231. package/es5/directives/scroll/index.js +10 -9
  232. package/es5/directives/scroll/index.js.map +1 -1
  233. package/es5/directives/touch/index.js +4 -4
  234. package/es5/directives/touch/index.js.map +1 -1
  235. package/es5/framework.js +1 -1
  236. package/es5/install.js +10 -33
  237. package/es5/install.js.map +1 -1
  238. package/es5/mixins/activatable/index.js +11 -5
  239. package/es5/mixins/activatable/index.js.map +1 -1
  240. package/es5/mixins/applicationable/index.js +4 -4
  241. package/es5/mixins/applicationable/index.js.map +1 -1
  242. package/es5/mixins/binds-attrs/index.js +1 -1
  243. package/es5/mixins/binds-attrs/index.js.map +1 -1
  244. package/es5/mixins/bootable/index.js +1 -2
  245. package/es5/mixins/bootable/index.js.map +1 -1
  246. package/es5/mixins/detachable/index.js +12 -9
  247. package/es5/mixins/detachable/index.js.map +1 -1
  248. package/es5/mixins/groupable/index.js +1 -1
  249. package/es5/mixins/groupable/index.js.map +1 -1
  250. package/es5/mixins/intersectable/index.js +2 -2
  251. package/es5/mixins/intersectable/index.js.map +1 -1
  252. package/es5/mixins/menuable/index.js +1 -1
  253. package/es5/mixins/menuable/index.js.map +1 -1
  254. package/es5/mixins/mouse/index.js +10 -5
  255. package/es5/mixins/mouse/index.js.map +1 -1
  256. package/es5/mixins/overlayable/index.js +5 -3
  257. package/es5/mixins/overlayable/index.js.map +1 -1
  258. package/es5/mixins/picker/index.js +13 -3
  259. package/es5/mixins/picker/index.js.map +1 -1
  260. package/es5/mixins/routable/index.js +5 -2
  261. package/es5/mixins/routable/index.js.map +1 -1
  262. package/es5/mixins/selectable/index.js +5 -5
  263. package/es5/mixins/selectable/index.js.map +1 -1
  264. package/es5/mixins/translatable/index.js +1 -1
  265. package/es5/mixins/translatable/index.js.map +1 -1
  266. package/es5/mixins/validatable/index.js +34 -7
  267. package/es5/mixins/validatable/index.js.map +1 -1
  268. package/es5/services/breakpoint/index.js +3 -1
  269. package/es5/services/breakpoint/index.js.map +1 -1
  270. package/es5/util/console.js +49 -18
  271. package/es5/util/console.js.map +1 -1
  272. package/es5/util/helpers.js +49 -1
  273. package/es5/util/helpers.js.map +1 -1
  274. package/es5/util/legacyEventsMixin.js +48 -0
  275. package/es5/util/legacyEventsMixin.js.map +1 -0
  276. package/lib/components/VAlert/VAlert.js +13 -7
  277. package/lib/components/VAlert/VAlert.js.map +1 -1
  278. package/lib/components/VAppBar/VAppBar.js +23 -16
  279. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  280. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  281. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  282. package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
  283. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  284. package/lib/components/VBadge/VBadge.js +26 -13
  285. package/lib/components/VBadge/VBadge.js.map +1 -1
  286. package/lib/components/VBanner/VBanner.js +20 -13
  287. package/lib/components/VBanner/VBanner.js.map +1 -1
  288. package/lib/components/VBottomNavigation/VBottomNavigation.js +15 -7
  289. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  290. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  291. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  292. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  293. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  294. package/lib/components/VBtn/VBtn.js +21 -20
  295. package/lib/components/VBtn/VBtn.js.map +1 -1
  296. package/lib/components/VCalendar/VCalendar.js +26 -31
  297. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  298. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  299. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  300. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  301. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  302. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  303. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  304. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  305. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  306. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  307. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  308. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  309. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  310. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  311. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  312. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  313. package/lib/components/VCarousel/VCarousel.js +36 -16
  314. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  315. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  316. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  317. package/lib/components/VCheckbox/VCheckbox.js +15 -2
  318. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  319. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  320. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  321. package/lib/components/VChip/VChip.js +15 -6
  322. package/lib/components/VChip/VChip.js.map +1 -1
  323. package/lib/components/VColorPicker/VColorPicker.js +47 -44
  324. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  325. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  326. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  327. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  328. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  329. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  330. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  331. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  332. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  333. package/lib/components/VCombobox/VCombobox.js +1 -0
  334. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  335. package/lib/components/VData/VData.js +16 -2
  336. package/lib/components/VData/VData.js.map +1 -1
  337. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  338. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  339. package/lib/components/VDataIterator/VDataIterator.js +31 -34
  340. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  341. package/lib/components/VDataTable/RowGroup.js +30 -14
  342. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  343. package/lib/components/VDataTable/VDataTable.js +20 -33
  344. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  345. package/lib/components/VDataTable/VDataTableHeader.js +7 -9
  346. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  347. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  348. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  349. package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
  350. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  351. package/lib/components/VDataTable/VEditDialog.js +18 -18
  352. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  353. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  354. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  355. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  356. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  357. package/lib/components/VDataTable/mixins/header.js +3 -8
  358. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  359. package/lib/components/VDatePicker/VDatePicker.js +24 -23
  360. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  361. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  362. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  363. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  364. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  365. package/lib/components/VDatePicker/VDatePickerTitle.js +17 -5
  366. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  367. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  368. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  369. package/lib/components/VDatePicker/mixins/date-picker-table.js +30 -15
  370. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  371. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  372. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  373. package/lib/components/VDialog/VDialog.js +12 -4
  374. package/lib/components/VDialog/VDialog.js.map +1 -1
  375. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  376. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  377. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  378. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  379. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  380. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  381. package/lib/components/VFileInput/VFileInput.js +43 -25
  382. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  383. package/lib/components/VForm/VForm.js +41 -26
  384. package/lib/components/VForm/VForm.js.map +1 -1
  385. package/lib/components/VGrid/VCol.js +3 -3
  386. package/lib/components/VGrid/VCol.js.map +1 -1
  387. package/lib/components/VGrid/VContainer.js +3 -1
  388. package/lib/components/VGrid/VContainer.js.map +1 -1
  389. package/lib/components/VHover/VHover.js +1 -0
  390. package/lib/components/VHover/VHover.js.map +1 -1
  391. package/lib/components/VImg/VImg.js +5 -9
  392. package/lib/components/VImg/VImg.js.map +1 -1
  393. package/lib/components/VInput/VInput.js +32 -9
  394. package/lib/components/VInput/VInput.js.map +1 -1
  395. package/lib/components/VItemGroup/VItem.js +22 -19
  396. package/lib/components/VItemGroup/VItem.js.map +1 -1
  397. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  398. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  399. package/lib/components/VLazy/VLazy.js +8 -15
  400. package/lib/components/VLazy/VLazy.js.map +1 -1
  401. package/lib/components/VList/VList.js +1 -1
  402. package/lib/components/VList/VList.js.map +1 -1
  403. package/lib/components/VList/VListGroup.js +34 -32
  404. package/lib/components/VList/VListGroup.js.map +1 -1
  405. package/lib/components/VList/VListItem.js +40 -18
  406. package/lib/components/VList/VListItem.js.map +1 -1
  407. package/lib/components/VList/VListItemAction.js +15 -9
  408. package/lib/components/VList/VListItemAction.js.map +1 -1
  409. package/lib/components/VMenu/VMenu.js +16 -4
  410. package/lib/components/VMenu/VMenu.js.map +1 -1
  411. package/lib/components/VMessages/VMessages.js +13 -2
  412. package/lib/components/VMessages/VMessages.js.map +1 -1
  413. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +12 -8
  414. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  415. package/lib/components/VOtpInput/VOtpInput.js +50 -6
  416. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  417. package/lib/components/VOverflowBtn/VOverflowBtn.js +2 -1
  418. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  419. package/lib/components/VOverlay/VOverlay.js +14 -3
  420. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  421. package/lib/components/VPagination/VPagination.js +28 -23
  422. package/lib/components/VPagination/VPagination.js.map +1 -1
  423. package/lib/components/VPicker/VPicker.js +4 -4
  424. package/lib/components/VPicker/VPicker.js.map +1 -1
  425. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  426. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  427. package/lib/components/VProgressLinear/VProgressLinear.js +46 -19
  428. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  429. package/lib/components/VRadioGroup/VRadio.js +3 -2
  430. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  431. package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
  432. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  433. package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
  434. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  435. package/lib/components/VRating/VRating.js +11 -0
  436. package/lib/components/VRating/VRating.js.map +1 -1
  437. package/lib/components/VSelect/VSelect.js +99 -40
  438. package/lib/components/VSelect/VSelect.js.map +1 -1
  439. package/lib/components/VSelect/VSelectList.js +54 -29
  440. package/lib/components/VSelect/VSelectList.js.map +1 -1
  441. package/lib/components/VSlideGroup/VSlideGroup.js +4 -7
  442. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  443. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  444. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  445. package/lib/components/VSlider/VSlider.js +37 -25
  446. package/lib/components/VSlider/VSlider.js.map +1 -1
  447. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  448. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  449. package/lib/components/VSparkline/VSparkline.js +48 -67
  450. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  451. package/lib/components/VSpeedDial/VSpeedDial.js +9 -15
  452. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  453. package/lib/components/VStepper/VStepper.js +1 -0
  454. package/lib/components/VStepper/VStepper.js.map +1 -1
  455. package/lib/components/VStepper/VStepperContent.js +2 -2
  456. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  457. package/lib/components/VStepper/VStepperStep.js +8 -19
  458. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  459. package/lib/components/VSubheader/VSubheader.js +1 -2
  460. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  461. package/lib/components/VSwitch/VSwitch.js +2 -4
  462. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  463. package/lib/components/VTabs/VTab.js +1 -0
  464. package/lib/components/VTabs/VTab.js.map +1 -1
  465. package/lib/components/VTabs/VTabs.js +28 -7
  466. package/lib/components/VTabs/VTabs.js.map +1 -1
  467. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  468. package/lib/components/VTabs/VTabsItems.js +1 -0
  469. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  470. package/lib/components/VTextField/VTextField.js +12 -18
  471. package/lib/components/VTextField/VTextField.js.map +1 -1
  472. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  473. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  474. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  475. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  476. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  477. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  478. package/lib/components/VToolbar/VToolbar.js +5 -6
  479. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  480. package/lib/components/VTooltip/VTooltip.js +10 -14
  481. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  482. package/lib/components/VTreeview/VTreeview.js +15 -13
  483. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  484. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  485. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  486. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  487. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  488. package/lib/components/VWindow/VWindow.js +7 -6
  489. package/lib/components/VWindow/VWindow.js.map +1 -1
  490. package/lib/components/VWindow/VWindowItem.js +5 -7
  491. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  492. package/lib/components/transitions/createTransition.js +2 -2
  493. package/lib/components/transitions/createTransition.js.map +1 -1
  494. package/lib/components/transitions/expand-transition.js +1 -0
  495. package/lib/components/transitions/expand-transition.js.map +1 -1
  496. package/lib/directives/intersect/index.js +20 -7
  497. package/lib/directives/intersect/index.js.map +1 -1
  498. package/lib/directives/mutate/index.js +13 -13
  499. package/lib/directives/mutate/index.js.map +1 -1
  500. package/lib/directives/resize/index.js +8 -8
  501. package/lib/directives/resize/index.js.map +1 -1
  502. package/lib/directives/scroll/index.js +10 -9
  503. package/lib/directives/scroll/index.js.map +1 -1
  504. package/lib/directives/touch/index.js +4 -4
  505. package/lib/directives/touch/index.js.map +1 -1
  506. package/lib/framework.js +1 -1
  507. package/lib/install.js +5 -28
  508. package/lib/install.js.map +1 -1
  509. package/lib/mixins/activatable/index.js +12 -6
  510. package/lib/mixins/activatable/index.js.map +1 -1
  511. package/lib/mixins/applicationable/index.js +4 -4
  512. package/lib/mixins/applicationable/index.js.map +1 -1
  513. package/lib/mixins/binds-attrs/index.js +1 -1
  514. package/lib/mixins/binds-attrs/index.js.map +1 -1
  515. package/lib/mixins/bootable/index.js +2 -4
  516. package/lib/mixins/bootable/index.js.map +1 -1
  517. package/lib/mixins/detachable/index.js +13 -10
  518. package/lib/mixins/detachable/index.js.map +1 -1
  519. package/lib/mixins/groupable/index.js +1 -1
  520. package/lib/mixins/groupable/index.js.map +1 -1
  521. package/lib/mixins/intersectable/index.js +2 -2
  522. package/lib/mixins/intersectable/index.js.map +1 -1
  523. package/lib/mixins/menuable/index.js +1 -1
  524. package/lib/mixins/menuable/index.js.map +1 -1
  525. package/lib/mixins/mouse/index.js +9 -5
  526. package/lib/mixins/mouse/index.js.map +1 -1
  527. package/lib/mixins/overlayable/index.js +5 -3
  528. package/lib/mixins/overlayable/index.js.map +1 -1
  529. package/lib/mixins/picker/index.js +5 -3
  530. package/lib/mixins/picker/index.js.map +1 -1
  531. package/lib/mixins/routable/index.js +5 -2
  532. package/lib/mixins/routable/index.js.map +1 -1
  533. package/lib/mixins/selectable/index.js +6 -5
  534. package/lib/mixins/selectable/index.js.map +1 -1
  535. package/lib/mixins/translatable/index.js +1 -1
  536. package/lib/mixins/translatable/index.js.map +1 -1
  537. package/lib/mixins/validatable/index.js +17 -7
  538. package/lib/mixins/validatable/index.js.map +1 -1
  539. package/lib/services/breakpoint/index.js +3 -1
  540. package/lib/services/breakpoint/index.js.map +1 -1
  541. package/lib/util/console.js +47 -17
  542. package/lib/util/console.js.map +1 -1
  543. package/lib/util/helpers.js +47 -1
  544. package/lib/util/helpers.js.map +1 -1
  545. package/lib/util/legacyEventsMixin.js +37 -0
  546. package/lib/util/legacyEventsMixin.js.map +1 -0
  547. package/package.json +1 -1
  548. package/src/components/VAlert/VAlert.ts +19 -8
  549. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  550. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
  551. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  552. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  553. package/src/components/VAppBar/VAppBar.ts +21 -14
  554. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  555. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  556. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  557. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  558. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  559. package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
  560. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
  561. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
  562. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
  563. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  564. package/src/components/VBadge/VBadge.ts +38 -26
  565. package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
  566. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  567. package/src/components/VBanner/VBanner.ts +30 -17
  568. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  569. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  570. package/src/components/VBottomNavigation/VBottomNavigation.ts +20 -8
  571. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
  572. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +11 -10
  573. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
  574. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
  575. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
  576. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
  577. package/src/components/VBtn/VBtn.ts +25 -17
  578. package/src/components/VBtn/__tests__/VBtn.spec.ts +257 -242
  579. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  580. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
  581. package/src/components/VCalendar/VCalendar.ts +29 -27
  582. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  583. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  584. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  585. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  586. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  587. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  588. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  589. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  590. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  591. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  592. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  593. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  594. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  595. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  596. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  597. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  598. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  599. package/src/components/VCalendar/mixins/times.ts +1 -1
  600. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  601. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  602. package/src/components/VCarousel/VCarousel.ts +42 -15
  603. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  604. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
  605. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
  606. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  607. package/src/components/VCheckbox/VCheckbox.ts +20 -2
  608. package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
  609. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  610. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  611. package/src/components/VChip/VChip.ts +17 -13
  612. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  613. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  614. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  615. package/src/components/VColorPicker/VColorPicker.ts +51 -41
  616. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  617. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  618. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  619. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  620. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  621. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  622. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  623. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  624. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +218 -175
  625. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +38 -21
  626. package/src/components/VCombobox/VCombobox.ts +23 -0
  627. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
  628. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
  629. package/src/components/VData/VData.ts +14 -1
  630. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  631. package/src/components/VDataIterator/VDataFooter.ts +16 -9
  632. package/src/components/VDataIterator/VDataIterator.ts +51 -35
  633. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  634. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  635. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
  636. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
  637. package/src/components/VDataTable/RowGroup.ts +33 -16
  638. package/src/components/VDataTable/VDataTable.ts +20 -29
  639. package/src/components/VDataTable/VDataTableHeader.ts +8 -9
  640. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
  641. package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
  642. package/src/components/VDataTable/VEditDialog.ts +23 -21
  643. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  644. package/src/components/VDataTable/VVirtualTable.ts +2 -3
  645. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  646. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  647. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  648. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
  649. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
  650. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +33 -24
  651. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
  652. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  653. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  654. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
  655. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
  656. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  657. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  658. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +10 -13
  659. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
  660. package/src/components/VDataTable/mixins/header.ts +6 -10
  661. package/src/components/VDatePicker/VDatePicker.ts +30 -25
  662. package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
  663. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  664. package/src/components/VDatePicker/VDatePickerTitle.ts +21 -7
  665. package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
  666. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  667. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  668. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  669. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  670. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  671. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  672. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  673. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  674. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  675. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  676. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  677. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  678. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  679. package/src/components/VDatePicker/mixins/date-picker-table.ts +32 -14
  680. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  681. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  682. package/src/components/VDialog/VDialog.ts +23 -11
  683. package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
  684. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  685. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  686. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  687. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  688. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +2 -2
  689. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +3 -4
  690. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +43 -27
  691. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +18 -16
  692. package/src/components/VFileInput/VFileInput.ts +47 -32
  693. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
  694. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  695. package/src/components/VForm/VForm.ts +63 -35
  696. package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
  697. package/src/components/VGrid/VCol.ts +2 -2
  698. package/src/components/VGrid/VContainer.ts +1 -1
  699. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  700. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  701. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  702. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  703. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  704. package/src/components/VHover/VHover.ts +2 -0
  705. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  706. package/src/components/VImg/VImg.ts +5 -4
  707. package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
  708. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  709. package/src/components/VInput/VInput.ts +33 -8
  710. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  711. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  712. package/src/components/VItemGroup/VItem.ts +29 -23
  713. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  714. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  715. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  716. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  717. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  718. package/src/components/VLazy/VLazy.ts +11 -13
  719. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  720. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  721. package/src/components/VList/VList.ts +1 -1
  722. package/src/components/VList/VListGroup.ts +43 -32
  723. package/src/components/VList/VListItem.ts +55 -23
  724. package/src/components/VList/VListItemAction.ts +11 -10
  725. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  726. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  727. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  728. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  729. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  730. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  731. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  732. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  733. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  734. package/src/components/VMenu/VMenu.ts +25 -4
  735. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  736. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  737. package/src/components/VMessages/VMessages.ts +15 -4
  738. package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
  739. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  740. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +23 -16
  741. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
  742. package/src/components/VOtpInput/VOtpInput.ts +39 -4
  743. package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
  744. package/src/components/VOverlay/VOverlay.ts +16 -2
  745. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  746. package/src/components/VPagination/VPagination.ts +41 -29
  747. package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
  748. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +184 -429
  749. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  750. package/src/components/VPicker/VPicker.ts +9 -11
  751. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  752. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  753. package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
  754. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  755. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  756. package/src/components/VProgressLinear/VProgressLinear.ts +64 -30
  757. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +378 -71
  758. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  759. package/src/components/VRadioGroup/VRadio.ts +4 -2
  760. package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
  761. package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
  762. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
  763. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  764. package/src/components/VRating/VRating.ts +13 -0
  765. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  766. package/src/components/VSelect/VSelect.ts +105 -47
  767. package/src/components/VSelect/VSelectList.ts +51 -25
  768. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  769. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  770. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  771. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  772. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  773. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  774. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  775. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  776. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  777. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  778. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  779. package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
  780. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  781. package/src/components/VSlider/VSlider.ts +58 -32
  782. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  783. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  784. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  785. package/src/components/VSparkline/VSparkline.ts +54 -92
  786. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  787. package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
  788. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  789. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  790. package/src/components/VStepper/VStepper.ts +3 -1
  791. package/src/components/VStepper/VStepperContent.ts +2 -2
  792. package/src/components/VStepper/VStepperStep.ts +9 -16
  793. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  794. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  795. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  796. package/src/components/VSubheader/VSubheader.ts +1 -1
  797. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
  798. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  799. package/src/components/VSwitch/VSwitch.ts +5 -6
  800. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  801. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
  802. package/src/components/VTabs/VTab.ts +2 -0
  803. package/src/components/VTabs/VTabs.ts +33 -13
  804. package/src/components/VTabs/VTabsBar.ts +7 -5
  805. package/src/components/VTabs/VTabsItems.ts +2 -0
  806. package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
  807. package/src/components/VTabs/__tests__/VTabs.spec.ts +127 -79
  808. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
  809. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  810. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  811. package/src/components/VTextField/VTextField.ts +14 -16
  812. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  813. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  814. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  815. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  816. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  817. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  818. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  819. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  820. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  821. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
  822. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +4 -5
  823. package/src/components/VToolbar/VToolbar.ts +5 -6
  824. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  825. package/src/components/VTooltip/VTooltip.ts +24 -24
  826. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +60 -75
  827. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  828. package/src/components/VTreeview/VTreeview.ts +20 -17
  829. package/src/components/VTreeview/VTreeviewNode.ts +4 -6
  830. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
  831. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +77 -66
  832. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
  833. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +26 -51
  834. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
  835. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
  836. package/src/components/VWindow/VWindow.ts +9 -6
  837. package/src/components/VWindow/VWindowItem.ts +5 -4
  838. package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
  839. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
  840. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  841. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  842. package/src/components/transitions/createTransition.ts +2 -2
  843. package/src/components/transitions/expand-transition.ts +2 -0
  844. package/src/directives/intersect/index.ts +81 -42
  845. package/src/directives/mutate/index.ts +58 -49
  846. package/src/directives/resize/index.ts +33 -14
  847. package/src/directives/scroll/index.ts +36 -20
  848. package/src/directives/touch/index.ts +37 -27
  849. package/src/install.ts +10 -32
  850. package/src/mixins/activatable/index.ts +10 -5
  851. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  852. package/src/mixins/applicationable/index.ts +4 -4
  853. package/src/mixins/binds-attrs/index.ts +1 -1
  854. package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
  855. package/src/mixins/bootable/index.ts +4 -3
  856. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  857. package/src/mixins/detachable/index.ts +16 -9
  858. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  859. package/src/mixins/groupable/index.ts +1 -1
  860. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  861. package/src/mixins/intersectable/index.ts +2 -2
  862. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  863. package/src/mixins/menuable/index.ts +1 -1
  864. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  865. package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
  866. package/src/mixins/mouse/index.ts +10 -6
  867. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  868. package/src/mixins/overlayable/index.ts +5 -4
  869. package/src/mixins/picker/index.ts +4 -4
  870. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  871. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  872. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  873. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  874. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  875. package/src/mixins/routable/index.ts +6 -4
  876. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  877. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  878. package/src/mixins/selectable/index.ts +7 -7
  879. package/src/mixins/translatable/index.ts +1 -1
  880. package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
  881. package/src/mixins/validatable/index.ts +29 -21
  882. package/src/services/breakpoint/index.ts +5 -0
  883. package/src/util/__tests__/console.spec.ts +124 -11
  884. package/src/util/__tests__/helpers.spec.ts +121 -32
  885. package/src/util/console.ts +43 -24
  886. package/src/util/helpers.ts +49 -4
  887. package/src/util/legacyEventsMixin.ts +34 -0
@@ -2,14 +2,13 @@
2
2
  import VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox';
3
3
  import VDivider from '../VDivider';
4
4
  import VSubheader from '../VSubheader';
5
- import { VList, VListItem, VListItemAction, VListItemContent, VListItemTitle } from '../VList'; // Directives
6
-
7
- import ripple from '../../directives/ripple'; // Mixins
5
+ import { VList, VListItem, VListItemAction, VListItemContent, VListItemTitle } from '../VList'; // Mixins
8
6
 
9
7
  import Colorable from '../../mixins/colorable';
10
8
  import Themeable from '../../mixins/themeable'; // Helpers
11
9
 
12
- import { getPropertyFromItem } from '../../util/helpers'; // Types
10
+ import { getPropertyFromItem } from '../../util/helpers';
11
+ import { breaking } from '../../util/console'; // Types
13
12
 
14
13
  import mixins from '../../util/mixins';
15
14
  import { h } from 'vue';
@@ -17,10 +16,6 @@ import { h } from 'vue';
17
16
 
18
17
  export default mixins(Colorable, Themeable).extend({
19
18
  name: 'v-select-list',
20
- // https://github.com/vuejs/vue/issues/6872
21
- directives: {
22
- ripple
23
- },
24
19
  props: {
25
20
  action: Boolean,
26
21
  dense: Boolean,
@@ -68,20 +63,28 @@ export default mixins(Colorable, Themeable).extend({
68
63
  }
69
64
 
70
65
  },
66
+
67
+ created() {
68
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
69
+ /* istanbul ignore next */
70
+
71
+ breakingProps.forEach(([original, replacement]) => {
72
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
73
+ });
74
+ },
75
+
71
76
  methods: {
72
77
  genAction(item, inputValue) {
73
- return h(VListItemAction, [h(VSimpleCheckbox, {
78
+ return h(VListItemAction, {}, () => [h(VSimpleCheckbox, {
74
79
  color: this.color,
75
- value: inputValue,
80
+ modelValue: inputValue,
76
81
  ripple: false,
77
- onInput: () => this.$emit('select', item)
82
+ 'onUpdate:modelValue': () => this.$emit('select', item)
78
83
  })]);
79
84
  },
80
85
 
81
86
  genDivider(props) {
82
- return h(VDivider, {
83
- props
84
- });
87
+ return h(VDivider, props);
85
88
  },
86
89
 
87
90
  genFilteredText(text) {
@@ -96,9 +99,7 @@ export default mixins(Colorable, Themeable).extend({
96
99
  },
97
100
 
98
101
  genHeader(props) {
99
- return h(VSubheader, {
100
- props
101
- }, props.header);
102
+ return h(VSubheader, props, props.header);
102
103
  },
103
104
 
104
105
  genHighlight(text) {
@@ -141,7 +142,7 @@ export default mixins(Colorable, Themeable).extend({
141
142
  // Default behavior in list does not
142
143
  // contain aria-selected by default
143
144
  'aria-selected': String(value),
144
- id: `list-item-${this._uid}-${index}`,
145
+ id: `list-item-${this.$.uid}-${index}`,
145
146
  role: 'option',
146
147
  onMousedown: e => {
147
148
  // Prevent onBlur from being called
@@ -151,7 +152,15 @@ export default mixins(Colorable, Themeable).extend({
151
152
  activeClass: this.tileActiveClass,
152
153
  disabled,
153
154
  ripple: true,
154
- inputValue: value
155
+ modelValue: value,
156
+ // Передаем scopeId атрибуты от родительского компонента
157
+ ...Object.keys(this.$attrs).reduce((acc, key) => {
158
+ if (key.startsWith('data-v-')) {
159
+ acc[key] = this.$attrs[key];
160
+ }
161
+
162
+ return acc;
163
+ }, {})
155
164
  };
156
165
 
157
166
  if (!this.$slots.item) {
@@ -159,19 +168,26 @@ export default mixins(Colorable, Themeable).extend({
159
168
  }
160
169
 
161
170
  const parent = this;
171
+ const {
172
+ onClick,
173
+ onMousedown,
174
+ ...attrsWithoutEvents
175
+ } = tile;
162
176
  const scopedSlot = this.$slots.item({
163
177
  parent,
164
178
  item,
165
- attrs: { ...tile.attrs,
166
- ...tile.props
167
- },
168
- on: tile.on
179
+ active: value,
180
+ attrs: tile,
181
+ on: {
182
+ onMousedown,
183
+ onClick
184
+ }
169
185
  });
170
186
  return this.needsTile(scopedSlot) ? h(VListItem, tile, scopedSlot) : scopedSlot;
171
187
  },
172
188
 
173
189
  genTileContent(item, index = 0) {
174
- return h(VListItemContent, [h(VListItemTitle, [this.genFilteredText(this.getText(item))])]);
190
+ return h(VListItemContent, {}, () => [h(VListItemTitle, {}, () => [this.genFilteredText(this.getText(item))])]);
175
191
  },
176
192
 
177
193
  hasItem(item) {
@@ -179,7 +195,14 @@ export default mixins(Colorable, Themeable).extend({
179
195
  },
180
196
 
181
197
  needsTile(slot) {
182
- return slot.length !== 1 || slot[0].componentOptions == null || slot[0].componentOptions.Ctor.name !== 'v-list-item';
198
+ const [vnode] = slot !== null && slot !== void 0 ? slot : [];
199
+ if (!(slot === null || slot === void 0 ? void 0 : slot.length) || slot.length !== 1) return true;
200
+ const {
201
+ type
202
+ } = vnode !== null && vnode !== void 0 ? vnode : {};
203
+ const isComponent = type && typeof type === 'object';
204
+ const isVListItem = isComponent && 'name' in type && type.name === 'v-list-item';
205
+ return !isVListItem;
183
206
  },
184
207
 
185
208
  getDisabled(item) {
@@ -197,6 +220,8 @@ export default mixins(Colorable, Themeable).extend({
197
220
  },
198
221
 
199
222
  render() {
223
+ var _a, _b;
224
+
200
225
  const children = [];
201
226
  const itemsLength = this.items.length;
202
227
 
@@ -212,10 +237,10 @@ export default mixins(Colorable, Themeable).extend({
212
237
  }));
213
238
  }
214
239
 
215
- children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile);
216
- this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']);
217
- this.$slots['append-item'] && children.push(this.$slots['append-item']);
218
- return h(VList, {
240
+ children.length || children.push(((_b = (_a = this.$slots)['no-data']) === null || _b === void 0 ? void 0 : _b.call(_a)) || this.staticNoDataTile);
241
+ this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']());
242
+ this.$slots['append-item'] && children.push(this.$slots['append-item']());
243
+ return h(VList, { ...this.$attrs,
219
244
  class: ['v-select-list', this.themeClasses],
220
245
  role: 'listbox',
221
246
  tabindex: -1,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, [\n h(VSimpleCheckbox, {\n color: this.color,\n value: inputValue,\n ripple: false,\n onInput: () => this.$emit('select', item)\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$slots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, [\n h(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return h(VList, {\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
1
+ {"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, {}, () => [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n 'onUpdate:modelValue': () => this.$emit('select', item),\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, props)\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, props, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n modelValue: value,\n // Передаем scopeId атрибуты от родительского компонента\n ...Object.keys(this.$attrs).reduce((acc, key) => {\n if (key.startsWith('data-v-')) {\n acc[key] = this.$attrs[key]\n }\n return acc\n }, {} as Record<string, any>),\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const { onClick, onMousedown, ...attrsWithoutEvents } = tile\n const scopedSlot = this.$slots.item({\n parent,\n item,\n active: value,\n attrs: tile,\n on: {\n onMousedown,\n onClick,\n },\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, {}, () => [\n h(VListItemTitle, {}, () => [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined): boolean {\n const [vnode] = slot ?? []\n\n if (!slot?.length || slot.length !== 1) return true\n\n const { type } = vnode ?? {}\n\n const isComponent = type && typeof type === 'object'\n\n const isVListItem = isComponent && 'name' in type && type.name === 'v-list-item'\n\n return !isVListItem\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n ...this.$attrs,\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
@@ -59,10 +59,6 @@ export function calculateCenteredOffset(selectedElement, widths, rtl) {
59
59
  }
60
60
  export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
61
61
  name: 'base-slide-group',
62
- directives: {
63
- Resize,
64
- Touch
65
- },
66
62
  props: {
67
63
  activeClass: {
68
64
  type: String,
@@ -82,6 +78,7 @@ export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
82
78
  validator: v => typeof v === 'boolean' || ['always', 'never', 'desktop', 'mobile'].includes(v)
83
79
  }
84
80
  },
81
+ emits: ['click:prev', 'click:next'],
85
82
  data: () => ({
86
83
  isOverflowing: false,
87
84
  resizeTimeout: 0,
@@ -260,9 +257,9 @@ export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
260
257
  const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`;
261
258
  const hasAffix = this[`has${upperLocation}`];
262
259
  if (!this.showArrows && !hasAffix) return null;
263
- return h(VIcon, {
260
+ return h(VIcon, () => (({
264
261
  disabled: !hasAffix
265
- }, this[`${icon}Icon`]);
262
+ }), this[`${icon}Icon`]));
266
263
  },
267
264
 
268
265
  // Always generate prev for scrollable hint
@@ -278,7 +275,7 @@ export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
278
275
  },
279
276
 
280
277
  genTransition(location) {
281
- return h(VFadeTransition, [this.genIcon(location)]);
278
+ return h(VFadeTransition, () => [this.genIcon(location)]);
282
279
  },
283
280
 
284
281
  genWrapper() {
@@ -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":"AAAA,SAAQ,CAAR,EAAW,cAAX,QAAgC,KAAhC,C,CACA;;AACA,OAAO,sDAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB;AACA,SAAS,eAAT,QAAgC,gBAAhC,C,CAEA;;AACA,SAAS,aAAT,QAA8B,0BAA9B,C,CAEA;;AACA,OAAO,MAAP,MAAmB,qBAAnB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,yBAAnB;AACA,OAAO,KAAP,MAAkB,wBAAlB,C,CAEA;;AACA,OAAO,MAAP,MAAmC,mBAAnC,C,CAEA;;AACA,SAAqB,eAArB,QAA4C,KAA5C;AACA,SAAS,YAAT,EAAuB,OAAvB,QAAsC,oBAAtC;;AAsBA,SAAS,IAAT,CAAe,GAAf,EAA0B;AACxB,QAAM,CAAC,GAAG,KAAV;AACA,QAAM,CAAC,GAAG,IAAI,CAAC,GAAL,CAAS,GAAT,CAAV;AACA,SAAO,IAAI,CAAC,IAAL,CAAU,GAAV,KAAkB,CAAC,IAAI,CAAC,IAAI,CAAJ,GAAQ,CAAT,KAAe,IAAI,CAAnB,IAAwB,CAA5B,CAAnB,CAAP;AACD;;AAED,OAAM,SAAU,sBAAV,CACJ,eADI,EAEJ,MAFI,EAGJ,GAHI,EAIJ,mBAJI,EAIuB;AAE3B,QAAM,WAAW,GAAG,eAAe,CAAC,WAApC;AACA,QAAM,UAAU,GAAG,GAAG,GACjB,MAAM,CAAC,OAAP,GAAiB,eAAe,CAAC,UAAjC,GAA8C,WAD7B,GAElB,eAAe,CAAC,UAFpB;;AAIA,MAAI,GAAJ,EAAS;AACP,IAAA,mBAAmB,GAAG,CAAC,mBAAvB;AACD;;AAED,QAAM,UAAU,GAAG,MAAM,CAAC,OAAP,GAAiB,mBAApC;AACA,QAAM,UAAU,GAAG,WAAW,GAAG,UAAjC;AACA,QAAM,gBAAgB,GAAG,WAAW,GAAG,GAAvC;;AAEA,MAAI,UAAU,IAAI,mBAAlB,EAAuC;AACrC,IAAA,mBAAmB,GAAG,IAAI,CAAC,GAAL,CAAS,UAAU,GAAG,gBAAtB,EAAwC,CAAxC,CAAtB;AACD,GAFD,MAEO,IAAI,UAAU,IAAI,UAAlB,EAA8B;AACnC,IAAA,mBAAmB,GAAG,IAAI,CAAC,GAAL,CAAS,mBAAmB,IAAI,UAAU,GAAG,UAAb,GAA0B,gBAA9B,CAA5B,EAA6E,MAAM,CAAC,OAAP,GAAiB,MAAM,CAAC,OAArG,CAAtB;AACD;;AAED,SAAO,GAAG,GAAG,CAAC,mBAAJ,GAA0B,mBAApC;AACD;AAED,OAAM,SAAU,uBAAV,CACJ,eADI,EAEJ,MAFI,EAGJ,GAHI,EAGQ;AAEZ,QAAM;AAAE,IAAA,UAAF;AAAc,IAAA;AAAd,MAA8B,eAApC;;AAEA,MAAI,GAAJ,EAAS;AACP,UAAM,cAAc,GAAG,MAAM,CAAC,OAAP,GAAiB,UAAjB,GAA8B,WAAW,GAAG,CAA5C,GAAgD,MAAM,CAAC,OAAP,GAAiB,CAAxF;AACA,WAAO,CAAC,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,OAAP,GAAiB,MAAM,CAAC,OAAjC,EAA0C,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,cAAZ,CAA1C,CAAR;AACD,GAHD,MAGO;AACL,UAAM,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,CAA3B,GAA+B,MAAM,CAAC,OAAP,GAAiB,CAAvE;AACA,WAAO,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,OAAP,GAAiB,MAAM,CAAC,OAAjC,EAA0C,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,cAAZ,CAA1C,CAAP;AACD;AACF;AAED,OAAO,MAAM,cAAc,GAAG,MAAM,CAQlC,aARkC,EASlC,MATkC,CAAN,CAW5B,MAX4B,CAWrB;AACP,EAAA,IAAI,EAAE,kBADC;AAIP,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,YAAY,EAAE,OALT;AAML,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KANL;AAUL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAVL;AAcL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADI;AAEV,MAAA,SAAS,EAAG,CAAD,IACT,OAAO,CAAP,KAAa,SAAb,IAA0B,CACxB,QADwB,EAExB,OAFwB,EAGxB,SAHwB,EAIxB,QAJwB,EAKxB,QALwB,CAKf,CALe;AAHlB;AAdP,GAJA;AA+BP,EAAA,KAAK,EAAE,CAAC,YAAD,EAAe,YAAf,CA/BA;AAiCP,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,aAAa,EAAE,KADJ;AAEX,IAAA,aAAa,EAAE,CAFJ;AAGX,IAAA,MAAM,EAAE,CAHG;AAIX,IAAA,mBAAmB,EAAE,KAJV;AAKX,IAAA,SAAS,EAAE,KALA;AAMX,IAAA,YAAY,EAAE,CANH;AAOX,IAAA,MAAM,EAAE;AACN,MAAA,OAAO,EAAE,CADH;AAEN,MAAA,OAAO,EAAE;AAFH;AAPG,GAAP,CAjCC;AA8CP,EAAA,QAAQ,EAAE;AACR,IAAA,QAAQ,GAAA;AACN,aAAO,OAAO,MAAP,KAAkB,WAAzB;AACD,KAHO;;AAIR,IAAA,YAAY,GAAA;AACV,aAAO,KAAK,aAAL,CAAmB,MAAnB,CAAP;AACD,KANO;;AAOR,IAAA,YAAY,GAAA;AACV,aAAO,KAAK,aAAL,CAAmB,MAAnB,CAAP;AACD,KATO;;AAUR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,aAAa,CAAC,QAAd,CAAuB,OAAvB,CAA+B,IAA/B,CAAoC,IAApC,CADE;AAEL,yBAAiB,IAFZ;AAGL,sCAA8B,KAAK,UAH9B;AAIL,yCAAiC,KAAK;AAJjC,OAAP;AAMD,KAjBO;;AAkBR,IAAA,UAAU,GAAA;AACR,cAAQ,KAAK,UAAb;AACE;AACA,aAAK,QAAL;AAAe,iBAAO,IAAP;AAEf;;AACA,aAAK,SAAL;AAAgB,iBAAO,CAAC,KAAK,QAAb;AAEhB;AACA;;AACA,aAAK,IAAL;AAAW,iBAAO,KAAK,aAAL,IAAsB,IAAI,CAAC,GAAL,CAAS,KAAK,YAAd,IAA8B,CAA3D;AAEX;;AACA,aAAK,QAAL;AAAe,iBACb,KAAK,QAAL,IACC,KAAK,aAAL,IAAsB,IAAI,CAAC,GAAL,CAAS,KAAK,YAAd,IAA8B,CAFxC;AAKf;;AACA,aAAK,OAAL;AAAc,iBAAO,KAAP;AAEd;AACA;AACA;;AACA;AAAS,iBACP,CAAC,KAAK,QAAN,KACC,KAAK,aAAL,IAAsB,IAAI,CAAC,GAAL,CAAS,KAAK,YAAd,IAA8B,CADrD,CADO;AAvBX;AA4BD,KA/CO;;AAgDR,IAAA,OAAO,GAAA;AACL,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,KAAP;AAEtB,YAAM;AAAE,QAAA,OAAF;AAAW,QAAA;AAAX,UAAuB,KAAK,MAAlC,CAHK,CAKL;;AACA,aAAO,OAAO,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,YAAd,IAA8B,OAA/C;AACD,KAvDO;;AAwDR,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,UAAL,IAAmB,KAAK,YAAL,KAAsB,CAAhD;AACD;;AA1DO,GA9CH;AA2GP,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE,WADV;AAEL;AACA;AACA;AACA,IAAA,aAAa,EAAE,WALV;;AAML,IAAA,YAAY,CAAE,GAAF,EAAK;AACf,UAAI,KAAK,QAAL,CAAc,GAAlB,EAAuB,GAAG,GAAG,CAAC,GAAP;AAEvB,UAAI,MAAM,GACR,GAAG,IAAI,CAAP,GACI,IAAI,CAAC,CAAC,GAAF,CADR,GAEI,GAAG,GAAG,KAAK,MAAL,CAAY,OAAZ,GAAsB,KAAK,MAAL,CAAY,OAAxC,GACE,EAAE,KAAK,MAAL,CAAY,OAAZ,GAAsB,KAAK,MAAL,CAAY,OAApC,IAA+C,IAAI,CAAC,KAAK,MAAL,CAAY,OAAZ,GAAsB,KAAK,MAAL,CAAY,OAAlC,GAA4C,GAA7C,CADrD,GAEE,CAAC,GALT;AAOA,UAAI,KAAK,QAAL,CAAc,GAAlB,EAAuB,MAAM,GAAG,CAAC,MAAV;AAEvB,WAAK,KAAL,CAAW,OAAX,CAAmB,KAAnB,CAAyB,SAAzB,GAAqC,cAAc,MAAM,KAAzD;AACD;;AAnBI,GA3GA;;AAiIP,EAAA,OAAO,GAAA;AACL,QAAI,OAAO,cAAP,KAA0B,WAA9B,EAA2C;AACzC,YAAM,GAAG,GAAG,IAAI,cAAJ,CAAmB,MAAK;AAClC,aAAK,QAAL;AACD,OAFW,CAAZ;AAGA,MAAA,GAAG,CAAC,OAAJ,CAAY,KAAK,GAAjB;AACA,MAAA,GAAG,CAAC,OAAJ,CAAY,KAAK,KAAL,CAAW,OAAvB;AACA,WAAK,GAAL,CAAS,gBAAT,EAA2B,MAAK;AAC9B,QAAA,GAAG,CAAC,UAAJ;AACD,OAFD;AAGD,KATD,MASO;AACL,UAAI,WAAW,GAAG,CAAlB;AACA,WAAK,GAAL,CAAS,mBAAT,EAA8B,MAAK;;;AACjC,QAAA,WAAW,GAAG,CAAC,CAAA,CAAA,EAAA,GAAA,KAAK,KAAL,CAAW,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAE,QAApB,KAAgC,EAAjC,EAAqC,MAAnD;AACD,OAFD;AAGA,WAAK,GAAL,CAAS,cAAT,EAAyB,MAAK;;;AAC5B,YAAI,WAAW,KAAK,CAAC,CAAA,CAAA,EAAA,GAAA,KAAK,KAAL,CAAW,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAE,QAApB,KAAgC,EAAjC,EAAqC,MAAzD,EAAiE;AACjE,aAAK,SAAL;AACD,OAHD;AAID;AACF,GArJM;;AAuJP,EAAA,OAAO,EAAE;AACP,IAAA,QAAQ,GAAA;AACN,WAAK,KAAL,CAAW,OAAX,CAAmB,UAAnB,GAAgC,CAAhC;AACD,KAHM;;AAIP,IAAA,SAAS,CAAE,CAAF,EAAe;AACtB,UAAI,CAAC,KAAK,aAAV,EAAyB,OADH,CAGtB;AACA;;AACA,WAAK,MAAM,EAAX,IAAiB,YAAY,CAAC,CAAD,CAA7B,EAAkC;AAChC,aAAK,MAAM,EAAX,IAAiB,KAAK,KAAtB,EAA6B;AAC3B,cAAI,EAAE,CAAC,GAAH,KAAW,EAAf,EAAmB;AACjB,iBAAK,YAAL,GAAoB,sBAAsB,CACxC,EAAE,CAAC,GADqC,EAExC,KAAK,MAFmC,EAGxC,KAAK,QAAL,CAAc,GAH0B,EAIxC,KAAK,YAJmC,CAA1C;AAMA;AACD;AACF;AACF;AACF,KAtBM;;AAuBP;AACA,IAAA,OAAO,GAAA;AACL,YAAM,IAAI,GAAG,KAAK,MAAL,CAAY,IAAZ,GACT,KAAK,MAAL,CAAY,IAAZ,CAAiB,EAAjB,CADS,GAET,OAAO,CAAC,IAAD,EAAO,MAAP,CAAP,IAAyB,KAAK,YAFlC;AAIA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,CAAC,qBAAD,EAAwB;AAC7B,2CAAiC,CAAC,KAAK;AADV,SAAxB,CADO;AAId,QAAA,OAAO,EAAE,MAAM,KAAK,YAAL,CAAkB,MAAlB,CAJD;AAKd,QAAA,GAAG,EAAE;AALS,OAAR,EAML,CAAC,IAAD,CANK,CAAR;AAOD,KApCM;;AAqCP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,wBADO;AAEd,QAAA,GAAG,EAAE,SAFS;AAGd,QAAA,SAAS,EAAE,KAAK;AAHF,OAAR,EAIL,OAAO,CAAC,IAAD,CAJF,CAAR;AAKD,KA3CM;;AA4CP,IAAA,OAAO,GAAA;AACL,aAAO;AACL,QAAA,KAAK,EAAE,KAAK;AADP,OAAP;AAGD,KAhDM;;AAiDP,IAAA,OAAO,CAAE,QAAF,EAA2B;AAChC,UAAI,IAAI,GAAG,QAAX;;AAEA,UAAI,KAAK,QAAL,CAAc,GAAd,IAAqB,QAAQ,KAAK,MAAtC,EAA8C;AAC5C,QAAA,IAAI,GAAG,MAAP;AACD,OAFD,MAEO,IAAI,KAAK,QAAL,CAAc,GAAd,IAAqB,QAAQ,KAAK,MAAtC,EAA8C;AACnD,QAAA,IAAI,GAAG,MAAP;AACD;;AAED,YAAM,aAAa,GAAG,GAAG,QAAQ,CAAC,CAAD,CAAR,CAAY,WAAZ,EAAyB,GAAG,QAAQ,CAAC,KAAT,CAAe,CAAf,CAAiB,EAAtE;AACA,YAAM,QAAQ,GAAI,KAAa,MAAM,aAAa,EAAhC,CAAlB;AAEA,UACE,CAAC,KAAK,UAAN,IACA,CAAC,QAFH,EAGE,OAAO,IAAP;AAEF,aAAO,CAAC,CAAC,KAAD,EAAQ,OAAO;AACrB,QAAA,QAAQ,EAAE,CAAC;AADU,UAEnB,KAAa,GAAG,IAAI,MAApB,CAFY,CAAR,CAAR;AAGD,KArEM;;AAsEP;AACA,IAAA,OAAO,GAAA;AACL,YAAM,IAAI,GAAG,KAAK,MAAL,CAAY,IAAZ,GACT,KAAK,MAAL,CAAY,IAAZ,CAAiB,EAAjB,CADS,GAET,OAAO,CAAC,IAAD,EAAO,MAAP,CAAP,IAAyB,KAAK,YAFlC;AAIA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,CAAC,qBAAD,EAAwB;AAC7B,2CAAiC,CAAC,KAAK;AADV,SAAxB,CADO;AAId,QAAA,OAAO,EAAE,MAAM,KAAK,YAAL,CAAkB,MAAlB,CAJD;AAKd,QAAA,GAAG,EAAE;AALS,OAAR,EAML,CAAC,IAAD,CANK,CAAR;AAOD,KAnFM;;AAoFP,IAAA,aAAa,CAAE,QAAF,EAA2B;AACtC,aAAO,CAAC,CAAC,eAAD,EAAkB,MAAM,CAAC,KAAK,OAAL,CAAa,QAAb,CAAD,CAAxB,CAAR;AACD,KAtFM;;AAuFP,IAAA,UAAU,GAAA;AACR,aAAO,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ;AAC7B,QAAA,KAAK,EAAE,wBADsB;AAE7B,QAAA,GAAG,EAAE,SAFwB;AAG7B,QAAA,QAAQ,EAAE,KAAK;AAHc,OAAR,EAIpB,CAAC,KAAK,UAAL,EAAD,CAJoB,CAAF,EAII,CACvB,CACE,KADF,EAEE;AACE,QAAA,KAAK,EAAG,CAAD,IAAmB,KAAK,aAAL,CAAmB,CAAnB,EAAsB,KAAK,YAA3B,CAD5B;AAEE,QAAA,IAAI,EAAG,CAAD,IAAmB,KAAK,aAAL,CAAmB,CAAnB,EAAsB,KAAK,WAA3B,CAF3B;AAGE,QAAA,GAAG,EAAG,CAAD,IAAmB,KAAK,aAAL,CAAmB,CAAnB,EAAsB,KAAK,UAA3B;AAH1B,OAFF,CADuB,CAJJ,CAArB;AAeD,KAvGM;;AAwGP,IAAA,kBAAkB,CAAE,SAAF,EAA8B,MAA9B,EAA8C,GAA9C,EAA4D,mBAA5D,EAAuF;AACvG,YAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAJ,GAAQ,CAAxB;AACA,YAAM,iBAAiB,GAAG,IAAI,GAAG,mBAAP,GACxB,CAAC,SAAS,KAAK,MAAd,GAAuB,CAAC,CAAxB,GAA4B,CAA7B,IAAkC,MAAM,CAAC,OAD3C;AAGA,aAAO,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,GAAL,CAAS,iBAAT,EAA4B,MAAM,CAAC,OAAP,GAAiB,MAAM,CAAC,OAApD,CAAT,EAAuE,CAAvE,CAAd;AACD,KA9GM;;AA+GP,IAAA,YAAY,CAAE,QAAF,EAA2B;AACrC,WAAK,KAAL,CAAW,SAAS,QAAQ,EAA5B;AACA,WAAK,QAAL,CAAc,QAAd;AACD,KAlHM;;AAmHP,IAAA,QAAQ,GAAA;AACN;AACA,UAAI,KAAK,YAAT,EAAuB;AAEvB,WAAK,SAAL;AACD,KAxHM;;AAyHP,IAAA,YAAY,CAAE,CAAF,EAAe;AACzB,YAAM;AAAE,QAAA;AAAF,UAAc,KAAK,KAAzB;AAEA,WAAK,MAAL,GAAc,KAAK,YAAL,GAAoB,CAAC,CAAC,WAApC;AAEA,MAAA,OAAO,CAAC,KAAR,CAAc,WAAd,CAA0B,YAA1B,EAAwC,MAAxC;AACA,MAAA,OAAO,CAAC,KAAR,CAAc,WAAd,CAA0B,YAA1B,EAAwC,WAAxC;AACD,KAhIM;;AAiIP,IAAA,WAAW,CAAE,CAAF,EAAe;AACxB,UAAI,CAAC,KAAK,QAAV,EAAoB;;AAEpB,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB;AACA;AACA,cAAM,KAAK,GAAG,CAAC,CAAC,UAAF,GAAe,CAAC,CAAC,WAA/B;AACA,cAAM,KAAK,GAAG,CAAC,CAAC,UAAF,GAAe,CAAC,CAAC,WAA/B;AACA,aAAK,mBAAL,GAA2B,IAAI,CAAC,GAAL,CAAS,KAAT,IAAkB,IAAI,CAAC,GAAL,CAAS,KAAT,CAA7C;AACA,aAAK,SAAL,GAAiB,IAAjB;AACD;;AAED,UAAI,KAAK,mBAAT,EAA8B;AAC5B;AACA,aAAK,YAAL,GAAoB,KAAK,MAAL,GAAc,CAAC,CAAC,UAApC,CAF4B,CAG5B;;AACA,QAAA,QAAQ,CAAC,eAAT,CAAyB,KAAzB,CAA+B,SAA/B,GAA2C,QAA3C;AACD;AACF,KAnJM;;AAoJP,IAAA,UAAU,GAAA;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,YAAM;AAAE,QAAA,OAAF;AAAW,QAAA;AAAX,UAAuB,KAAK,KAAlC;AACA,YAAM,eAAe,GAAG,OAAO,CAAC,WAAR,GAAsB,OAAO,CAAC,WAAtD;AAEA,MAAA,OAAO,CAAC,KAAR,CAAc,WAAd,CAA0B,YAA1B,EAAwC,IAAxC;AACA,MAAA,OAAO,CAAC,KAAR,CAAc,WAAd,CAA0B,YAA1B,EAAwC,IAAxC;;AAEA,UAAI,KAAK,QAAL,CAAc,GAAlB,EAAuB;AACrB;AACA,YAAI,KAAK,YAAL,GAAoB,CAApB,IAAyB,CAAC,KAAK,aAAnC,EAAkD;AAChD,eAAK,YAAL,GAAoB,CAApB;AACD,SAFD,MAEO,IAAI,KAAK,YAAL,IAAqB,CAAC,eAA1B,EAA2C;AAChD,eAAK,YAAL,GAAoB,CAAC,eAArB;AACD;AACF,OAPD,MAOO;AACL;AACA,YAAI,KAAK,YAAL,GAAoB,CAApB,IAAyB,CAAC,KAAK,aAAnC,EAAkD;AAChD,eAAK,YAAL,GAAoB,CAApB;AACD,SAFD,MAEO,IAAI,KAAK,YAAL,IAAqB,eAAzB,EAA0C;AAC/C,eAAK,YAAL,GAAoB,eAApB;AACD;AACF;;AAED,WAAK,SAAL,GAAiB,KAAjB,CAzBQ,CA0BR;;AACA,MAAA,QAAQ,CAAC,eAAT,CAAyB,KAAzB,CAA+B,cAA/B,CAA8C,YAA9C;AACD,KAhLM;;AAiLP,IAAA,aAAa,CAAE,CAAF,EAAiB,EAAjB,EAA4C;AACvD,MAAA,CAAC,CAAC,eAAF;AACA,WAAK,aAAL,IAAsB,EAAE,CAAC,CAAD,CAAxB;AACD,KApLM;;AAqLP,IAAA;AAAe;AAAD,OAA2B;AACvC,UAAI,CAAC,KAAK,YAAN,IAAsB,KAAK,KAAL,CAAW,MAArC,EAA6C;AAC3C,cAAM,gBAAgB,GAAG,KAAK,KAAL,CAAW,KAAK,KAAL,CAAW,MAAX,GAAoB,CAA/B,EAAkC,GAAlC,CAAsC,qBAAtC,EAAzB;AACA,cAAM,eAAe,GAAG,KAAK,KAAL,CAAW,OAAX,CAAmB,qBAAnB,EAAxB;;AAEA,YACG,KAAK,QAAL,CAAc,GAAd,IAAqB,eAAe,CAAC,KAAhB,GAAwB,gBAAgB,CAAC,KAA/D,IACC,CAAC,KAAK,QAAL,CAAc,GAAf,IAAsB,eAAe,CAAC,IAAhB,GAAuB,gBAAgB,CAAC,IAFjE,EAGE;AACA,eAAK,QAAL,CAAc,MAAd;AACD;AACF;;AAED,UAAI,CAAC,KAAK,YAAV,EAAwB;AACtB;AACD;;AAED,UACE,KAAK,aAAL,KAAuB,CAAvB,IACC,CAAC,KAAK,YAAN,IAAsB,CAAC,KAAK,aAF/B,EAGE;AACA,aAAK,YAAL,GAAoB,CAApB;AACD,OALD,MAKO,IAAI,KAAK,YAAT,EAAuB;AAC5B,aAAK,YAAL,GAAoB,uBAAuB,CACzC,KAAK,YAAL,CAAkB,GADuB,EAEzC,KAAK,MAFoC,EAGzC,KAAK,QAAL,CAAc,GAH2B,CAA3C;AAKD,OANM,MAMA,IAAI,KAAK,aAAT,EAAwB;AAC7B,aAAK,YAAL,GAAoB,sBAAsB,CACxC,KAAK,YAAL,CAAkB,GADsB,EAExC,KAAK,MAFmC,EAGxC,KAAK,QAAL,CAAc,GAH0B,EAIxC,KAAK,YAJmC,CAA1C;AAMD;AACF,KAzNM;;AA0NP,IAAA;AAAS;AAAD,KAA6B,QAA7B,EAAsD;AAC5D,WAAK,YAAL,GAAoB,KAAK,kBAAL,CAAwB,QAAxB,EAAkC;AACpD;AACA,QAAA,OAAO,EAAE,KAAK,KAAL,CAAW,OAAX,GAAqB,KAAK,KAAL,CAAW,OAAX,CAAmB,WAAxC,GAAsD,CAFX;AAGpD,QAAA,OAAO,EAAE,KAAK,KAAL,CAAW,OAAX,GAAqB,KAAK,KAAL,CAAW,OAAX,CAAmB,WAAxC,GAAsD;AAHX,OAAlC,EAIjB,KAAK,QAAL,CAAc,GAJG,EAIE,KAAK,YAJP,CAApB;AAKD,KAhOM;;AAiOP,IAAA,SAAS,GAAA;AACP,MAAA,MAAM,CAAC,qBAAP,CAA6B,MAAK;AAChC,YAAI,KAAK,YAAT,EAAuB;AAEvB,cAAM;AAAE,UAAA,OAAF;AAAW,UAAA;AAAX,YAAuB,KAAK,KAAlC;AAEA,aAAK,MAAL,GAAc;AACZ,UAAA,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAX,GAAyB,CAD7B;AAEZ,UAAA,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAX,GAAyB;AAF7B,SAAd,CALgC,CAUhC;AACA;AACA;;AACA,aAAK,aAAL,GAAqB,KAAK,MAAL,CAAY,OAAZ,GAAsB,CAAtB,GAA0B,KAAK,MAAL,CAAY,OAA3D;AAEA,aAAK,cAAL;AACD,OAhBD;AAiBD;;AAnPM,GAvJF;;AA6YP,EAAA,MAAM,GAAA;AACJ,WAAO,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ,KAAK,OAAL,EAAR,EAAwB,CAC7C,KAAK,OAAL,EAD6C,EAE7C,KAAK,UAAL,EAF6C,EAG7C,KAAK,OAAL,EAH6C,CAAxB,CAAF,EAIjB,CACF,CACE,MADF,EAEE,KAAK,QAFP,CADE,CAJiB,CAArB;AAUD;;AAxZM,CAXqB,CAAvB;AAsaP,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,eADuB;AAG7B,EAAA,OAAO,EAAE,cAHoB;;AAK7B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD;;AAT4B,CAAD,CAA9B","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\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 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"}
@@ -6,6 +6,7 @@ import mixins from '../../util/mixins';
6
6
  export default mixins(BaseItem, GroupableFactory('slideGroup')
7
7
  /* @vue/component */
8
8
  ).extend({
9
- name: 'v-slide-item'
9
+ name: 'v-slide-item',
10
+ emits: ['change']
10
11
  });
11
12
  //# sourceMappingURL=VSlideItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSlideGroup/VSlideItem.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,QAAT,QAAyB,qBAAzB,C,CAEA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAEA,eAAe,MAAM,CACnB,QADmB,EAEnB,gBAAgB,CAAC,YAAD;AAChB;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE;AADC,CAJM,CAAf","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":"AAAA;AACA,SAAS,QAAT,QAAyB,qBAAzB,C,CAEA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAEA,eAAe,MAAM,CACnB,QADmB,EAEnB,gBAAgB,CAAC,YAAD;AAChB;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,cADC;AAGP,EAAA,KAAK,EAAE,CAAC,QAAD;AAHA,CAJM,CAAf","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"}
@@ -9,16 +9,13 @@ import Loadable from '../../mixins/loadable'; // Directives
9
9
  import ClickOutside from '../../directives/click-outside'; // Helpers
10
10
 
11
11
  import { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers';
12
- import { consoleWarn } from '../../util/console'; // Types
12
+ import { consoleWarn, breaking } from '../../util/console'; // Types
13
13
 
14
- import { h } from 'vue';
14
+ import { h, withDirectives, vShow } from 'vue';
15
15
  export default mixins(VInput, Loadable
16
16
  /* @vue/component */
17
17
  ).extend({
18
18
  name: 'v-slider',
19
- directives: {
20
- ClickOutside
21
- },
22
19
  props: {
23
20
  disabled: Boolean,
24
21
  inverseLabel: Boolean,
@@ -38,7 +35,7 @@ export default mixins(VInput, Loadable
38
35
  thumbLabel: {
39
36
  type: [Boolean, String],
40
37
  default: undefined,
41
- validator: v => typeof v === 'boolean' || v === 'always'
38
+ validator: v => typeof v === 'boolean' || v === 'always' || v === undefined
42
39
  },
43
40
  thumbSize: {
44
41
  type: [Number, String],
@@ -62,6 +59,7 @@ export default mixins(VInput, Loadable
62
59
  modelValue: [Number, String],
63
60
  vertical: Boolean
64
61
  },
62
+ emits: ['update:modelValue', 'start', 'end', 'mouseup', 'change', 'focus', 'blur'],
65
63
  data: () => ({
66
64
  app: null,
67
65
  oldValue: null,
@@ -72,6 +70,16 @@ export default mixins(VInput, Loadable
72
70
  noClick: false,
73
71
  startOffset: 0
74
72
  }),
73
+
74
+ created() {
75
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
76
+ /* istanbul ignore next */
77
+
78
+ breakingProps.forEach(([original, replacement]) => {
79
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
80
+ });
81
+ },
82
+
75
83
  computed: {
76
84
  classes() {
77
85
  return { ...VInput.computed.classes.call(this),
@@ -87,11 +95,14 @@ export default mixins(VInput, Loadable
87
95
  },
88
96
 
89
97
  set(val) {
98
+ const originalVal = val;
90
99
  val = isNaN(val) ? this.minValue : val; // Round value to ensure the
91
100
  // entire slider range can
92
101
  // be selected with step
93
102
 
94
- const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue));
103
+ let value = this.roundValue(val); // Then clamp to min/max
104
+
105
+ value = Math.min(Math.max(value, this.minValue), this.maxValue);
95
106
  if (value === this.lazyValue) return;
96
107
  this.lazyValue = value;
97
108
  this.$emit('update:modelValue', value);
@@ -112,7 +123,8 @@ export default mixins(VInput, Loadable
112
123
  },
113
124
 
114
125
  stepNumeric() {
115
- return this.step > 0 ? parseFloat(this.step) : 0;
126
+ const step = parseFloat(this.step);
127
+ return step > 0 ? step : 0;
116
128
  },
117
129
 
118
130
  inputWidth() {
@@ -181,16 +193,23 @@ export default mixins(VInput, Loadable
181
193
  watch: {
182
194
  min(val) {
183
195
  const parsed = parseFloat(val);
184
- parsed > this.internalValue && this.$emit('update:modelValue', parsed);
196
+
197
+ if (parsed > this.internalValue) {
198
+ this.$emit('update:modelValue', parsed);
199
+ }
185
200
  },
186
201
 
187
202
  max(val) {
188
203
  const parsed = parseFloat(val);
189
- parsed < this.internalValue && this.$emit('update:modelValue', parsed);
204
+
205
+ if (parsed < this.internalValue) {
206
+ this.$emit('update:modelValue', parsed);
207
+ }
190
208
  },
191
209
 
192
210
  modelValue: {
193
211
  handler(v) {
212
+ // Use the setter to ensure proper rounding and validation
194
213
  this.internalValue = v;
195
214
  },
196
215
 
@@ -213,7 +232,7 @@ export default mixins(VInput, Loadable
213
232
  },
214
233
 
215
234
  genSlider() {
216
- return h('div', {
235
+ return withDirectives(h('div', {
217
236
  class: {
218
237
  'v-slider': true,
219
238
  'v-slider--horizontal': !this.vertical,
@@ -224,14 +243,10 @@ export default mixins(VInput, Loadable
224
243
  'v-slider--readonly': this.isReadonly,
225
244
  ...this.themeClasses
226
245
  },
227
- directives: [{
228
- name: 'click-outside',
229
- value: this.onBlur
230
- }],
231
246
  onClick: this.onSliderClick,
232
247
  onMousedown: this.onSliderMouseDown,
233
248
  onTouchstart: this.onSliderMouseDown
234
- }, this.genChildren());
249
+ }, this.genChildren()), [[ClickOutside, this.onBlur]]);
235
250
  },
236
251
 
237
252
  genChildren() {
@@ -323,8 +338,8 @@ export default mixins(VInput, Loadable
323
338
  'aria-valuenow': this.internalValue,
324
339
  'aria-readonly': String(this.isReadonly),
325
340
  'aria-orientation': this.vertical ? 'vertical' : 'horizontal',
326
- onFocus: onFocus,
327
- onBlur: onBlur,
341
+ onFocus,
342
+ onBlur,
328
343
  onKeydown: this.onKeyDown
329
344
  }), children);
330
345
  },
@@ -340,12 +355,8 @@ export default mixins(VInput, Loadable
340
355
  const transform = this.vertical ? `translateY(20%) translateY(${Number(this.thumbSize) / 3 - 1}px) translateX(55%) rotate(135deg)` : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`;
341
356
  return h(VScaleTransition, {
342
357
  origin: 'bottom center'
343
- }, [h('div', {
344
- class: 'v-slider__thumb-label-container',
345
- directives: [{
346
- name: 'show',
347
- value: this.isFocused || this.isActive || this.thumbLabel === 'always'
348
- }]
358
+ }, () => [withDirectives(h('div', {
359
+ class: 'v-slider__thumb-label-container'
349
360
  }, [h('div', this.setBackgroundColor(this.computedThumbColor, {
350
361
  class: 'v-slider__thumb-label',
351
362
  style: {
@@ -353,7 +364,7 @@ export default mixins(VInput, Loadable
353
364
  width: size,
354
365
  transform
355
366
  }
356
- }), [h('div', content)])])]);
367
+ }), [h('div', content)])]), [[vShow, this.isFocused || this.isActive || this.thumbLabel === 'always']])]);
357
368
  },
358
369
 
359
370
  genThumb() {
@@ -452,6 +463,7 @@ export default mixins(VInput, Loadable
452
463
  thumb.focus();
453
464
  this.onMouseMove(e);
454
465
  this.$emit('update:modelValue', this.internalValue);
466
+ this.$emit('change', this.internalValue);
455
467
  },
456
468
 
457
469
  onBlur(e) {