@dimailn/vuetify 2.7.2-alpha4 → 2.7.2-alpha40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1034) hide show
  1. package/dist/vuetify.js +4383 -2392
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +39 -9
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +23 -17
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  11. package/es5/components/VAutocomplete/VAutocomplete.js +11 -7
  12. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  13. package/es5/components/VBadge/VBadge.js +46 -14
  14. package/es5/components/VBadge/VBadge.js.map +1 -1
  15. package/es5/components/VBanner/VBanner.js +51 -15
  16. package/es5/components/VBanner/VBanner.js.map +1 -1
  17. package/es5/components/VBottomNavigation/VBottomNavigation.js +36 -14
  18. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  19. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
  20. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  21. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  22. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  23. package/es5/components/VBtn/VBtn.js +20 -16
  24. package/es5/components/VBtn/VBtn.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendar.js +27 -29
  26. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  27. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  28. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  29. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  30. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  31. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  32. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  33. package/es5/components/VCalendar/VCalendarWeekly.js +36 -40
  34. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  35. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  36. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  37. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  38. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  39. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  40. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  41. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  42. package/es5/components/VCarousel/VCarousel.js +61 -17
  43. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  44. package/es5/components/VCarousel/VCarouselItem.js +7 -3
  45. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  46. package/es5/components/VCheckbox/VCheckbox.js +40 -9
  47. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  48. package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
  49. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  50. package/es5/components/VChip/VChip.js +16 -7
  51. package/es5/components/VChip/VChip.js.map +1 -1
  52. package/es5/components/VColorPicker/VColorPicker.js +54 -39
  53. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  54. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  55. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  56. package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
  57. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  58. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  59. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  60. package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
  61. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  62. package/es5/components/VCombobox/VCombobox.js +1 -0
  63. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  64. package/es5/components/VContent/VContent.js +25 -6
  65. package/es5/components/VContent/VContent.js.map +1 -1
  66. package/es5/components/VCounter/VCounter.js.map +1 -1
  67. package/es5/components/VData/VData.js +15 -2
  68. package/es5/components/VData/VData.js.map +1 -1
  69. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  70. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  71. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  72. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  73. package/es5/components/VDataTable/RowGroup.js +46 -15
  74. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  75. package/es5/components/VDataTable/VDataTable.js +41 -44
  76. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  77. package/es5/components/VDataTable/VDataTableHeader.js +5 -8
  78. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  79. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  80. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  81. package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
  82. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  83. package/es5/components/VDataTable/VEditDialog.js +26 -22
  84. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  85. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  86. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  87. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  88. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  89. package/es5/components/VDataTable/mixins/header.js +7 -9
  90. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  91. package/es5/components/VDatePicker/VDatePicker.js +51 -36
  92. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  93. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  94. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  95. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  96. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  97. package/es5/components/VDatePicker/VDatePickerTitle.js +61 -16
  98. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  99. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  100. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  101. package/es5/components/VDatePicker/mixins/date-picker-table.js +52 -31
  102. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  103. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  104. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  105. package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
  106. package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
  107. package/es5/components/VDialog/VDialog.js +59 -33
  108. package/es5/components/VDialog/VDialog.js.map +1 -1
  109. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  110. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  111. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  112. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  113. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  114. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  115. package/es5/components/VFileInput/VFileInput.js +50 -27
  116. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  117. package/es5/components/VFooter/VFooter.js +1 -1
  118. package/es5/components/VFooter/VFooter.js.map +1 -1
  119. package/es5/components/VForm/VForm.js +45 -30
  120. package/es5/components/VForm/VForm.js.map +1 -1
  121. package/es5/components/VGrid/VCol.js +6 -4
  122. package/es5/components/VGrid/VCol.js.map +1 -1
  123. package/es5/components/VGrid/VContainer.js +27 -10
  124. package/es5/components/VGrid/VContainer.js.map +1 -1
  125. package/es5/components/VGrid/VRow.js +1 -1
  126. package/es5/components/VGrid/VRow.js.map +1 -1
  127. package/es5/components/VGrid/grid.js +35 -15
  128. package/es5/components/VGrid/grid.js.map +1 -1
  129. package/es5/components/VHover/VHover.js +24 -17
  130. package/es5/components/VHover/VHover.js.map +1 -1
  131. package/es5/components/VIcon/VIcon.js +77 -53
  132. package/es5/components/VIcon/VIcon.js.map +1 -1
  133. package/es5/components/VImg/VImg.js +10 -8
  134. package/es5/components/VImg/VImg.js.map +1 -1
  135. package/es5/components/VInput/VInput.js +65 -12
  136. package/es5/components/VInput/VInput.js.map +1 -1
  137. package/es5/components/VItemGroup/VItem.js +21 -17
  138. package/es5/components/VItemGroup/VItem.js.map +1 -1
  139. package/es5/components/VItemGroup/VItemGroup.js +11 -2
  140. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  141. package/es5/components/VLabel/VLabel.js +3 -1
  142. package/es5/components/VLabel/VLabel.js.map +1 -1
  143. package/es5/components/VLazy/VLazy.js +8 -15
  144. package/es5/components/VLazy/VLazy.js.map +1 -1
  145. package/es5/components/VList/VList.js +2 -2
  146. package/es5/components/VList/VList.js.map +1 -1
  147. package/es5/components/VList/VListGroup.js +73 -40
  148. package/es5/components/VList/VListGroup.js.map +1 -1
  149. package/es5/components/VList/VListItem.js +63 -18
  150. package/es5/components/VList/VListItem.js.map +1 -1
  151. package/es5/components/VList/VListItemAction.js +23 -9
  152. package/es5/components/VList/VListItemAction.js.map +1 -1
  153. package/es5/components/VList/VListItemIcon.js +3 -1
  154. package/es5/components/VList/VListItemIcon.js.map +1 -1
  155. package/es5/components/VMain/VMain.js +1 -1
  156. package/es5/components/VMain/VMain.js.map +1 -1
  157. package/es5/components/VMenu/VMenu.js +62 -32
  158. package/es5/components/VMenu/VMenu.js.map +1 -1
  159. package/es5/components/VMessages/VMessages.js +33 -6
  160. package/es5/components/VMessages/VMessages.js.map +1 -1
  161. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +41 -19
  162. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  163. package/es5/components/VOtpInput/VOtpInput.js +87 -34
  164. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  165. package/es5/components/VOverflowBtn/VOverflowBtn.js +18 -14
  166. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  167. package/es5/components/VOverlay/VOverlay.js +31 -3
  168. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  169. package/es5/components/VPagination/VPagination.js +48 -27
  170. package/es5/components/VPagination/VPagination.js.map +1 -1
  171. package/es5/components/VPicker/VPicker.js +7 -4
  172. package/es5/components/VPicker/VPicker.js.map +1 -1
  173. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  174. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  175. package/es5/components/VProgressLinear/VProgressLinear.js +51 -30
  176. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  177. package/es5/components/VRadioGroup/VRadio.js +11 -2
  178. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  179. package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
  180. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  181. package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
  182. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  183. package/es5/components/VRating/VRating.js +45 -17
  184. package/es5/components/VRating/VRating.js.map +1 -1
  185. package/es5/components/VSelect/VSelect.js +161 -81
  186. package/es5/components/VSelect/VSelect.js.map +1 -1
  187. package/es5/components/VSelect/VSelectList.js +109 -44
  188. package/es5/components/VSelect/VSelectList.js.map +1 -1
  189. package/es5/components/VSheet/VSheet.js +3 -1
  190. package/es5/components/VSheet/VSheet.js.map +1 -1
  191. package/es5/components/VSlideGroup/VSlideGroup.js +40 -28
  192. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  193. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  194. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  195. package/es5/components/VSlider/VSlider.js +73 -41
  196. package/es5/components/VSlider/VSlider.js.map +1 -1
  197. package/es5/components/VSnackbar/VSnackbar.js +8 -3
  198. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  199. package/es5/components/VSparkline/VSparkline.js +48 -68
  200. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  201. package/es5/components/VSpeedDial/VSpeedDial.js +13 -17
  202. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  203. package/es5/components/VStepper/VStepper.js +3 -2
  204. package/es5/components/VStepper/VStepper.js.map +1 -1
  205. package/es5/components/VStepper/VStepperContent.js +9 -8
  206. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  207. package/es5/components/VStepper/VStepperStep.js +12 -20
  208. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  209. package/es5/components/VSubheader/VSubheader.js +1 -1
  210. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  211. package/es5/components/VSwitch/VSwitch.js +11 -9
  212. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  213. package/es5/components/VTabs/VTab.js +1 -0
  214. package/es5/components/VTabs/VTab.js.map +1 -1
  215. package/es5/components/VTabs/VTabs.js +68 -24
  216. package/es5/components/VTabs/VTabs.js.map +1 -1
  217. package/es5/components/VTabs/VTabsBar.js +3 -0
  218. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  219. package/es5/components/VTabs/VTabsItems.js +1 -0
  220. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  221. package/es5/components/VTextField/VTextField.js +42 -29
  222. package/es5/components/VTextField/VTextField.js.map +1 -1
  223. package/es5/components/VTextarea/VTextarea.js +1 -1
  224. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  225. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  226. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  227. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  228. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  229. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  230. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  231. package/es5/components/VToolbar/VToolbar.js +3 -6
  232. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  233. package/es5/components/VTooltip/VTooltip.js +14 -20
  234. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  235. package/es5/components/VTreeview/VTreeview.js +24 -18
  236. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  237. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  238. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  239. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  240. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  241. package/es5/components/VWindow/VWindow.js +13 -8
  242. package/es5/components/VWindow/VWindow.js.map +1 -1
  243. package/es5/components/VWindow/VWindowItem.js +10 -10
  244. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  245. package/es5/components/transitions/createTransition.js +8 -2
  246. package/es5/components/transitions/createTransition.js.map +1 -1
  247. package/es5/components/transitions/expand-transition.js +1 -0
  248. package/es5/components/transitions/expand-transition.js.map +1 -1
  249. package/es5/directives/color/index.js +6 -3
  250. package/es5/directives/color/index.js.map +1 -1
  251. package/es5/directives/intersect/index.js +20 -7
  252. package/es5/directives/intersect/index.js.map +1 -1
  253. package/es5/directives/mutate/index.js +13 -13
  254. package/es5/directives/mutate/index.js.map +1 -1
  255. package/es5/directives/resize/index.js +8 -8
  256. package/es5/directives/resize/index.js.map +1 -1
  257. package/es5/directives/ripple/index.js +5 -2
  258. package/es5/directives/ripple/index.js.map +1 -1
  259. package/es5/directives/scroll/index.js +8 -8
  260. package/es5/directives/scroll/index.js.map +1 -1
  261. package/es5/directives/touch/index.js +11 -8
  262. package/es5/directives/touch/index.js.map +1 -1
  263. package/es5/framework.js +1 -1
  264. package/es5/install.js +10 -33
  265. package/es5/install.js.map +1 -1
  266. package/es5/mixins/activatable/index.js +11 -13
  267. package/es5/mixins/activatable/index.js.map +1 -1
  268. package/es5/mixins/applicationable/index.js +4 -4
  269. package/es5/mixins/applicationable/index.js.map +1 -1
  270. package/es5/mixins/binds-attrs/index.js +1 -1
  271. package/es5/mixins/binds-attrs/index.js.map +1 -1
  272. package/es5/mixins/bootable/index.js +1 -2
  273. package/es5/mixins/bootable/index.js.map +1 -1
  274. package/es5/mixins/detachable/index.js +13 -10
  275. package/es5/mixins/detachable/index.js.map +1 -1
  276. package/es5/mixins/groupable/index.js +6 -2
  277. package/es5/mixins/groupable/index.js.map +1 -1
  278. package/es5/mixins/intersectable/index.js +2 -2
  279. package/es5/mixins/intersectable/index.js.map +1 -1
  280. package/es5/mixins/menuable/index.js +1 -1
  281. package/es5/mixins/menuable/index.js.map +1 -1
  282. package/es5/mixins/mouse/index.js +10 -5
  283. package/es5/mixins/mouse/index.js.map +1 -1
  284. package/es5/mixins/overlayable/index.js +5 -3
  285. package/es5/mixins/overlayable/index.js.map +1 -1
  286. package/es5/mixins/picker/index.js +13 -3
  287. package/es5/mixins/picker/index.js.map +1 -1
  288. package/es5/mixins/positionable/index.js.map +1 -1
  289. package/es5/mixins/proxyable/index.js +5 -2
  290. package/es5/mixins/proxyable/index.js.map +1 -1
  291. package/es5/mixins/registrable/index.js.map +1 -1
  292. package/es5/mixins/routable/index.js +5 -2
  293. package/es5/mixins/routable/index.js.map +1 -1
  294. package/es5/mixins/selectable/index.js +9 -7
  295. package/es5/mixins/selectable/index.js.map +1 -1
  296. package/es5/mixins/toggleable/index.js.map +1 -1
  297. package/es5/mixins/translatable/index.js +1 -1
  298. package/es5/mixins/translatable/index.js.map +1 -1
  299. package/es5/mixins/validatable/index.js +34 -7
  300. package/es5/mixins/validatable/index.js.map +1 -1
  301. package/es5/services/goto/util.js +42 -3
  302. package/es5/services/goto/util.js.map +1 -1
  303. package/es5/services/theme/index.js +20 -71
  304. package/es5/services/theme/index.js.map +1 -1
  305. package/es5/util/console.js +49 -18
  306. package/es5/util/console.js.map +1 -1
  307. package/es5/util/helpers.js +58 -3
  308. package/es5/util/helpers.js.map +1 -1
  309. package/es5/util/legacyEventsMixin.js +48 -0
  310. package/es5/util/legacyEventsMixin.js.map +1 -0
  311. package/es5/util/mergeData.js +6 -5
  312. package/es5/util/mergeData.js.map +1 -1
  313. package/es5/util/mixins.js +4 -3
  314. package/es5/util/mixins.js.map +1 -1
  315. package/lib/components/VAlert/VAlert.js +13 -7
  316. package/lib/components/VAlert/VAlert.js.map +1 -1
  317. package/lib/components/VAppBar/VAppBar.js +23 -16
  318. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  319. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  320. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  321. package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
  322. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  323. package/lib/components/VBadge/VBadge.js +26 -13
  324. package/lib/components/VBadge/VBadge.js.map +1 -1
  325. package/lib/components/VBanner/VBanner.js +20 -13
  326. package/lib/components/VBanner/VBanner.js.map +1 -1
  327. package/lib/components/VBottomNavigation/VBottomNavigation.js +19 -15
  328. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  329. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  330. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  331. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  332. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  333. package/lib/components/VBtn/VBtn.js +21 -20
  334. package/lib/components/VBtn/VBtn.js.map +1 -1
  335. package/lib/components/VCalendar/VCalendar.js +26 -31
  336. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  337. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  338. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  339. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  340. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  341. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  342. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  343. package/lib/components/VCalendar/VCalendarWeekly.js +28 -36
  344. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  345. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  346. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  347. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  348. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  349. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  350. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  351. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  352. package/lib/components/VCarousel/VCarousel.js +36 -16
  353. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  354. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  355. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  356. package/lib/components/VCheckbox/VCheckbox.js +19 -9
  357. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  358. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  359. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  360. package/lib/components/VChip/VChip.js +17 -8
  361. package/lib/components/VChip/VChip.js.map +1 -1
  362. package/lib/components/VColorPicker/VColorPicker.js +47 -44
  363. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  364. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  365. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  366. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  367. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  368. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  369. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  370. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  371. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  372. package/lib/components/VCombobox/VCombobox.js +1 -0
  373. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  374. package/lib/components/VContent/VContent.js +19 -4
  375. package/lib/components/VContent/VContent.js.map +1 -1
  376. package/lib/components/VCounter/VCounter.js.map +1 -1
  377. package/lib/components/VData/VData.js +16 -2
  378. package/lib/components/VData/VData.js.map +1 -1
  379. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  380. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  381. package/lib/components/VDataIterator/VDataIterator.js +31 -34
  382. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  383. package/lib/components/VDataTable/RowGroup.js +30 -14
  384. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  385. package/lib/components/VDataTable/VDataTable.js +20 -33
  386. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  387. package/lib/components/VDataTable/VDataTableHeader.js +7 -9
  388. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  389. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  390. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  391. package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
  392. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  393. package/lib/components/VDataTable/VEditDialog.js +18 -18
  394. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  395. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  396. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  397. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  398. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  399. package/lib/components/VDataTable/mixins/header.js +3 -8
  400. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  401. package/lib/components/VDatePicker/VDatePicker.js +38 -27
  402. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  403. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  404. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  405. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  406. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  407. package/lib/components/VDatePicker/VDatePickerTitle.js +34 -11
  408. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  409. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  410. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  411. package/lib/components/VDatePicker/mixins/date-picker-table.js +31 -16
  412. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  413. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  414. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  415. package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
  416. package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
  417. package/lib/components/VDialog/VDialog.js +13 -5
  418. package/lib/components/VDialog/VDialog.js.map +1 -1
  419. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  420. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  421. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  422. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  423. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  424. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  425. package/lib/components/VFileInput/VFileInput.js +43 -25
  426. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  427. package/lib/components/VFooter/VFooter.js +2 -2
  428. package/lib/components/VFooter/VFooter.js.map +1 -1
  429. package/lib/components/VForm/VForm.js +41 -26
  430. package/lib/components/VForm/VForm.js.map +1 -1
  431. package/lib/components/VGrid/VCol.js +7 -5
  432. package/lib/components/VGrid/VCol.js.map +1 -1
  433. package/lib/components/VGrid/VContainer.js +14 -10
  434. package/lib/components/VGrid/VContainer.js.map +1 -1
  435. package/lib/components/VGrid/VRow.js +2 -2
  436. package/lib/components/VGrid/VRow.js.map +1 -1
  437. package/lib/components/VGrid/grid.js +16 -14
  438. package/lib/components/VGrid/grid.js.map +1 -1
  439. package/lib/components/VHover/VHover.js +24 -18
  440. package/lib/components/VHover/VHover.js.map +1 -1
  441. package/lib/components/VIcon/VIcon.js +79 -57
  442. package/lib/components/VIcon/VIcon.js.map +1 -1
  443. package/lib/components/VImg/VImg.js +5 -9
  444. package/lib/components/VImg/VImg.js.map +1 -1
  445. package/lib/components/VInput/VInput.js +32 -9
  446. package/lib/components/VInput/VInput.js.map +1 -1
  447. package/lib/components/VItemGroup/VItem.js +25 -21
  448. package/lib/components/VItemGroup/VItem.js.map +1 -1
  449. package/lib/components/VItemGroup/VItemGroup.js +13 -3
  450. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  451. package/lib/components/VLabel/VLabel.js +3 -1
  452. package/lib/components/VLabel/VLabel.js.map +1 -1
  453. package/lib/components/VLazy/VLazy.js +9 -16
  454. package/lib/components/VLazy/VLazy.js.map +1 -1
  455. package/lib/components/VList/VList.js +3 -3
  456. package/lib/components/VList/VList.js.map +1 -1
  457. package/lib/components/VList/VListGroup.js +34 -32
  458. package/lib/components/VList/VListGroup.js.map +1 -1
  459. package/lib/components/VList/VListItem.js +41 -19
  460. package/lib/components/VList/VListItem.js.map +1 -1
  461. package/lib/components/VList/VListItemAction.js +15 -9
  462. package/lib/components/VList/VListItemAction.js.map +1 -1
  463. package/lib/components/VList/VListItemIcon.js +3 -1
  464. package/lib/components/VList/VListItemIcon.js.map +1 -1
  465. package/lib/components/VMain/VMain.js +2 -2
  466. package/lib/components/VMain/VMain.js.map +1 -1
  467. package/lib/components/VMenu/VMenu.js +18 -6
  468. package/lib/components/VMenu/VMenu.js.map +1 -1
  469. package/lib/components/VMessages/VMessages.js +13 -2
  470. package/lib/components/VMessages/VMessages.js.map +1 -1
  471. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +17 -12
  472. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  473. package/lib/components/VOtpInput/VOtpInput.js +103 -35
  474. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  475. package/lib/components/VOverflowBtn/VOverflowBtn.js +16 -15
  476. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  477. package/lib/components/VOverlay/VOverlay.js +13 -2
  478. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  479. package/lib/components/VPagination/VPagination.js +28 -23
  480. package/lib/components/VPagination/VPagination.js.map +1 -1
  481. package/lib/components/VPicker/VPicker.js +4 -4
  482. package/lib/components/VPicker/VPicker.js.map +1 -1
  483. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  484. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  485. package/lib/components/VProgressLinear/VProgressLinear.js +45 -22
  486. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  487. package/lib/components/VRadioGroup/VRadio.js +3 -2
  488. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  489. package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
  490. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  491. package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
  492. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  493. package/lib/components/VRating/VRating.js +11 -0
  494. package/lib/components/VRating/VRating.js.map +1 -1
  495. package/lib/components/VSelect/VSelect.js +104 -42
  496. package/lib/components/VSelect/VSelect.js.map +1 -1
  497. package/lib/components/VSelect/VSelectList.js +64 -29
  498. package/lib/components/VSelect/VSelectList.js.map +1 -1
  499. package/lib/components/VSheet/VSheet.js +3 -2
  500. package/lib/components/VSheet/VSheet.js.map +1 -1
  501. package/lib/components/VSlideGroup/VSlideGroup.js +23 -23
  502. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  503. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  504. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  505. package/lib/components/VSlider/VSlider.js +37 -25
  506. package/lib/components/VSlider/VSlider.js.map +1 -1
  507. package/lib/components/VSnackbar/VSnackbar.js +2 -1
  508. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  509. package/lib/components/VSparkline/VSparkline.js +48 -67
  510. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  511. package/lib/components/VSpeedDial/VSpeedDial.js +9 -15
  512. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  513. package/lib/components/VStepper/VStepper.js +4 -3
  514. package/lib/components/VStepper/VStepper.js.map +1 -1
  515. package/lib/components/VStepper/VStepperContent.js +7 -8
  516. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  517. package/lib/components/VStepper/VStepperStep.js +8 -19
  518. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  519. package/lib/components/VSubheader/VSubheader.js +1 -1
  520. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  521. package/lib/components/VSwitch/VSwitch.js +2 -4
  522. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  523. package/lib/components/VTabs/VTab.js +1 -0
  524. package/lib/components/VTabs/VTab.js.map +1 -1
  525. package/lib/components/VTabs/VTabs.js +34 -8
  526. package/lib/components/VTabs/VTabs.js.map +1 -1
  527. package/lib/components/VTabs/VTabsBar.js +3 -0
  528. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  529. package/lib/components/VTabs/VTabsItems.js +1 -0
  530. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  531. package/lib/components/VTextField/VTextField.js +15 -19
  532. package/lib/components/VTextField/VTextField.js.map +1 -1
  533. package/lib/components/VTextarea/VTextarea.js +1 -1
  534. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  535. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  536. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  537. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  538. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  539. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  540. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  541. package/lib/components/VToolbar/VToolbar.js +6 -7
  542. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  543. package/lib/components/VTooltip/VTooltip.js +11 -22
  544. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  545. package/lib/components/VTreeview/VTreeview.js +15 -13
  546. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  547. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  548. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  549. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  550. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  551. package/lib/components/VWindow/VWindow.js +7 -6
  552. package/lib/components/VWindow/VWindow.js.map +1 -1
  553. package/lib/components/VWindow/VWindowItem.js +5 -7
  554. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  555. package/lib/components/transitions/createTransition.js +2 -2
  556. package/lib/components/transitions/createTransition.js.map +1 -1
  557. package/lib/components/transitions/expand-transition.js +1 -0
  558. package/lib/components/transitions/expand-transition.js.map +1 -1
  559. package/lib/directives/color/index.js +6 -3
  560. package/lib/directives/color/index.js.map +1 -1
  561. package/lib/directives/intersect/index.js +20 -7
  562. package/lib/directives/intersect/index.js.map +1 -1
  563. package/lib/directives/mutate/index.js +13 -13
  564. package/lib/directives/mutate/index.js.map +1 -1
  565. package/lib/directives/resize/index.js +8 -8
  566. package/lib/directives/resize/index.js.map +1 -1
  567. package/lib/directives/ripple/index.js +5 -3
  568. package/lib/directives/ripple/index.js.map +1 -1
  569. package/lib/directives/scroll/index.js +8 -8
  570. package/lib/directives/scroll/index.js.map +1 -1
  571. package/lib/directives/touch/index.js +11 -8
  572. package/lib/directives/touch/index.js.map +1 -1
  573. package/lib/framework.js +1 -1
  574. package/lib/install.js +5 -28
  575. package/lib/install.js.map +1 -1
  576. package/lib/mixins/activatable/index.js +13 -14
  577. package/lib/mixins/activatable/index.js.map +1 -1
  578. package/lib/mixins/applicationable/index.js +4 -4
  579. package/lib/mixins/applicationable/index.js.map +1 -1
  580. package/lib/mixins/binds-attrs/index.js +1 -1
  581. package/lib/mixins/binds-attrs/index.js.map +1 -1
  582. package/lib/mixins/bootable/index.js +2 -4
  583. package/lib/mixins/bootable/index.js.map +1 -1
  584. package/lib/mixins/detachable/index.js +14 -11
  585. package/lib/mixins/detachable/index.js.map +1 -1
  586. package/lib/mixins/groupable/index.js +4 -2
  587. package/lib/mixins/groupable/index.js.map +1 -1
  588. package/lib/mixins/intersectable/index.js +2 -2
  589. package/lib/mixins/intersectable/index.js.map +1 -1
  590. package/lib/mixins/menuable/index.js +1 -1
  591. package/lib/mixins/menuable/index.js.map +1 -1
  592. package/lib/mixins/mouse/index.js +9 -5
  593. package/lib/mixins/mouse/index.js.map +1 -1
  594. package/lib/mixins/overlayable/index.js +4 -2
  595. package/lib/mixins/overlayable/index.js.map +1 -1
  596. package/lib/mixins/picker/index.js +5 -3
  597. package/lib/mixins/picker/index.js.map +1 -1
  598. package/lib/mixins/positionable/index.js.map +1 -1
  599. package/lib/mixins/proxyable/index.js +5 -2
  600. package/lib/mixins/proxyable/index.js.map +1 -1
  601. package/lib/mixins/registrable/index.js.map +1 -1
  602. package/lib/mixins/routable/index.js +5 -2
  603. package/lib/mixins/routable/index.js.map +1 -1
  604. package/lib/mixins/selectable/index.js +15 -12
  605. package/lib/mixins/selectable/index.js.map +1 -1
  606. package/lib/mixins/toggleable/index.js.map +1 -1
  607. package/lib/mixins/translatable/index.js +1 -1
  608. package/lib/mixins/translatable/index.js.map +1 -1
  609. package/lib/mixins/validatable/index.js +17 -7
  610. package/lib/mixins/validatable/index.js.map +1 -1
  611. package/lib/services/goto/util.js +42 -3
  612. package/lib/services/goto/util.js.map +1 -1
  613. package/lib/services/theme/index.js +18 -64
  614. package/lib/services/theme/index.js.map +1 -1
  615. package/lib/util/console.js +47 -17
  616. package/lib/util/console.js.map +1 -1
  617. package/lib/util/helpers.js +52 -3
  618. package/lib/util/helpers.js.map +1 -1
  619. package/lib/util/legacyEventsMixin.js +37 -0
  620. package/lib/util/legacyEventsMixin.js.map +1 -0
  621. package/lib/util/mergeData.js +6 -5
  622. package/lib/util/mergeData.js.map +1 -1
  623. package/lib/util/mixins.js +3 -2
  624. package/lib/util/mixins.js.map +1 -1
  625. package/package.json +2 -2
  626. package/src/components/VAlert/VAlert.ts +19 -8
  627. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  628. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +18 -20
  629. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  630. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  631. package/src/components/VAppBar/VAppBar.ts +21 -14
  632. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  633. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  634. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  635. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  636. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +4 -5
  637. package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
  638. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +125 -72
  639. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +109 -82
  640. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +114 -52
  641. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  642. package/src/components/VBadge/VBadge.ts +38 -26
  643. package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
  644. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  645. package/src/components/VBanner/VBanner.ts +30 -17
  646. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  647. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +3 -3
  648. package/src/components/VBottomNavigation/VBottomNavigation.ts +29 -17
  649. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
  650. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +10 -10
  651. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
  652. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
  653. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
  654. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
  655. package/src/components/VBtn/VBtn.ts +25 -17
  656. package/src/components/VBtn/__tests__/VBtn.spec.ts +262 -242
  657. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  658. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
  659. package/src/components/VCalendar/VCalendar.ts +29 -27
  660. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  661. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  662. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  663. package/src/components/VCalendar/VCalendarWeekly.ts +30 -35
  664. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +19 -35
  665. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +21 -19
  666. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  667. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +38 -38
  668. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  669. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  670. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  671. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  672. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  673. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  674. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  675. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  676. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  677. package/src/components/VCalendar/mixins/times.ts +1 -1
  678. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  679. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  680. package/src/components/VCarousel/VCarousel.ts +42 -15
  681. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  682. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
  683. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
  684. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  685. package/src/components/VCheckbox/VCheckbox.ts +23 -10
  686. package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
  687. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +163 -152
  688. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  689. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
  690. package/src/components/VChip/VChip.ts +19 -15
  691. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  692. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  693. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  694. package/src/components/VColorPicker/VColorPicker.ts +51 -41
  695. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  696. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  697. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  698. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  699. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  700. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  701. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  702. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  703. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +236 -193
  704. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +48 -31
  705. package/src/components/VCombobox/VCombobox.ts +23 -0
  706. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +202 -174
  707. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +126 -95
  708. package/src/components/VContent/VContent.ts +11 -3
  709. package/src/components/VCounter/VCounter.ts +1 -1
  710. package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
  711. package/src/components/VData/VData.ts +14 -1
  712. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  713. package/src/components/VDataIterator/VDataFooter.ts +16 -9
  714. package/src/components/VDataIterator/VDataIterator.ts +51 -35
  715. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  716. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  717. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +113 -103
  718. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +94 -84
  719. package/src/components/VDataTable/RowGroup.ts +33 -16
  720. package/src/components/VDataTable/VDataTable.ts +20 -29
  721. package/src/components/VDataTable/VDataTableHeader.ts +8 -9
  722. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
  723. package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
  724. package/src/components/VDataTable/VEditDialog.ts +23 -21
  725. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  726. package/src/components/VDataTable/VVirtualTable.ts +2 -3
  727. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  728. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  729. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  730. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
  731. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +41 -35
  732. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +52 -40
  733. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
  734. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  735. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  736. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +3348 -2891
  737. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +157 -186
  738. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  739. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  740. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +14 -17
  741. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +17 -17
  742. package/src/components/VDataTable/mixins/header.ts +6 -10
  743. package/src/components/VDatePicker/VDatePicker.ts +48 -27
  744. package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
  745. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  746. package/src/components/VDatePicker/VDatePickerTitle.ts +41 -15
  747. package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
  748. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +278 -260
  749. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +157 -131
  750. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  751. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +85 -75
  752. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  753. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +56 -32
  754. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +29 -26
  755. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +628 -595
  756. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +248 -228
  757. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  758. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  759. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  760. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +18 -9
  761. package/src/components/VDatePicker/mixins/date-picker-table.ts +33 -15
  762. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  763. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  764. package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
  765. package/src/components/VDialog/VDialog.ts +24 -12
  766. package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
  767. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  768. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  769. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  770. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  771. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +7 -10
  772. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +13 -18
  773. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +45 -29
  774. package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +6 -4
  775. package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +9 -5
  776. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +12 -11
  777. package/src/components/VFileInput/VFileInput.ts +47 -32
  778. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
  779. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  780. package/src/components/VFooter/VFooter.ts +2 -2
  781. package/src/components/VFooter/__tests__/VFooter.spec.ts +28 -21
  782. package/src/components/VForm/VForm.ts +63 -35
  783. package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
  784. package/src/components/VGrid/VCol.ts +4 -4
  785. package/src/components/VGrid/VContainer.ts +16 -12
  786. package/src/components/VGrid/VRow.ts +2 -2
  787. package/src/components/VGrid/__tests__/VCol.spec.ts +20 -18
  788. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  789. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  790. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -11
  791. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  792. package/src/components/VGrid/grid.ts +16 -17
  793. package/src/components/VHover/VHover.ts +23 -17
  794. package/src/components/VHover/__tests__/VHover.spec.ts +44 -28
  795. package/src/components/VIcon/VIcon.ts +72 -53
  796. package/src/components/VIcon/__tests__/VIcon.spec.ts +139 -123
  797. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
  798. package/src/components/VImg/VImg.ts +5 -4
  799. package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
  800. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  801. package/src/components/VInput/VInput.ts +33 -8
  802. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  803. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  804. package/src/components/VItemGroup/VItem.ts +30 -24
  805. package/src/components/VItemGroup/VItemGroup.ts +14 -3
  806. package/src/components/VItemGroup/__tests__/VItem.spec.ts +39 -46
  807. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  808. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  809. package/src/components/VLabel/VLabel.ts +1 -1
  810. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  811. package/src/components/VLazy/VLazy.ts +12 -14
  812. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  813. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  814. package/src/components/VList/VList.ts +3 -3
  815. package/src/components/VList/VListGroup.ts +43 -32
  816. package/src/components/VList/VListItem.ts +56 -24
  817. package/src/components/VList/VListItemAction.ts +11 -10
  818. package/src/components/VList/VListItemIcon.ts +1 -1
  819. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  820. package/src/components/VList/__tests__/VListGroup.spec.ts +58 -50
  821. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  822. package/src/components/VList/__tests__/VListItemAction.spec.ts +32 -31
  823. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  824. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  825. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  826. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +6 -7
  827. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  828. package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
  829. package/src/components/VMain/VMain.ts +2 -2
  830. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  831. package/src/components/VMenu/VMenu.ts +28 -7
  832. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  833. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  834. package/src/components/VMessages/VMessages.ts +15 -4
  835. package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
  836. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  837. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +27 -19
  838. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
  839. package/src/components/VOtpInput/VOtpInput.ts +92 -32
  840. package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +75 -78
  841. package/src/components/VOverflowBtn/VOverflowBtn.ts +16 -11
  842. package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +6 -6
  843. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
  844. package/src/components/VOverlay/VOverlay.ts +15 -1
  845. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  846. package/src/components/VPagination/VPagination.ts +41 -29
  847. package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
  848. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +214 -459
  849. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  850. package/src/components/VPicker/VPicker.ts +9 -11
  851. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  852. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  853. package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
  854. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  855. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  856. package/src/components/VProgressLinear/VProgressLinear.ts +62 -33
  857. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +386 -71
  858. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  859. package/src/components/VRadioGroup/VRadio.ts +4 -2
  860. package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
  861. package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +57 -44
  862. package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +4 -4
  863. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
  864. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
  865. package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
  866. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
  867. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  868. package/src/components/VRating/VRating.ts +13 -0
  869. package/src/components/VRating/__tests__/VRating.spec.ts +24 -29
  870. package/src/components/VResponsive/__tests__/VResponsive.spec.ts +10 -5
  871. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  872. package/src/components/VSelect/VSelect.ts +110 -48
  873. package/src/components/VSelect/VSelectList.ts +62 -25
  874. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  875. package/src/components/VSelect/__tests__/VSelect2.spec.ts +129 -113
  876. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  877. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  878. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  879. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  880. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +48 -60
  881. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +9 -297
  882. package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
  883. package/src/components/VSheet/VSheet.ts +2 -1
  884. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  885. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  886. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  887. package/src/components/VSlideGroup/VSlideGroup.ts +36 -24
  888. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  889. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +70 -62
  890. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
  891. package/src/components/VSlider/VSlider.ts +58 -32
  892. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  893. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  894. package/src/components/VSnackbar/VSnackbar.ts +2 -2
  895. package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +46 -37
  896. package/src/components/VSparkline/VSparkline.ts +54 -92
  897. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  898. package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
  899. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  900. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  901. package/src/components/VStepper/VStepper.ts +7 -5
  902. package/src/components/VStepper/VStepperContent.ts +10 -16
  903. package/src/components/VStepper/VStepperStep.ts +9 -16
  904. package/src/components/VStepper/__tests__/VStepper.spec.ts +7 -4
  905. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +120 -107
  906. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  907. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
  908. package/src/components/VSubheader/VSubheader.ts +1 -1
  909. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
  910. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  911. package/src/components/VSwitch/VSwitch.ts +5 -6
  912. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +34 -44
  913. package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
  914. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
  915. package/src/components/VTabs/VTab.ts +2 -0
  916. package/src/components/VTabs/VTabs.ts +39 -14
  917. package/src/components/VTabs/VTabsBar.ts +11 -5
  918. package/src/components/VTabs/VTabsItems.ts +2 -0
  919. package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
  920. package/src/components/VTabs/__tests__/VTabs.spec.ts +189 -76
  921. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
  922. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  923. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  924. package/src/components/VTextField/VTextField.ts +22 -22
  925. package/src/components/VTextField/__tests__/VTextField.spec.ts +350 -257
  926. package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
  927. package/src/components/VTextarea/VTextarea.ts +1 -1
  928. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +163 -35
  929. package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +99 -4
  930. package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +49 -10
  931. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  932. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  933. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  934. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +155 -142
  935. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  936. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +49 -43
  937. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  938. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
  939. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +6 -7
  940. package/src/components/VToolbar/VToolbar.ts +6 -7
  941. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  942. package/src/components/VTooltip/VTooltip.ts +26 -32
  943. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +64 -78
  944. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  945. package/src/components/VTreeview/VTreeview.ts +20 -17
  946. package/src/components/VTreeview/VTreeviewNode.ts +4 -6
  947. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
  948. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +74 -78
  949. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
  950. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +32 -26
  951. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
  952. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
  953. package/src/components/VWindow/VWindow.ts +9 -6
  954. package/src/components/VWindow/VWindowItem.ts +5 -4
  955. package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
  956. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
  957. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  958. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  959. package/src/components/transitions/createTransition.ts +2 -2
  960. package/src/components/transitions/expand-transition.ts +2 -0
  961. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
  962. package/src/directives/click-outside/__tests__/click-outside.spec.ts +3 -3
  963. package/src/directives/color/__tests__/color.spec.ts +54 -34
  964. package/src/directives/color/index.ts +7 -3
  965. package/src/directives/intersect/__tests__/intersect.spec.ts +7 -7
  966. package/src/directives/intersect/index.ts +81 -42
  967. package/src/directives/mutate/__tests__/mutate.spec.ts +32 -26
  968. package/src/directives/mutate/index.ts +58 -49
  969. package/src/directives/resize/__tests__/resize.spec.ts +5 -5
  970. package/src/directives/resize/index.ts +33 -14
  971. package/src/directives/ripple/__tests__/ripple.spec.ts +34 -36
  972. package/src/directives/ripple/index.ts +3 -6
  973. package/src/directives/scroll/__tests__/scroll.spec.ts +13 -13
  974. package/src/directives/scroll/index.ts +35 -20
  975. package/src/directives/touch/__tests__/touch.spec.ts +23 -16
  976. package/src/directives/touch/index.ts +42 -30
  977. package/src/globals.d.ts +6 -6
  978. package/src/install.ts +10 -32
  979. package/src/mixins/activatable/__tests__/activatable.spec.ts +55 -55
  980. package/src/mixins/activatable/index.ts +10 -11
  981. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  982. package/src/mixins/applicationable/index.ts +4 -4
  983. package/src/mixins/binds-attrs/index.ts +1 -1
  984. package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
  985. package/src/mixins/bootable/index.ts +4 -3
  986. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  987. package/src/mixins/dependent/__tests__/dependent.spec.ts +72 -33
  988. package/src/mixins/detachable/__tests__/detachable.spec.ts +45 -31
  989. package/src/mixins/detachable/index.ts +17 -10
  990. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  991. package/src/mixins/groupable/index.ts +10 -8
  992. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  993. package/src/mixins/intersectable/index.ts +2 -2
  994. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  995. package/src/mixins/menuable/index.ts +1 -1
  996. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  997. package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
  998. package/src/mixins/mouse/index.ts +10 -6
  999. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  1000. package/src/mixins/overlayable/index.ts +4 -3
  1001. package/src/mixins/picker/index.ts +4 -4
  1002. package/src/mixins/positionable/index.ts +2 -2
  1003. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  1004. package/src/mixins/proxyable/index.ts +6 -3
  1005. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  1006. package/src/mixins/registrable/index.ts +4 -4
  1007. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  1008. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  1009. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  1010. package/src/mixins/routable/index.ts +6 -4
  1011. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  1012. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  1013. package/src/mixins/selectable/index.ts +17 -14
  1014. package/src/mixins/toggleable/index.ts +2 -2
  1015. package/src/mixins/translatable/index.ts +1 -1
  1016. package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
  1017. package/src/mixins/validatable/index.ts +29 -21
  1018. package/src/services/goto/__tests__/goto.spec.ts +146 -1
  1019. package/src/services/goto/util.ts +44 -5
  1020. package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
  1021. package/src/services/theme/__tests__/theme.spec.ts +81 -83
  1022. package/src/services/theme/index.ts +22 -60
  1023. package/src/util/__tests__/console.spec.ts +124 -11
  1024. package/src/util/__tests__/dom.spec.ts +8 -5
  1025. package/src/util/__tests__/helpers.spec.ts +122 -33
  1026. package/src/util/__tests__/mergeData.spec.ts +8 -8
  1027. package/src/util/console.ts +43 -24
  1028. package/src/util/helpers.ts +57 -5
  1029. package/src/util/legacyEventsMixin.ts +34 -0
  1030. package/src/util/mergeData.ts +10 -5
  1031. package/src/util/mixins.ts +24 -7
  1032. package/types/alacarte.d.ts +14 -14
  1033. package/types/index.d.ts +8 -8
  1034. package/types/lib.d.ts +173 -173
