@dimailn/vuetify 2.7.2-alpha25 → 2.7.2-alpha27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/dist/vuetify.js +1436 -1164
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +1 -0
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +17 -6
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  11. package/es5/components/VBadge/VBadge.js +1 -0
  12. package/es5/components/VBadge/VBadge.js.map +1 -1
  13. package/es5/components/VBanner/VBanner.js +23 -15
  14. package/es5/components/VBanner/VBanner.js.map +1 -1
  15. package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
  16. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  17. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +18 -6
  18. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  19. package/es5/components/VBtn/VBtn.js +6 -2
  20. package/es5/components/VBtn/VBtn.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendar.js +27 -29
  22. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  23. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  24. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  26. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  27. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  28. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  29. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  30. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  31. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  32. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  33. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  34. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  35. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  36. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  37. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  38. package/es5/components/VCarousel/VCarousel.js +20 -13
  39. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  40. package/es5/components/VCarousel/VCarouselItem.js +7 -3
  41. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  42. package/es5/components/VCheckbox/VCheckbox.js +34 -1
  43. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  44. package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
  45. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  46. package/es5/components/VChip/VChip.js +14 -6
  47. package/es5/components/VChip/VChip.js.map +1 -1
  48. package/es5/components/VData/VData.js +1 -0
  49. package/es5/components/VData/VData.js.map +1 -1
  50. package/es5/components/VDataIterator/VDataFooter.js +6 -1
  51. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  52. package/es5/components/VDataIterator/VDataIterator.js +1 -0
  53. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  54. package/es5/components/VDataTable/VDataTable.js +22 -13
  55. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  56. package/es5/components/VDataTable/VDataTableHeader.js +2 -6
  57. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  58. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  59. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  60. package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  61. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  62. package/es5/components/VDataTable/VEditDialog.js +23 -18
  63. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  64. package/es5/components/VDataTable/mixins/header.js +5 -7
  65. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  66. package/es5/components/VDatePicker/VDatePicker.js +13 -18
  67. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  68. package/es5/components/VDatePicker/VDatePickerHeader.js +50 -22
  69. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  70. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  71. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  72. package/es5/components/VDatePicker/VDatePickerTitle.js +16 -7
  73. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  74. package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
  75. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  76. package/es5/components/VDatePicker/mixins/date-picker-table.js +21 -16
  77. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  78. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  79. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  80. package/es5/components/VDialog/VDialog.js +17 -12
  81. package/es5/components/VDialog/VDialog.js.map +1 -1
  82. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  83. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  84. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +11 -9
  85. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  86. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +16 -19
  87. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  88. package/es5/components/VFileInput/VFileInput.js +1 -0
  89. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  90. package/es5/components/VForm/VForm.js +1 -0
  91. package/es5/components/VForm/VForm.js.map +1 -1
  92. package/es5/components/VHover/VHover.js +1 -0
  93. package/es5/components/VHover/VHover.js.map +1 -1
  94. package/es5/components/VImg/VImg.js +9 -7
  95. package/es5/components/VImg/VImg.js.map +1 -1
  96. package/es5/components/VInput/VInput.js +11 -4
  97. package/es5/components/VInput/VInput.js.map +1 -1
  98. package/es5/components/VItemGroup/VItem.js +2 -1
  99. package/es5/components/VItemGroup/VItem.js.map +1 -1
  100. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  101. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  102. package/es5/components/VLazy/VLazy.js +8 -15
  103. package/es5/components/VLazy/VLazy.js.map +1 -1
  104. package/es5/components/VList/VListGroup.js +30 -20
  105. package/es5/components/VList/VListGroup.js.map +1 -1
  106. package/es5/components/VList/VListItem.js +31 -13
  107. package/es5/components/VList/VListItem.js.map +1 -1
  108. package/es5/components/VList/VListItemAction.js +23 -9
  109. package/es5/components/VList/VListItemAction.js.map +1 -1
  110. package/es5/components/VMenu/VMenu.js +1 -0
  111. package/es5/components/VMenu/VMenu.js.map +1 -1
  112. package/es5/components/VMessages/VMessages.js +5 -1
  113. package/es5/components/VMessages/VMessages.js.map +1 -1
  114. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
  115. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  116. package/es5/components/VOtpInput/VOtpInput.js +1 -5
  117. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  118. package/es5/components/VOverflowBtn/VOverflowBtn.js +4 -1
  119. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  120. package/es5/components/VOverlay/VOverlay.js +1 -0
  121. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  122. package/es5/components/VPagination/VPagination.js +4 -4
  123. package/es5/components/VPagination/VPagination.js.map +1 -1
  124. package/es5/components/VPicker/VPicker.js +7 -4
  125. package/es5/components/VPicker/VPicker.js.map +1 -1
  126. package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
  127. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  128. package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
  129. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  130. package/es5/components/VRadioGroup/VRadio.js +11 -2
  131. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  132. package/es5/components/VSelect/VSelect.js +115 -64
  133. package/es5/components/VSelect/VSelect.js.map +1 -1
  134. package/es5/components/VSelect/VSelectList.js +30 -26
  135. package/es5/components/VSelect/VSelectList.js.map +1 -1
  136. package/es5/components/VSlideGroup/VSlideGroup.js +27 -22
  137. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  138. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  139. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  140. package/es5/components/VSlider/VSlider.js +16 -15
  141. package/es5/components/VSlider/VSlider.js.map +1 -1
  142. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  143. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  144. package/es5/components/VSparkline/VSparkline.js +48 -68
  145. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  146. package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
  147. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  148. package/es5/components/VStepper/VStepper.js +1 -0
  149. package/es5/components/VStepper/VStepper.js.map +1 -1
  150. package/es5/components/VStepper/VStepperContent.js +3 -1
  151. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  152. package/es5/components/VStepper/VStepperStep.js +11 -19
  153. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  154. package/es5/components/VSwitch/VSwitch.js +11 -9
  155. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  156. package/es5/components/VTabs/VTab.js +1 -0
  157. package/es5/components/VTabs/VTab.js.map +1 -1
  158. package/es5/components/VTabs/VTabs.js +17 -6
  159. package/es5/components/VTabs/VTabs.js.map +1 -1
  160. package/es5/components/VTabs/VTabsItems.js +1 -0
  161. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  162. package/es5/components/VTextField/VTextField.js +34 -26
  163. package/es5/components/VTextField/VTextField.js.map +1 -1
  164. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  165. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  166. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  167. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  168. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  169. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  170. package/es5/components/VToolbar/VToolbar.js +1 -3
  171. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  172. package/es5/components/VTooltip/VTooltip.js +9 -4
  173. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  174. package/es5/components/VTreeview/VTreeviewNode.js +11 -3
  175. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  176. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  177. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  178. package/es5/components/VWindow/VWindow.js +0 -3
  179. package/es5/components/VWindow/VWindow.js.map +1 -1
  180. package/es5/components/VWindow/VWindowItem.js +1 -5
  181. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  182. package/es5/components/transitions/createTransition.js +8 -2
  183. package/es5/components/transitions/createTransition.js.map +1 -1
  184. package/es5/framework.js +1 -1
  185. package/es5/mixins/detachable/index.js +9 -5
  186. package/es5/mixins/detachable/index.js.map +1 -1
  187. package/es5/mixins/picker/index.js +13 -3
  188. package/es5/mixins/picker/index.js.map +1 -1
  189. package/lib/components/VAlert/VAlert.js +1 -0
  190. package/lib/components/VAlert/VAlert.js.map +1 -1
  191. package/lib/components/VAppBar/VAppBar.js +17 -6
  192. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  193. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  194. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  195. package/lib/components/VBadge/VBadge.js +1 -0
  196. package/lib/components/VBadge/VBadge.js.map +1 -1
  197. package/lib/components/VBanner/VBanner.js +9 -13
  198. package/lib/components/VBanner/VBanner.js.map +1 -1
  199. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  200. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  201. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +2 -2
  202. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  203. package/lib/components/VBtn/VBtn.js +4 -2
  204. package/lib/components/VBtn/VBtn.js.map +1 -1
  205. package/lib/components/VCalendar/VCalendar.js +26 -31
  206. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  207. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  208. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  209. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  210. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  211. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  212. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  213. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  214. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  215. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  216. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  217. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  218. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  219. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  220. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  221. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  222. package/lib/components/VCarousel/VCarousel.js +15 -14
  223. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  224. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  225. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  226. package/lib/components/VCheckbox/VCheckbox.js +15 -2
  227. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  228. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  229. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  230. package/lib/components/VChip/VChip.js +14 -6
  231. package/lib/components/VChip/VChip.js.map +1 -1
  232. package/lib/components/VData/VData.js +1 -0
  233. package/lib/components/VData/VData.js.map +1 -1
  234. package/lib/components/VDataIterator/VDataFooter.js +2 -1
  235. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  236. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  237. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  238. package/lib/components/VDataTable/VDataTable.js +7 -12
  239. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  240. package/lib/components/VDataTable/VDataTableHeader.js +3 -6
  241. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  242. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  243. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  244. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  245. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  246. package/lib/components/VDataTable/VEditDialog.js +16 -15
  247. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  248. package/lib/components/VDataTable/mixins/header.js +1 -6
  249. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  250. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  251. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  252. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  253. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  254. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  255. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  256. package/lib/components/VDatePicker/VDatePickerTitle.js +6 -5
  257. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  258. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  259. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  260. package/lib/components/VDatePicker/mixins/date-picker-table.js +18 -14
  261. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  262. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  263. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  264. package/lib/components/VDialog/VDialog.js +3 -2
  265. package/lib/components/VDialog/VDialog.js.map +1 -1
  266. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  267. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  268. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  269. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  270. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +3 -6
  271. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  272. package/lib/components/VFileInput/VFileInput.js +1 -0
  273. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  274. package/lib/components/VForm/VForm.js +1 -0
  275. package/lib/components/VForm/VForm.js.map +1 -1
  276. package/lib/components/VHover/VHover.js +1 -0
  277. package/lib/components/VHover/VHover.js.map +1 -1
  278. package/lib/components/VImg/VImg.js +4 -8
  279. package/lib/components/VImg/VImg.js.map +1 -1
  280. package/lib/components/VInput/VInput.js +3 -2
  281. package/lib/components/VInput/VInput.js.map +1 -1
  282. package/lib/components/VItemGroup/VItem.js +2 -1
  283. package/lib/components/VItemGroup/VItem.js.map +1 -1
  284. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  285. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  286. package/lib/components/VLazy/VLazy.js +8 -15
  287. package/lib/components/VLazy/VLazy.js.map +1 -1
  288. package/lib/components/VList/VListGroup.js +8 -10
  289. package/lib/components/VList/VListGroup.js.map +1 -1
  290. package/lib/components/VList/VListItem.js +28 -15
  291. package/lib/components/VList/VListItem.js.map +1 -1
  292. package/lib/components/VList/VListItemAction.js +15 -9
  293. package/lib/components/VList/VListItemAction.js.map +1 -1
  294. package/lib/components/VMenu/VMenu.js +1 -0
  295. package/lib/components/VMenu/VMenu.js.map +1 -1
  296. package/lib/components/VMessages/VMessages.js +1 -1
  297. package/lib/components/VMessages/VMessages.js.map +1 -1
  298. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  299. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  300. package/lib/components/VOtpInput/VOtpInput.js +2 -6
  301. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  302. package/lib/components/VOverflowBtn/VOverflowBtn.js +2 -1
  303. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  304. package/lib/components/VOverlay/VOverlay.js +1 -0
  305. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  306. package/lib/components/VPagination/VPagination.js +2 -4
  307. package/lib/components/VPagination/VPagination.js.map +1 -1
  308. package/lib/components/VPicker/VPicker.js +4 -4
  309. package/lib/components/VPicker/VPicker.js.map +1 -1
  310. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  311. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  312. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  313. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  314. package/lib/components/VRadioGroup/VRadio.js +3 -2
  315. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  316. package/lib/components/VSelect/VSelect.js +66 -21
  317. package/lib/components/VSelect/VSelect.js.map +1 -1
  318. package/lib/components/VSelect/VSelectList.js +15 -17
  319. package/lib/components/VSelect/VSelectList.js.map +1 -1
  320. package/lib/components/VSlideGroup/VSlideGroup.js +4 -7
  321. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  322. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  323. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  324. package/lib/components/VSlider/VSlider.js +1 -4
  325. package/lib/components/VSlider/VSlider.js.map +1 -1
  326. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  327. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  328. package/lib/components/VSparkline/VSparkline.js +48 -67
  329. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  330. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  331. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  332. package/lib/components/VStepper/VStepper.js +1 -0
  333. package/lib/components/VStepper/VStepper.js.map +1 -1
  334. package/lib/components/VStepper/VStepperContent.js +1 -1
  335. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  336. package/lib/components/VStepper/VStepperStep.js +7 -18
  337. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  338. package/lib/components/VSwitch/VSwitch.js +2 -4
  339. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  340. package/lib/components/VTabs/VTab.js +1 -0
  341. package/lib/components/VTabs/VTab.js.map +1 -1
  342. package/lib/components/VTabs/VTabs.js +16 -6
  343. package/lib/components/VTabs/VTabs.js.map +1 -1
  344. package/lib/components/VTabs/VTabsItems.js +1 -0
  345. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  346. package/lib/components/VTextField/VTextField.js +7 -16
  347. package/lib/components/VTextField/VTextField.js.map +1 -1
  348. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  349. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  350. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  351. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  352. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  353. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  354. package/lib/components/VToolbar/VToolbar.js +1 -3
  355. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  356. package/lib/components/VTooltip/VTooltip.js +2 -3
  357. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  358. package/lib/components/VTreeview/VTreeviewNode.js +3 -3
  359. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  360. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  361. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  362. package/lib/components/VWindow/VWindow.js +0 -3
  363. package/lib/components/VWindow/VWindow.js.map +1 -1
  364. package/lib/components/VWindow/VWindowItem.js +2 -6
  365. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  366. package/lib/components/transitions/createTransition.js +2 -2
  367. package/lib/components/transitions/createTransition.js.map +1 -1
  368. package/lib/framework.js +1 -1
  369. package/lib/mixins/detachable/index.js +9 -5
  370. package/lib/mixins/detachable/index.js.map +1 -1
  371. package/lib/mixins/picker/index.js +5 -3
  372. package/lib/mixins/picker/index.js.map +1 -1
  373. package/package.json +1 -1
  374. package/src/components/VAlert/VAlert.ts +2 -0
  375. package/src/components/VAppBar/VAppBar.ts +12 -3
  376. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  377. package/src/components/VBadge/VBadge.ts +1 -1
  378. package/src/components/VBanner/VBanner.ts +17 -17
  379. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  380. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +2 -2
  381. package/src/components/VBtn/VBtn.ts +8 -2
  382. package/src/components/VCalendar/VCalendar.ts +29 -27
  383. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  384. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  385. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  386. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  387. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  388. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  389. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  390. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  391. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  392. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  393. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  394. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  395. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  396. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  397. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  398. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  399. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  400. package/src/components/VCalendar/mixins/times.ts +1 -1
  401. package/src/components/VCarousel/VCarousel.ts +16 -12
  402. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  403. package/src/components/VCheckbox/VCheckbox.ts +20 -2
  404. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  405. package/src/components/VChip/VChip.ts +16 -13
  406. package/src/components/VData/VData.ts +2 -0
  407. package/src/components/VDataIterator/VDataFooter.ts +3 -1
  408. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  409. package/src/components/VDataTable/VDataTable.ts +7 -9
  410. package/src/components/VDataTable/VDataTableHeader.ts +2 -4
  411. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  412. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  413. package/src/components/VDataTable/VEditDialog.ts +20 -18
  414. package/src/components/VDataTable/mixins/header.ts +1 -5
  415. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  416. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  417. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  418. package/src/components/VDatePicker/VDatePickerTitle.ts +9 -7
  419. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  420. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  421. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  422. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  423. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  424. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  425. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  426. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  427. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  428. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  429. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  430. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  431. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  432. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  433. package/src/components/VDatePicker/mixins/date-picker-table.ts +19 -14
  434. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  435. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  436. package/src/components/VDialog/VDialog.ts +9 -7
  437. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  438. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
  439. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +2 -3
  440. package/src/components/VFileInput/VFileInput.ts +2 -0
  441. package/src/components/VForm/VForm.ts +2 -0
  442. package/src/components/VHover/VHover.ts +2 -0
  443. package/src/components/VImg/VImg.ts +4 -3
  444. package/src/components/VInput/VInput.ts +4 -2
  445. package/src/components/VItemGroup/VItem.ts +4 -0
  446. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  447. package/src/components/VLazy/VLazy.ts +11 -13
  448. package/src/components/VList/VListGroup.ts +12 -13
  449. package/src/components/VList/VListItem.ts +36 -19
  450. package/src/components/VList/VListItemAction.ts +11 -10
  451. package/src/components/VMenu/VMenu.ts +3 -1
  452. package/src/components/VMessages/VMessages.ts +1 -1
  453. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  454. package/src/components/VOtpInput/VOtpInput.ts +2 -3
  455. package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
  456. package/src/components/VOverlay/VOverlay.ts +2 -0
  457. package/src/components/VPagination/VPagination.ts +3 -2
  458. package/src/components/VPicker/VPicker.ts +9 -11
  459. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  460. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  461. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  462. package/src/components/VRadioGroup/VRadio.ts +4 -2
  463. package/src/components/VSelect/VSelect.ts +61 -21
  464. package/src/components/VSelect/VSelectList.ts +16 -12
  465. package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
  466. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  467. package/src/components/VSlider/VSlider.ts +1 -4
  468. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  469. package/src/components/VSparkline/VSparkline.ts +54 -92
  470. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  471. package/src/components/VStepper/VStepper.ts +3 -1
  472. package/src/components/VStepper/VStepperContent.ts +1 -1
  473. package/src/components/VStepper/VStepperStep.ts +8 -15
  474. package/src/components/VSwitch/VSwitch.ts +5 -6
  475. package/src/components/VTabs/VTab.ts +2 -0
  476. package/src/components/VTabs/VTabs.ts +18 -12
  477. package/src/components/VTabs/VTabsItems.ts +2 -0
  478. package/src/components/VTextField/VTextField.ts +10 -13
  479. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  480. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  481. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  482. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  483. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  484. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  485. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
  486. package/src/components/VToolbar/VToolbar.ts +1 -1
  487. package/src/components/VTooltip/VTooltip.ts +2 -2
  488. package/src/components/VTreeview/VTreeviewNode.ts +3 -3
  489. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  490. package/src/components/VWindow/VWindow.ts +0 -1
  491. package/src/components/VWindow/VWindowItem.ts +2 -3
  492. package/src/components/transitions/createTransition.ts +2 -2
  493. package/src/mixins/detachable/index.ts +11 -5
  494. package/src/mixins/picker/index.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives, vShow} from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this.$.uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.modelValue == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeUnmount () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n inputValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple]\n ])\n },\n genItems (): VNode[] {\n const directives = [[\n vShow,\n this.isActive\n ]]\n\n return this.showLazyContent(() => [\n withDirectives(h('div', {\n class: 'v-list-group__items',\n }, getSlot(this)), directives)\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this.$.uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this.$.uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-list-group', this.classes]\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,EAAY,cAAZ,EAA4B,KAA5B,QAAgD,KAAhD,C,CACA;;AACA,OAAO,+CAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB;AAEA,OAAO,SAAP,MAAsB,aAAtB;AACA,OAAO,aAAP,MAA0B,iBAA1B,C,CAEA;;AACA,OAAO,UAAP,MAAuB,0BAAvB;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,SAAS,MAAM,IAAI,iBAAnB,QAA4C,0BAA5C,C,CAEA;;AACA,SAAiB,MAAjB,QAA+B,yBAA/B,C,CAEA;;AACA,SAAS,iBAAT,QAAkC,gBAAlC,C,CAEA;;AACA,OAAO,MAAP,MAAmC,mBAAnC;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAKA,MAAM,UAAU,GAAG,MAAM,CACvB,UADuB,EAEvB,QAFuB,EAGvB,SAHuB,EAIvB,iBAAiB,CAAC,MAAD,CAJM,EAKvB,UALuB,CAAzB;AAkBA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,cADyB;AAI/B,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KALP;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KATF;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE,CAAC,MAAD,EAAS,MAAT,CAdF;AAeL,IAAA,QAAQ,EAAE,OAfL;AAgBL,IAAA,WAAW,EAAE,MAhBR;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAjBH;AAqBL,IAAA,QAAQ,EAAE;AArBL,GAJwB;AA4B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,gCAAwB,KAAK,QADxB;AAEL,kCAA0B,KAAK,QAF1B;AAGL,mCAA2B,KAAK,QAH3B;AAIL,mCAA2B,KAAK;AAJ3B,OAAP;AAMD;;AARO,GA5BqB;AAuC/B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,CAAE,GAAF,EAAc;AACpB;AACA,UAAI,CAAC,KAAK,QAAN,IAAkB,GAAtB,EAA2B;AACzB,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,CAAL,CAAO,GAA3B,CAAb;AACD;AACF,KANI;;AAOL,IAAA,MAAM,EAAE;AAPH,GAvCwB;;AAiD/B,EAAA,OAAO,GAAA;AACL,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,QAAV,CAAmB,IAAnB,CAAb;;AAEA,QAAI,KAAK,KAAL,IACF,KAAK,MADH,IAEF,KAAK,UAAL,IAAmB,IAFrB,EAGE;AACA,WAAK,QAAL,GAAgB,KAAK,UAAL,CAAgB,KAAK,MAAL,CAAY,IAA5B,CAAhB;AACD;AACF,GA1D8B;;AA4D/B,EAAA,aAAa,GAAA;AACX,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,UAAV,CAAqB,IAArB,CAAb;AACD,GA9D8B;;AAgE/B,EAAA,OAAO,EAAE;AACP,IAAA,KAAK,CAAE,CAAF,EAAU;AACb,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,IAAhB;AAEA,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AACA,WAAK,SAAL,CAAe,MAAO,KAAK,QAAL,GAAgB,CAAC,KAAK,QAA5C;AACD,KARM;;AASP,IAAA,OAAO,CAAE,IAAF,EAAsB;AAC3B,aAAO,CAAC,CAAC,KAAD,EAAQ,EAAR,EAAY,MAAM,IAAlB,CAAR;AACD,KAXM;;AAYP,IAAA,aAAa,GAAA;AACX,YAAM,IAAI,GAAG,CAAC,KAAK,QAAN,GAAiB,KAAK,UAAtB,GAAmC,KAAhD;AACA,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,YAAP,CAApB;AAEA,UAAI,CAAC,IAAD,IAAS,CAAC,IAAd,EAAoB,OAAO,IAAP;AAEpB,aAAO,CAAC,CAAC,aAAD,EAAgB;AACtB,QAAA,KAAK,EAAE;AADe,OAAhB,EAEL,MAAM,CACP,IAAI,IAAI,KAAK,OAAL,CAAa,IAAb,CADD,CAFD,CAAR;AAKD,KAvBM;;AAwBP,IAAA,SAAS,GAAA;AACP,aAAO,cAAc,CAAC,CAAC,CAAC,SAAD,EAAY;AACjC,yBAAiB,MAAM,CAAC,KAAK,QAAN,CADU;AAEjC,QAAA,IAAI,EAAE,QAF2B;AAGjC,QAAA,KAAK,EAAE;AACL,kCAAwB,IADnB;AAEL,WAAC,KAAK,WAAN,GAAoB,KAAK;AAFpB,SAH0B;AAOjC,QAAA,IAAI,EAAE,IAP2B;AAQjC,QAAA,UAAU,EAAE,KAAK,QARgB;AASjC,WAAG,KAAK,UATyB;AAUjC,QAAA,OAAO,EAAE,KAAK;AAVmB,OAAZ,EAWpB,MAAM,CACP,KAAK,cAAL,EADO,EAEP,OAAO,CAAC,IAAD,EAAO,WAAP,CAFA,EAGP,KAAK,aAAL,EAHO,CAXc,CAAF,EAgBrB,CACE,CAAC,MAAD,EAAS,KAAK,MAAd,CADF,CAhBqB,CAArB;AAmBD,KA5CM;;AA6CP,IAAA,QAAQ,GAAA;AACN,YAAM,UAAU,GAAG,CAAC,CAClB,KADkB,EAElB,KAAK,QAFa,CAAD,CAAnB;AAKA,aAAO,KAAK,eAAL,CAAqB,MAAM,CAChC,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ;AACtB,QAAA,KAAK,EAAE;AADe,OAAR,EAEb,OAAO,CAAC,IAAD,CAFM,CAAF,EAEK,UAFL,CADkB,CAA3B,CAAP;AAKD,KAxDM;;AAyDP,IAAA,cAAc,GAAA;AACZ,YAAM,IAAI,GAAG,KAAK,QAAL,IAAiB,KAAK,WAAL,IAAoB,IAArC,GACT,WADS,GAET,KAAK,WAFT;AAGA,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,aAAP,CAApB;AAEA,UAAI,CAAC,IAAD,IAAS,CAAC,IAAd,EAAoB,OAAO,IAAP;AAEpB,aAAO,CAAC,CAAC,aAAD,EAAgB;AACtB,QAAA,KAAK,EAAE;AADe,OAAhB,EAEL,MAAM,CACP,IAAI,IAAI,KAAK,OAAL,CAAa,IAAb,CADD,CAFD,CAAR;AAKD,KAtEM;;AAuEP,IAAA,aAAa,CAAE,EAAF,EAAW;AACtB;AACA,UAAI,CAAC,KAAK,KAAV,EAAiB;AAEjB,YAAM,QAAQ,GAAG,KAAK,UAAL,CAAgB,EAAE,CAAC,IAAnB,CAAjB;AAEA;;AACA,UAAI,QAAQ,IAAI,KAAK,QAAL,KAAkB,QAAlC,EAA4C;AAC1C,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,CAAL,CAAO,GAA3B,CAAb;AACD;;AAED,WAAK,QAAL,GAAgB,QAAhB;AACD,KAnFM;;AAoFP,IAAA,MAAM,CAAE,GAAF,EAAa;AACjB,YAAM,QAAQ,GAAG,KAAK,CAAL,CAAO,GAAP,KAAe,GAAhC;AAEA,UAAI,QAAJ,EAAc,KAAK,QAAL,GAAgB,IAAhB;AACd,WAAK,SAAL,CAAe,MAAO,KAAK,QAAL,GAAgB,QAAtC;AACD,KAzFM;;AA0FP,IAAA,UAAU,CAAE,EAAF,EAAY;AACpB,aAAO,EAAE,CAAC,KAAH,CAAS,KAAK,KAAd,MAAyB,IAAhC;AACD;;AA5FM,GAhEsB;;AA+J/B,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,YAAL,CAAkB,KAAK,QAAL,IAAiB,KAAK,KAAxC,EAA+C;AAC7D,MAAA,KAAK,EAAE,CAAC,cAAD,EAAiB,KAAK,OAAtB;AADsD,KAA/C,CAAR,EAEJ,CACF,KAAK,SAAL,EADE,EAEF,CAAC,CAAC,iBAAD,EAAoB,EAApB,EAAwB,MAAM,KAAK,QAAL,EAA9B,CAFC,CAFI,CAAR;AAMD;;AAtK8B,CAAlB,CAAf","sourcesContent":["import { h, withDirectives, vShow, VNode } from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this.$.uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.modelValue == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeUnmount () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, {}, () => icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n link: true,\n modelValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, () => [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple],\n ])\n },\n genItems (): VNode[] {\n const directives = [[\n vShow,\n this.isActive,\n ]]\n\n return this.showLazyContent(() => [\n withDirectives(h('div', {\n class: 'v-list-group__items',\n }, getSlot(this)), directives),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this.$.uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this.$.uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-list-group', this.classes],\n }), [\n this.genHeader(),\n h(VExpandTransition, {}, () => this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
@@ -6,23 +6,18 @@ import Colorable from '../../mixins/colorable';
6
6
  import Routable from '../../mixins/routable';
7
7
  import { factory as GroupableFactory } from '../../mixins/groupable';
8
8
  import Themeable from '../../mixins/themeable';
9
- import { factory as ToggleableFactory } from '../../mixins/toggleable'; // Directives
10
-
11
- import Ripple from '../../directives/ripple'; // Utilities
9
+ import { factory as ToggleableFactory } from '../../mixins/toggleable'; // Utilities
12
10
 
13
11
  import { getSlot, keyCodes } from './../../util/helpers';
14
12
  import mergeData from './../../util/mergeData';
15
13
  import { removed } from '../../util/console'; // Types
16
14
 
17
15
  import mixins from '../../util/mixins';
18
- const baseMixins = mixins(Colorable, Routable, Themeable, GroupableFactory('listItemGroup'), ToggleableFactory('inputValue'));
16
+ const baseMixins = mixins(Colorable, Routable, Themeable, GroupableFactory('listItemGroup'), ToggleableFactory('modelValue'));
19
17
  /* @vue/component */
20
18
 
21
19
  export default baseMixins.extend({
22
20
  name: 'v-list-item',
23
- directives: {
24
- Ripple
25
- },
26
21
  inject: {
27
22
  isInGroup: {
28
23
  default: false
@@ -54,8 +49,9 @@ export default baseMixins.extend({
54
49
  },
55
50
  threeLine: Boolean,
56
51
  twoLine: Boolean,
57
- value: null
52
+ modelValue: null
58
53
  },
54
+ emits: ['click', 'keydown', 'change', 'update:modelValue'],
59
55
  data: () => ({
60
56
  proxyClass: 'v-list-item--active'
61
57
  }),
@@ -101,10 +97,13 @@ export default baseMixins.extend({
101
97
  },
102
98
 
103
99
  genAttrs() {
104
- const attrs = {
100
+ const {
101
+ class: _,
102
+ ...otherAttrs
103
+ } = this.$attrs;
104
+ const attrs = { ...otherAttrs,
105
105
  'aria-disabled': this.disabled ? true : undefined,
106
- tabindex: this.isClickable && !this.disabled ? 0 : -1,
107
- ...this.$attrs
106
+ tabindex: this.isClickable && !this.disabled ? 0 : -1
108
107
  };
109
108
 
110
109
  if (this.$attrs.hasOwnProperty('role')) {// do nothing, role already provided
@@ -123,11 +122,12 @@ export default baseMixins.extend({
123
122
  },
124
123
 
125
124
  toggle() {
126
- if (this.to && this.inputValue === undefined) {
125
+ if (this.to && this.modelValue === undefined) {
127
126
  this.isActive = !this.isActive;
128
127
  }
129
128
 
130
129
  this.$emit('change');
130
+ this.$emitLegacy('change');
131
131
  }
132
132
 
133
133
  },
@@ -138,7 +138,8 @@ export default baseMixins.extend({
138
138
  data,
139
139
  directives
140
140
  } = this.generateRouteLink();
141
- data = mergeData(data, this.genAttrs());
141
+ const attrs = this.genAttrs();
142
+ data = mergeData(data, attrs);
142
143
  data = { ...data,
143
144
  onKeydown: e => {
144
145
  if (!this.disabled) {
@@ -146,7 +147,9 @@ export default baseMixins.extend({
146
147
  if (e.keyCode === keyCodes.enter) this.click(e);
147
148
  this.$emit('keydown', e);
148
149
  }
149
- }
150
+ },
151
+ // Ensure our attrs take precedence over routable
152
+ ...attrs
150
153
  };
151
154
  if (this.inactive) tag = 'div'; // if (this.inactive && this.to) {
152
155
  // data.on = data.nativeOn
@@ -157,7 +160,17 @@ export default baseMixins.extend({
157
160
  active: this.isActive,
158
161
  toggle: this.toggle
159
162
  });
160
- return withDirectives(h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children), directives);
163
+ const nodeData = this.isActive ? this.setTextColor(this.color, data) : data;
164
+ const attrsClasses = this.$attrs.class;
165
+
166
+ if (attrsClasses) {
167
+ nodeData.class = [this.classes, attrsClasses];
168
+ } else {
169
+ nodeData.class = this.classes;
170
+ }
171
+
172
+ const node = typeof tag === 'string' ? h(tag, nodeData, children) : h(tag, nodeData, () => children);
173
+ return withDirectives(node, directives);
161
174
  }
162
175
 
163
176
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mergeData from './../../util/mergeData'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n $activeClass() {\n if(this.activeClass) return this.activeClass\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this.$.uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n\n data = mergeData(\n data,\n this.genAttrs()\n )\n\n data = {\n ...data,\n onKeydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n }\n\n if (this.inactive) tag = 'div'\n // if (this.inactive && this.to) {\n // data.on = data.nativeOn\n // delete data.nativeOn\n // }\n\n const children = getSlot(this, 'default', {\n active: this.isActive,\n toggle: this.toggle,\n })\n\n return withDirectives(\n h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children),\n directives\n )\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives, VNode, PropType, PropValidator } from 'vue'\n// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mergeData, { mergeClasses } from './../../util/mergeData'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('modelValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-list-item',\n\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n modelValue: null as any as PropType<any>,\n },\n\n emits: [\n 'click',\n 'keydown',\n 'change',\n 'update:modelValue',\n ],\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n $activeClass () {\n if (this.activeClass) return this.activeClass\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const { class: _, ...otherAttrs } = this.$attrs\n const attrs: Record<string, any> = {\n ...otherAttrs,\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this.$.uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.modelValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n this.$emitLegacy('change')\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n const attrs = this.genAttrs()\n\n data = mergeData(\n data,\n attrs\n )\n\n data = {\n ...data,\n onKeydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n // Ensure our attrs take precedence over routable\n ...attrs,\n }\n\n if (this.inactive) tag = 'div'\n // if (this.inactive && this.to) {\n // data.on = data.nativeOn\n // delete data.nativeOn\n // }\n\n const children = getSlot(this, 'default', {\n active: this.isActive,\n toggle: this.toggle,\n })\n\n const nodeData = this.isActive ? this.setTextColor(this.color, data) : data\n\n const attrsClasses = this.$attrs.class\n if (attrsClasses) {\n nodeData.class = [this.classes, attrsClasses]\n } else {\n nodeData.class = this.classes\n }\n\n const node = typeof tag === 'string'\n ? h(tag, nodeData, children)\n : h(tag, nodeData, () => children)\n\n return withDirectives(node, directives)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
@@ -1,20 +1,26 @@
1
1
  // Types
2
- import { defineComponent, h } from 'vue';
2
+ import { defineComponent, h, Comment } from 'vue';
3
3
  /* @vue/component */
4
4
 
5
5
  export default defineComponent({
6
6
  name: 'v-list-item-action',
7
- functional: true,
8
7
 
9
8
  render() {
10
- const data = this.$attrs;
11
- data.class = data.class ? `v-list-item__action ${data.class}` : 'v-list-item__action';
12
- const children = this.$slots.default();
13
- const filteredChild = children.filter(VNode => {
14
- return VNode.isComment === false && VNode.text !== ' ';
9
+ var _a, _b;
10
+
11
+ const {
12
+ class: attrClass,
13
+ ...otherAttrs
14
+ } = this.$attrs;
15
+ let className = attrClass ? `v-list-item__action ${attrClass}` : 'v-list-item__action';
16
+ const children = ((_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];
17
+ const filteredChild = children.filter(vnode => {
18
+ return (vnode === null || vnode === void 0 ? void 0 : vnode.type) !== Comment && (vnode === null || vnode === void 0 ? void 0 : vnode.children) !== ' ';
15
19
  });
16
- if (filteredChild.length > 1) data.class += ' v-list-item__action--stack';
17
- return h('div', data, children);
20
+ if (filteredChild.length > 1) className += ' v-list-item__action--stack';
21
+ return h('div', { ...otherAttrs,
22
+ class: className
23
+ }, children);
18
24
  }
19
25
 
20
26
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListItemAction.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,eAAT,EAAiC,CAAjC,QAA0C,KAA1C;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,oBADuB;AAG7B,EAAA,UAAU,EAAE,IAHiB;;AAK7B,EAAA,MAAM,GAAA;AACJ,UAAM,IAAI,GAAG,KAAK,MAAlB;AACA,IAAA,IAAI,CAAC,KAAL,GAAa,IAAI,CAAC,KAAL,GAAa,uBAAuB,IAAI,CAAC,KAAK,EAA9C,GAAmD,qBAAhE;AACA,UAAM,QAAQ,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAjB;AAEA,UAAM,aAAa,GAAG,QAAQ,CAAC,MAAT,CAAgB,KAAK,IAAG;AAC5C,aAAO,KAAK,CAAC,SAAN,KAAoB,KAApB,IAA6B,KAAK,CAAC,IAAN,KAAe,GAAnD;AACD,KAFqB,CAAtB;AAGA,QAAI,aAAa,CAAC,MAAd,GAAuB,CAA3B,EAA8B,IAAI,CAAC,KAAL,IAAc,6BAAd;AAE9B,WAAO,CAAC,CAAC,KAAD,EAAQ,IAAR,EAAc,QAAd,CAAR;AACD;;AAhB4B,CAAD,CAA9B","sourcesContent":["// Types\nimport { defineComponent, VNode, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (): VNode {\n const data = this.$attrs\n data.class = data.class ? `v-list-item__action ${data.class}` : 'v-list-item__action'\n const children = this.$slots.default()\n\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.class += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n"],"sourceRoot":"","file":"VListItemAction.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListItemAction.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,eAAT,EAAiC,CAAjC,EAAoC,OAApC,QAAmD,KAAnD;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,oBADuB;;AAG7B,EAAA,MAAM,GAAA;;;AACJ,UAAM;AAAE,MAAA,KAAK,EAAE,SAAT;AAAoB,SAAG;AAAvB,QAAsC,KAAK,MAAjD;AACA,QAAI,SAAS,GAAG,SAAS,GAAG,uBAAuB,SAAS,EAAnC,GAAwC,qBAAjE;AACA,UAAM,QAAQ,GAAG,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,OAAZ,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAA,IAAA,CAAA,EAAA,CAAnB,KAA2B,EAA5C;AAEA,UAAM,aAAa,GAAG,QAAQ,CAAC,MAAT,CAAiB,KAAD,IAAe;AACnD,aAAO,CAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,IAAP,MAAgB,OAAhB,IAA2B,CAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,QAAP,MAAoB,GAAtD;AACD,KAFqB,CAAtB;AAGA,QAAI,aAAa,CAAC,MAAd,GAAuB,CAA3B,EAA8B,SAAS,IAAI,6BAAb;AAE9B,WAAO,CAAC,CAAC,KAAD,EAAQ,EACd,GAAG,UADW;AAEd,MAAA,KAAK,EAAE;AAFO,KAAR,EAGL,QAHK,CAAR;AAID;;AAjB4B,CAAD,CAA9B","sourcesContent":["// Types\nimport { defineComponent, VNode, h, Comment } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-list-item-action',\n\n render (): VNode {\n const { class: attrClass, ...otherAttrs } = this.$attrs\n let className = attrClass ? `v-list-item__action ${attrClass}` : 'v-list-item__action'\n const children = this.$slots.default?.() || []\n\n const filteredChild = children.filter((vnode: any) => {\n return vnode?.type !== Comment && vnode?.children !== ' '\n })\n if (filteredChild.length > 1) className += ' v-list-item__action--stack'\n\n return h('div', {\n ...otherAttrs,\n class: className\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VListItemAction.js"}
@@ -65,6 +65,7 @@ export default baseMixins.extend({
65
65
  default: () => ({})
66
66
  }
67
67
  },
68
+ emits: ['keydown'],
68
69
 
69
70
  data() {
70
71
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, Transition, vShow, withDirectives} from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n this.$refs.content &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
1
+ {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives } from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n emits: ['keydown'],\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n this.$refs.content &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
@@ -24,7 +24,7 @@ export default mixins(Colorable, Themeable).extend({
24
24
  class: 'v-messages__wrapper',
25
25
  name: 'message-transition',
26
26
  tag: 'div'
27
- }, this.value.map(this.genMessage));
27
+ }, () => this.value.map(this.genMessage));
28
28
  },
29
29
 
30
30
  genMessage(message, key) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMessages/VMessages.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,kDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,SAAS,eAAT,EAAiC,CAAjC,QAA0C,KAA1C;AAEA,OAAO,MAAP,MAAmB,mBAAnB,C,CAEA;;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAEA;;AACA,eAAe,MAAM,CAAC,SAAD,EAAY,SAAZ,CAAN,CAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,YAD2C;AAGjD,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE,MAAO;AAFX;AADF,GAH0C;AAUjD,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,GAAA;AACT,aAAO,CAAC,CAAC,eAAD,EAAkB;AACxB,QAAA,KAAK,EAAE,qBADiB;AAExB,QAAA,IAAI,EAAE,oBAFkB;AAGxB,QAAA,GAAG,EAAE;AAHmB,OAAlB,EAIL,KAAK,KAAL,CAAW,GAAX,CAAe,KAAK,UAApB,CAJK,CAAR;AAKD,KAPM;;AAQP,IAAA,UAAU,CAAE,OAAF,EAAmB,GAAnB,EAA8B;AACtC,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,qBADO;AAEd,QAAA;AAFc,OAAR,EAGL,OAAO,CAAC,IAAD,EAAO,SAAP,EAAkB;AAAE,QAAA,OAAF;AAAW,QAAA;AAAX,OAAlB,CAAP,IAA8C,CAAC,OAAD,CAHzC,CAAR;AAID;;AAbM,GAVwC;;AA0BjD,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,YAAL,CAAkB,KAAK,KAAvB,EAA8B;AAC5C,MAAA,KAAK,EAAE,CAAC,YAAD,EAAe,KAAK,YAApB;AADqC,KAA9B,CAAR,EAEJ,CAAC,KAAK,WAAL,EAAD,CAFI,CAAR;AAGD;;AA9BgD,CAApC,CAAf","sourcesContent":["// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { TransitionGroup, VNode, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n },\n\n methods: {\n genChildren () {\n return h(TransitionGroup, {\n class: 'v-messages__wrapper',\n name: 'message-transition',\n tag: 'div',\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return h('div', {\n class: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.color, {\n class: ['v-messages', this.themeClasses],\n }), [this.genChildren()])\n },\n})\n"],"sourceRoot":"","file":"VMessages.js"}
1
+ {"version":3,"sources":["../../../src/components/VMessages/VMessages.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,kDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,SAAS,eAAT,EAAiC,CAAjC,QAA0C,KAA1C;AAEA,OAAO,MAAP,MAAmB,mBAAnB,C,CAEA;;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAEA;;AACA,eAAe,MAAM,CAAC,SAAD,EAAY,SAAZ,CAAN,CAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,YAD2C;AAGjD,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE,MAAO;AAFX;AADF,GAH0C;AAUjD,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,GAAA;AACT,aAAO,CAAC,CAAC,eAAD,EAAkB;AACxB,QAAA,KAAK,EAAE,qBADiB;AAExB,QAAA,IAAI,EAAE,oBAFkB;AAGxB,QAAA,GAAG,EAAE;AAHmB,OAAlB,EAIL,MAAM,KAAK,KAAL,CAAW,GAAX,CAAe,KAAK,UAApB,CAJD,CAAR;AAKD,KAPM;;AAQP,IAAA,UAAU,CAAE,OAAF,EAAmB,GAAnB,EAA8B;AACtC,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,qBADO;AAEd,QAAA;AAFc,OAAR,EAGL,OAAO,CAAC,IAAD,EAAO,SAAP,EAAkB;AAAE,QAAA,OAAF;AAAW,QAAA;AAAX,OAAlB,CAAP,IAA8C,CAAC,OAAD,CAHzC,CAAR;AAID;;AAbM,GAVwC;;AA0BjD,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,YAAL,CAAkB,KAAK,KAAvB,EAA8B;AAC5C,MAAA,KAAK,EAAE,CAAC,YAAD,EAAe,KAAK,YAApB;AADqC,KAA9B,CAAR,EAEJ,CAAC,KAAK,WAAL,EAAD,CAFI,CAAR;AAGD;;AA9BgD,CAApC,CAAf","sourcesContent":["// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { TransitionGroup, VNode, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n },\n\n methods: {\n genChildren () {\n return h(TransitionGroup, {\n class: 'v-messages__wrapper',\n name: 'message-transition',\n tag: 'div',\n }, () => this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return h('div', {\n class: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.color, {\n class: ['v-messages', this.themeClasses],\n }), [this.genChildren()])\n },\n})\n"],"sourceRoot":"","file":"VMessages.js"}
@@ -13,7 +13,6 @@ import SSRBootable from '../../mixins/ssr-bootable';
13
13
  import Themeable from '../../mixins/themeable'; // Directives
14
14
 
15
15
  import ClickOutside from '../../directives/click-outside';
16
- import Resize from '../../directives/resize';
17
16
  import Touch from '../../directives/touch'; // Utilities
18
17
 
19
18
  import { convertToUnit, getSlot } from '../../util/helpers';
@@ -23,11 +22,6 @@ const baseMixins = mixins(Applicationable('left', ['isActive', 'isMobile', 'mini
23
22
 
24
23
  export default baseMixins.extend({
25
24
  name: 'v-navigation-drawer',
26
- directives: {
27
- ClickOutside,
28
- Resize,
29
- Touch
30
- },
31
25
 
32
26
  provide() {
33
27
  return {
@@ -68,6 +62,7 @@ export default baseMixins.extend({
68
62
  },
69
63
  modelValue: null
70
64
  },
65
+ emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],
71
66
  data: () => ({
72
67
  isMouseover: false,
73
68
  touchArea: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,EAAW,cAAX,QAAgC,KAAhC,C,CACA;;AACA,OAAO,kEAAP,C,CAEA;;AACA,OAAO,IAAP,MAAgC,cAAhC,C,CAEA;;AACA,OAAO,eAAP,MAA4B,8BAA5B;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,MAAP,MAAmB,qBAAnB;AACA,OAAO,WAAP,MAAwB,0BAAxB;AACA,OAAO,WAAP,MAAwB,2BAAxB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,OAAO,YAAP,MAAyB,gCAAzB;AACA,OAAO,MAAP,MAAmB,yBAAnB;AACA,OAAO,KAAP,MAAkB,wBAAlB,C,CAEA;;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAMA,MAAM,UAAU,GAAG,MAAM,CACvB,eAAe,CAAC,MAAD,EAAS,CACtB,UADsB,EAEtB,UAFsB,EAGtB,aAHsB,EAItB,eAJsB,EAKtB,WALsB,EAMtB,OANsB,EAOtB,WAPsB,EAQtB,OARsB,CAAT,CADQ,EAWvB,SAXuB,EAYvB,SAZuB,EAavB,MAbuB,EAcvB,WAduB,EAevB,WAfuB,EAgBvB,SAhBuB,CAAzB;AAmBA;;AACA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,qBADyB;AAG/B,EAAA,UAAU,EAAE;AACV,IAAA,YADU;AAEV,IAAA,MAFU;AAGV,IAAA;AAHU,GAHmB;;AAS/B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,OAAO,EAAE,KAAK,IAAL,KAAc;AADlB,KAAP;AAGD,GAb8B;;AAe/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,OADH;AAEL,IAAA,OAAO,EAAE,OAFJ;AAGL,IAAA,oBAAoB,EAAE,OAHjB;AAIL,IAAA,mBAAmB,EAAE,OAJhB;AAKL,IAAA,aAAa,EAAE,OALV;AAML,IAAA,QAAQ,EAAE,OANL;AAOL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT;AADA,KAPH;AAUL,IAAA,WAAW,EAAE,OAVR;AAWL,IAAA,gBAAgB,EAAE;AAChB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADU;AAEhB,MAAA,OAAO,EAAE;AAFO,KAXb;AAeL,IAAA,SAAS,EAAE,OAfN;AAgBL,IAAA,KAAK,EAAE,OAhBF;AAiBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAjBA;AAqBL,IAAA,SAAS,EAAE,OArBN;AAsBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE;AADH,KAtBA;AAyBL,IAAA,SAAS,EAAE,OAzBN;AA0BL,IAAA,SAAS,EAAE,OA1BN;AA2BL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KA3BF;AA+BL,IAAA,UAAU,EAAE;AA/BP,GAfwB;AAiD/B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,WAAW,EAAE,KADF;AAEX,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CADG;AAET,MAAA,KAAK,EAAE;AAFE,KAFA;AAMX,IAAA,cAAc,EAAE;AANL,GAAP,CAjDyB;AA0D/B,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,GAAA;AACF,aAAO,KAAK,GAAL,IAAY,KAAK,GAAjB,GAAuB,KAAvB,GAA+B,OAAtC;AACD,KAHO;;AAIR,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,MAAL,KAAgB,KAAK,GAAL,GAAW,OAAX,GAAqB,MAArC,CAAP;AACD,KANO;;AAOR;;;AAGG;AACH,IAAA,mBAAmB,GAAA;AACjB,aAAO,KAAK,KAAL,GAAa,OAAb,GAAuB,MAA9B;AACD,KAbO;;AAcR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,+BAAuB,IADlB;AAEL,yCAAiC,KAAK,QAFjC;AAGL,uCAA+B,KAAK,MAH/B;AAIL,wCAAgC,KAAK,OAJhC;AAKL,sCAA8B,CAAC,KAAK,QAL/B;AAML,sCAA8B,CAAC,KAAK,QAAN,KAAmB,KAAK,GAAL,IAAY,KAAK,KAApC,CANzB;AAOL,yCAAiC,KAAK,QAPjC;AAQL,0CAAkC,KAAK,QARlC;AASL,6CAAqC,KAAK,WATrC;AAUL,6CAAqC,KAAK,aAVrC;AAWL,oDAA4C,MAAM,CAAC,KAAK,gBAAN,CAAN,KAAkC,EAXzE;AAYL,qCAA6B,KAAK,QAZ7B;AAaL,8CAAsC,KAAK,aAbtC;AAcL,sCAA8B,KAAK,KAd9B;AAeL,0CAAkC,KAAK,SAflC;AAgBL,WAAG,KAAK;AAhBH,OAAP;AAkBD,KAjCO;;AAkCR,IAAA,iBAAiB,GAAA;AACf,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,IAAP;AAElB,YAAM,iBAAiB,GACrB,KAAK,QAAL,CAAc,WAAd,CAA0B,MAA1B,GACA,KAAK,QAAL,CAAc,WAAd,CAA0B,MAD1B,GAEA,KAAK,QAAL,CAAc,WAAd,CAA0B,GAH5B;AAMA,UAAI,CAAC,KAAK,OAAV,EAAmB,OAAO,iBAAP;AAEnB,aAAO,iBAAiB,GAAG,KAAK,QAAL,CAAc,WAAd,CAA0B,GAArD;AACD,KA9CO;;AA+CR,IAAA,WAAW,GAAA;AACT,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,CAAP;AAElB,UAAI,WAAW,GAAG,KAAK,QAAL,CAAc,WAAd,CAA0B,GAA5C;AAEA,MAAA,WAAW,IAAI,KAAK,OAAL,GACX,KAAK,QAAL,CAAc,WAAd,CAA0B,GADf,GAEX,CAFJ;AAIA,aAAO,WAAP;AACD,KAzDO;;AA0DR,IAAA,iBAAiB,GAAA;AACf,UAAI,KAAK,QAAT,EAAmB,OAAO,CAAP;AACnB,UAAI,KAAK,QAAT,EAAmB,OAAO,GAAP;AACnB,aAAO,KAAK,KAAL,GAAa,GAAb,GAAmB,CAAC,GAA3B;AACD,KA9DO;;AA+DR,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,aAAL,GAAqB,KAAK,gBAA1B,GAA6C,KAAK,KAAzD;AACD,KAjEO;;AAkER,IAAA,MAAM,GAAA;AACJ,aACE,KAAK,GAAL,IACC,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,SAF3B;AAID,KAvEO;;AAwER,IAAA,QAAQ,GAAA;AACN,aAAO,KAAK,MAAL,IAAe,KAAK,QAA3B;AACD,KA1EO;;AA2ER,IAAA,aAAa,GAAA;AACX,aACE,CAAC,KAAK,aAAN,IACA,KAAK,WAFA,IAIL,KAAK,aAAL,IACA,CAAC,KAAK,WALR;AAOD,KAnFO;;AAoFR,IAAA,QAAQ,GAAA;AACN,aACE,CAAC,KAAK,SAAN,IACA,CAAC,KAAK,SADN,IAEA,MAAM,CAAC,QAAP,CAAgB,QAAhB,CAAyB,IAAzB,CAA8B,IAA9B,CAHF;AAKD,KA1FO;;AA2FR,IAAA,aAAa,GAAA;AACX,aACE,CAAC,KAAK,SAAN,IACA,CAAC,KAAK,SADN,KAEC,KAAK,QAAL,IAAiB,KAAK,SAFvB,CADF;AAKD,KAjGO;;AAkGR,IAAA,cAAc,GAAA;AACZ,aACE,KAAK,GAAL,IACA,CAAC,KAAK,oBADN,IAEA,CAAC,KAAK,SAFN,IAGA,CAAC,KAAK,SAHN,IAIA,CAAC,KAAK,SALR;AAOD,KA1GO;;AA2GR,IAAA,cAAc,GAAA;AACZ,aAAO,CAAC,KAAK,oBAAN,IAA8B,CAAC,KAAK,SAA3C;AACD,KA7GO;;AA8GR,IAAA,aAAa,GAAA;AACX,aACE,CAAC,KAAK,mBAAN,IACA,CAAC,KAAK,SADN,KAEC,KAAK,SAAL,IAAkB,KAAK,QAFxB,CADF;AAKD,KApHO;;AAqHR,IAAA,WAAW,GAAA;AACT,aACE,CAAC,KAAK,WAAN,IACA,KAAK,QADL,KAEC,KAAK,QAAL,IAAiB,KAAK,SAFvB,CADF;AAKD,KA3HO;;AA4HR,IAAA,MAAM,GAAA;AACJ,YAAM,SAAS,GAAG,KAAK,QAAL,GAAgB,YAAhB,GAA+B,YAAjD;AACA,aAAO;AACL,QAAA,MAAM,EAAE,aAAa,CAAC,KAAK,OAAN,CADhB;AAEL,QAAA,GAAG,EAAE,CAAC,KAAK,QAAN,GAAiB,aAAa,CAAC,KAAK,WAAN,CAA9B,GAAmD,MAFnD;AAGL,QAAA,SAAS,EAAE,KAAK,iBAAL,IAA0B,IAA1B,GACP,eAAe,aAAa,CAAC,KAAK,iBAAN,CAAwB,GAD7C,GAEP,SALC;AAML,QAAA,SAAS,EAAE,GAAG,SAAS,IAAI,aAAa,CAAC,KAAK,iBAAN,EAAyB,GAAzB,CAA6B,GANhE;AAOL,QAAA,KAAK,EAAE,aAAa,CAAC,KAAK,aAAN;AAPf,OAAP;AASD;;AAvIO,GA1DqB;AAoM/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,eADH;;AAEL,IAAA,QAAQ,CAAE,GAAF,EAAK;AACX,WAAK,KAAL,CAAW,mBAAX,EAAgC,GAAhC;AACD,KAJI;;AAKL;;;AAGG;AACH,IAAA,QAAQ,CAAE,GAAF,EAAO,IAAP,EAAW;AACjB,OAAC,GAAD,IACE,KAAK,QADP,IAEE,CAAC,KAAK,SAFR,IAGE,KAAK,aAAL,EAHF;AAKA,UAAI,IAAI,IAAI,IAAR,IACF,CAAC,KAAK,cADJ,IAEF,CAAC,KAAK,cAFR,EAGE;AAEF,WAAK,QAAL,GAAgB,CAAC,GAAjB;AACD,KArBI;;AAsBL,IAAA,SAAS,CAAE,GAAF,EAAK;AACZ;AACA,UAAI,GAAJ,EAAS,KAAK,QAAL,GAAgB,IAAhB;AACV,KAzBI;;AA0BL,IAAA,WAAW,CAAE,GAAF,EAAK;AACd,UAAI,GAAJ,EAAS,KAAK,UAAL,GAAT,KACK,KAAK,aAAL;AACN,KA7BI;;AA8BL,IAAA,UAAU,CAAE,GAAF,EAAK;AACb,UAAI,KAAK,SAAT,EAAoB;;AAEpB,UAAI,GAAG,IAAI,IAAX,EAAiB;AACf,aAAK,IAAL;AACA;AACD;;AAED,UAAI,GAAG,KAAK,KAAK,QAAjB,EAA2B,KAAK,QAAL,GAAgB,GAAhB;AAC5B,KAvCI;;AAwCL,IAAA,aAAa,EAAE,mBAxCV;;AAyCL,IAAA,WAAW,CAAE,GAAF,EAAK;AACd,WAAK,iBAAL,CAAuB,CAAC,GAAxB;AACD;;AA3CI,GApMwB;;AAkP/B,EAAA,WAAW,GAAA;AACT,SAAK,IAAL;AACD,GApP8B;;AAsP/B,EAAA,OAAO,EAAE;AACP,IAAA,kBAAkB,GAAA;AAChB,YAAM,MAAM,GAAG,KAAK,GAAL,CAAS,UAAxB;AAEA,UAAI,CAAC,MAAL,EAAa;AAEb,YAAM,UAAU,GAAG,MAAM,CAAC,qBAAP,EAAnB;AAEA,WAAK,SAAL,GAAiB;AACf,QAAA,IAAI,EAAE,UAAU,CAAC,IAAX,GAAkB,EADT;AAEf,QAAA,KAAK,EAAE,UAAU,CAAC,KAAX,GAAmB;AAFX,OAAjB;AAID,KAZM;;AAaP,IAAA,gBAAgB,GAAA;AACd,aAAO,KAAK,QAAL,IAAiB,CAAC,KAAK,YAAvB,IAAuC,KAAK,aAAnD;AACD,KAfM;;AAgBP,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,WAAL,CAAiB,QAAjB,CAAP;AACD,KAlBM;;AAmBP,IAAA,aAAa,GAAA;AACX,YAAM,KAAK,GAAG;AACZ,QAAA,MAAM,EAAE,MADI;AAEZ,QAAA,KAAK,EAAE,MAFK;AAGZ,QAAA,GAAG,EAAE,KAAK;AAHE,OAAd;AAMA,YAAM,KAAK,GAAG,KAAK,MAAL,CAAY,GAAZ,GACV,KAAK,MAAL,CAAY,GAAZ,CAAgB,KAAhB,CADU,GAEV,CAAC,CAAC,IAAD,EAAO;AAAE,QAAA;AAAF,OAAP,CAFL;AAIA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,CAAC,KAAD,CAFK,CAAR;AAGD,KAjCM;;AAkCP,IAAA,aAAa,GAAA;AACX,YAAM,UAAU,GAAG,CACjB,CACE,YADF,EAEE;AACE,QAAA,OAAO,EAAE,MAAK;AAAG,eAAK,QAAL,GAAgB,KAAhB;AAAuB,SAD1C;AAEE,QAAA,gBAAgB,EAAE,KAAK,gBAFzB;AAGE,QAAA,OAAO,EAAE,KAAK;AAHhB,OAFF,CADiB,EASjB,CACE,KADF,EAEE;AACE,QAAA,MAAM,EAAE,IADV;AAEE,QAAA,IAAI,EAAE,KAAK,SAFb;AAGE,QAAA,KAAK,EAAE,KAAK,UAHd;AAIE,QAAA,WAAW,EAAE,CAAC,KAAK,SAAN,IAAmB,CAAC,KAAK;AAJxC,OAFF,CATiB,CAAnB;AAoBA,aAAO,UAAP;AACD,KAxDM;;AAyDP,IAAA,YAAY,GAAA;AACV,YAAM,EAAE,GAAuC;AAC7C,QAAA,YAAY,EAAE,MAAO,KAAK,WAAL,GAAmB,IADK;AAE7C,QAAA,YAAY,EAAE,MAAO,KAAK,WAAL,GAAmB,KAFK;AAG7C,QAAA,eAAe,EAAG,CAAD,IAAa;AAC5B,cAAI,CAAC,CAAC,MAAF,KAAa,CAAC,CAAC,aAAnB,EAAkC;AAClC,eAAK,KAAL,CAAW,eAAX,EAA4B,CAA5B,EAF4B,CAI5B;;AACA,gBAAM,WAAW,GAAG,QAAQ,CAAC,WAAT,CAAqB,UAArB,CAApB;AACA,UAAA,WAAW,CAAC,WAAZ,CAAwB,QAAxB,EAAkC,IAAlC,EAAwC,KAAxC,EAA+C,MAA/C,EAAuD,CAAvD;AACA,UAAA,MAAM,CAAC,aAAP,CAAqB,WAArB;AACD;AAX4C,OAA/C;;AAcA,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,EAAE,CAAC,OAAH,GAAa,MAAM,KAAK,KAAL,CAAW,qBAAX,EAAkC,KAAlC,CAAnB;AACD;;AAED,aAAO,EAAP;AACD,KA7EM;;AA8EP,IAAA,WAAW,CAAE,IAAF,EAA4B;AACrC,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,IAAP,CAApB;AAEA,UAAI,CAAC,IAAL,EAAW,OAAO,IAAP;AAEX,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,wBAAwB,IAAI;AADrB,OAAR,EAEL,IAFK,CAAR;AAGD,KAtFM;;AAuFP,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,WAAL,CAAiB,SAAjB,CAAP;AACD,KAzFM;;AA0FP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,OAAO,CAAC,IAAD,CAFF,CAAR;AAGD,KA9FM;;AA+FP,IAAA,SAAS,GAAA;AACP,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,CAAR;AAGD,KAnGM;;AAoGP,IAAA,IAAI,GAAA;AACF,UAAI,KAAK,SAAT,EAAoB;AAClB,aAAK,QAAL,GAAgB,IAAhB;AACD,OAFD,MAEO,IAAI,KAAK,SAAL,IACT,KAAK,UAAL,IAAmB,IADd,EAEL;AACA,aAAK,QAAL,GAAgB,KAAK,UAArB;AACD,OAJM,MAIA,IAAI,CAAC,KAAK,SAAV,EAAqB;AAC1B,aAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;AACF,KA9GM;;AA+GP,IAAA,aAAa,GAAA;AACX,UAAI,KAAK,aAAL,IAAsB,KAAK,gBAAL,EAA1B,EAAmD;AACjD,aAAK,QAAL,GAAgB,KAAhB;AACD;AACF,KAnHM;;AAoHP,IAAA,SAAS,CAAE,CAAF,EAAiB;AACxB,UAAI,KAAK,QAAL,IAAiB,KAAK,KAA1B,EAAiC;AACjC,WAAK,kBAAL;AAEA,UAAI,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,SAAF,GAAc,CAAC,CAAC,WAAzB,IAAwC,GAA5C,EAAiD;AACjD,UAAI,KAAK,KAAL,IACF,CAAC,CAAC,WAAF,IAAiB,KAAK,SAAL,CAAe,KADlC,EAEE,KAAK,QAAL,GAAgB,IAAhB,CAFF,KAGK,IAAI,CAAC,KAAK,KAAN,IAAe,KAAK,QAAxB,EAAkC,KAAK,QAAL,GAAgB,KAAhB;AACxC,KA7HM;;AA8HP,IAAA,UAAU,CAAE,CAAF,EAAiB;AACzB,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,KAA3B,EAAkC;AAClC,WAAK,kBAAL;AAEA,UAAI,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,SAAF,GAAc,CAAC,CAAC,WAAzB,IAAwC,GAA5C,EAAiD;AACjD,UAAI,CAAC,KAAK,KAAN,IACF,CAAC,CAAC,WAAF,IAAiB,KAAK,SAAL,CAAe,IADlC,EAEE,KAAK,QAAL,GAAgB,IAAhB,CAFF,KAGK,IAAI,KAAK,KAAL,IAAc,KAAK,QAAvB,EAAiC,KAAK,QAAL,GAAgB,KAAhB;AACvC,KAvIM;;AAwIP;;AAEG;AACH,IAAA,iBAAiB,GAAA;AACf,UACE,CAAC,KAAK,QAAN,IACA,KAAK,QADL,IAEA,KAAK,SAFL,IAGA,CAAC,KAAK,GAJR,EAKE,OAAO,CAAP;AAEF,YAAM,KAAK,GAAG,MAAM,CAAC,KAAK,WAAL,GAAmB,KAAK,gBAAxB,GAA2C,KAAK,KAAjD,CAApB;AAEA,aAAO,KAAK,CAAC,KAAD,CAAL,GAAe,KAAK,GAAL,CAAS,WAAxB,GAAsC,KAA7C;AACD,KAtJM;;AAuJP,IAAA,iBAAiB,CAAE,GAAF,EAAc;AAC7B,UAAI,KAAK,aAAL,IAAsB,KAAK,WAAL,KAAqB,GAA/C,EAAoD,KAAK,KAAL,CAAW,qBAAX,EAAkC,GAAlC;AACrD;;AAzJM,GAtPsB;;AAkZ/B,EAAA,MAAM,GAAA;AACJ,UAAM,QAAQ,GAAG,CACf,KAAK,UAAL,EADe,EAEf,KAAK,UAAL,EAFe,EAGf,KAAK,SAAL,EAHe,EAIf,KAAK,SAAL,EAJe,CAAjB;AAOA,QAAI,KAAK,GAAL,IAAY,OAAO,CAAC,IAAD,EAAO,KAAP,CAAvB,EAAsC,QAAQ,CAAC,OAAT,CAAiB,KAAK,aAAL,EAAjB;AAEtC,UAAM,IAAI,GAAG,CAAC,CAAC,KAAK,IAAN,EAAY,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC5D,MAAA,KAAK,EAAE,KAAK,OADgD;AAE5D,MAAA,KAAK,EAAE,KAAK,MAFgD;AAG5D,SAAG,KAAK,YAAL;AAHyD,KAApC,CAAZ,EAIV,QAJU,CAAd;AAMA,WAAO,cAAc,CAAC,IAAD,EAAO,KAAK,aAAL,EAAP,CAArB;AACD;;AAna8B,CAAlB,CAAf","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag() {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height() {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n }\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless\n },\n ]\n ]\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n const node = h(this.$tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
1
+ {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag() {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height() {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n }\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless\n },\n ]\n ]\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n const node = h(this.$tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
@@ -4,9 +4,7 @@ import "../../../src/components/VTextField/VTextField.sass";
4
4
  import "../../../src/components/VOtpInput/VOtpInput.sass"; // Extensions
5
5
 
6
6
  import VInput from '../VInput';
7
- import VTextField from '../VTextField/VTextField'; // Directives
8
-
9
- import ripple from '../../directives/ripple'; // Utilities
7
+ import VTextField from '../VTextField/VTextField'; // Utilities
10
8
 
11
9
  import { convertToUnit, keyCodes } from '../../util/helpers';
12
10
  import { breaking } from '../../util/console'; // Types
@@ -17,9 +15,6 @@ const baseMixins = mixins(VInput);
17
15
 
18
16
  export default baseMixins.extend({
19
17
  name: 'v-otp-input',
20
- directives: {
21
- ripple
22
- },
23
18
  inheritAttrs: false,
24
19
  props: {
25
20
  length: {
@@ -32,6 +27,7 @@ export default baseMixins.extend({
32
27
  },
33
28
  plain: Boolean
34
29
  },
30
+ emits: ['blur', 'focus', 'change', 'keydown', 'finish'],
35
31
  data: () => ({
36
32
  initialValue: null,
37
33
  isBooted: false,