@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha28

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 (528) hide show
  1. package/dist/vuetify.js +1185 -1041
  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 -1
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +17 -6
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VBadge/VBadge.js +1 -0
  10. package/es5/components/VBadge/VBadge.js.map +1 -1
  11. package/es5/components/VBanner/VBanner.js +11 -12
  12. package/es5/components/VBanner/VBanner.js.map +1 -1
  13. package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  15. package/es5/components/VBtn/VBtn.js +2 -2
  16. package/es5/components/VBtn/VBtn.js.map +1 -1
  17. package/es5/components/VCalendar/VCalendar.js +27 -29
  18. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  20. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  22. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  23. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  24. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  26. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  27. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  28. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  29. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  30. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  31. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  32. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  33. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  34. package/es5/components/VCarousel/VCarousel.js +10 -9
  35. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  36. package/es5/components/VCheckbox/VCheckbox.js +31 -2
  37. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  38. package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
  39. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  40. package/es5/components/VChip/VChip.js +15 -6
  41. package/es5/components/VChip/VChip.js.map +1 -1
  42. package/es5/components/VData/VData.js +1 -0
  43. package/es5/components/VData/VData.js.map +1 -1
  44. package/es5/components/VDataIterator/VDataFooter.js +1 -0
  45. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  46. package/es5/components/VDataIterator/VDataIterator.js +1 -0
  47. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  48. package/es5/components/VDataTable/VDataTable.js +1 -6
  49. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  50. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  51. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  52. package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  53. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  54. package/es5/components/VDataTable/VEditDialog.js +19 -18
  55. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  56. package/es5/components/VDataTable/mixins/header.js +0 -6
  57. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  58. package/es5/components/VDatePicker/VDatePicker.js +13 -18
  59. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  60. package/es5/components/VDatePicker/VDatePickerHeader.js +48 -26
  61. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  62. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  63. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  64. package/es5/components/VDatePicker/VDatePickerTitle.js +4 -3
  65. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  66. package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
  67. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  68. package/es5/components/VDatePicker/mixins/date-picker-table.js +16 -13
  69. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  70. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  71. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  72. package/es5/components/VDialog/VDialog.js +1 -0
  73. package/es5/components/VDialog/VDialog.js.map +1 -1
  74. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  75. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  76. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -10
  77. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  78. package/es5/components/VFileInput/VFileInput.js +1 -0
  79. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  80. package/es5/components/VForm/VForm.js +1 -0
  81. package/es5/components/VForm/VForm.js.map +1 -1
  82. package/es5/components/VHover/VHover.js +1 -0
  83. package/es5/components/VHover/VHover.js.map +1 -1
  84. package/es5/components/VImg/VImg.js +3 -5
  85. package/es5/components/VImg/VImg.js.map +1 -1
  86. package/es5/components/VInput/VInput.js +1 -0
  87. package/es5/components/VInput/VInput.js.map +1 -1
  88. package/es5/components/VItemGroup/VItem.js +2 -1
  89. package/es5/components/VItemGroup/VItem.js.map +1 -1
  90. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  91. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  92. package/es5/components/VLazy/VLazy.js +8 -15
  93. package/es5/components/VLazy/VLazy.js.map +1 -1
  94. package/es5/components/VList/VListGroup.js +3 -11
  95. package/es5/components/VList/VListGroup.js.map +1 -1
  96. package/es5/components/VList/VListItem.js +30 -14
  97. package/es5/components/VList/VListItem.js.map +1 -1
  98. package/es5/components/VList/VListItemAction.js +23 -9
  99. package/es5/components/VList/VListItemAction.js.map +1 -1
  100. package/es5/components/VMenu/VMenu.js +2 -1
  101. package/es5/components/VMenu/VMenu.js.map +1 -1
  102. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
  103. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  104. package/es5/components/VOtpInput/VOtpInput.js +37 -5
  105. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  106. package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -0
  107. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  108. package/es5/components/VOverlay/VOverlay.js +1 -0
  109. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  110. package/es5/components/VPagination/VPagination.js +1 -3
  111. package/es5/components/VPagination/VPagination.js.map +1 -1
  112. package/es5/components/VPicker/VPicker.js +2 -3
  113. package/es5/components/VPicker/VPicker.js.map +1 -1
  114. package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
  115. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  116. package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
  117. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  118. package/es5/components/VRadioGroup/VRadio.js +1 -0
  119. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  120. package/es5/components/VSelect/VSelect.js +111 -64
  121. package/es5/components/VSelect/VSelect.js.map +1 -1
  122. package/es5/components/VSelect/VSelectList.js +28 -19
  123. package/es5/components/VSelect/VSelectList.js.map +1 -1
  124. package/es5/components/VSlideGroup/VSlideGroup.js +1 -4
  125. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  126. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  127. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  128. package/es5/components/VSlider/VSlider.js +0 -3
  129. package/es5/components/VSlider/VSlider.js.map +1 -1
  130. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  131. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  132. package/es5/components/VSparkline/VSparkline.js +48 -68
  133. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  134. package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
  135. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  136. package/es5/components/VStepper/VStepper.js +1 -0
  137. package/es5/components/VStepper/VStepper.js.map +1 -1
  138. package/es5/components/VStepper/VStepperStep.js +11 -19
  139. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  140. package/es5/components/VSwitch/VSwitch.js +1 -3
  141. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  142. package/es5/components/VTabs/VTab.js +1 -0
  143. package/es5/components/VTabs/VTab.js.map +1 -1
  144. package/es5/components/VTabs/VTabs.js +11 -4
  145. package/es5/components/VTabs/VTabs.js.map +1 -1
  146. package/es5/components/VTabs/VTabsItems.js +1 -0
  147. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  148. package/es5/components/VTextField/VTextField.js +31 -27
  149. package/es5/components/VTextField/VTextField.js.map +1 -1
  150. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  151. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  152. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  153. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  154. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  155. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  156. package/es5/components/VToolbar/VToolbar.js +1 -3
  157. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  158. package/es5/components/VTooltip/VTooltip.js +9 -6
  159. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  160. package/es5/components/VTreeview/VTreeview.js +0 -7
  161. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  162. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  163. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  164. package/es5/components/VWindow/VWindow.js +0 -3
  165. package/es5/components/VWindow/VWindow.js.map +1 -1
  166. package/es5/components/VWindow/VWindowItem.js +1 -5
  167. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  168. package/es5/framework.js +1 -1
  169. package/es5/mixins/detachable/index.js +9 -5
  170. package/es5/mixins/detachable/index.js.map +1 -1
  171. package/es5/mixins/routable/index.js +5 -2
  172. package/es5/mixins/routable/index.js.map +1 -1
  173. package/lib/components/VAlert/VAlert.js +1 -1
  174. package/lib/components/VAlert/VAlert.js.map +1 -1
  175. package/lib/components/VAppBar/VAppBar.js +17 -6
  176. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  177. package/lib/components/VBadge/VBadge.js +1 -0
  178. package/lib/components/VBadge/VBadge.js.map +1 -1
  179. package/lib/components/VBanner/VBanner.js +7 -11
  180. package/lib/components/VBanner/VBanner.js.map +1 -1
  181. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  182. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  183. package/lib/components/VBtn/VBtn.js +2 -2
  184. package/lib/components/VBtn/VBtn.js.map +1 -1
  185. package/lib/components/VCalendar/VCalendar.js +26 -31
  186. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  187. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  188. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  189. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  190. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  191. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  192. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  193. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  194. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  195. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  196. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  197. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  198. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  199. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  200. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  201. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  202. package/lib/components/VCarousel/VCarousel.js +12 -11
  203. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  204. package/lib/components/VCheckbox/VCheckbox.js +14 -1
  205. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  206. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  207. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  208. package/lib/components/VChip/VChip.js +15 -6
  209. package/lib/components/VChip/VChip.js.map +1 -1
  210. package/lib/components/VData/VData.js +1 -0
  211. package/lib/components/VData/VData.js.map +1 -1
  212. package/lib/components/VDataIterator/VDataFooter.js +1 -0
  213. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  214. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  215. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  216. package/lib/components/VDataTable/VDataTable.js +2 -7
  217. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  218. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  219. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  220. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  221. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  222. package/lib/components/VDataTable/VEditDialog.js +15 -14
  223. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  224. package/lib/components/VDataTable/mixins/header.js +0 -5
  225. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  226. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  227. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  228. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  229. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  230. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  231. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  232. package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
  233. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  234. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  235. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  236. package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
  237. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  238. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  239. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  240. package/lib/components/VDialog/VDialog.js +1 -0
  241. package/lib/components/VDialog/VDialog.js.map +1 -1
  242. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  243. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  244. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
  245. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  246. package/lib/components/VFileInput/VFileInput.js +1 -0
  247. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  248. package/lib/components/VForm/VForm.js +1 -0
  249. package/lib/components/VForm/VForm.js.map +1 -1
  250. package/lib/components/VHover/VHover.js +1 -0
  251. package/lib/components/VHover/VHover.js.map +1 -1
  252. package/lib/components/VImg/VImg.js +2 -6
  253. package/lib/components/VImg/VImg.js.map +1 -1
  254. package/lib/components/VInput/VInput.js +1 -0
  255. package/lib/components/VInput/VInput.js.map +1 -1
  256. package/lib/components/VItemGroup/VItem.js +2 -1
  257. package/lib/components/VItemGroup/VItem.js.map +1 -1
  258. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  259. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  260. package/lib/components/VLazy/VLazy.js +8 -15
  261. package/lib/components/VLazy/VLazy.js.map +1 -1
  262. package/lib/components/VList/VListGroup.js +3 -5
  263. package/lib/components/VList/VListGroup.js.map +1 -1
  264. package/lib/components/VList/VListItem.js +29 -16
  265. package/lib/components/VList/VListItem.js.map +1 -1
  266. package/lib/components/VList/VListItemAction.js +15 -9
  267. package/lib/components/VList/VListItemAction.js.map +1 -1
  268. package/lib/components/VMenu/VMenu.js +2 -1
  269. package/lib/components/VMenu/VMenu.js.map +1 -1
  270. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  271. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  272. package/lib/components/VOtpInput/VOtpInput.js +50 -6
  273. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  274. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
  275. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  276. package/lib/components/VOverlay/VOverlay.js +1 -0
  277. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  278. package/lib/components/VPagination/VPagination.js +1 -3
  279. package/lib/components/VPagination/VPagination.js.map +1 -1
  280. package/lib/components/VPicker/VPicker.js +3 -3
  281. package/lib/components/VPicker/VPicker.js.map +1 -1
  282. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  283. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  284. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  285. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  286. package/lib/components/VRadioGroup/VRadio.js +1 -0
  287. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  288. package/lib/components/VSelect/VSelect.js +64 -19
  289. package/lib/components/VSelect/VSelect.js.map +1 -1
  290. package/lib/components/VSelect/VSelectList.js +24 -20
  291. package/lib/components/VSelect/VSelectList.js.map +1 -1
  292. package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
  293. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  294. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  295. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  296. package/lib/components/VSlider/VSlider.js +0 -3
  297. package/lib/components/VSlider/VSlider.js.map +1 -1
  298. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  299. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  300. package/lib/components/VSparkline/VSparkline.js +48 -67
  301. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  302. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  303. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  304. package/lib/components/VStepper/VStepper.js +1 -0
  305. package/lib/components/VStepper/VStepper.js.map +1 -1
  306. package/lib/components/VStepper/VStepperStep.js +7 -18
  307. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  308. package/lib/components/VSwitch/VSwitch.js +1 -3
  309. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  310. package/lib/components/VTabs/VTab.js +1 -0
  311. package/lib/components/VTabs/VTab.js.map +1 -1
  312. package/lib/components/VTabs/VTabs.js +14 -4
  313. package/lib/components/VTabs/VTabs.js.map +1 -1
  314. package/lib/components/VTabs/VTabsItems.js +1 -0
  315. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  316. package/lib/components/VTextField/VTextField.js +6 -15
  317. package/lib/components/VTextField/VTextField.js.map +1 -1
  318. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  319. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  320. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  321. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  322. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  323. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  324. package/lib/components/VToolbar/VToolbar.js +1 -3
  325. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  326. package/lib/components/VTooltip/VTooltip.js +4 -5
  327. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  328. package/lib/components/VTreeview/VTreeview.js +0 -6
  329. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  330. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  331. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  332. package/lib/components/VWindow/VWindow.js +0 -3
  333. package/lib/components/VWindow/VWindow.js.map +1 -1
  334. package/lib/components/VWindow/VWindowItem.js +2 -6
  335. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  336. package/lib/framework.js +1 -1
  337. package/lib/mixins/detachable/index.js +9 -5
  338. package/lib/mixins/detachable/index.js.map +1 -1
  339. package/lib/mixins/routable/index.js +5 -2
  340. package/lib/mixins/routable/index.js.map +1 -1
  341. package/package.json +1 -1
  342. package/src/components/VAlert/VAlert.ts +2 -1
  343. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  344. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  345. package/src/components/VAppBar/VAppBar.ts +12 -3
  346. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  347. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  348. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  349. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  350. package/src/components/VBadge/VBadge.ts +1 -1
  351. package/src/components/VBanner/VBanner.ts +14 -14
  352. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  353. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  354. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  355. package/src/components/VBtn/VBtn.ts +2 -2
  356. package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
  357. package/src/components/VCalendar/VCalendar.ts +29 -27
  358. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  359. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  360. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  361. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  362. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  363. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  364. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  365. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  366. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  367. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  368. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  369. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  370. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  371. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  372. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  373. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  374. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  375. package/src/components/VCalendar/mixins/times.ts +1 -1
  376. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  377. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  378. package/src/components/VCarousel/VCarousel.ts +13 -9
  379. package/src/components/VCheckbox/VCheckbox.ts +19 -1
  380. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  381. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  382. package/src/components/VChip/VChip.ts +17 -13
  383. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  384. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  385. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  386. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
  387. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  388. package/src/components/VData/VData.ts +2 -0
  389. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  390. package/src/components/VDataIterator/VDataFooter.ts +2 -0
  391. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  392. package/src/components/VDataTable/VDataTable.ts +2 -4
  393. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  394. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  395. package/src/components/VDataTable/VEditDialog.ts +19 -17
  396. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  397. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  398. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  399. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +910 -988
  400. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +26 -22
  401. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +60 -29
  402. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  403. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  404. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +18 -10
  405. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +1 -1
  406. package/src/components/VDataTable/mixins/header.ts +0 -4
  407. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  408. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  409. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  410. package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
  411. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  412. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  413. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  414. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  415. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  416. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  417. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  418. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  419. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  420. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  421. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  422. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  423. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  424. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  425. package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
  426. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  427. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  428. package/src/components/VDialog/VDialog.ts +7 -5
  429. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  430. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  431. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  432. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
  433. package/src/components/VFileInput/VFileInput.ts +2 -0
  434. package/src/components/VForm/VForm.ts +2 -0
  435. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  436. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  437. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  438. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  439. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  440. package/src/components/VHover/VHover.ts +2 -0
  441. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  442. package/src/components/VImg/VImg.ts +2 -1
  443. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
  444. package/src/components/VInput/VInput.ts +2 -0
  445. package/src/components/VItemGroup/VItem.ts +4 -0
  446. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  447. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  448. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  449. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  450. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  451. package/src/components/VLazy/VLazy.ts +11 -13
  452. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  453. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  454. package/src/components/VList/VListGroup.ts +7 -8
  455. package/src/components/VList/VListItem.ts +38 -18
  456. package/src/components/VList/VListItemAction.ts +11 -10
  457. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  458. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  459. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  460. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  461. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  462. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  463. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  464. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  465. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  466. package/src/components/VMenu/VMenu.ts +4 -2
  467. package/src/components/VMessages/__tests__/VMessages.spec.ts +14 -13
  468. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  469. package/src/components/VOtpInput/VOtpInput.ts +39 -4
  470. package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
  471. package/src/components/VOverlay/VOverlay.ts +2 -0
  472. package/src/components/VPagination/VPagination.ts +2 -1
  473. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  474. package/src/components/VPicker/VPicker.ts +8 -10
  475. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  476. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  477. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  478. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  479. package/src/components/VRadioGroup/VRadio.ts +2 -0
  480. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  481. package/src/components/VSelect/VSelect.ts +59 -19
  482. package/src/components/VSelect/VSelectList.ts +20 -16
  483. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  484. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  485. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  486. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  487. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  488. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  489. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  490. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  491. package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
  492. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  493. package/src/components/VSlider/VSlider.ts +0 -3
  494. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  495. package/src/components/VSparkline/VSparkline.ts +54 -92
  496. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  497. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  498. package/src/components/VStepper/VStepper.ts +3 -1
  499. package/src/components/VStepper/VStepperStep.ts +8 -15
  500. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  501. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  502. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  503. package/src/components/VSwitch/VSwitch.ts +4 -5
  504. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  505. package/src/components/VTabs/VTab.ts +2 -0
  506. package/src/components/VTabs/VTabs.ts +16 -10
  507. package/src/components/VTabs/VTabsItems.ts +2 -0
  508. package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
  509. package/src/components/VTextField/VTextField.ts +9 -12
  510. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  511. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  512. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  513. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  514. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  515. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  516. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  517. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  518. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  519. package/src/components/VToolbar/VToolbar.ts +1 -1
  520. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  521. package/src/components/VTooltip/VTooltip.ts +4 -4
  522. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  523. package/src/components/VTreeview/VTreeview.ts +0 -5
  524. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  525. package/src/components/VWindow/VWindow.ts +0 -1
  526. package/src/components/VWindow/VWindowItem.ts +2 -3
  527. package/src/mixins/detachable/index.ts +11 -5
  528. package/src/mixins/routable/index.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerMonthTable.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,eAAP,MAA4B,4BAA5B,C,CAEA;;AACA,SAAS,GAAT,EAAc,2BAAd,QAAiD,QAAjD;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAMA,eAAe,MAAM,CACnB;AACF;AAFqB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,2BADC;AAGP,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,MAAL,IAAe,2BAA2B,CAAC,KAAK,aAAN,EAAqB;AAAE,QAAA,KAAK,EAAE,OAAT;AAAkB,QAAA,QAAQ,EAAE;AAA5B,OAArB,EAA0D;AAAE,QAAA,KAAK,EAAE,CAAT;AAAY,QAAA,MAAM,EAAE;AAApB,OAA1D,CAAjD;AACD;;AAHO,GAHH;AASP,EAAA,OAAO,EAAE;AACP,IAAA,kBAAkB,CAAE,KAAF,EAAe;AAC/B,aAAO,GAAG,QAAQ,CAAC,KAAK,SAAN,EAAiB,EAAjB,CAAR,GAA+B,IAAI,CAAC,IAAL,CAAU,KAAK,IAAI,CAAnB,CAAqB,EAA9D;AACD,KAHM;;AAIP,IAAA,QAAQ,GAAA;AACN,YAAM,QAAQ,GAAG,EAAjB;AACA,YAAM,IAAI,GAAG,KAAK,CAAC,CAAD,CAAL,CAAS,IAAT,CAAc,IAAd,CAAb;AACA,YAAM,IAAI,GAAG,KAAK,IAAI,CAAC,MAAvB;;AAEA,WAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,IAAxB,EAA8B,GAAG,EAAjC,EAAqC;AACnC,cAAM,GAAG,GAAG,IAAI,CAAC,GAAL,CAAS,CAAC,CAAD,EAAI,GAAJ,KAAW;AAC9B,gBAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAX,GAAoB,GAAlC;AACA,gBAAM,IAAI,GAAG,GAAG,KAAK,aAAa,IAAI,GAAG,CAAC,KAAK,GAAG,CAAT,CAAW,EAApD;AACA,iBAAO,CAAC,CAAC,IAAD,EAAO;AACb,YAAA,GAAG,EAAE;AADQ,WAAP,EAEL,CACD,KAAK,SAAL,CAAe,IAAf,EAAqB,KAArB,EAA4B,OAA5B,EAAqC,KAAK,SAA1C,CADC,CAFK,CAAR;AAKD,SARW,CAAZ;AAUA,QAAA,QAAQ,CAAC,IAAT,CAAc,CAAC,CAAC,IAAD,EAAO;AACpB,UAAA,GAAG,EAAE;AADe,SAAP,EAEZ,GAFY,CAAf;AAGD;;AAED,aAAO,CAAC,CAAC,OAAD,EAAU,QAAV,CAAR;AACD;;AA1BM,GATF;;AAsCP,EAAA,MAAM,GAAA;AACJ,WAAO,KAAK,QAAL,CAAc,gDAAd,EAAgE,CACrE,KAAK,QAAL,EADqE,CAAhE,EAEJ,KAAK,kBAFD,CAAP;AAGD;;AA1CM,CAHM,CAAf","sourcesContent":["// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-month-table',\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { month: 'short', timeZone: 'UTC' }, { start: 5, length: 2 })\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`\n },\n genTBody () {\n const children = []\n const cols = Array(3).fill(null)\n const rows = 12 / cols.length\n\n for (let row = 0; row < rows; row++) {\n const tds = cols.map((_, col) => {\n const month = row * cols.length + col\n const date = `${this.displayedYear}-${pad(month + 1)}`\n return h('td', {\n key: month,\n }, [\n this.genButton(date, false, 'month', this.formatter),\n ])\n })\n\n children.push(h('tr', {\n key: row,\n }, tds))\n }\n\n return h('tbody', children)\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--month', [\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n"],"sourceRoot":"","file":"VDatePickerMonthTable.js"}
