@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/dist/vuetify.js +1109 -1021
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +1 -0
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +17 -6
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VBadge/VBadge.js +1 -0
  10. package/es5/components/VBadge/VBadge.js.map +1 -1
  11. package/es5/components/VBanner/VBanner.js +11 -12
  12. package/es5/components/VBanner/VBanner.js.map +1 -1
  13. package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  15. package/es5/components/VBtn/VBtn.js +2 -2
  16. package/es5/components/VBtn/VBtn.js.map +1 -1
  17. package/es5/components/VCalendar/VCalendar.js +27 -29
  18. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  20. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  22. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  23. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  24. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  26. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  27. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  28. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  29. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  30. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  31. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  32. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  33. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  34. package/es5/components/VCarousel/VCarousel.js +10 -9
  35. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  36. package/es5/components/VCheckbox/VCheckbox.js +31 -2
  37. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  38. package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
  39. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  40. package/es5/components/VChip/VChip.js +14 -6
  41. package/es5/components/VChip/VChip.js.map +1 -1
  42. package/es5/components/VData/VData.js +1 -0
  43. package/es5/components/VData/VData.js.map +1 -1
  44. package/es5/components/VDataIterator/VDataFooter.js +1 -0
  45. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  46. package/es5/components/VDataIterator/VDataIterator.js +1 -0
  47. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  48. package/es5/components/VDataTable/VDataTable.js +1 -6
  49. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  50. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  51. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  52. package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  53. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  54. package/es5/components/VDataTable/VEditDialog.js +19 -18
  55. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  56. package/es5/components/VDataTable/mixins/header.js +0 -6
  57. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  58. package/es5/components/VDatePicker/VDatePicker.js +13 -18
  59. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  60. package/es5/components/VDatePicker/VDatePickerHeader.js +48 -26
  61. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  62. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  63. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  64. package/es5/components/VDatePicker/VDatePickerTitle.js +4 -3
  65. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  66. package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
  67. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  68. package/es5/components/VDatePicker/mixins/date-picker-table.js +16 -13
  69. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  70. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  71. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  72. package/es5/components/VDialog/VDialog.js +1 -0
  73. package/es5/components/VDialog/VDialog.js.map +1 -1
  74. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  75. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  76. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -10
  77. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  78. package/es5/components/VFileInput/VFileInput.js +1 -0
  79. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  80. package/es5/components/VForm/VForm.js +1 -0
  81. package/es5/components/VForm/VForm.js.map +1 -1
  82. package/es5/components/VHover/VHover.js +1 -0
  83. package/es5/components/VHover/VHover.js.map +1 -1
  84. package/es5/components/VImg/VImg.js +3 -5
  85. package/es5/components/VImg/VImg.js.map +1 -1
  86. package/es5/components/VInput/VInput.js +1 -0
  87. package/es5/components/VInput/VInput.js.map +1 -1
  88. package/es5/components/VItemGroup/VItem.js +2 -1
  89. package/es5/components/VItemGroup/VItem.js.map +1 -1
  90. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  91. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  92. package/es5/components/VLazy/VLazy.js +8 -15
  93. package/es5/components/VLazy/VLazy.js.map +1 -1
  94. package/es5/components/VList/VListGroup.js +3 -11
  95. package/es5/components/VList/VListGroup.js.map +1 -1
  96. package/es5/components/VList/VListItem.js +26 -12
  97. package/es5/components/VList/VListItem.js.map +1 -1
  98. package/es5/components/VList/VListItemAction.js +23 -9
  99. package/es5/components/VList/VListItemAction.js.map +1 -1
  100. package/es5/components/VMenu/VMenu.js +1 -0
  101. package/es5/components/VMenu/VMenu.js.map +1 -1
  102. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
  103. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  104. package/es5/components/VOtpInput/VOtpInput.js +1 -5
  105. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  106. package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -0
  107. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  108. package/es5/components/VOverlay/VOverlay.js +1 -0
  109. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  110. package/es5/components/VPagination/VPagination.js +1 -3
  111. package/es5/components/VPagination/VPagination.js.map +1 -1
  112. package/es5/components/VPicker/VPicker.js +2 -3
  113. package/es5/components/VPicker/VPicker.js.map +1 -1
  114. package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
  115. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  116. package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
  117. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  118. package/es5/components/VRadioGroup/VRadio.js +1 -0
  119. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  120. package/es5/components/VSelect/VSelect.js +111 -64
  121. package/es5/components/VSelect/VSelect.js.map +1 -1
  122. package/es5/components/VSelect/VSelectList.js +13 -17
  123. package/es5/components/VSelect/VSelectList.js.map +1 -1
  124. package/es5/components/VSlideGroup/VSlideGroup.js +1 -4
  125. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  126. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  127. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  128. package/es5/components/VSlider/VSlider.js +0 -3
  129. package/es5/components/VSlider/VSlider.js.map +1 -1
  130. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  131. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  132. package/es5/components/VSparkline/VSparkline.js +48 -68
  133. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  134. package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
  135. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  136. package/es5/components/VStepper/VStepper.js +1 -0
  137. package/es5/components/VStepper/VStepper.js.map +1 -1
  138. package/es5/components/VStepper/VStepperStep.js +11 -19
  139. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  140. package/es5/components/VSwitch/VSwitch.js +1 -3
  141. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  142. package/es5/components/VTabs/VTab.js +1 -0
  143. package/es5/components/VTabs/VTab.js.map +1 -1
  144. package/es5/components/VTabs/VTabs.js +11 -4
  145. package/es5/components/VTabs/VTabs.js.map +1 -1
  146. package/es5/components/VTabs/VTabsItems.js +1 -0
  147. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  148. package/es5/components/VTextField/VTextField.js +31 -27
  149. package/es5/components/VTextField/VTextField.js.map +1 -1
  150. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  151. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  152. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  153. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  154. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  155. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  156. package/es5/components/VToolbar/VToolbar.js +1 -3
  157. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  158. package/es5/components/VTooltip/VTooltip.js +6 -3
  159. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  160. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  161. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  162. package/es5/components/VWindow/VWindow.js +0 -3
  163. package/es5/components/VWindow/VWindow.js.map +1 -1
  164. package/es5/components/VWindow/VWindowItem.js +1 -5
  165. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  166. package/es5/framework.js +1 -1
  167. package/es5/mixins/detachable/index.js +9 -5
  168. package/es5/mixins/detachable/index.js.map +1 -1
  169. package/lib/components/VAlert/VAlert.js +1 -0
  170. package/lib/components/VAlert/VAlert.js.map +1 -1
  171. package/lib/components/VAppBar/VAppBar.js +17 -6
  172. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  173. package/lib/components/VBadge/VBadge.js +1 -0
  174. package/lib/components/VBadge/VBadge.js.map +1 -1
  175. package/lib/components/VBanner/VBanner.js +7 -11
  176. package/lib/components/VBanner/VBanner.js.map +1 -1
  177. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  178. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  179. package/lib/components/VBtn/VBtn.js +2 -2
  180. package/lib/components/VBtn/VBtn.js.map +1 -1
  181. package/lib/components/VCalendar/VCalendar.js +26 -31
  182. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  183. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  184. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  185. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  186. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  187. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  188. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  189. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  190. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  191. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  192. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  193. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  194. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  195. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  196. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  197. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  198. package/lib/components/VCarousel/VCarousel.js +12 -11
  199. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  200. package/lib/components/VCheckbox/VCheckbox.js +14 -1
  201. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  202. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  203. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  204. package/lib/components/VChip/VChip.js +14 -6
  205. package/lib/components/VChip/VChip.js.map +1 -1
  206. package/lib/components/VData/VData.js +1 -0
  207. package/lib/components/VData/VData.js.map +1 -1
  208. package/lib/components/VDataIterator/VDataFooter.js +1 -0
  209. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  210. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  211. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  212. package/lib/components/VDataTable/VDataTable.js +2 -7
  213. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  214. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  215. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  216. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  217. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  218. package/lib/components/VDataTable/VEditDialog.js +15 -14
  219. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  220. package/lib/components/VDataTable/mixins/header.js +0 -5
  221. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  222. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  223. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  224. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  225. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  226. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  227. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  228. package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
  229. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  230. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  231. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  232. package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
  233. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  234. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  235. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  236. package/lib/components/VDialog/VDialog.js +1 -0
  237. package/lib/components/VDialog/VDialog.js.map +1 -1
  238. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  239. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  240. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
  241. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  242. package/lib/components/VFileInput/VFileInput.js +1 -0
  243. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  244. package/lib/components/VForm/VForm.js +1 -0
  245. package/lib/components/VForm/VForm.js.map +1 -1
  246. package/lib/components/VHover/VHover.js +1 -0
  247. package/lib/components/VHover/VHover.js.map +1 -1
  248. package/lib/components/VImg/VImg.js +2 -6
  249. package/lib/components/VImg/VImg.js.map +1 -1
  250. package/lib/components/VInput/VInput.js +1 -0
  251. package/lib/components/VInput/VInput.js.map +1 -1
  252. package/lib/components/VItemGroup/VItem.js +2 -1
  253. package/lib/components/VItemGroup/VItem.js.map +1 -1
  254. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  255. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  256. package/lib/components/VLazy/VLazy.js +8 -15
  257. package/lib/components/VLazy/VLazy.js.map +1 -1
  258. package/lib/components/VList/VListGroup.js +3 -5
  259. package/lib/components/VList/VListGroup.js.map +1 -1
  260. package/lib/components/VList/VListItem.js +25 -14
  261. package/lib/components/VList/VListItem.js.map +1 -1
  262. package/lib/components/VList/VListItemAction.js +15 -9
  263. package/lib/components/VList/VListItemAction.js.map +1 -1
  264. package/lib/components/VMenu/VMenu.js +1 -0
  265. package/lib/components/VMenu/VMenu.js.map +1 -1
  266. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  267. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  268. package/lib/components/VOtpInput/VOtpInput.js +2 -6
  269. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  270. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
  271. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  272. package/lib/components/VOverlay/VOverlay.js +1 -0
  273. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  274. package/lib/components/VPagination/VPagination.js +1 -3
  275. package/lib/components/VPagination/VPagination.js.map +1 -1
  276. package/lib/components/VPicker/VPicker.js +3 -3
  277. package/lib/components/VPicker/VPicker.js.map +1 -1
  278. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  279. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  280. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  281. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  282. package/lib/components/VRadioGroup/VRadio.js +1 -0
  283. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  284. package/lib/components/VSelect/VSelect.js +64 -19
  285. package/lib/components/VSelect/VSelect.js.map +1 -1
  286. package/lib/components/VSelect/VSelectList.js +13 -15
  287. package/lib/components/VSelect/VSelectList.js.map +1 -1
  288. package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
  289. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  291. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  292. package/lib/components/VSlider/VSlider.js +0 -3
  293. package/lib/components/VSlider/VSlider.js.map +1 -1
  294. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  295. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  296. package/lib/components/VSparkline/VSparkline.js +48 -67
  297. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  298. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  299. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  300. package/lib/components/VStepper/VStepper.js +1 -0
  301. package/lib/components/VStepper/VStepper.js.map +1 -1
  302. package/lib/components/VStepper/VStepperStep.js +7 -18
  303. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  304. package/lib/components/VSwitch/VSwitch.js +1 -3
  305. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  306. package/lib/components/VTabs/VTab.js +1 -0
  307. package/lib/components/VTabs/VTab.js.map +1 -1
  308. package/lib/components/VTabs/VTabs.js +14 -4
  309. package/lib/components/VTabs/VTabs.js.map +1 -1
  310. package/lib/components/VTabs/VTabsItems.js +1 -0
  311. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  312. package/lib/components/VTextField/VTextField.js +6 -15
  313. package/lib/components/VTextField/VTextField.js.map +1 -1
  314. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  315. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  316. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  317. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  318. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  319. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  320. package/lib/components/VToolbar/VToolbar.js +1 -3
  321. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  322. package/lib/components/VTooltip/VTooltip.js +1 -2
  323. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  324. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  325. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  326. package/lib/components/VWindow/VWindow.js +0 -3
  327. package/lib/components/VWindow/VWindow.js.map +1 -1
  328. package/lib/components/VWindow/VWindowItem.js +2 -6
  329. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  330. package/lib/framework.js +1 -1
  331. package/lib/mixins/detachable/index.js +9 -5
  332. package/lib/mixins/detachable/index.js.map +1 -1
  333. package/package.json +1 -1
  334. package/src/components/VAlert/VAlert.ts +2 -0
  335. package/src/components/VAppBar/VAppBar.ts +12 -3
  336. package/src/components/VBadge/VBadge.ts +1 -1
  337. package/src/components/VBanner/VBanner.ts +14 -14
  338. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  339. package/src/components/VBtn/VBtn.ts +2 -2
  340. package/src/components/VCalendar/VCalendar.ts +29 -27
  341. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  342. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  343. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  344. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  345. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  346. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  347. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  348. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  349. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  350. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  351. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  352. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  353. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  354. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  355. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  356. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  357. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  358. package/src/components/VCalendar/mixins/times.ts +1 -1
  359. package/src/components/VCarousel/VCarousel.ts +13 -9
  360. package/src/components/VCheckbox/VCheckbox.ts +19 -1
  361. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  362. package/src/components/VChip/VChip.ts +16 -13
  363. package/src/components/VData/VData.ts +2 -0
  364. package/src/components/VDataIterator/VDataFooter.ts +2 -0
  365. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  366. package/src/components/VDataTable/VDataTable.ts +2 -4
  367. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  368. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  369. package/src/components/VDataTable/VEditDialog.ts +19 -17
  370. package/src/components/VDataTable/mixins/header.ts +0 -4
  371. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  372. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  373. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  374. package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
  375. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  376. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  377. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  378. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  379. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  380. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  381. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  382. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  383. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  384. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  385. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  386. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  387. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  388. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  389. package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
  390. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  391. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  392. package/src/components/VDialog/VDialog.ts +7 -5
  393. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  394. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
  395. package/src/components/VFileInput/VFileInput.ts +2 -0
  396. package/src/components/VForm/VForm.ts +2 -0
  397. package/src/components/VHover/VHover.ts +2 -0
  398. package/src/components/VImg/VImg.ts +2 -1
  399. package/src/components/VInput/VInput.ts +2 -0
  400. package/src/components/VItemGroup/VItem.ts +4 -0
  401. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  402. package/src/components/VLazy/VLazy.ts +11 -13
  403. package/src/components/VList/VListGroup.ts +7 -8
  404. package/src/components/VList/VListItem.ts +29 -15
  405. package/src/components/VList/VListItemAction.ts +11 -10
  406. package/src/components/VMenu/VMenu.ts +3 -1
  407. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  408. package/src/components/VOtpInput/VOtpInput.ts +2 -3
  409. package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
  410. package/src/components/VOverlay/VOverlay.ts +2 -0
  411. package/src/components/VPagination/VPagination.ts +2 -1
  412. package/src/components/VPicker/VPicker.ts +8 -10
  413. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  414. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  415. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  416. package/src/components/VRadioGroup/VRadio.ts +2 -0
  417. package/src/components/VSelect/VSelect.ts +59 -19
  418. package/src/components/VSelect/VSelectList.ts +13 -9
  419. package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
  420. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  421. package/src/components/VSlider/VSlider.ts +0 -3
  422. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  423. package/src/components/VSparkline/VSparkline.ts +54 -92
  424. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  425. package/src/components/VStepper/VStepper.ts +3 -1
  426. package/src/components/VStepper/VStepperStep.ts +8 -15
  427. package/src/components/VSwitch/VSwitch.ts +4 -5
  428. package/src/components/VTabs/VTab.ts +2 -0
  429. package/src/components/VTabs/VTabs.ts +16 -10
  430. package/src/components/VTabs/VTabsItems.ts +2 -0
  431. package/src/components/VTextField/VTextField.ts +9 -12
  432. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  433. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  434. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  435. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  436. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  437. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  438. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
  439. package/src/components/VToolbar/VToolbar.ts +1 -1
  440. package/src/components/VTooltip/VTooltip.ts +1 -1
  441. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  442. package/src/components/VWindow/VWindow.ts +0 -1
  443. package/src/components/VWindow/VWindowItem.ts +2 -3
  444. package/src/mixins/detachable/index.ts +11 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes, normalizeAttrs } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData, withDirectives, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\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 menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this.$.uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return [\n [\n ClickOutside,\n {\n handler: () => this.isFocused && this.blur(),\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n }\n ]\n ]\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$slots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n ...attrs,\n id: this.computedOwns,\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n onSelect: this.selectItem,\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return h(VSelectList, this.listData, {\n item: this.$slots.item,\n })\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n modelValue: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return h(VChip, {\n class: 'v-chip--select',\n tabindex: -1,\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n onClick: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'onClick:close': () => this.onChipInput(item),\n key: JSON.stringify(this.getValue(item)),\n }, () => this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return h('div', this.setTextColor(color, {\n class: ['v-select__selection v-select__selection--comma', {\n 'v-select__selection--disabled': isDisabled,\n }],\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n withDirectives(h('div', {\n class: 'v-select__slot'\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]), this.directives),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n const hasListeners = Object.keys(icon.children![0].props).some(key => key.startsWith('on'))\n icon.children![0].data = mergeData(icon.children![0].props!, {\n tabindex: hasListeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.methods.genInput.call(this)\n\n delete input.props.name\n\n input.props = mergeData(input.props, {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n onKeypress: this.onKeyPress,\n })\n\n input.props = { ...input.props, value: null }\n input.props = normalizeAttrs(input.props)\n\n return input\n },\n genHiddenInput (): VNode {\n return h('input', {\n value: this.lazyValue,\n type: 'hidden',\n name: this.attrs$.name\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.methods.genInputSlot.call(this)\n\n render.props = {\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n ...render.props\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = Object.fromEntries(['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => [\n slotName,\n this.$slots[slotName]\n ]\n ))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return h(VSelectList, {\n ...this.listData,\n }, {...slots,item: this.$slots.item})\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return h(VMenu, {\n role: undefined,\n ...props,\n onInput: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n onScroll: this.onScroll,\n ref: 'menu',\n }, () => [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n\n const children = new Array(length)\n\n let genSelection\n if (this.$slots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return h('div', {\n class: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$slots.selection!({\n class: 'v-chip--select',\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('update:modelValue', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n"],"sourceRoot":"","file":"VSelect.js"}
1
+ {"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes, normalizeAttrs } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData, withDirectives, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-select',\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\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 menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'keydown', 'click', 'update:list-index'],\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n detectedScopeId: null as string | null,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this.$?.uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return [\n [\n ClickOutside,\n {\n handler: () => this.isFocused && this.blur(),\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n }\n ]\n ]\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$slots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n return {\n id: this.computedOwns,\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n onSelect: this.selectItem,\n }\n },\n listAttrs (): object {\n const scopeIdAttrs: Record<string, any> = {}\n\n // Используем detectedScopeId из mounted hook\n if (this.detectedScopeId) {\n scopeIdAttrs[this.detectedScopeId] = ''\n }\n\n // scopeId успешно передается в VSelectList\n\n return scopeIdAttrs\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs,\n }, {\n item: this.$slots.item,\n })\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n modelValue: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n mounted () {\n this.$nextTick(() => {\n if (this.$el && this.$el.attributes) {\n const attrs = this.$el.attributes\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i]\n if (attr.name.startsWith('data-v-')) {\n this.detectedScopeId = attr.name\n // scopeId найден и сохранен для использования в dropdown\n break\n }\n }\n }\n })\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return h(VChip, {\n class: 'v-chip--select',\n tabindex: -1,\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n modelValue: index === this.selectedIndex,\n small: this.smallChips,\n onClick: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'onClick:close': () => this.onChipInput(item),\n key: JSON.stringify(this.getValue(item)),\n }, () => this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return h('div', this.setTextColor(color, {\n class: ['v-select__selection v-select__selection--comma', {\n 'v-select__selection--disabled': isDisabled,\n }],\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n withDirectives(h('div', {\n class: 'v-select__slot'\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]), this.directives),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n const iconChild = icon.children![0]\n const hasListeners = Object.keys(iconChild.props || {}).some(key => key.startsWith('on'))\n iconChild.props = mergeData(iconChild.props || {}, {\n tabindex: hasListeners ? '-1' : undefined,\n 'aria-hidden': 'true',\n 'aria-label': undefined\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.methods.genInput.call(this)\n\n delete input.props.name\n\n input.props = mergeData(input.props, {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n onKeypress: this.onKeyPress,\n })\n\n input.props = { ...input.props, value: null }\n input.props = normalizeAttrs(input.props)\n\n return input\n },\n genHiddenInput (): VNode {\n let value = this.lazyValue\n\n if (this.multiple && Array.isArray(value)) {\n value = value.map(item => {\n if (typeof item === 'object' && item !== null) {\n return this.getValue(item)\n }\n return item\n }).join(',')\n } else if (typeof value === 'object' && value !== null) {\n value = this.getValue(value)\n }\n\n return h('input', {\n value: value,\n type: 'hidden',\n name: this.$attrs.name\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.methods.genInputSlot.call(this)\n\n render.props = {\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n ...render.props\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = Object.fromEntries(['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => [\n slotName,\n this.$slots[slotName]\n ]\n ))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs,\n }, {...slots, item: this.$slots.item})\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return h(VMenu, {\n role: undefined,\n ...props,\n onInput: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n onScroll: this.onScroll,\n ref: 'menu',\n }, () => [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n\n const children = new Array(length)\n\n let genSelection\n if (this.$slots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return h('div', {\n class: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$slots.selection!({\n class: 'v-chip--select',\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('update:modelValue', value)\n // Note: change event is already emitted by VInput's internalValue setter\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n"],"sourceRoot":"","file":"VSelect.js"}
@@ -2,9 +2,7 @@
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
@@ -17,10 +15,6 @@ import { h } from 'vue';
17
15
 
18
16
  export default mixins(Colorable, Themeable).extend({
19
17
  name: 'v-select-list',
20
- // https://github.com/vuejs/vue/issues/6872
21
- directives: {
22
- ripple
23
- },
24
18
  props: {
25
19
  action: Boolean,
26
20
  dense: Boolean,
@@ -79,9 +73,7 @@ export default mixins(Colorable, Themeable).extend({
79
73
  },
80
74
 
81
75
  genDivider(props) {
82
- return h(VDivider, {
83
- props
84
- });
76
+ return h(VDivider, props);
85
77
  },
86
78
 
87
79
  genFilteredText(text) {
@@ -96,9 +88,7 @@ export default mixins(Colorable, Themeable).extend({
96
88
  },
97
89
 
98
90
  genHeader(props) {
99
- return h(VSubheader, {
100
- props
101
- }, props.header);
91
+ return h(VSubheader, props, props.header);
102
92
  },
103
93
 
104
94
  genHighlight(text) {
@@ -151,7 +141,15 @@ export default mixins(Colorable, Themeable).extend({
151
141
  activeClass: this.tileActiveClass,
152
142
  disabled,
153
143
  ripple: true,
154
- inputValue: value
144
+ modelValue: value,
145
+ // Передаем scopeId атрибуты от родительского компонента
146
+ ...Object.keys(this.$attrs).reduce((acc, key) => {
147
+ if (key.startsWith('data-v-')) {
148
+ acc[key] = this.$attrs[key];
149
+ }
150
+
151
+ return acc;
152
+ }, {})
155
153
  };
156
154
 
157
155
  if (!this.$slots.item) {
@@ -218,7 +216,7 @@ export default mixins(Colorable, Themeable).extend({
218
216
  children.length || children.push(((_b = (_a = this.$slots)['no-data']) === null || _b === void 0 ? void 0 : _b.call(_a)) || this.staticNoDataTile);
219
217
  this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']());
220
218
  this.$slots['append-item'] && children.push(this.$slots['append-item']());
221
- return h(VList, {
219
+ return h(VList, { ...this.$attrs,
222
220
  class: ['v-select-list', this.themeClasses],
223
221
  role: 'listbox',
224
222
  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 modelValue: 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 ...tile.on\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'\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\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 modelValue: 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 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 scopedSlot = this.$slots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n ...tile.on,\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 ...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,
@@ -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"}
@@ -16,9 +16,6 @@ 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,