@@ -2,7 +2,9 @@
2
2
  import DatePickerTable from './mixins/date-picker-table'; // Utils
3
3
 
4
4
  import { pad, createNativeLocaleFormatter } from './util';
5
- import mixins from '../../util/mixins';
5
+ import mixins from '../../util/mixins'; // Types
6
+
7
+ import { h } from 'vue';
6
8
  export default mixins(DatePickerTable
7
9
  /* @vue/component */
8
10
  ).extend({
@@ -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"}
@@ -6,6 +6,7 @@ import VIcon from '../VIcon'; // Mixins
6
6
  import PickerButton from '../../mixins/picker-button'; // Utils
7
7
 
8
8
  import mixins from '../../util/mixins';
9
+ import { breaking } from '../../util/console';
9
10
  export default mixins(PickerButton
10
11
  /* @vue/component */
11
12
  ).extend({
@@ -18,7 +19,7 @@ export default mixins(PickerButton
18
19
  disabled: Boolean,
19
20
  readonly: Boolean,
20
21
  selectingYear: Boolean,
21
- value: {
22
+ modelValue: {
22
23
  type: String
23
24
  },
24
25
  year: {
@@ -29,6 +30,7 @@ export default mixins(PickerButton
29
30
  type: String
30
31
  }
31
32
  },
33
+ emits: ['update:selecting-year'],
32
34
  data: () => ({
33
35
  isReversing: false
34
36
  }),
@@ -39,33 +41,54 @@ export default mixins(PickerButton
39
41
 
40
42
  },
41
43
  watch: {
42
- value(val, prev) {
44
+ modelValue(val, prev) {
43
45
  this.isReversing = val < prev;
44
46
  }
45
47
 
46
48
  },
49
+
50
+ created() {
51
+ const breakingProps = [['value', 'modelValue']];
52
+ /* istanbul ignore next */
53
+
54
+ breakingProps.forEach(([original, replacement]) => {
55
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
56
+ });
57
+ },
58
+
47
59
  methods: {
48
60
  genYearIcon() {
49
61
  return h(VIcon, {
50
62
  dark: true
51
- }, this.yearIcon);
63
+ }, () => this.yearIcon);
52
64
  },
53
65
 
54
66
  getYearBtn() {
55
- return this.genPickerButton('selectingYear', true, [String(this.year), this.yearIcon ? this.genYearIcon() : null], false, 'v-date-picker-title__year');
67
+ const yearText = h('span', {
68
+ key: this.year
69
+ }, String(this.year));
70
+ const yearTransition = h(Transition, {
71
+ name: this.computedTransition
72
+ }, {
73
+ default: () => [yearText]
74
+ });
75
+ return this.genPickerButton('selectingYear', true, [yearTransition, this.yearIcon ? this.genYearIcon() : null], false, 'v-date-picker-title__year');
56
76
  },
57
77
 
58
78
  genTitleText() {
59
- return h(Transition, {
60
- name: this.computedTransition
61
- }, [h('div', {
62
- innerHTML: this.date || '&nbsp;',
63
- key: this.value
64
- })]);
79
+ return h('div', {
80
+ key: this.date
81
+ }, this.date || '\u00A0');
65
82
  },
66
83
 
67
84
  genTitleDate() {
68
- return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date');
85
+ const titleText = this.genTitleText();
86
+ const transition = h(Transition, {
87
+ name: this.computedTransition
88
+ }, {
89
+ default: () => [titleText]
90
+ });
91
+ return this.genPickerButton('selectingYear', false, [transition], false, 'v-date-picker-title__date');
69
92
  }
70
93
 
71
94
  },
@@ -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,KAAK,QAFA,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,CACD,CAAC,CAAC,KAAD,EAAQ;AACP,QAAA,SAAS,EAAE,KAAK,IAAL,IAAa,QADjB;AAEP,QAAA,GAAG,EAAE,KAAK;AAFH,OAAR,CADA,CAFK,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":"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","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'\nimport { breaking } from '../../util/console'\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 created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genYearIcon (): VNode {\n return h(VIcon, {\n dark: true,\n }, () => this.yearIcon)\n },\n getYearBtn (): VNode {\n const yearText = h('span', {\n key: this.year,\n }, String(this.year))\n\n const yearTransition = h(Transition, {\n name: this.computedTransition,\n }, {\n default: () => [yearText],\n })\n\n return this.genPickerButton('selectingYear', true, [\n yearTransition,\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'v-date-picker-title__year')\n },\n genTitleText (): VNode {\n return h('div', {\n key: this.date,\n }, this.date || '\\u00A0')\n },\n genTitleDate (): VNode {\n const titleText = this.genTitleText()\n const transition = h(Transition, {\n name: this.computedTransition,\n }, {\n default: () => [titleText],\n })\n\n return this.genPickerButton('selectingYear', false, [transition], 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,11 @@ 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';
6
+ import { createNativeLocaleFormatter } from './util';
8
7
  import mixins from '../../util/mixins';
8
+ import { breaking } from '../../util/console'; // Types
9
+
10
+ import { h } from 'vue';
9
11
  export default mixins(Colorable, Localable
10
12
  /* @vue/component */
11
13
  ).extend({
@@ -15,7 +17,7 @@ export default mixins(Colorable, Localable
15
17
  min: [Number, String],
16
18
  max: [Number, String],
17
19
  readonly: Boolean,
18
- value: [Number, String]
20
+ modelValue: [Number, String]
19
21
  },
20
22
 
21
23
  data() {
@@ -36,6 +38,15 @@ export default mixins(Colorable, Localable
36
38
 
37
39
  },
38
40
 
41
+ created() {
42
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
43
+ /* istanbul ignore next */
44
+
45
+ breakingProps.forEach(([original, replacement]) => {
46
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
47
+ });
48
+ },
49
+
39
50
  mounted() {
40
51
  setTimeout(() => {
41
52
  const activeItem = this.$el.getElementsByClassName('active')[0];
@@ -55,22 +66,20 @@ export default mixins(Colorable, Localable
55
66
  methods: {
56
67
  genYearItem(year) {
57
68
  const formatted = this.formatter(`${year}`);
58
- const active = parseInt(this.value, 10) === year;
69
+ const active = parseInt(this.modelValue, 10) === year;
59
70
  const color = active && (this.color || 'primary');
60
71
  return h('li', this.setTextColor(color, {
61
72
  key: year,
62
73
  class: {
63
74
  active
64
75
  },
65
- on: mergeListeners({
66
- click: () => this.$emit('input', year)
67
- }, createItemTypeNativeListeners(this, ':year', year))
76
+ onClick: () => this.$emit('update:modelValue', year)
68
77
  }), formatted);
69
78
  },
70
79
 
71
80
  genYearItems() {
72
81
  const children = [];
73
- const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear();
82
+ const selectedYear = this.modelValue ? parseInt(this.modelValue, 10) : new Date().getFullYear();
74
83
  const maxYear = this.max ? parseInt(this.max, 10) : selectedYear + 100;
75
84
  const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : selectedYear - 100);
76
85
 
@@ -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":"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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 createNativeLocaleFormatter,\n} from './util'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\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 created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n 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"}
@@ -10,15 +10,13 @@ import { createItemTypeNativeListeners, sanitizeDateString } from '../util';
10
10
  import isDateAllowed from '../util/isDateAllowed';
11
11
  import { mergeListeners } from '../../../util/mergeData';
12
12
  import mixins from '../../../util/mixins';
13
- import { throttle } from '../../../util/helpers'; // Types
13
+ import { throttle } from '../../../util/helpers';
14
+ import { breaking } from '../../../util/console'; // Types
14
15
 
15
16
  import { Transition, withDirectives, h } from 'vue';
16
17
  export default mixins(Colorable, Localable, Themeable
17
18
  /* @vue/component */
18
19
  ).extend({
19
- directives: {
20
- Touch
21
- },
22
20
  props: {
23
21
  allowedDates: Function,
24
22
  current: String,
@@ -41,7 +39,7 @@ export default mixins(Colorable, Localable, Themeable
41
39
  type: String,
42
40
  required: true
43
41
  },
44
- value: [String, Array]
42
+ modelValue: [String, Array]
45
43
  },
46
44
  data: () => ({
47
45
  isReversing: false,
@@ -58,9 +56,24 @@ export default mixins(Colorable, Localable, Themeable
58
56
 
59
57
  displayedYear() {
60
58
  return Number(this.tableDate.split('-')[0]);
59
+ },
60
+
61
+ // Vue 3 compatibility: use modelValue
62
+ currentValue() {
63
+ return this.modelValue;
61
64
  }
62
65
 
63
66
  },
67
+
68
+ created() {
69
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
70
+ /* istanbul ignore next */
71
+
72
+ breakingProps.forEach(([original, replacement]) => {
73
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
74
+ });
75
+ },
76
+
64
77
  watch: {
65
78
  tableDate(newVal, oldVal) {
66
79
  this.isReversing = newVal < oldVal;
@@ -93,9 +106,11 @@ export default mixins(Colorable, Localable, Themeable
93
106
  if (this.disabled) return undefined;
94
107
  return mergeListeners({
95
108
  onClick: () => {
96
- if (isAllowed && !this.readonly) this.$emit('input', value);
109
+ if (isAllowed && !this.readonly) {
110
+ this.$emit('update:modelValue', value);
111
+ }
97
112
  }
98
- }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value));
113
+ }, createItemTypeNativeListeners(this, mouseEventType, value));
99
114
  },
100
115
 
101
116
  genButton(value, isFloating, mouseEventType, formatter, isOtherMonth = false) {
@@ -107,9 +122,9 @@ export default mixins(Colorable, Localable, Themeable
107
122
  let isFirst = false;
108
123
  let isLast = false;
109
124
 
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];
125
+ if (this.range && !!this.currentValue && Array.isArray(this.currentValue)) {
126
+ isFirst = value === this.currentValue[0];
127
+ isLast = value === this.currentValue[this.currentValue.length - 1];
113
128
  }
114
129
 
115
130
  return h('button', setColor(color, {
@@ -180,7 +195,7 @@ export default mixins(Colorable, Localable, Themeable
180
195
  genTable(staticClass, children, calculateTableDate) {
181
196
  const transition = h(Transition, {
182
197
  name: this.computedTransition
183
- }, [h('table', {
198
+ }, () => [h('table', {
184
199
  key: this.tableDate
185
200
  }, children)]);
186
201
  const touchDirective = [Touch, {
@@ -206,16 +221,16 @@ export default mixins(Colorable, Localable, Themeable
206
221
  },
207
222
 
208
223
  isSelected(value) {
209
- if (Array.isArray(this.value)) {
210
- if (this.range && this.value.length === 2) {
211
- const [from, to] = [...this.value].sort();
224
+ if (Array.isArray(this.currentValue)) {
225
+ if (this.range && this.currentValue.length === 2) {
226
+ const [from, to] = [...this.currentValue].sort();
212
227
  return from <= value && value <= to;
213
228
  } else {
214
- return this.value.indexOf(value) !== -1;
229
+ return this.currentValue.indexOf(value) !== -1;
215
230
  }
216
231
  }
217
232
 
218
- return value === this.value;
233
+ return value === this.currentValue;
219
234
  }
220
235
 
221
236
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VDatePicker/mixins/date-picker-table.ts"],"names":[],"mappings":"AAAA,OAAO,8DAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,2BAAlB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,2BAAtB;AACA,OAAO,SAAP,MAAsB,2BAAtB;AACA,OAAO,SAAP,MAAsB,2BAAtB,C,CAEA;;AACA,SAAS,6BAAT,EAAwC,kBAAxC,QAAkE,SAAlE;AACA,OAAO,aAAP,MAA0B,uBAA1B;AACA,SAAS,cAAT,QAA+B,yBAA/B;AACA,OAAO,MAAP,MAAmB,sBAAnB;AACA,SAAS,QAAT,QAAyB,uBAAzB,C,CAEA;;AACA,SAGE,UAHF,EAIE,cAJF,EAKE,CALF,QAMO,KANP;AAmBA,eAAe,MAAM,CACnB,SADmB,EAEnB,SAFmB,EAGnB;AACF;AAJqB,CAAN,CAKb,MALa,CAKN;AACP,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GADL;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,YAAY,EAAE,QADT;AAEL,IAAA,OAAO,EAAE,MAFJ;AAGL,IAAA,QAAQ,EAAE,OAHL;AAIL,IAAA,MAAM,EAAE,QAJH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CADA;AAEN,MAAA,OAAO,EAAE,MAAM;AAFT,KALH;AASL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,MAAlB,EAA0B,MAA1B,CADI;AAEV,MAAA,OAAO,EAAE,MAAM;AAFL,KATP;AAaL,IAAA,GAAG,EAAE,MAbA;AAcL,IAAA,GAAG,EAAE,MAdA;AAeL,IAAA,KAAK,EAAE,OAfF;AAgBL,IAAA,QAAQ,EAAE,OAhBL;AAiBL,IAAA,UAAU,EAAE,OAjBP;AAkBL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,MADG;AAET,MAAA,QAAQ,EAAE;AAFD,KAlBN;AAsBL,IAAA,KAAK,EAAE,CAAC,MAAD,EAAS,KAAT;AAtBF,GAHA;AA4BP,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,WAAW,EAAE,KADF;AAEX,IAAA,aAAa,EAAE;AAFJ,GAAP,CA5BC;AAiCP,EAAA,QAAQ,EAAE;AACR,IAAA,kBAAkB,GAAA;AAChB,aAAQ,KAAK,WAAL,KAAqB,CAAC,KAAK,QAAL,CAAc,GAArC,GAA4C,wBAA5C,GAAuE,gBAA9E;AACD,KAHO;;AAIR,IAAA,cAAc,GAAA;AACZ,aAAO,MAAM,CAAC,KAAK,SAAL,CAAe,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAD,CAAN,GAAuC,CAA9C;AACD,KANO;;AAOR,IAAA,aAAa,GAAA;AACX,aAAO,MAAM,CAAC,KAAK,SAAL,CAAe,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAD,CAAb;AACD;;AATO,GAjCH;AA6CP,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,CAAE,MAAF,EAAkB,MAAlB,EAAgC;AACvC,WAAK,WAAL,GAAmB,MAAM,GAAG,MAA5B;AACD;;AAHI,GA7CA;;AAmDP,EAAA,OAAO,GAAA;AACL,SAAK,aAAL,GAAqB,QAAQ,CAAC,KAAK,KAAN,EAAa,GAAb,CAA7B;AACD,GArDM;;AAuDP,EAAA,OAAO,EAAE;AACP,IAAA,gBAAgB,CACd,SADc,EAEd,UAFc,EAGd,UAHc,EAId,SAJc,EAKd,OALc,EAMd,MANc,EAMC;AAEf,aAAO;AACL,2BAAmB,CAAC,UADf;AAEL,wCAAgC,SAF3B;AAGL,yBAAiB,UAHZ;AAIL,uBAAe,CAAC,SAAD,IAAc,KAAK,QAJ7B;AAKL,uBAAe,UAAU,KAAK,SALzB;AAML,0BAAkB,UANb;AAOL,2BAAmB,CAAC,SAAD,IAAc,KAAK,QAPjC;AAQL,2BAAmB,SAAS,IAAI,CAAC,UAR5B;AASL,yCAAiC,OAT5B;AAUL,wCAAgC,MAV3B;AAWL,WAAG,KAAK;AAXH,OAAP;AAaD,KAtBM;;AAuBP,IAAA,eAAe,CAAE,KAAF,EAAiB,SAAjB,EAAqC,cAArC,EAA2D;AACxE,UAAI,KAAK,QAAT,EAAmB,OAAO,SAAP;AAEnB,aAAO,cAAc,CAAC;AACpB,QAAA,OAAO,EAAE,MAAK;AACZ,cAAI,SAAS,IAAI,CAAC,KAAK,QAAvB,EAAiC,KAAK,KAAL,CAAW,OAAX,EAAoB,KAApB;AAClC;AAHmB,OAAD,EAIlB,6BAA6B,CAAC,IAAD,EAAO,IAAI,cAAc,EAAzB,EAA6B,KAA7B,CAJX,CAArB;AAKD,KA/BM;;AAgCP,IAAA,SAAS,CAAE,KAAF,EAAiB,UAAjB,EAAsC,cAAtC,EAA8D,SAA9D,EAA8F,YAAY,GAAG,KAA7G,EAAkH;AACzH,YAAM,SAAS,GAAG,aAAa,CAAC,KAAD,EAAQ,KAAK,GAAb,EAAkB,KAAK,GAAvB,EAA4B,KAAK,YAAjC,CAA/B;AACA,YAAM,UAAU,GAAG,KAAK,UAAL,CAAgB,KAAhB,KAA0B,SAA7C;AACA,YAAM,SAAS,GAAG,KAAK,KAAK,KAAK,OAAjC;AACA,YAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,kBAAR,GAA6B,KAAK,YAA7D;AACA,YAAM,KAAK,GAAG,CAAC,UAAU,IAAI,SAAf,MAA8B,KAAK,KAAL,IAAc,QAA5C,CAAd;AACA,UAAI,OAAO,GAAG,KAAd;AACA,UAAI,MAAM,GAAG,KAAb;;AACA,UAAI,KAAK,KAAL,IAAc,CAAC,CAAC,KAAK,KAArB,IAA8B,KAAK,CAAC,OAAN,CAAc,KAAK,KAAnB,CAAlC,EAA6D;AAC3D,QAAA,OAAO,GAAG,KAAK,KAAK,KAAK,KAAL,CAAW,CAAX,CAApB;AACA,QAAA,MAAM,GAAG,KAAK,KAAK,KAAK,KAAL,CAAW,KAAK,KAAL,CAAW,MAAX,GAAoB,CAA/B,CAAnB;AACD;;AAED,aAAO,CAAC,CAAC,QAAD,EAAW,QAAQ,CAAC,KAAD,EAAQ;AACjC,QAAA,KAAK,EAAE,CAAC,OAAD,EAAU,KAAK,gBAAL,CACf,SAAS,IAAI,CAAC,YADC,EAEf,UAFe,EAGf,UAHe,EAIf,SAJe,EAKf,OALe,EAMf,MANe,CAAV,CAD0B;AASjC,QAAA,IAAI,EAAE,QAT2B;AAUjC,QAAA,QAAQ,EAAE,KAAK,QAAL,IAAiB,CAAC,SAAlB,IAA+B,YAVR;AAWjC,WAAG,KAAK,eAAL,CAAqB,KAArB,EAA4B,SAA5B,EAAuC,cAAvC;AAX8B,OAAR,CAAnB,EAYJ,CACF,CAAC,CAAC,KAAD,EAAQ;AACP,QAAA,KAAK,EAAE;AADA,OAAR,EAEE,CAAC,SAAS,CAAC,KAAD,CAAV,CAFF,CADC,EAIF,KAAK,SAAL,CAAe,KAAf,CAJE,CAZI,CAAR;AAkBD,KA/DM;;AAgEP,IAAA,cAAc,CAAE,IAAF,EAAc;AAC1B,YAAM,QAAQ,GAAI,CAAD,IAA0B,KAAK,CAAC,OAAN,CAAc,CAAd,IAAmB,CAAnB,GAAuB,CAAC,CAAD,CAAlE;;AACA,UAAI,SAAJ;AACA,UAAI,WAAW,GAAa,EAA5B;;AAEA,UAAI,KAAK,CAAC,OAAN,CAAc,KAAK,MAAnB,CAAJ,EAAgC;AAC9B,QAAA,SAAS,GAAG,KAAK,MAAL,CAAY,QAAZ,CAAqB,IAArB,CAAZ;AACD,OAFD,MAEO,IAAI,KAAK,MAAL,YAAuB,QAA3B,EAAqC;AAC1C,QAAA,SAAS,GAAG,KAAK,MAAL,CAAY,IAAZ,KAAqB,KAAjC;AACD,OAFM,MAEA,IAAI,KAAK,MAAT,EAAiB;AACtB,QAAA,SAAS,GAAG,KAAK,MAAL,CAAY,IAAZ,KAAqB,KAAjC;AACD,OAFM,MAEA;AACL,QAAA,SAAS,GAAG,KAAZ;AACD;;AAED,UAAI,CAAC,SAAL,EAAgB;AACd,eAAO,EAAP;AACD,OAFD,MAEO,IAAI,SAAS,KAAK,IAAlB,EAAwB;AAC7B,QAAA,WAAW,GAAG,QAAQ,CAAC,SAAD,CAAtB;AACD,OAFM,MAEA,IAAI,OAAO,KAAK,UAAZ,KAA2B,QAA/B,EAAyC;AAC9C,QAAA,WAAW,GAAG,CAAC,KAAK,UAAN,CAAd;AACD,OAFM,MAEA,IAAI,OAAO,KAAK,UAAZ,KAA2B,UAA/B,EAA2C;AAChD,QAAA,WAAW,GAAG,QAAQ,CAAC,KAAK,UAAL,CAAgB,IAAhB,CAAD,CAAtB;AACD,OAFM,MAEA,IAAI,KAAK,CAAC,OAAN,CAAc,KAAK,UAAnB,CAAJ,EAAoC;AACzC,QAAA,WAAW,GAAG,KAAK,UAAnB;AACD,OAFM,MAEA;AACL,QAAA,WAAW,GAAG,QAAQ,CAAC,KAAK,UAAL,CAAgB,IAAhB,CAAD,CAAtB;AACD;;AAED,aAAO,WAAW,CAAC,MAAZ,CAAmB,CAAC,IAAI,CAAxB,CAAP;AACD,KA9FM;;AA+FP,IAAA,SAAS,CAAE,IAAF,EAAc;AACrB,YAAM,WAAW,GAAG,KAAK,cAAL,CAAoB,IAApB,CAApB;AAEA,aAAO,WAAW,CAAC,MAAZ,GAAqB,CAAC,CAAC,KAAD,EAAQ;AACnC,QAAA,KAAK,EAAE;AAD4B,OAAR,EAE1B,WAAW,CAAC,GAAZ,CAAgB,KAAK,IAAI,CAAC,CAAC,KAAD,EAAQ,KAAK,kBAAL,CAAwB,KAAxB,CAAR,CAA1B,CAF0B,CAAtB,GAEkE,IAFzE;AAGD,KArGM;;AAsGP,IAAA,aAAa,CAAE,KAAF,EAAiB,kBAAjB,EAA+D;AAC1E,YAAM,SAAS,GAAG,kBAAkB,CAAC,KAAD,CAApC,CAD0E,CAE1E;;AACA,YAAM,YAAY,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,MAArB,KAAgC,CAAhC,GAAoC,MAApC,GAA6C,OAAlE;AACA,aAAQ,KAAK,GAAG,CAAR,KAAc,KAAK,GAAL,GAAW,SAAS,IAAI,kBAAkB,CAAC,KAAK,GAAN,EAAW,YAAX,CAA1C,GAAqE,IAAnF,CAAD,IACJ,KAAK,GAAG,CAAR,KAAc,KAAK,GAAL,GAAW,SAAS,IAAI,kBAAkB,CAAC,KAAK,GAAN,EAAW,YAAX,CAA1C,GAAqE,IAAnF,CADH;AAED,KA5GM;;AA6GP,IAAA,KAAK,CAAE,CAAF,EAAiB,kBAAjB,EAA+D;AAClE,WAAK,KAAL,CAAW,mBAAX,EAAgC,kBAAkB,CAAC,CAAC,CAAC,MAAH,CAAlD;AACD,KA/GM;;AAgHP,IAAA,KAAK,CAAE,KAAF,EAAiB,kBAAjB,EAA+D;AAClE,WAAK,KAAL,CAAW,mBAAX,EAAgC,kBAAkB,CAAC,KAAD,CAAlD;AACD,KAlHM;;AAmHP,IAAA,QAAQ,CAAE,WAAF,EAAuB,QAAvB,EAAgD,kBAAhD,EAA8F;AACpG,YAAM,UAAU,GAAG,CAAC,CAAC,UAAD,EAAa;AAC/B,QAAA,IAAI,EAAE,KAAK;AADoB,OAAb,EAEjB,CAAC,CAAC,CAAC,OAAD,EAAU;AAAE,QAAA,GAAG,EAAE,KAAK;AAAZ,OAAV,EAAmC,QAAnC,CAAF,CAFiB,CAApB;AAIA,YAAM,cAAc,GAAG,CACrB,KADqB,EAErB;AACE,QAAA,IAAI,EAAG,CAAD,IAAsB,CAAC,CAAC,OAAF,GAAY,CAAC,EAAd,IACxB,KAAK,aAAL,CAAmB,CAAnB,EAAsB,kBAAtB,KAA6C,KAAK,KAAL,CAAW,CAAX,EAAc,kBAAd,CAFlD;AAGE,QAAA,KAAK,EAAG,CAAD,IAAsB,CAAC,CAAC,OAAF,GAAY,EAAb,IACzB,KAAK,aAAL,CAAmB,CAAC,CAApB,EAAuB,kBAAvB,KAA8C,KAAK,KAAL,CAAW,CAAC,CAAZ,EAAe,kBAAf;AAJnD,OAFqB,CAAvB;AAUA,aAAO,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ;AAC7B,QAAA,KAAK,EAAE;AACL,WAAC,WAAD,GAAe,IADV;AAEL,2CAAiC,KAAK,QAFjC;AAGL,aAAG,KAAK;AAHH,SADsB;AAM7B,YAAK,CAAC,KAAK,QAAN,IAAkB,KAAK,UAAxB,GAAsC;AACxC,UAAA,OAAO,EAAG,CAAD,IAAkB;AACzB,YAAA,CAAC,CAAC,cAAF;;AACA,gBAAI,KAAK,aAAL,CAAmB,CAAC,CAAC,MAArB,EAA6B,kBAA7B,CAAJ,EAAsD;AAAE,mBAAK,aAAL,CAAmB,CAAnB,EAAsB,kBAAtB;AAA2C;AACpG;AAJuC,SAAtC,GAKA,EALJ;AAN6B,OAAR,EAYpB,CAAC,UAAD,CAZoB,CAAF,EAYH,CAAC,cAAD,CAZG,CAArB;AAaD,KA/IM;;AAgJP,IAAA,UAAU,CAAE,KAAF,EAAe;AACvB,UAAI,KAAK,CAAC,OAAN,CAAc,KAAK,KAAnB,CAAJ,EAA+B;AAC7B,YAAI,KAAK,KAAL,IAAc,KAAK,KAAL,CAAW,MAAX,KAAsB,CAAxC,EAA2C;AACzC,gBAAM,CAAC,IAAD,EAAO,EAAP,IAAa,CAAC,GAAG,KAAK,KAAT,EAAgB,IAAhB,EAAnB;AACA,iBAAO,IAAI,IAAI,KAAR,IAAiB,KAAK,IAAI,EAAjC;AACD,SAHD,MAGO;AACL,iBAAO,KAAK,KAAL,CAAW,OAAX,CAAmB,KAAnB,MAA8B,CAAC,CAAtC;AACD;AACF;;AAED,aAAO,KAAK,KAAK,KAAK,KAAtB;AACD;;AA3JM;AAvDF,CALM,CAAf","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'\nimport { breaking } from '../../../util/console'\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 created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n 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"}
@@ -1,19 +1,31 @@
1
- export function createItemTypeNativeListeners(instance, itemTypeSuffix, value) {
2
- return Object.keys(instance.$listeners).reduce((on, eventName) => {
3
- if (eventName.endsWith(itemTypeSuffix)) {
4
- on[eventName.slice(0, -itemTypeSuffix.length)] = event => instance.$emit(eventName, value, event);
5
- }
6
-
7
- return on;
8
- }, {});
9
- }
1
+ // Utils for creating event listeners that work with Vue 3 emits/attrs pattern
10
2
  export function createItemTypeListeners(instance, itemTypeSuffix) {
11
- return Object.keys(instance.$listeners).reduce((on, eventName) => {
12
- if (eventName.endsWith(itemTypeSuffix)) {
13
- on[eventName] = instance.$listeners[eventName];
3
+ const listeners = {};
4
+ const eventAttrs = [`onClick${itemTypeSuffix}`, `onDblclick${itemTypeSuffix}`];
5
+ eventAttrs.forEach(attrName => {
6
+ const handler = instance.$attrs[attrName];
7
+
8
+ if (handler && typeof handler === 'function') {
9
+ listeners[attrName] = handler;
14
10
  }
11
+ });
12
+ return listeners;
13
+ }
14
+ export function createItemTypeNativeListeners(instance, mouseEventType, value) {
15
+ const listeners = {};
16
+ const eventAttrs = [`onClick${mouseEventType.charAt(0).toUpperCase() + mouseEventType.slice(1)}`, `onDblclick${mouseEventType.charAt(0).toUpperCase() + mouseEventType.slice(1)}`];
17
+ eventAttrs.forEach(attrName => {
18
+ const handler = instance.$attrs[attrName];
19
+
20
+ if (handler && typeof handler === 'function') {
21
+ // Преобразуем onClickDate -> click и onDblclickDate -> dblclick для DOM событий
22
+ const eventName = attrName.slice(2, attrName.length - mouseEventType.length).toLowerCase();
15
23
 
16
- return on;
17
- }, {});
24
+ listeners[eventName] = event => {
25
+ handler(value, event);
26
+ };
27
+ }
28
+ });
29
+ return listeners;
18
30
  }
19
31
  //# sourceMappingURL=eventHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VDatePicker/util/eventHelpers.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,6BAAV,CAAyC,QAAzC,EAAwD,cAAxD,EAAgF,KAAhF,EAA0F;AAC9F,SAAO,MAAM,CAAC,IAAP,CAAY,QAAQ,CAAC,UAArB,EAAiC,MAAjC,CAAwC,CAAC,EAAD,EAAK,SAAL,KAAkB;AAC/D,QAAI,SAAS,CAAC,QAAV,CAAmB,cAAnB,CAAJ,EAAwC;AACtC,MAAA,EAAE,CAAC,SAAS,CAAC,KAAV,CAAgB,CAAhB,EAAmB,CAAC,cAAc,CAAC,MAAnC,CAAD,CAAF,GAAkD,KAAD,IAAkB,QAAQ,CAAC,KAAT,CAAe,SAAf,EAA0B,KAA1B,EAAiC,KAAjC,CAAnE;AACD;;AAED,WAAO,EAAP;AACD,GANM,EAMJ,EANI,CAAP;AAOD;AAED,OAAM,SAAU,uBAAV,CAAmC,QAAnC,EAAkD,cAAlD,EAAwE;AAC5E,SAAO,MAAM,CAAC,IAAP,CAAY,QAAQ,CAAC,UAArB,EAAiC,MAAjC,CAAwC,CAAC,EAAD,EAAK,SAAL,KAAkB;AAC/D,QAAI,SAAS,CAAC,QAAV,CAAmB,cAAnB,CAAJ,EAAwC;AACtC,MAAA,EAAE,CAAC,SAAD,CAAF,GAAgB,QAAQ,CAAC,UAAT,CAAoB,SAApB,CAAhB;AACD;;AAED,WAAO,EAAP;AACD,GANM,EAMJ,EANI,CAAP;AAOD","sourcesContent":["import {App} from 'vue'\n\nexport function createItemTypeNativeListeners (instance: App, itemTypeSuffix: string, value: any) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName.slice(0, -itemTypeSuffix.length)] = (event: Event) => instance.$emit(eventName, value, event)\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n\nexport function createItemTypeListeners (instance: App, itemTypeSuffix: string) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName] = instance.$listeners[eventName]\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n"],"sourceRoot":"","file":"eventHelpers.js"}
1
+ {"version":3,"sources":["../../../../src/components/VDatePicker/util/eventHelpers.ts"],"names":[],"mappings":"AAAA;AAEA,OAAM,SAAU,uBAAV,CAAmC,QAAnC,EAAkD,cAAlD,EAAwE;AAC5E,QAAM,SAAS,GAA6B,EAA5C;AAEA,QAAM,UAAU,GAAG,CACjB,UAAU,cAAc,EADP,EAEjB,aAAa,cAAc,EAFV,CAAnB;AAKA,EAAA,UAAU,CAAC,OAAX,CAAmB,QAAQ,IAAG;AAC5B,UAAM,OAAO,GAAG,QAAQ,CAAC,MAAT,CAAgB,QAAhB,CAAhB;;AACA,QAAI,OAAO,IAAI,OAAO,OAAP,KAAmB,UAAlC,EAA8C;AAC5C,MAAA,SAAS,CAAC,QAAD,CAAT,GAAsB,OAAtB;AACD;AACF,GALD;AAOA,SAAO,SAAP;AACD;AAED,OAAM,SAAU,6BAAV,CAAyC,QAAzC,EAAwD,cAAxD,EAAgF,KAAhF,EAA0F;AAC9F,QAAM,SAAS,GAA6B,EAA5C;AAEA,QAAM,UAAU,GAAG,CACjB,UAAU,cAAc,CAAC,MAAf,CAAsB,CAAtB,EAAyB,WAAzB,KAAyC,cAAc,CAAC,KAAf,CAAqB,CAArB,CAAuB,EADzD,EAEjB,aAAa,cAAc,CAAC,MAAf,CAAsB,CAAtB,EAAyB,WAAzB,KAAyC,cAAc,CAAC,KAAf,CAAqB,CAArB,CAAuB,EAF5D,CAAnB;AAKA,EAAA,UAAU,CAAC,OAAX,CAAmB,QAAQ,IAAG;AAC5B,UAAM,OAAO,GAAG,QAAQ,CAAC,MAAT,CAAgB,QAAhB,CAAhB;;AACA,QAAI,OAAO,IAAI,OAAO,OAAP,KAAmB,UAAlC,EAA8C;AAC5C;AACA,YAAM,SAAS,GAAG,QAAQ,CAAC,KAAT,CAAe,CAAf,EAAkB,QAAQ,CAAC,MAAT,GAAkB,cAAc,CAAC,MAAnD,EAA2D,WAA3D,EAAlB;;AACA,MAAA,SAAS,CAAC,SAAD,CAAT,GAAwB,KAAD,IAAiB;AACtC,QAAA,OAAO,CAAC,KAAD,EAAQ,KAAR,CAAP;AACD,OAFD;AAGD;AACF,GATD;AAWA,SAAO,SAAP;AACD","sourcesContent":["// Utils for creating event listeners that work with Vue 3 emits/attrs pattern\n\nexport function createItemTypeListeners (instance: any, itemTypeSuffix: string) {\n const listeners: Record<string, Function> = {}\n\n const eventAttrs = [\n `onClick${itemTypeSuffix}`,\n `onDblclick${itemTypeSuffix}`,\n ]\n\n eventAttrs.forEach(attrName => {\n const handler = instance.$attrs[attrName]\n if (handler && typeof handler === 'function') {\n listeners[attrName] = handler\n }\n })\n\n return listeners\n}\n\nexport function createItemTypeNativeListeners (instance: any, mouseEventType: string, value: any) {\n const listeners: Record<string, Function> = {}\n\n const eventAttrs = [\n `onClick${mouseEventType.charAt(0).toUpperCase() + mouseEventType.slice(1)}`,\n `onDblclick${mouseEventType.charAt(0).toUpperCase() + mouseEventType.slice(1)}`,\n ]\n\n eventAttrs.forEach(attrName => {\n const handler = instance.$attrs[attrName]\n if (handler && typeof handler === 'function') {\n // Преобразуем onClickDate -> click и onDblclickDate -> dblclick для DOM событий\n const eventName = attrName.slice(2, attrName.length - mouseEventType.length).toLowerCase()\n listeners[eventName] = (event: Event) => {\n handler(value, event)\n }\n }\n })\n\n return listeners\n}\n"],"sourceRoot":"","file":"eventHelpers.js"}
@@ -14,7 +14,7 @@ import Stackable from '../../mixins/stackable'; // Directives
14
14
  import ClickOutside from '../../directives/click-outside'; // Helpers
15
15
 
16
16
  import mixins from '../../util/mixins';
17
- import { removed } from '../../util/console';
17
+ import { removed, breaking } from '../../util/console';
18
18
  import { convertToUnit, keyCodes } from '../../util/helpers';
19
19
  const baseMixins = mixins(Dependent, Detachable, Overlayable, Returnable, Stackable, Activatable);
20
20
  /* @vue/component */
@@ -44,6 +44,7 @@ export default baseMixins.extend({
44
44
  },
45
45
  width: [String, Number]
46
46
  },
47
+ emits: ['click:outside', 'keydown', 'update:return-value', 'update:modelValue'],
47
48
 
48
49
  data() {
49
50
  return {
@@ -108,7 +109,14 @@ export default baseMixins.extend({
108
109
  },
109
110
 
110
111
  created() {
112
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
111
113
  /* istanbul ignore next */
114
+
115
+ breakingProps.forEach(([original, replacement]) => {
116
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
117
+ });
118
+ /* istanbul ignore next */
119
+
112
120
  if (this.$attrs.hasOwnProperty('full-width')) {
113
121
  removed('full-width', this);
114
122
  }
@@ -121,7 +129,7 @@ export default baseMixins.extend({
121
129
  });
122
130
  },
123
131
 
124
- beforeDestroy() {
132
+ beforeUnmount() {
125
133
  if (typeof window !== 'undefined') this.unbind();
126
134
  },
127
135
 
@@ -143,7 +151,7 @@ export default baseMixins.extend({
143
151
  // if it was dragged onto the overlay (#6969),
144
152
  // or if this isn't the topmost dialog (#9907)
145
153
 
146
- return !(this._isDestroyed || !this.isActive || this.$refs.content.contains(target) || this.overlay && target && !this.overlay.$el.contains(target)) && this.activeZIndex >= this.getMaxZIndex();
154
+ return !(this.$.isUnmounted || !this.isActive || this.$refs.content.contains(target) || this.overlay && target && !this.overlay.$el.contains(target)) && this.activeZIndex >= this.getMaxZIndex();
147
155
  },
148
156
 
149
157
  hideScroll() {
@@ -227,7 +235,7 @@ export default baseMixins.extend({
227
235
  root: true,
228
236
  light: this.light,
229
237
  dark: this.dark
230
- }, [h('div', {
238
+ }, () => [h('div', {
231
239
  class: this.contentClasses,
232
240
  role: 'dialog',
233
241
  'aria-modal': this.hideOverlay ? undefined : 'true',
@@ -247,7 +255,7 @@ export default baseMixins.extend({
247
255
  name: this.transition,
248
256
  origin: this.origin,
249
257
  appear: true
250
- }, [content]);
258
+ }, () => [content]);
251
259
  },
252
260
 
253
261
  genInnerContent() {