1
+ {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerMonthTable.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,eAAP,MAA4B,4BAA5B,C,CAEA;;AACA,SAAS,GAAT,EAAc,2BAAd,QAAiD,QAAjD;AACA,OAAO,MAAP,MAAmB,mBAAnB,C,CAEA;;AACA,SAAgB,CAAhB,QAAyB,KAAzB;AAGA,eAAe,MAAM,CACnB;AACF;AAFqB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,2BADC;AAGP,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,MAAL,IAAe,2BAA2B,CAAC,KAAK,aAAN,EAAqB;AAAE,QAAA,KAAK,EAAE,OAAT;AAAkB,QAAA,QAAQ,EAAE;AAA5B,OAArB,EAA0D;AAAE,QAAA,KAAK,EAAE,CAAT;AAAY,QAAA,MAAM,EAAE;AAApB,OAA1D,CAAjD;AACD;;AAHO,GAHH;AASP,EAAA,OAAO,EAAE;AACP,IAAA,kBAAkB,CAAE,KAAF,EAAe;AAC/B,aAAO,GAAG,QAAQ,CAAC,KAAK,SAAN,EAAiB,EAAjB,CAAR,GAA+B,IAAI,CAAC,IAAL,CAAU,KAAK,IAAI,CAAnB,CAAqB,EAA9D;AACD,KAHM;;AAIP,IAAA,QAAQ,GAAA;AACN,YAAM,QAAQ,GAAG,EAAjB;AACA,YAAM,IAAI,GAAG,KAAK,CAAC,CAAD,CAAL,CAAS,IAAT,CAAc,IAAd,CAAb;AACA,YAAM,IAAI,GAAG,KAAK,IAAI,CAAC,MAAvB;;AAEA,WAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,IAAxB,EAA8B,GAAG,EAAjC,EAAqC;AACnC,cAAM,GAAG,GAAG,IAAI,CAAC,GAAL,CAAS,CAAC,CAAD,EAAI,GAAJ,KAAW;AAC9B,gBAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAX,GAAoB,GAAlC;AACA,gBAAM,IAAI,GAAG,GAAG,KAAK,aAAa,IAAI,GAAG,CAAC,KAAK,GAAG,CAAT,CAAW,EAApD;AACA,iBAAO,CAAC,CAAC,IAAD,EAAO;AACb,YAAA,GAAG,EAAE;AADQ,WAAP,EAEL,CACD,KAAK,SAAL,CAAe,IAAf,EAAqB,KAArB,EAA4B,OAA5B,EAAqC,KAAK,SAA1C,CADC,CAFK,CAAR;AAKD,SARW,CAAZ;AAUA,QAAA,QAAQ,CAAC,IAAT,CAAc,CAAC,CAAC,IAAD,EAAO;AACpB,UAAA,GAAG,EAAE;AADe,SAAP,EAEZ,GAFY,CAAf;AAGD;;AAED,aAAO,CAAC,CAAC,OAAD,EAAU,QAAV,CAAR;AACD;;AA1BM,GATF;;AAsCP,EAAA,MAAM,GAAA;AACJ,WAAO,KAAK,QAAL,CAAc,gDAAd,EAAgE,CACrE,KAAK,QAAL,EADqE,CAAhE,EAEJ,KAAK,kBAFD,CAAP;AAGD;;AA1CM,CAHM,CAAf","sourcesContent":["// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, h } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-month-table',\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { month: 'short', timeZone: 'UTC' }, { start: 5, length: 2 })\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`\n },\n genTBody () {\n const children = []\n const cols = Array(3).fill(null)\n const rows = 12 / cols.length\n\n for (let row = 0; row < rows; row++) {\n const tds = cols.map((_, col) => {\n const month = row * cols.length + col\n const date = `${this.displayedYear}-${pad(month + 1)}`\n return h('td', {\n key: month,\n }, [\n this.genButton(date, false, 'month', this.formatter),\n ])\n })\n\n children.push(h('tr', {\n key: row,\n }, tds))\n }\n\n return h('tbody', children)\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--month', [\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n"],"sourceRoot":"","file":"VDatePickerMonthTable.js"}
@@ -18,7 +18,7 @@ export default mixins(PickerButton
18
18
  disabled: Boolean,
19
19
  readonly: Boolean,
20
20
  selectingYear: Boolean,
21
- value: {
21
+ modelValue: {
22
22
  type: String
23
23
  },
24
24
  year: {
@@ -29,6 +29,7 @@ export default mixins(PickerButton
29
29
  type: String
30
30
  }
31
31
  },
32
+ emits: ['update:selecting-year'],
32
33
  data: () => ({
33
34
  isReversing: false
34
35
  }),
@@ -39,7 +40,7 @@ export default mixins(PickerButton
39
40
 
40
41
  },
41
42
  watch: {
42
- value(val, prev) {
43
+ modelValue(val, prev) {
43
44
  this.isReversing = val < prev;
44
45
  }
45
46
 
@@ -60,7 +61,7 @@ export default mixins(PickerButton
60
61
  name: this.computedTransition
61
62
  }, () => [h('div', {
62
63
  innerHTML: this.date || '&nbsp;',
63
- key: this.value
64
+ key: this.modelValue
64
65
  })]);
65
66
  },
66
67
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerTitle.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,EAAW,UAAX,QAA4B,KAA5B;AACA,OAAO,2DAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB,C,CAEA;;AACA,OAAO,YAAP,MAAyB,4BAAzB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAKA,eAAe,MAAM,CACnB;AACF;AAFqB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,qBADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KADD;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,QAAQ,EAAE,OANL;AAOL,IAAA,aAAa,EAAE,OAPV;AAQL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE;AADD,KARF;AAWL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAXD;AAeL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE;AADE;AAfL,GAHA;AAuBP,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,WAAW,EAAE;AADF,GAAP,CAvBC;AA2BP,EAAA,QAAQ,EAAE;AACR,IAAA,kBAAkB,GAAA;AAChB,aAAO,KAAK,WAAL,GAAmB,2BAAnB,GAAiD,mBAAxD;AACD;;AAHO,GA3BH;AAiCP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,CAAE,GAAF,EAAe,IAAf,EAA2B;AAC9B,WAAK,WAAL,GAAmB,GAAG,GAAG,IAAzB;AACD;;AAHI,GAjCA;AAuCP,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,GAAA;AACT,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,IAAI,EAAE;AADQ,OAAR,EAEL,MAAM,KAAK,QAFN,CAAR;AAGD,KALM;;AAMP,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,eAAL,CAAqB,eAArB,EAAsC,IAAtC,EAA4C,CACjD,MAAM,CAAC,KAAK,IAAN,CAD2C,EAEjD,KAAK,QAAL,GAAgB,KAAK,WAAL,EAAhB,GAAqC,IAFY,CAA5C,EAGJ,KAHI,EAGG,2BAHH,CAAP;AAID,KAXM;;AAYP,IAAA,YAAY,GAAA;AACV,aAAO,CAAC,CAAC,UAAD,EAAa;AACnB,QAAA,IAAI,EAAE,KAAK;AADQ,OAAb,EAEL,MAAM,CACP,CAAC,CAAC,KAAD,EAAQ;AACP,QAAA,SAAS,EAAE,KAAK,IAAL,IAAa,QADjB;AAEP,QAAA,GAAG,EAAE,KAAK;AAFH,OAAR,CADM,CAFD,CAAR;AAQD,KArBM;;AAsBP,IAAA,YAAY,GAAA;AACV,aAAO,KAAK,eAAL,CAAqB,eAArB,EAAsC,KAAtC,EAA6C,CAAC,KAAK,YAAL,EAAD,CAA7C,EAAoE,KAApE,EAA2E,2BAA3E,CAAP;AACD;;AAxBM,GAvCF;;AAkEP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,CAAC,qBAAD,EAAwB;AAC7B,yCAAiC,KAAK;AADT,OAAxB;AADO,KAAR,EAIL,CACD,KAAK,UAAL,EADC,EAED,KAAK,YAAL,EAFC,CAJK,CAAR;AAQD;;AA3EM,CAHM,CAAf","sourcesContent":["import {h, Transition} from 'vue'\nimport './VDatePickerTitle.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n value: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n value (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): VNode {\n return h(VIcon, {\n dark: true,\n }, () => this.yearIcon)\n },\n getYearBtn (): VNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'v-date-picker-title__year')\n },\n genTitleText (): VNode {\n return h(Transition, {\n name: this.computedTransition,\n }, () => [\n h('div', {\n innerHTML: this.date || '&nbsp;',\n key: this.value\n }),\n ])\n },\n genTitleDate (): VNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date')\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-date-picker-title', {\n 'v-date-picker-title--disabled': this.disabled,\n }]\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDatePickerTitle.js"}
1
+ {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerTitle.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,EAAY,UAAZ,QAA8B,KAA9B;AACA,OAAO,2DAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB,C,CAEA;;AACA,OAAO,YAAP,MAAyB,4BAAzB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAKA,eAAe,MAAM,CACnB;AACF;AAFqB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,qBADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KADD;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,QAAQ,EAAE,OANL;AAOL,IAAA,aAAa,EAAE,OAPV;AAQL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE;AADI,KARP;AAWL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAXD;AAeL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE;AADE;AAfL,GAHA;AAuBP,EAAA,KAAK,EAAE,CAAC,uBAAD,CAvBA;AAyBP,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,WAAW,EAAE;AADF,GAAP,CAzBC;AA6BP,EAAA,QAAQ,EAAE;AACR,IAAA,kBAAkB,GAAA;AAChB,aAAO,KAAK,WAAL,GAAmB,2BAAnB,GAAiD,mBAAxD;AACD;;AAHO,GA7BH;AAmCP,EAAA,KAAK,EAAE;AACL,IAAA,UAAU,CAAE,GAAF,EAAe,IAAf,EAA2B;AACnC,WAAK,WAAL,GAAmB,GAAG,GAAG,IAAzB;AACD;;AAHI,GAnCA;AAyCP,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,GAAA;AACT,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,IAAI,EAAE;AADQ,OAAR,EAEL,MAAM,KAAK,QAFN,CAAR;AAGD,KALM;;AAMP,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,eAAL,CAAqB,eAArB,EAAsC,IAAtC,EAA4C,CACjD,MAAM,CAAC,KAAK,IAAN,CAD2C,EAEjD,KAAK,QAAL,GAAgB,KAAK,WAAL,EAAhB,GAAqC,IAFY,CAA5C,EAGJ,KAHI,EAGG,2BAHH,CAAP;AAID,KAXM;;AAYP,IAAA,YAAY,GAAA;AACV,aAAO,CAAC,CAAC,UAAD,EAAa;AACnB,QAAA,IAAI,EAAE,KAAK;AADQ,OAAb,EAEL,MAAM,CACP,CAAC,CAAC,KAAD,EAAQ;AACP,QAAA,SAAS,EAAE,KAAK,IAAL,IAAa,QADjB;AAEP,QAAA,GAAG,EAAE,KAAK;AAFH,OAAR,CADM,CAFD,CAAR;AAQD,KArBM;;AAsBP,IAAA,YAAY,GAAA;AACV,aAAO,KAAK,eAAL,CAAqB,eAArB,EAAsC,KAAtC,EAA6C,CAAC,KAAK,YAAL,EAAD,CAA7C,EAAoE,KAApE,EAA2E,2BAA3E,CAAP;AACD;;AAxBM,GAzCF;;AAoEP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,CAAC,qBAAD,EAAwB;AAC7B,yCAAiC,KAAK;AADT,OAAxB;AADO,KAAR,EAIL,CACD,KAAK,UAAL,EADC,EAED,KAAK,YAAL,EAFC,CAJK,CAAR;AAQD;;AA7EM,CAHM,CAAf","sourcesContent":["import { h, Transition } from 'vue'\nimport './VDatePickerTitle.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n modelValue: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n emits: ['update:selecting-year'],\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n modelValue (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): VNode {\n return h(VIcon, {\n dark: true,\n }, () => this.yearIcon)\n },\n getYearBtn (): VNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'v-date-picker-title__year')\n },\n genTitleText (): VNode {\n return h(Transition, {\n name: this.computedTransition,\n }, () => [\n h('div', {\n innerHTML: this.date || '&nbsp;',\n key: this.modelValue,\n }),\n ])\n },\n genTitleDate (): VNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date')\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-date-picker-title', {\n 'v-date-picker-title--disabled': this.disabled,\n }],\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDatePickerTitle.js"}
@@ -3,9 +3,10 @@ import "../../../src/components/VDatePicker/VDatePickerYears.sass"; // Mixins
3
3
  import Colorable from '../../mixins/colorable';
4
4
  import Localable from '../../mixins/localable'; // Utils
5
5
 
6
- import { createItemTypeNativeListeners, createNativeLocaleFormatter } from './util';
7
- import { mergeListeners } from '../../util/mergeData';
8
- import mixins from '../../util/mixins';
6
+ import { createNativeLocaleFormatter } from './util';
7
+ import mixins from '../../util/mixins'; // Types
8
+
9
+ import { h } from 'vue';
9
10
  export default mixins(Colorable, Localable
10
11
  /* @vue/component */
11
12
  ).extend({
@@ -15,7 +16,7 @@ export default mixins(Colorable, Localable
15
16
  min: [Number, String],
16
17
  max: [Number, String],
17
18
  readonly: Boolean,
18
- value: [Number, String]
19
+ modelValue: [Number, String]
19
20
  },
20
21
 
21
22
  data() {
@@ -55,22 +56,20 @@ export default mixins(Colorable, Localable
55
56
  methods: {
56
57
  genYearItem(year) {
57
58
  const formatted = this.formatter(`${year}`);
58
- const active = parseInt(this.value, 10) === year;
59
+ const active = parseInt(this.modelValue, 10) === year;
59
60
  const color = active && (this.color || 'primary');
60
61
  return h('li', this.setTextColor(color, {
61
62
  key: year,
62
63
  class: {
63
64
  active
64
65
  },
65
- on: mergeListeners({
66
- click: () => this.$emit('input', year)
67
- }, createItemTypeNativeListeners(this, ':year', year))
66
+ onClick: () => this.$emit('update:modelValue', year)
68
67
  }), formatted);
69
68
  },
70
69
 
71
70
  genYearItems() {
72
71
  const children = [];
73
- const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear();
72
+ const selectedYear = this.modelValue ? parseInt(this.modelValue, 10) : new Date().getFullYear();
74
73
  const maxYear = this.max ? parseInt(this.max, 10) : selectedYear + 100;
75
74
  const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : selectedYear - 100);
76
75
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerYears.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport {\n createItemTypeNativeListeners,\n createNativeLocaleFormatter,\n} from './util'\nimport { mergeListeners } from '../../util/mergeData'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface options extends Vue {\n $el: HTMLElement\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Localable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n\n props: {\n format: Function as PropType<DatePickerFormatter | undefined>,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n value: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): VNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.value, 10) === year\n const color = active && (this.color || 'primary')\n\n return h('li', this.setTextColor(color, {\n key: year,\n class: { active },\n on: mergeListeners({\n click: () => this.$emit('input', year),\n }, createItemTypeNativeListeners(this, ':year', year)),\n }), formatted)\n },\n\n genYearItems (): VNode[] {\n const children = []\n const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): VNode {\n return h('ul', {\n class: 'v-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n"],"sourceRoot":"","file":"VDatePickerYears.js"}
1
+ {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerYears.ts"],"names":[],"mappings":"AAAA,OAAO,2DAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,SACE,2BADF,QAEO,QAFP;AAGA,OAAO,MAAP,MAAmC,mBAAnC,C,CAEA;;AACA,SAA0B,CAA1B,QAAmC,KAAnC;AAOA,eAAe,MAAM,CAQnB,SARmB,EASnB;AACF;AAVqB,CAAN,CAWb,MAXa,CAWN;AACP,EAAA,IAAI,EAAE,qBADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,QADH;AAEL,IAAA,GAAG,EAAE,CAAC,MAAD,EAAS,MAAT,CAFA;AAGL,IAAA,GAAG,EAAE,CAAC,MAAD,EAAS,MAAT,CAHA;AAIL,IAAA,QAAQ,EAAE,OAJL;AAKL,IAAA,UAAU,EAAE,CAAC,MAAD,EAAS,MAAT;AALP,GAHA;;AAWP,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,YAAY,EAAE;AADT,KAAP;AAGD,GAfM;;AAiBP,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,MAAL,IAAe,2BAA2B,CAAC,KAAK,aAAN,EAAqB;AAAE,QAAA,IAAI,EAAE,SAAR;AAAmB,QAAA,QAAQ,EAAE;AAA7B,OAArB,EAA2D;AAAE,QAAA,MAAM,EAAE;AAAV,OAA3D,CAAjD;AACD;;AAHO,GAjBH;;AAuBP,EAAA,OAAO,GAAA;AACL,IAAA,UAAU,CAAC,MAAK;AACd,YAAM,UAAU,GAAG,KAAK,GAAL,CAAS,sBAAT,CAAgC,QAAhC,EAA0C,CAA1C,CAAnB;;AACA,UAAI,UAAJ,EAAgB;AACd,aAAK,GAAL,CAAS,SAAT,GAAqB,UAAU,CAAC,SAAX,GAAuB,KAAK,GAAL,CAAS,YAAT,GAAwB,CAA/C,GAAmD,UAAU,CAAC,YAAX,GAA0B,CAAlG;AACD,OAFD,MAEO,IAAI,KAAK,GAAL,IAAY,CAAC,KAAK,GAAtB,EAA2B;AAChC,aAAK,GAAL,CAAS,SAAT,GAAqB,KAAK,GAAL,CAAS,YAA9B;AACD,OAFM,MAEA,IAAI,CAAC,KAAK,GAAN,IAAa,KAAK,GAAtB,EAA2B;AAChC,aAAK,GAAL,CAAS,SAAT,GAAqB,CAArB;AACD,OAFM,MAEA;AACL,aAAK,GAAL,CAAS,SAAT,GAAqB,KAAK,GAAL,CAAS,YAAT,GAAwB,CAAxB,GAA4B,KAAK,GAAL,CAAS,YAAT,GAAwB,CAAzE;AACD;AACF,KAXS,CAAV;AAYD,GApCM;;AAsCP,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,CAAE,IAAF,EAAc;AACvB,YAAM,SAAS,GAAG,KAAK,SAAL,CAAe,GAAG,IAAI,EAAtB,CAAlB;AACA,YAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,UAAN,EAAkB,EAAlB,CAAR,KAAkC,IAAjD;AACA,YAAM,KAAK,GAAG,MAAM,KAAK,KAAK,KAAL,IAAc,SAAnB,CAApB;AAEA,aAAO,CAAC,CAAC,IAAD,EAAO,KAAK,YAAL,CAAkB,KAAlB,EAAyB;AACtC,QAAA,GAAG,EAAE,IADiC;AAEtC,QAAA,KAAK,EAAE;AAAE,UAAA;AAAF,SAF+B;AAGtC,QAAA,OAAO,EAAE,MAAM,KAAK,KAAL,CAAW,mBAAX,EAAgC,IAAhC;AAHuB,OAAzB,CAAP,EAIJ,SAJI,CAAR;AAKD,KAXM;;AAaP,IAAA,YAAY,GAAA;AACV,YAAM,QAAQ,GAAG,EAAjB;AACA,YAAM,YAAY,GAAG,KAAK,UAAL,GAAkB,QAAQ,CAAC,KAAK,UAAN,EAAkB,EAAlB,CAA1B,GAAkD,IAAI,IAAJ,GAAW,WAAX,EAAvE;AACA,YAAM,OAAO,GAAG,KAAK,GAAL,GAAW,QAAQ,CAAC,KAAK,GAAN,EAAW,EAAX,CAAnB,GAAqC,YAAY,GAAG,GAApE;AACA,YAAM,OAAO,GAAG,IAAI,CAAC,GAAL,CAAS,OAAT,EAAkB,KAAK,GAAL,GAAW,QAAQ,CAAC,KAAK,GAAN,EAAW,EAAX,CAAnB,GAAqC,YAAY,GAAG,GAAtE,CAAhB;;AAEA,WAAK,IAAI,IAAI,GAAG,OAAhB,EAAyB,IAAI,IAAI,OAAjC,EAA0C,IAAI,EAA9C,EAAkD;AAChD,QAAA,QAAQ,CAAC,IAAT,CAAc,KAAK,WAAL,CAAiB,IAAjB,CAAd;AACD;;AAED,aAAO,QAAP;AACD;;AAxBM,GAtCF;;AAiEP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,IAAD,EAAO;AACb,MAAA,KAAK,EAAE,qBADM;AAEb,MAAA,GAAG,EAAE;AAFQ,KAAP,EAGL,KAAK,YAAL,EAHK,CAAR;AAID;;AAtEM,CAXM,CAAf","sourcesContent":["import './VDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport {\n createNativeLocaleFormatter,\n} from './util'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode, PropType, h } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface options {\n $el: HTMLElement\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Localable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n\n props: {\n format: Function as PropType<DatePickerFormatter | undefined>,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n modelValue: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): VNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.modelValue, 10) === year\n const color = active && (this.color || 'primary')\n\n return h('li', this.setTextColor(color, {\n key: year,\n class: { active },\n onClick: () => this.$emit('update:modelValue', year),\n }), formatted)\n },\n\n genYearItems (): VNode[] {\n const children = []\n const selectedYear = this.modelValue ? parseInt(this.modelValue, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): VNode {\n return h('ul', {\n class: 'v-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n"],"sourceRoot":"","file":"VDatePickerYears.js"}
@@ -16,9 +16,6 @@ import { Transition, withDirectives, h } from 'vue';
16
16
  export default mixins(Colorable, Localable, Themeable
17
17
  /* @vue/component */
18
18
  ).extend({
19
- directives: {
20
- Touch
21
- },
22
19
  props: {
23
20
  allowedDates: Function,
24
21
  current: String,
@@ -41,7 +38,7 @@ export default mixins(Colorable, Localable, Themeable
41
38
  type: String,
42
39
  required: true
43
40
  },
44
- value: [String, Array]
41
+ modelValue: [String, Array]
45
42
  },
46
43
  data: () => ({
47
44
  isReversing: false,
@@ -58,6 +55,11 @@ export default mixins(Colorable, Localable, Themeable
58
55
 
59
56
  displayedYear() {
60
57
  return Number(this.tableDate.split('-')[0]);
58
+ },
59
+
60
+ // Vue 3 compatibility: use modelValue
61
+ currentValue() {
62
+ return this.modelValue;
61
63
  }
62
64
 
63
65
  },
@@ -93,7 +95,9 @@ export default mixins(Colorable, Localable, Themeable
93
95
  if (this.disabled) return undefined;
94
96
  return mergeListeners({
95
97
  onClick: () => {
96
- if (isAllowed && !this.readonly) this.$emit('input', value);
98
+ if (isAllowed && !this.readonly) {
99
+ this.$emit('update:modelValue', value);
100
+ }
97
101
  }
98
102
  }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value));
99
103
  },
@@ -107,9 +111,9 @@ export default mixins(Colorable, Localable, Themeable
107
111
  let isFirst = false;
108
112
  let isLast = false;
109
113
 
110
- if (this.range && !!this.value && Array.isArray(this.value)) {
111
- isFirst = value === this.value[0];
112
- isLast = value === this.value[this.value.length - 1];
114
+ if (this.range && !!this.currentValue && Array.isArray(this.currentValue)) {
115
+ isFirst = value === this.currentValue[0];
116
+ isLast = value === this.currentValue[this.currentValue.length - 1];
113
117
  }
114
118
 
115
119
  return h('button', setColor(color, {
@@ -206,16 +210,16 @@ export default mixins(Colorable, Localable, Themeable
206
210
  },
207
211
 
208
212
  isSelected(value) {
209
- if (Array.isArray(this.value)) {
210
- if (this.range && this.value.length === 2) {
211
- const [from, to] = [...this.value].sort();
213
+ if (Array.isArray(this.currentValue)) {
214
+ if (this.range && this.currentValue.length === 2) {
215
+ const [from, to] = [...this.currentValue].sort();
212
216
  return from <= value && value <= to;
213
217
  } else {
214
- return this.value.indexOf(value) !== -1;
218
+ return this.currentValue.indexOf(value) !== -1;
215
219
  }
216
220
  }
217
221
 
218
- return value === this.value;
222
+ return value === this.currentValue;
219
223
  }
220
224
 
221
225
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VDatePicker/mixins/date-picker-table.ts"],"names":[],"mappings":"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","sourcesContent":["import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n Transition,\n withDirectives,\n h\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropType<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n onClick: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value)\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.value && Array.isArray(this.value)) {\n isFirst = value === this.value[0]\n isLast = value === this.value[this.value.length - 1]\n }\n\n return h('button', setColor(color, {\n class: ['v-btn', this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n )],\n type: 'button',\n disabled: this.disabled || !isAllowed || isOtherMonth,\n ...this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n h('div', {\n class: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? h('div', {\n class: 'v-date-picker-table__events',\n }, eventColors.map(color => h('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = h(Transition, {\n name: this.computedTransition,\n }, () => [h('table', { key: this.tableDate }, children)])\n\n const touchDirective = [\n Touch,\n {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n }\n ]\n\n return withDirectives(h('div', {\n class: {\n [staticClass]: true,\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n ...((!this.disabled && this.scrollable) ? {\n onWheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : {}),\n }, [transition]), [touchDirective])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n"],"sourceRoot":"","file":"date-picker-table.js"}
1
+ {"version":3,"sources":["../../../../src/components/VDatePicker/mixins/date-picker-table.ts"],"names":[],"mappings":"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","sourcesContent":["import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n Transition,\n withDirectives,\n h,\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n\n props: {\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n modelValue: [String, Array] as PropType<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n // Vue 3 compatibility: use modelValue\n currentValue (): string | string[] | undefined {\n return this.modelValue\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n onClick: () => {\n if (isAllowed && !this.readonly) {\n this.$emit('update:modelValue', value)\n }\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.currentValue && Array.isArray(this.currentValue)) {\n isFirst = value === this.currentValue[0]\n isLast = value === this.currentValue[this.currentValue.length - 1]\n }\n\n return h('button', setColor(color, {\n class: ['v-btn', this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n )],\n type: 'button',\n disabled: this.disabled || !isAllowed || isOtherMonth,\n ...this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n h('div', {\n class: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? h('div', {\n class: 'v-date-picker-table__events',\n }, eventColors.map(color => h('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = h(Transition, {\n name: this.computedTransition,\n }, () => [h('table', { key: this.tableDate }, children)])\n\n const touchDirective = [\n Touch,\n {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n ]\n\n return withDirectives(h('div', {\n class: {\n [staticClass]: true,\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n ...((!this.disabled && this.scrollable) ? {\n onWheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : {}),\n }, [transition]), [touchDirective])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.currentValue)) {\n if (this.range && this.currentValue.length === 2) {\n const [from, to] = [...this.currentValue].sort()\n return from <= value && value <= to\n } else {\n return this.currentValue.indexOf(value) !== -1\n }\n }\n\n return value === this.currentValue\n },\n },\n})\n"],"sourceRoot":"","file":"date-picker-table.js"}
@@ -5,6 +5,10 @@ function createNativeLocaleFormatter(locale, options, substrOptions = {
5
5
  length: 0
6
6
  }) {
7
7
  const makeIsoString = dateString => {
8
+ if (!dateString || dateString === 'undefined' || dateString === 'null') {
9
+ return '1970-01-01'; // fallback date
10
+ }
11
+
8
12
  const [year, month, date] = dateString.trim().split(' ')[0].split('-');
9
13
  return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-');
10
14
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,GAAP,MAAgB,OAAhB;;AAmBA,SAAS,2BAAT,CACE,MADF,EAEE,OAFF,EAGE,aAAA,GAA+B;AAAE,EAAA,KAAK,EAAE,CAAT;AAAY,EAAA,MAAM,EAAE;AAApB,CAHjC,EAGwD;AAEtD,QAAM,aAAa,GAAI,UAAD,IAAuB;AAC3C,UAAM,CAAC,IAAD,EAAO,KAAP,EAAc,IAAd,IAAsB,UAAU,CAAC,IAAX,GAAkB,KAAlB,CAAwB,GAAxB,EAA6B,CAA7B,EAAgC,KAAhC,CAAsC,GAAtC,CAA5B;AACA,WAAO,CAAC,GAAG,CAAC,IAAD,EAAO,CAAP,CAAJ,EAAe,GAAG,CAAC,KAAK,IAAI,CAAV,CAAlB,EAAgC,GAAG,CAAC,IAAI,IAAI,CAAT,CAAnC,EAAgD,IAAhD,CAAqD,GAArD,CAAP;AACD,GAHD;;AAKA,MAAI;AACF,UAAM,aAAa,GAAG,IAAI,IAAI,CAAC,cAAT,CAAwB,MAAM,IAAI,SAAlC,EAA6C,OAA7C,CAAtB;AACA,WAAQ,UAAD,IAAwB,aAAa,CAAC,MAAd,CAAqB,IAAI,IAAJ,CAAS,GAAG,aAAa,CAAC,UAAD,CAAY,iBAArC,CAArB,CAA/B;AACD,GAHD,CAGE,OAAO,CAAP,EAAU;AACV,WAAQ,aAAa,CAAC,KAAd,IAAuB,aAAa,CAAC,MAAtC,GACF,UAAD,IAAwB,aAAa,CAAC,UAAD,CAAb,CAA0B,MAA1B,CAAiC,aAAa,CAAC,KAAd,IAAuB,CAAxD,EAA2D,aAAa,CAAC,MAAzE,CADrB,GAEH,SAFJ;AAGD;AACF;;AAED,eAAe,2BAAf","sourcesContent":["import pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n"],"sourceRoot":"","file":"createNativeLocaleFormatter.js"}
1
+ {"version":3,"sources":["../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,GAAP,MAAgB,OAAhB;;AAmBA,SAAS,2BAAT,CACE,MADF,EAEE,OAFF,EAGE,aAAA,GAA+B;AAAE,EAAA,KAAK,EAAE,CAAT;AAAY,EAAA,MAAM,EAAE;AAApB,CAHjC,EAGwD;AAEtD,QAAM,aAAa,GAAI,UAAD,IAAuB;AAC3C,QAAI,CAAC,UAAD,IAAe,UAAU,KAAK,WAA9B,IAA6C,UAAU,KAAK,MAAhE,EAAwE;AACtE,aAAO,YAAP,CADsE,CAClD;AACrB;;AACD,UAAM,CAAC,IAAD,EAAO,KAAP,EAAc,IAAd,IAAsB,UAAU,CAAC,IAAX,GAAkB,KAAlB,CAAwB,GAAxB,EAA6B,CAA7B,EAAgC,KAAhC,CAAsC,GAAtC,CAA5B;AACA,WAAO,CAAC,GAAG,CAAC,IAAD,EAAO,CAAP,CAAJ,EAAe,GAAG,CAAC,KAAK,IAAI,CAAV,CAAlB,EAAgC,GAAG,CAAC,IAAI,IAAI,CAAT,CAAnC,EAAgD,IAAhD,CAAqD,GAArD,CAAP;AACD,GAND;;AAQA,MAAI;AACF,UAAM,aAAa,GAAG,IAAI,IAAI,CAAC,cAAT,CAAwB,MAAM,IAAI,SAAlC,EAA6C,OAA7C,CAAtB;AACA,WAAQ,UAAD,IAAwB,aAAa,CAAC,MAAd,CAAqB,IAAI,IAAJ,CAAS,GAAG,aAAa,CAAC,UAAD,CAAY,iBAArC,CAArB,CAA/B;AACD,GAHD,CAGE,OAAO,CAAP,EAAU;AACV,WAAQ,aAAa,CAAC,KAAd,IAAuB,aAAa,CAAC,MAAtC,GACF,UAAD,IAAwB,aAAa,CAAC,UAAD,CAAb,CAA0B,MAA1B,CAAiC,aAAa,CAAC,KAAd,IAAuB,CAAxD,EAA2D,aAAa,CAAC,MAAzE,CADrB,GAEH,SAFJ;AAGD;AACF;;AAED,eAAe,2BAAf","sourcesContent":["import pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n if (!dateString || dateString === 'undefined' || dateString === 'null') {\n return '1970-01-01' // fallback date\n }\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n"],"sourceRoot":"","file":"createNativeLocaleFormatter.js"}
@@ -44,6 +44,7 @@ export default baseMixins.extend({
44
44
  },
45
45
  width: [String, Number]
46
46
  },
47
+ emits: ['click:outside', 'keydown'],
47
48
 
48
49
  data() {
49
50
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {Transition, h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$slots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\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 beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeUnmount () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark\n }, () => [\n h('div', {\n class: this.contentClasses,\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n onKeydown: this.onKeydown,\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n appear: true\n }, () => [content])\n },\n genInnerContent () {\n const directives = [\n [\n ClickOutside,\n {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n }\n ],\n [\n vShow,\n this.isActive\n ]\n ]\n const data: VNodeData = {\n class: this.classes,\n tabindex: this.isActive ? 0 : undefined,\n ref: 'dialog',\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return withDirectives(\n h('div', data, this.getContentSlot()),\n directives\n )\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-dialog__container', {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
1
+ {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transition, h, vShow, withDirectives } from 'vue'\n// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n emits: ['click:outside', 'keydown'],\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$slots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\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 beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeUnmount () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark\n }, () => [\n h('div', {\n class: this.contentClasses,\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n onKeydown: this.onKeydown,\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n appear: true\n }, () => [content])\n },\n genInnerContent () {\n const directives = [\n [\n ClickOutside,\n {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n vShow,\n this.isActive,\n ],\n ]\n const data: VNodeData = {\n class: this.classes,\n tabindex: this.isActive ? 0 : undefined,\n ref: 'dialog',\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return withDirectives(\n h('div', data, this.getContentSlot()),\n directives\n )\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-dialog__container', {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }],\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
@@ -9,6 +9,7 @@ export default mixins(GroupableFactory('expansionPanels', 'v-expansion-panel', '
9
9
  /* @vue/component */
10
10
  ).extend({
11
11
  name: 'v-expansion-panel',
12
+ emits: ['click', 'change'],
12
13
  props: {
13
14
  disabled: Boolean,
14
15
  readonly: Boolean
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CAMA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,SAAS,OAAO,IAAI,kBAApB,QAA8C,0BAA9C,C,CAEA;;AACA,SAAS,OAAT,QAAwB,oBAAxB;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAQA,eAAe,MAAM,CACnB,gBAAgB,CAA6C,iBAA7C,EAAgE,mBAAhE,EAAqF,oBAArF,CADG,EAEnB,kBAAkB,CAAC,gBAAD,EAAmB,IAAnB;AAClB;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,mBADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,QAAQ,EAAE;AAFL,GAHA;;AAQP,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,OAAO,EAAE,IADJ;AAEL,MAAA,MAAM,EAAE,IAFH;AAGL,MAAA,YAAY,EAAE;AAHT,KAAP;AAKD,GAdM;;AAgBP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,qCAA6B,KAAK,QAD7B;AAEL,0CAAkC,KAAK,YAFlC;AAGL,uCAA+B,KAAK,UAH/B;AAIL,WAAG,KAAK;AAJH,OAAP;AAMD,KARO;;AASR,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,eAAL,CAAqB,QAArB,IAAiC,KAAK,QAA7C;AACD,KAXO;;AAYR,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,eAAL,CAAqB,QAArB,IAAiC,KAAK,QAA7C;AACD;;AAdO,GAhBH;AAiCP,EAAA,OAAO,EAAE;AACP,IAAA,eAAe,CAAE,EAAF,EAAoC;AACjD,WAAK,OAAL,GAAe,EAAf;AACD,KAHM;;AAIP,IAAA,iBAAiB,GAAA;AACf,WAAK,OAAL,GAAe,IAAf;AACD,KANM;;AAOP,IAAA,cAAc,CAAE,EAAF,EAAmC;AAC/C,WAAK,MAAL,GAAc,EAAd;AACA,MAAA,EAAE,CAAC,GAAH,CAAO,OAAP,EAAgB,KAAK,OAArB;AACD,KAVM;;AAWP,IAAA,gBAAgB,GAAA;AACd,WAAK,MAAL,GAAc,IAAd;AACD,KAbM;;AAcP,IAAA,OAAO,CAAE,CAAF,EAAe;AACpB,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,MAAL,CAAa,GAAb,CAAiB,IAAjB;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,UAAL,IAAmB,KAAK,UAAxB,IAAsC,KAAK,MAAL,EAAtC;AACD,KApBM;;AAqBP,IAAA,MAAM,GAAA;AACJ,WAAK,SAAL,CAAe,MAAK;AAClB,aAAK,KAAL,CAAW,QAAX;AACA,aAAK,WAAL,CAAiB,QAAjB;AACD,OAHD;AAID;;AA1BM,GAjCF;;AA8DP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,CAAC,mBAAD,EAAsB,KAAK,OAA3B,CADO;AAEd,uBAAiB,MAAM,CAAC,KAAK,QAAN;AAFT,KAAR,EAGL,OAAO,CAAC,IAAD,CAHF,CAAR;AAID;;AAnEM,CAJM,CAAf","sourcesContent":["import {h} from 'vue'\n// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType<typeof VExpansionPanelHeader>\ntype VExpansionPanelContentInstance = InstanceType<typeof VExpansionPanelContent>\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => {\n this.$emit('change')\n this.$emitLegacy('change')\n })\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-expansion-panel', this.classes],\n 'aria-expanded': String(this.isActive),\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanel.js"}
1
+ {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CAMA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,SAAS,OAAO,IAAI,kBAApB,QAA8C,0BAA9C,C,CAEA;;AACA,SAAS,OAAT,QAAwB,oBAAxB;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAQA,eAAe,MAAM,CACnB,gBAAgB,CAA6C,iBAA7C,EAAgE,mBAAhE,EAAqF,oBAArF,CADG,EAEnB,kBAAkB,CAAC,gBAAD,EAAmB,IAAnB;AAClB;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,mBADC;AAGP,EAAA,KAAK,EAAE,CACL,OADK,EAEL,QAFK,CAHA;AAQP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,QAAQ,EAAE;AAFL,GARA;;AAaP,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,OAAO,EAAE,IADJ;AAEL,MAAA,MAAM,EAAE,IAFH;AAGL,MAAA,YAAY,EAAE;AAHT,KAAP;AAKD,GAnBM;;AAqBP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,qCAA6B,KAAK,QAD7B;AAEL,0CAAkC,KAAK,YAFlC;AAGL,uCAA+B,KAAK,UAH/B;AAIL,WAAG,KAAK;AAJH,OAAP;AAMD,KARO;;AASR,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,eAAL,CAAqB,QAArB,IAAiC,KAAK,QAA7C;AACD,KAXO;;AAYR,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,eAAL,CAAqB,QAArB,IAAiC,KAAK,QAA7C;AACD;;AAdO,GArBH;AAsCP,EAAA,OAAO,EAAE;AACP,IAAA,eAAe,CAAE,EAAF,EAAoC;AACjD,WAAK,OAAL,GAAe,EAAf;AACD,KAHM;;AAIP,IAAA,iBAAiB,GAAA;AACf,WAAK,OAAL,GAAe,IAAf;AACD,KANM;;AAOP,IAAA,cAAc,CAAE,EAAF,EAAmC;AAC/C,WAAK,MAAL,GAAc,EAAd;AACA,MAAA,EAAE,CAAC,GAAH,CAAO,OAAP,EAAgB,KAAK,OAArB;AACD,KAVM;;AAWP,IAAA,gBAAgB,GAAA;AACd,WAAK,MAAL,GAAc,IAAd;AACD,KAbM;;AAcP,IAAA,OAAO,CAAE,CAAF,EAAe;AACpB,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,MAAL,CAAa,GAAb,CAAiB,IAAjB;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,UAAL,IAAmB,KAAK,UAAxB,IAAsC,KAAK,MAAL,EAAtC;AACD,KApBM;;AAqBP,IAAA,MAAM,GAAA;AACJ,WAAK,SAAL,CAAe,MAAK;AAClB,aAAK,KAAL,CAAW,QAAX;AACA,aAAK,WAAL,CAAiB,QAAjB;AACD,OAHD;AAID;;AA1BM,GAtCF;;AAmEP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,CAAC,mBAAD,EAAsB,KAAK,OAA3B,CADO;AAEd,uBAAiB,MAAM,CAAC,KAAK,QAAN;AAFT,KAAR,EAGL,OAAO,CAAC,IAAD,CAHF,CAAR;AAID;;AAxEM,CAJM,CAAf","sourcesContent":["import {h} from 'vue'\n// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType<typeof VExpansionPanelHeader>\ntype VExpansionPanelContentInstance = InstanceType<typeof VExpansionPanelContent>\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n emits: [\n 'click',\n 'change',\n ],\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => {\n this.$emit('change')\n this.$emitLegacy('change')\n })\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-expansion-panel', this.classes],\n 'aria-expanded': String(this.isActive),\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanel.js"}
@@ -6,16 +6,13 @@ import VIcon from '../VIcon'; // Mixins
6
6
  import Colorable from '../../mixins/colorable';
7
7
  import { inject as RegistrableInject } from '../../mixins/registrable'; // Directives
8
8
 
9
- import ripple, { Ripple } from '../../directives/ripple'; // Utilities
9
+ import { Ripple } from '../../directives/ripple'; // Utilities
10
10
 
11
11
  import { getSlot } from '../../util/helpers';
12
12
  import mixins from '../../util/mixins';
13
13
  const baseMixins = mixins(Colorable, RegistrableInject('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel'));
14
14
  export default baseMixins.extend({
15
15
  name: 'v-expansion-panel-header',
16
- directives: {
17
- ripple
18
- },
19
16
  props: {
20
17
  disableIconRotate: Boolean,
21
18
  expandIcon: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeUnmount () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n this.$emitLegacy('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [h(VIcon, {}, () => this.expandIcon)]\n\n return h(VFadeTransition, {}, () => [\n withDirectives(h('div', {\n class: ['v-expansion-panel-header__icon', {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n }]\n }, icon), [\n [\n vShow,\n !this.isDisabled\n ]\n ]),\n ])\n },\n },\n\n render (): VNode {\n const directives = [\n [\n Ripple,\n this.ripple\n ]\n ]\n\n return withDirectives(h('button', this.setBackgroundColor(this.color, {\n class: ['v-expansion-panel-header', this.classes],\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n ...this.$listeners,\n onClick: this.onClick,\n onMousedown: () => (this.hasMousedown = true),\n onMouseup: () => (this.hasMousedown = false)\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend({\n name: 'v-expansion-panel-header',\n\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeUnmount () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n this.$emitLegacy('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [h(VIcon, {}, () => this.expandIcon)]\n\n return h(VFadeTransition, {}, () => [\n withDirectives(h('div', {\n class: ['v-expansion-panel-header__icon', {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n }]\n }, icon), [\n [\n vShow,\n !this.isDisabled\n ]\n ]),\n ])\n },\n },\n\n render (): VNode {\n const directives = [\n [\n Ripple,\n this.ripple\n ]\n ]\n\n return withDirectives(h('button', this.setBackgroundColor(this.color, {\n class: ['v-expansion-panel-header', this.classes],\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n ...this.$listeners,\n onClick: this.onClick,\n onMousedown: () => (this.hasMousedown = true),\n onMouseup: () => (this.hasMousedown = false)\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
@@ -64,6 +64,7 @@ export default defineComponent({
64
64
  }
65
65
  }
66
66
  },
67
+ emits: ['change', 'keydown'],
67
68
  computed: {
68
69
  classes() {
69
70
  return { ...VTextField.computed.classes.call(this),