@dimailn/vuetify 2.7.2-alpha3 → 2.7.2-alpha32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (887) hide show
  1. package/dist/vuetify.js +3833 -2062
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +39 -9
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +23 -17
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  11. package/es5/components/VAutocomplete/VAutocomplete.js +11 -7
  12. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  13. package/es5/components/VBadge/VBadge.js +46 -14
  14. package/es5/components/VBadge/VBadge.js.map +1 -1
  15. package/es5/components/VBanner/VBanner.js +51 -15
  16. package/es5/components/VBanner/VBanner.js.map +1 -1
  17. package/es5/components/VBottomNavigation/VBottomNavigation.js +33 -7
  18. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  19. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
  20. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  21. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  22. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  23. package/es5/components/VBtn/VBtn.js +20 -16
  24. package/es5/components/VBtn/VBtn.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendar.js +27 -29
  26. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  27. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  28. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  29. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  30. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  31. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  32. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  33. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  34. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  35. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  36. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  37. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  38. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  39. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  40. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  41. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  42. package/es5/components/VCarousel/VCarousel.js +61 -17
  43. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  44. package/es5/components/VCarousel/VCarouselItem.js +7 -3
  45. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  46. package/es5/components/VCheckbox/VCheckbox.js +34 -1
  47. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  48. package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
  49. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  50. package/es5/components/VChip/VChip.js +15 -6
  51. package/es5/components/VChip/VChip.js.map +1 -1
  52. package/es5/components/VColorPicker/VColorPicker.js +54 -39
  53. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  54. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  55. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  56. package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
  57. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  58. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  59. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  60. package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
  61. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  62. package/es5/components/VCombobox/VCombobox.js +1 -0
  63. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  64. package/es5/components/VData/VData.js +15 -2
  65. package/es5/components/VData/VData.js.map +1 -1
  66. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  67. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  68. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  69. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  70. package/es5/components/VDataTable/RowGroup.js +46 -15
  71. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  72. package/es5/components/VDataTable/VDataTable.js +41 -44
  73. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  74. package/es5/components/VDataTable/VDataTableHeader.js +5 -8
  75. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  76. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  77. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  78. package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
  79. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  80. package/es5/components/VDataTable/VEditDialog.js +26 -22
  81. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  82. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  83. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  84. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  85. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  86. package/es5/components/VDataTable/mixins/header.js +7 -9
  87. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  88. package/es5/components/VDatePicker/VDatePicker.js +39 -32
  89. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  90. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  91. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  92. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  93. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  94. package/es5/components/VDatePicker/VDatePickerTitle.js +44 -10
  95. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  96. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  97. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  98. package/es5/components/VDatePicker/mixins/date-picker-table.js +51 -30
  99. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  100. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  101. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  102. package/es5/components/VDialog/VDialog.js +58 -32
  103. package/es5/components/VDialog/VDialog.js.map +1 -1
  104. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  105. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  106. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  107. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  108. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  109. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  110. package/es5/components/VFileInput/VFileInput.js +50 -27
  111. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  112. package/es5/components/VForm/VForm.js +45 -30
  113. package/es5/components/VForm/VForm.js.map +1 -1
  114. package/es5/components/VGrid/VCol.js +3 -3
  115. package/es5/components/VGrid/VCol.js.map +1 -1
  116. package/es5/components/VGrid/VContainer.js +3 -1
  117. package/es5/components/VGrid/VContainer.js.map +1 -1
  118. package/es5/components/VHover/VHover.js +1 -0
  119. package/es5/components/VHover/VHover.js.map +1 -1
  120. package/es5/components/VImg/VImg.js +10 -8
  121. package/es5/components/VImg/VImg.js.map +1 -1
  122. package/es5/components/VInput/VInput.js +65 -12
  123. package/es5/components/VInput/VInput.js.map +1 -1
  124. package/es5/components/VItemGroup/VItem.js +21 -17
  125. package/es5/components/VItemGroup/VItem.js.map +1 -1
  126. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  127. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  128. package/es5/components/VLazy/VLazy.js +8 -15
  129. package/es5/components/VLazy/VLazy.js.map +1 -1
  130. package/es5/components/VList/VList.js +1 -1
  131. package/es5/components/VList/VList.js.map +1 -1
  132. package/es5/components/VList/VListGroup.js +73 -40
  133. package/es5/components/VList/VListGroup.js.map +1 -1
  134. package/es5/components/VList/VListItem.js +63 -18
  135. package/es5/components/VList/VListItem.js.map +1 -1
  136. package/es5/components/VList/VListItemAction.js +23 -9
  137. package/es5/components/VList/VListItemAction.js.map +1 -1
  138. package/es5/components/VMenu/VMenu.js +57 -31
  139. package/es5/components/VMenu/VMenu.js.map +1 -1
  140. package/es5/components/VMessages/VMessages.js +33 -6
  141. package/es5/components/VMessages/VMessages.js.map +1 -1
  142. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +37 -16
  143. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  144. package/es5/components/VOtpInput/VOtpInput.js +37 -5
  145. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  146. package/es5/components/VOverflowBtn/VOverflowBtn.js +4 -1
  147. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  148. package/es5/components/VOverlay/VOverlay.js +32 -4
  149. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  150. package/es5/components/VPagination/VPagination.js +48 -27
  151. package/es5/components/VPagination/VPagination.js.map +1 -1
  152. package/es5/components/VPicker/VPicker.js +7 -4
  153. package/es5/components/VPicker/VPicker.js.map +1 -1
  154. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  155. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  156. package/es5/components/VProgressLinear/VProgressLinear.js +67 -25
  157. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  158. package/es5/components/VRadioGroup/VRadio.js +11 -2
  159. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  160. package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
  161. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  162. package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
  163. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  164. package/es5/components/VRating/VRating.js +45 -17
  165. package/es5/components/VRating/VRating.js.map +1 -1
  166. package/es5/components/VSelect/VSelect.js +156 -79
  167. package/es5/components/VSelect/VSelect.js.map +1 -1
  168. package/es5/components/VSelect/VSelectList.js +104 -44
  169. package/es5/components/VSelect/VSelectList.js.map +1 -1
  170. package/es5/components/VSlideGroup/VSlideGroup.js +27 -22
  171. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  172. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  173. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  174. package/es5/components/VSlider/VSlider.js +73 -41
  175. package/es5/components/VSlider/VSlider.js.map +1 -1
  176. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  177. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  178. package/es5/components/VSparkline/VSparkline.js +48 -68
  179. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  180. package/es5/components/VSpeedDial/VSpeedDial.js +13 -17
  181. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  182. package/es5/components/VStepper/VStepper.js +1 -0
  183. package/es5/components/VStepper/VStepper.js.map +1 -1
  184. package/es5/components/VStepper/VStepperContent.js +4 -2
  185. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  186. package/es5/components/VStepper/VStepperStep.js +12 -20
  187. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  188. package/es5/components/VSubheader/VSubheader.js +2 -2
  189. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  190. package/es5/components/VSwitch/VSwitch.js +11 -9
  191. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  192. package/es5/components/VTabs/VTab.js +1 -0
  193. package/es5/components/VTabs/VTab.js.map +1 -1
  194. package/es5/components/VTabs/VTabs.js +62 -23
  195. package/es5/components/VTabs/VTabs.js.map +1 -1
  196. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  197. package/es5/components/VTabs/VTabsItems.js +1 -0
  198. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  199. package/es5/components/VTextField/VTextField.js +39 -28
  200. package/es5/components/VTextField/VTextField.js.map +1 -1
  201. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  202. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  203. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  204. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  205. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  206. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  207. package/es5/components/VToolbar/VToolbar.js +3 -6
  208. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  209. package/es5/components/VTooltip/VTooltip.js +13 -12
  210. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  211. package/es5/components/VTreeview/VTreeview.js +24 -18
  212. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  213. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  214. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  215. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  216. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  217. package/es5/components/VWindow/VWindow.js +13 -8
  218. package/es5/components/VWindow/VWindow.js.map +1 -1
  219. package/es5/components/VWindow/VWindowItem.js +10 -10
  220. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  221. package/es5/components/transitions/createTransition.js +8 -2
  222. package/es5/components/transitions/createTransition.js.map +1 -1
  223. package/es5/components/transitions/expand-transition.js +1 -0
  224. package/es5/components/transitions/expand-transition.js.map +1 -1
  225. package/es5/directives/intersect/index.js +20 -7
  226. package/es5/directives/intersect/index.js.map +1 -1
  227. package/es5/directives/mutate/index.js +13 -13
  228. package/es5/directives/mutate/index.js.map +1 -1
  229. package/es5/directives/resize/index.js +8 -8
  230. package/es5/directives/resize/index.js.map +1 -1
  231. package/es5/directives/scroll/index.js +10 -9
  232. package/es5/directives/scroll/index.js.map +1 -1
  233. package/es5/directives/touch/index.js +4 -4
  234. package/es5/directives/touch/index.js.map +1 -1
  235. package/es5/framework.js +1 -1
  236. package/es5/install.js +10 -33
  237. package/es5/install.js.map +1 -1
  238. package/es5/mixins/activatable/index.js +11 -5
  239. package/es5/mixins/activatable/index.js.map +1 -1
  240. package/es5/mixins/applicationable/index.js +4 -4
  241. package/es5/mixins/applicationable/index.js.map +1 -1
  242. package/es5/mixins/binds-attrs/index.js +1 -1
  243. package/es5/mixins/binds-attrs/index.js.map +1 -1
  244. package/es5/mixins/bootable/index.js +1 -2
  245. package/es5/mixins/bootable/index.js.map +1 -1
  246. package/es5/mixins/detachable/index.js +12 -9
  247. package/es5/mixins/detachable/index.js.map +1 -1
  248. package/es5/mixins/groupable/index.js +1 -1
  249. package/es5/mixins/groupable/index.js.map +1 -1
  250. package/es5/mixins/intersectable/index.js +2 -2
  251. package/es5/mixins/intersectable/index.js.map +1 -1
  252. package/es5/mixins/menuable/index.js +1 -1
  253. package/es5/mixins/menuable/index.js.map +1 -1
  254. package/es5/mixins/mouse/index.js +10 -5
  255. package/es5/mixins/mouse/index.js.map +1 -1
  256. package/es5/mixins/overlayable/index.js +5 -3
  257. package/es5/mixins/overlayable/index.js.map +1 -1
  258. package/es5/mixins/picker/index.js +13 -3
  259. package/es5/mixins/picker/index.js.map +1 -1
  260. package/es5/mixins/routable/index.js +5 -2
  261. package/es5/mixins/routable/index.js.map +1 -1
  262. package/es5/mixins/selectable/index.js +5 -5
  263. package/es5/mixins/selectable/index.js.map +1 -1
  264. package/es5/mixins/translatable/index.js +1 -1
  265. package/es5/mixins/translatable/index.js.map +1 -1
  266. package/es5/mixins/validatable/index.js +34 -7
  267. package/es5/mixins/validatable/index.js.map +1 -1
  268. package/es5/services/breakpoint/index.js +3 -1
  269. package/es5/services/breakpoint/index.js.map +1 -1
  270. package/es5/util/console.js +49 -18
  271. package/es5/util/console.js.map +1 -1
  272. package/es5/util/helpers.js +49 -1
  273. package/es5/util/helpers.js.map +1 -1
  274. package/es5/util/legacyEventsMixin.js +48 -0
  275. package/es5/util/legacyEventsMixin.js.map +1 -0
  276. package/lib/components/VAlert/VAlert.js +13 -7
  277. package/lib/components/VAlert/VAlert.js.map +1 -1
  278. package/lib/components/VAppBar/VAppBar.js +23 -16
  279. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  280. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  281. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  282. package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
  283. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  284. package/lib/components/VBadge/VBadge.js +26 -13
  285. package/lib/components/VBadge/VBadge.js.map +1 -1
  286. package/lib/components/VBanner/VBanner.js +20 -13
  287. package/lib/components/VBanner/VBanner.js.map +1 -1
  288. package/lib/components/VBottomNavigation/VBottomNavigation.js +15 -7
  289. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  290. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  291. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  292. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  293. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  294. package/lib/components/VBtn/VBtn.js +21 -20
  295. package/lib/components/VBtn/VBtn.js.map +1 -1
  296. package/lib/components/VCalendar/VCalendar.js +26 -31
  297. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  298. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  299. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  300. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  301. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  302. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  303. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  304. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  305. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  306. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  307. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  308. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  309. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  310. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  311. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  312. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  313. package/lib/components/VCarousel/VCarousel.js +36 -16
  314. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  315. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  316. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  317. package/lib/components/VCheckbox/VCheckbox.js +15 -2
  318. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  319. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  320. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  321. package/lib/components/VChip/VChip.js +15 -6
  322. package/lib/components/VChip/VChip.js.map +1 -1
  323. package/lib/components/VColorPicker/VColorPicker.js +47 -44
  324. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  325. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  326. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  327. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  328. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  329. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  330. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  331. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  332. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  333. package/lib/components/VCombobox/VCombobox.js +1 -0
  334. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  335. package/lib/components/VData/VData.js +16 -2
  336. package/lib/components/VData/VData.js.map +1 -1
  337. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  338. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  339. package/lib/components/VDataIterator/VDataIterator.js +31 -34
  340. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  341. package/lib/components/VDataTable/RowGroup.js +30 -14
  342. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  343. package/lib/components/VDataTable/VDataTable.js +20 -33
  344. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  345. package/lib/components/VDataTable/VDataTableHeader.js +7 -9
  346. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  347. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  348. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  349. package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
  350. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  351. package/lib/components/VDataTable/VEditDialog.js +18 -18
  352. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  353. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  354. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  355. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  356. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  357. package/lib/components/VDataTable/mixins/header.js +3 -8
  358. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  359. package/lib/components/VDatePicker/VDatePicker.js +24 -23
  360. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  361. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  362. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  363. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  364. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  365. package/lib/components/VDatePicker/VDatePickerTitle.js +17 -5
  366. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  367. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  368. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  369. package/lib/components/VDatePicker/mixins/date-picker-table.js +30 -15
  370. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  371. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  372. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  373. package/lib/components/VDialog/VDialog.js +12 -4
  374. package/lib/components/VDialog/VDialog.js.map +1 -1
  375. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  376. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  377. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  378. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  379. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  380. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  381. package/lib/components/VFileInput/VFileInput.js +43 -25
  382. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  383. package/lib/components/VForm/VForm.js +41 -26
  384. package/lib/components/VForm/VForm.js.map +1 -1
  385. package/lib/components/VGrid/VCol.js +3 -3
  386. package/lib/components/VGrid/VCol.js.map +1 -1
  387. package/lib/components/VGrid/VContainer.js +3 -1
  388. package/lib/components/VGrid/VContainer.js.map +1 -1
  389. package/lib/components/VHover/VHover.js +1 -0
  390. package/lib/components/VHover/VHover.js.map +1 -1
  391. package/lib/components/VImg/VImg.js +5 -9
  392. package/lib/components/VImg/VImg.js.map +1 -1
  393. package/lib/components/VInput/VInput.js +32 -9
  394. package/lib/components/VInput/VInput.js.map +1 -1
  395. package/lib/components/VItemGroup/VItem.js +25 -21
  396. package/lib/components/VItemGroup/VItem.js.map +1 -1
  397. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  398. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  399. package/lib/components/VLazy/VLazy.js +8 -15
  400. package/lib/components/VLazy/VLazy.js.map +1 -1
  401. package/lib/components/VList/VList.js +1 -1
  402. package/lib/components/VList/VList.js.map +1 -1
  403. package/lib/components/VList/VListGroup.js +34 -32
  404. package/lib/components/VList/VListGroup.js.map +1 -1
  405. package/lib/components/VList/VListItem.js +40 -18
  406. package/lib/components/VList/VListItem.js.map +1 -1
  407. package/lib/components/VList/VListItemAction.js +15 -9
  408. package/lib/components/VList/VListItemAction.js.map +1 -1
  409. package/lib/components/VMenu/VMenu.js +16 -4
  410. package/lib/components/VMenu/VMenu.js.map +1 -1
  411. package/lib/components/VMessages/VMessages.js +13 -2
  412. package/lib/components/VMessages/VMessages.js.map +1 -1
  413. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +12 -8
  414. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  415. package/lib/components/VOtpInput/VOtpInput.js +50 -6
  416. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  417. package/lib/components/VOverflowBtn/VOverflowBtn.js +2 -1
  418. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  419. package/lib/components/VOverlay/VOverlay.js +14 -3
  420. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  421. package/lib/components/VPagination/VPagination.js +28 -23
  422. package/lib/components/VPagination/VPagination.js.map +1 -1
  423. package/lib/components/VPicker/VPicker.js +4 -4
  424. package/lib/components/VPicker/VPicker.js.map +1 -1
  425. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  426. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  427. package/lib/components/VProgressLinear/VProgressLinear.js +46 -19
  428. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  429. package/lib/components/VRadioGroup/VRadio.js +3 -2
  430. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  431. package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
  432. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  433. package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
  434. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  435. package/lib/components/VRating/VRating.js +11 -0
  436. package/lib/components/VRating/VRating.js.map +1 -1
  437. package/lib/components/VSelect/VSelect.js +99 -40
  438. package/lib/components/VSelect/VSelect.js.map +1 -1
  439. package/lib/components/VSelect/VSelectList.js +54 -29
  440. package/lib/components/VSelect/VSelectList.js.map +1 -1
  441. package/lib/components/VSlideGroup/VSlideGroup.js +4 -7
  442. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  443. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  444. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  445. package/lib/components/VSlider/VSlider.js +37 -25
  446. package/lib/components/VSlider/VSlider.js.map +1 -1
  447. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  448. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  449. package/lib/components/VSparkline/VSparkline.js +48 -67
  450. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  451. package/lib/components/VSpeedDial/VSpeedDial.js +9 -15
  452. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  453. package/lib/components/VStepper/VStepper.js +1 -0
  454. package/lib/components/VStepper/VStepper.js.map +1 -1
  455. package/lib/components/VStepper/VStepperContent.js +2 -2
  456. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  457. package/lib/components/VStepper/VStepperStep.js +8 -19
  458. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  459. package/lib/components/VSubheader/VSubheader.js +1 -2
  460. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  461. package/lib/components/VSwitch/VSwitch.js +2 -4
  462. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  463. package/lib/components/VTabs/VTab.js +1 -0
  464. package/lib/components/VTabs/VTab.js.map +1 -1
  465. package/lib/components/VTabs/VTabs.js +28 -7
  466. package/lib/components/VTabs/VTabs.js.map +1 -1
  467. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  468. package/lib/components/VTabs/VTabsItems.js +1 -0
  469. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  470. package/lib/components/VTextField/VTextField.js +12 -18
  471. package/lib/components/VTextField/VTextField.js.map +1 -1
  472. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  473. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  474. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  475. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  476. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  477. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  478. package/lib/components/VToolbar/VToolbar.js +5 -6
  479. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  480. package/lib/components/VTooltip/VTooltip.js +10 -14
  481. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  482. package/lib/components/VTreeview/VTreeview.js +15 -13
  483. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  484. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  485. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  486. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  487. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  488. package/lib/components/VWindow/VWindow.js +7 -6
  489. package/lib/components/VWindow/VWindow.js.map +1 -1
  490. package/lib/components/VWindow/VWindowItem.js +5 -7
  491. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  492. package/lib/components/transitions/createTransition.js +2 -2
  493. package/lib/components/transitions/createTransition.js.map +1 -1
  494. package/lib/components/transitions/expand-transition.js +1 -0
  495. package/lib/components/transitions/expand-transition.js.map +1 -1
  496. package/lib/directives/intersect/index.js +20 -7
  497. package/lib/directives/intersect/index.js.map +1 -1
  498. package/lib/directives/mutate/index.js +13 -13
  499. package/lib/directives/mutate/index.js.map +1 -1
  500. package/lib/directives/resize/index.js +8 -8
  501. package/lib/directives/resize/index.js.map +1 -1
  502. package/lib/directives/scroll/index.js +10 -9
  503. package/lib/directives/scroll/index.js.map +1 -1
  504. package/lib/directives/touch/index.js +4 -4
  505. package/lib/directives/touch/index.js.map +1 -1
  506. package/lib/framework.js +1 -1
  507. package/lib/install.js +5 -28
  508. package/lib/install.js.map +1 -1
  509. package/lib/mixins/activatable/index.js +12 -6
  510. package/lib/mixins/activatable/index.js.map +1 -1
  511. package/lib/mixins/applicationable/index.js +4 -4
  512. package/lib/mixins/applicationable/index.js.map +1 -1
  513. package/lib/mixins/binds-attrs/index.js +1 -1
  514. package/lib/mixins/binds-attrs/index.js.map +1 -1
  515. package/lib/mixins/bootable/index.js +2 -4
  516. package/lib/mixins/bootable/index.js.map +1 -1
  517. package/lib/mixins/detachable/index.js +13 -10
  518. package/lib/mixins/detachable/index.js.map +1 -1
  519. package/lib/mixins/groupable/index.js +1 -1
  520. package/lib/mixins/groupable/index.js.map +1 -1
  521. package/lib/mixins/intersectable/index.js +2 -2
  522. package/lib/mixins/intersectable/index.js.map +1 -1
  523. package/lib/mixins/menuable/index.js +1 -1
  524. package/lib/mixins/menuable/index.js.map +1 -1
  525. package/lib/mixins/mouse/index.js +9 -5
  526. package/lib/mixins/mouse/index.js.map +1 -1
  527. package/lib/mixins/overlayable/index.js +5 -3
  528. package/lib/mixins/overlayable/index.js.map +1 -1
  529. package/lib/mixins/picker/index.js +5 -3
  530. package/lib/mixins/picker/index.js.map +1 -1
  531. package/lib/mixins/routable/index.js +5 -2
  532. package/lib/mixins/routable/index.js.map +1 -1
  533. package/lib/mixins/selectable/index.js +6 -5
  534. package/lib/mixins/selectable/index.js.map +1 -1
  535. package/lib/mixins/translatable/index.js +1 -1
  536. package/lib/mixins/translatable/index.js.map +1 -1
  537. package/lib/mixins/validatable/index.js +17 -7
  538. package/lib/mixins/validatable/index.js.map +1 -1
  539. package/lib/services/breakpoint/index.js +3 -1
  540. package/lib/services/breakpoint/index.js.map +1 -1
  541. package/lib/util/console.js +47 -17
  542. package/lib/util/console.js.map +1 -1
  543. package/lib/util/helpers.js +47 -1
  544. package/lib/util/helpers.js.map +1 -1
  545. package/lib/util/legacyEventsMixin.js +37 -0
  546. package/lib/util/legacyEventsMixin.js.map +1 -0
  547. package/package.json +1 -1
  548. package/src/components/VAlert/VAlert.ts +19 -8
  549. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  550. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
  551. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  552. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  553. package/src/components/VAppBar/VAppBar.ts +21 -14
  554. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  555. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  556. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  557. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  558. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  559. package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
  560. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
  561. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
  562. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
  563. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  564. package/src/components/VBadge/VBadge.ts +38 -26
  565. package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
  566. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  567. package/src/components/VBanner/VBanner.ts +30 -17
  568. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  569. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  570. package/src/components/VBottomNavigation/VBottomNavigation.ts +20 -8
  571. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
  572. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +11 -10
  573. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
  574. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
  575. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
  576. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
  577. package/src/components/VBtn/VBtn.ts +25 -17
  578. package/src/components/VBtn/__tests__/VBtn.spec.ts +257 -242
  579. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  580. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
  581. package/src/components/VCalendar/VCalendar.ts +29 -27
  582. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  583. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  584. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  585. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  586. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  587. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  588. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  589. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  590. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  591. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  592. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  593. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  594. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  595. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  596. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  597. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  598. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  599. package/src/components/VCalendar/mixins/times.ts +1 -1
  600. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  601. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  602. package/src/components/VCarousel/VCarousel.ts +42 -15
  603. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  604. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
  605. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
  606. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  607. package/src/components/VCheckbox/VCheckbox.ts +20 -2
  608. package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
  609. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  610. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  611. package/src/components/VChip/VChip.ts +17 -13
  612. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  613. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  614. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  615. package/src/components/VColorPicker/VColorPicker.ts +51 -41
  616. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  617. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  618. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  619. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  620. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  621. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  622. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  623. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  624. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +218 -175
  625. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +38 -21
  626. package/src/components/VCombobox/VCombobox.ts +23 -0
  627. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
  628. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
  629. package/src/components/VData/VData.ts +14 -1
  630. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  631. package/src/components/VDataIterator/VDataFooter.ts +16 -9
  632. package/src/components/VDataIterator/VDataIterator.ts +51 -35
  633. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  634. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  635. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
  636. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
  637. package/src/components/VDataTable/RowGroup.ts +33 -16
  638. package/src/components/VDataTable/VDataTable.ts +20 -29
  639. package/src/components/VDataTable/VDataTableHeader.ts +8 -9
  640. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
  641. package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
  642. package/src/components/VDataTable/VEditDialog.ts +23 -21
  643. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  644. package/src/components/VDataTable/VVirtualTable.ts +2 -3
  645. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  646. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  647. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  648. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
  649. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
  650. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +33 -24
  651. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
  652. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  653. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  654. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
  655. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
  656. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  657. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  658. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +10 -13
  659. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
  660. package/src/components/VDataTable/mixins/header.ts +6 -10
  661. package/src/components/VDatePicker/VDatePicker.ts +30 -25
  662. package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
  663. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  664. package/src/components/VDatePicker/VDatePickerTitle.ts +21 -7
  665. package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
  666. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  667. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  668. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  669. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  670. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  671. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  672. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  673. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  674. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  675. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  676. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  677. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  678. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  679. package/src/components/VDatePicker/mixins/date-picker-table.ts +32 -14
  680. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  681. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  682. package/src/components/VDialog/VDialog.ts +23 -11
  683. package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
  684. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  685. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  686. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  687. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  688. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +2 -2
  689. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +3 -4
  690. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +43 -27
  691. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +18 -16
  692. package/src/components/VFileInput/VFileInput.ts +47 -32
  693. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
  694. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  695. package/src/components/VForm/VForm.ts +63 -35
  696. package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
  697. package/src/components/VGrid/VCol.ts +2 -2
  698. package/src/components/VGrid/VContainer.ts +1 -1
  699. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  700. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  701. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  702. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  703. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  704. package/src/components/VHover/VHover.ts +2 -0
  705. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  706. package/src/components/VImg/VImg.ts +5 -4
  707. package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
  708. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  709. package/src/components/VInput/VInput.ts +33 -8
  710. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  711. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  712. package/src/components/VItemGroup/VItem.ts +30 -24
  713. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  714. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  715. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  716. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  717. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  718. package/src/components/VLazy/VLazy.ts +11 -13
  719. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  720. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  721. package/src/components/VList/VList.ts +1 -1
  722. package/src/components/VList/VListGroup.ts +43 -32
  723. package/src/components/VList/VListItem.ts +55 -23
  724. package/src/components/VList/VListItemAction.ts +11 -10
  725. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  726. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  727. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  728. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  729. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  730. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  731. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  732. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  733. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  734. package/src/components/VMenu/VMenu.ts +25 -4
  735. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  736. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  737. package/src/components/VMessages/VMessages.ts +15 -4
  738. package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
  739. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  740. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +23 -16
  741. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
  742. package/src/components/VOtpInput/VOtpInput.ts +39 -4
  743. package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
  744. package/src/components/VOverlay/VOverlay.ts +16 -2
  745. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  746. package/src/components/VPagination/VPagination.ts +41 -29
  747. package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
  748. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +184 -429
  749. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  750. package/src/components/VPicker/VPicker.ts +9 -11
  751. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  752. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  753. package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
  754. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  755. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  756. package/src/components/VProgressLinear/VProgressLinear.ts +64 -30
  757. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +378 -71
  758. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  759. package/src/components/VRadioGroup/VRadio.ts +4 -2
  760. package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
  761. package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
  762. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
  763. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  764. package/src/components/VRating/VRating.ts +13 -0
  765. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  766. package/src/components/VSelect/VSelect.ts +105 -47
  767. package/src/components/VSelect/VSelectList.ts +51 -25
  768. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  769. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  770. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  771. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  772. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  773. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  774. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  775. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  776. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  777. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  778. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  779. package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
  780. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  781. package/src/components/VSlider/VSlider.ts +58 -32
  782. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  783. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  784. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  785. package/src/components/VSparkline/VSparkline.ts +54 -92
  786. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  787. package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
  788. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  789. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  790. package/src/components/VStepper/VStepper.ts +3 -1
  791. package/src/components/VStepper/VStepperContent.ts +2 -2
  792. package/src/components/VStepper/VStepperStep.ts +9 -16
  793. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  794. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  795. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  796. package/src/components/VSubheader/VSubheader.ts +1 -1
  797. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
  798. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  799. package/src/components/VSwitch/VSwitch.ts +5 -6
  800. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  801. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
  802. package/src/components/VTabs/VTab.ts +2 -0
  803. package/src/components/VTabs/VTabs.ts +33 -13
  804. package/src/components/VTabs/VTabsBar.ts +7 -5
  805. package/src/components/VTabs/VTabsItems.ts +2 -0
  806. package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
  807. package/src/components/VTabs/__tests__/VTabs.spec.ts +127 -79
  808. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
  809. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  810. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  811. package/src/components/VTextField/VTextField.ts +14 -16
  812. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  813. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  814. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  815. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  816. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  817. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  818. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  819. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  820. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  821. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
  822. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +4 -5
  823. package/src/components/VToolbar/VToolbar.ts +5 -6
  824. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  825. package/src/components/VTooltip/VTooltip.ts +24 -24
  826. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +60 -75
  827. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  828. package/src/components/VTreeview/VTreeview.ts +20 -17
  829. package/src/components/VTreeview/VTreeviewNode.ts +4 -6
  830. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
  831. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +77 -66
  832. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
  833. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +26 -51
  834. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
  835. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
  836. package/src/components/VWindow/VWindow.ts +9 -6
  837. package/src/components/VWindow/VWindowItem.ts +5 -4
  838. package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
  839. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
  840. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  841. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  842. package/src/components/transitions/createTransition.ts +2 -2
  843. package/src/components/transitions/expand-transition.ts +2 -0
  844. package/src/directives/intersect/index.ts +81 -42
  845. package/src/directives/mutate/index.ts +58 -49
  846. package/src/directives/resize/index.ts +33 -14
  847. package/src/directives/scroll/index.ts +36 -20
  848. package/src/directives/touch/index.ts +37 -27
  849. package/src/install.ts +10 -32
  850. package/src/mixins/activatable/index.ts +10 -5
  851. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  852. package/src/mixins/applicationable/index.ts +4 -4
  853. package/src/mixins/binds-attrs/index.ts +1 -1
  854. package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
  855. package/src/mixins/bootable/index.ts +4 -3
  856. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  857. package/src/mixins/detachable/index.ts +16 -9
  858. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  859. package/src/mixins/groupable/index.ts +1 -1
  860. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  861. package/src/mixins/intersectable/index.ts +2 -2
  862. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  863. package/src/mixins/menuable/index.ts +1 -1
  864. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  865. package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
  866. package/src/mixins/mouse/index.ts +10 -6
  867. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  868. package/src/mixins/overlayable/index.ts +5 -4
  869. package/src/mixins/picker/index.ts +4 -4
  870. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  871. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  872. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  873. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  874. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  875. package/src/mixins/routable/index.ts +6 -4
  876. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  877. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  878. package/src/mixins/selectable/index.ts +7 -7
  879. package/src/mixins/translatable/index.ts +1 -1
  880. package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
  881. package/src/mixins/validatable/index.ts +29 -21
  882. package/src/services/breakpoint/index.ts +5 -0
  883. package/src/util/__tests__/console.spec.ts +124 -11
  884. package/src/util/__tests__/helpers.spec.ts +121 -32
  885. package/src/util/console.ts +43 -24
  886. package/src/util/helpers.ts +49 -4
  887. package/src/util/legacyEventsMixin.ts +34 -0
@@ -6,16 +6,13 @@ import VIcon from '../VIcon'; // Mixins
6
6
  import Colorable from '../../mixins/colorable';
7
7
  import { inject as RegistrableInject } from '../../mixins/registrable'; // Directives
8
8
 
9
- import ripple, { Ripple } from '../../directives/ripple'; // Utilities
9
+ import { Ripple } from '../../directives/ripple'; // Utilities
10
10
 
11
11
  import { getSlot } from '../../util/helpers';
12
12
  import mixins from '../../util/mixins';
13
13
  const baseMixins = mixins(Colorable, RegistrableInject('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel'));
14
14
  export default baseMixins.extend({
15
15
  name: 'v-expansion-panel-header',
16
- directives: {
17
- ripple
18
- },
19
16
  props: {
20
17
  disableIconRotate: Boolean,
21
18
  expandIcon: {
@@ -57,7 +54,7 @@ export default baseMixins.extend({
57
54
  this.expansionPanel.registerHeader(this);
58
55
  },
59
56
 
60
- beforeDestroy() {
57
+ beforeUnmount() {
61
58
  this.expansionPanel.unregisterHeader();
62
59
  },
63
60
 
@@ -70,8 +67,8 @@ export default baseMixins.extend({
70
67
  genIcon() {
71
68
  const icon = getSlot(this, 'actions', {
72
69
  open: this.isActive
73
- }) || [h(VIcon, this.expandIcon)];
74
- return h(VFadeTransition, [withDirectives(h('div', {
70
+ }) || [h(VIcon, {}, () => this.expandIcon)];
71
+ return h(VFadeTransition, {}, () => [withDirectives(h('div', {
75
72
  class: ['v-expansion-panel-header__icon', {
76
73
  'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate
77
74
  }]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n this.$emitLegacy('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [h(VIcon, this.expandIcon)]\n\n return h(VFadeTransition, [\n withDirectives(h('div', {\n class: ['v-expansion-panel-header__icon', {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n }]\n }, icon), [\n [\n vShow,\n !this.isDisabled\n ]\n ]),\n ])\n },\n },\n\n render (): VNode {\n const directives = [\n [\n Ripple,\n this.ripple\n ]\n ]\n\n return withDirectives(h('button', this.setBackgroundColor(this.color, {\n class: ['v-expansion-panel-header', this.classes],\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n ...this.$listeners,\n onClick: this.onClick,\n onMousedown: () => (this.hasMousedown = true),\n onMouseup: () => (this.hasMousedown = false)\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend({\n name: 'v-expansion-panel-header',\n\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeUnmount () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n this.$emitLegacy('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [h(VIcon, {}, () => this.expandIcon)]\n\n return h(VFadeTransition, {}, () => [\n withDirectives(h('div', {\n class: ['v-expansion-panel-header__icon', {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n }]\n }, icon), [\n [\n vShow,\n !this.isDisabled\n ]\n ]),\n ])\n },\n },\n\n render (): VNode {\n const directives = [\n [\n Ripple,\n this.ripple\n ]\n ]\n\n return withDirectives(h('button', this.setBackgroundColor(this.color, {\n class: ['v-expansion-panel-header', this.classes],\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n ...this.$listeners,\n onClick: this.onClick,\n onMousedown: () => (this.hasMousedown = true),\n onMouseup: () => (this.hasMousedown = false)\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
@@ -64,6 +64,7 @@ export default defineComponent({
64
64
  }
65
65
  }
66
66
  },
67
+ emits: ['change', 'keydown', 'click:prepend'],
67
68
  computed: {
68
69
  classes() {
69
70
  return { ...VTextField.computed.classes.call(this),
@@ -83,7 +84,7 @@ export default defineComponent({
83
84
  },
84
85
 
85
86
  internalArrayValue() {
86
- return wrapInArray(this.internalValue);
87
+ return wrapInArray(this.internalValue).filter(v => v instanceof File);
87
88
  },
88
89
 
89
90
  internalValue: {
@@ -172,27 +173,45 @@ export default defineComponent({
172
173
  const render = VTextField.methods.genControl.call(this);
173
174
 
174
175
  if (this.hideInput) {
175
- render.style = mergeStyles(render.style, {
176
- display: 'none'
177
- });
176
+ if (render.props) {
177
+ render.props.style = mergeStyles(render.props.style, {
178
+ display: 'none'
179
+ });
180
+ } else {
181
+ render.props = {
182
+ style: {
183
+ display: 'none'
184
+ }
185
+ };
186
+ }
178
187
  }
179
188
 
180
189
  return render;
181
190
  },
182
191
 
183
192
  genInput() {
184
- const input = VTextField.methods.genInput.call(this);
185
- input.multiple = this.multiple; // We should not be setting value
186
- // programmatically on the input
187
- // when it is using type="file"
188
-
189
- delete input.value; // This solves an issue in Safari where
190
- // nothing happens when adding a file
191
- // due to the input event not firing
192
- // https://github.com/vuetifyjs/vuetify/issues/7941
193
-
194
- delete input.onInput;
195
- input.onChange = this.onInput;
193
+ // Create input without calling VTextField.genInput to avoid value setting
194
+ const listeners = Object.assign({}, this.listeners$);
195
+ delete listeners.change; // Change should not be bound externally
196
+
197
+ const {
198
+ title,
199
+ value,
200
+ ...inputAttrs
201
+ } = this.attrs$;
202
+ const input = h('input', { ...inputAttrs,
203
+ autofocus: this.autofocus,
204
+ disabled: this.isDisabled,
205
+ id: this.computedId,
206
+ placeholder: this.placeholder,
207
+ readonly: this.isReadonly,
208
+ type: this.type,
209
+ multiple: this.multiple,
210
+ ...listeners,
211
+ onChange: this.onInput,
212
+ onKeyDown: this.onKeyDown,
213
+ ref: 'input'
214
+ });
196
215
  return [this.genSelections(), input];
197
216
  },
198
217
 
@@ -236,15 +255,14 @@ export default defineComponent({
236
255
  },
237
256
 
238
257
  genTextFieldSlot() {
239
- const node = VTextField.methods.genTextFieldSlot.call(this);
240
-
241
- node.onClick = e => {
242
- // Clicking the label already delegates to input element, so we shouldn't click it twice
243
- if (e.target && e.target.nodeName === 'LABEL') return;
244
- this.$refs.input.click();
245
- };
246
-
247
- return node;
258
+ return h('div', {
259
+ class: 'v-text-field__slot',
260
+ onClick: e => {
261
+ // Clicking the label already delegates to input element, so we shouldn't click it twice
262
+ if (e.target && e.target.nodeName === 'LABEL') return;
263
+ this.$refs.input.click();
264
+ }
265
+ }, [this.genLabel(), this.prefix ? this.genAffix('prefix') : null, this.genInput(), this.suffix ? this.genAffix('suffix') : null]);
248
266
  },
249
267
 
250
268
  onInput(e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\nimport { defineComponent, h } from 'vue'\n\nexport default defineComponent({\n name: 'v-file-input',\n extends: VTextField,\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n multiple: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.multiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n text (): string[] {\n if (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.multiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.multiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => h(VChip, {\n small: this.smallChips,\n 'onClick:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n }\n }, [text]))\n },\n genControl () {\n const render = VTextField.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.style = mergeStyles(\n render.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.methods.genInput.call(this)\n\n input.multiple = this.multiple\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // due to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.onInput\n input.onChange = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$slots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$slots.selection) return\n\n children.push(\n this.$slots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return h('div', {\n class: ['v-file-input__text', {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$slots.selection,\n }]\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.methods.genTextFieldSlot.call(this)\n\n node.onClick = (e: MouseEvent) => {\n // Clicking the label already delegates to input element, so we shouldn't click it twice\n if (e.target && (e.target as HTMLElement).nodeName === 'LABEL') return\n\n this.$refs.input.click()\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.multiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
1
+ {"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\nimport { defineComponent, h } from 'vue'\n\nexport default defineComponent({\n name: 'v-file-input',\n extends: VTextField,\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n multiple: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n emits: ['change', 'keydown', 'click:prepend'],\n\n computed: {\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.multiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue).filter((v: any) => v instanceof File)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n text (): string[] {\n if (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.multiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.multiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => h(VChip, {\n small: this.smallChips,\n 'onClick:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.methods.genControl.call(this)\n\n if (this.hideInput) {\n if (render.props) {\n render.props.style = mergeStyles(render.props.style, {\n display: 'none',\n })\n } else {\n render.props = {\n style: { display: 'none' },\n }\n }\n }\n\n return render\n },\n genInput () {\n // Create input without calling VTextField.genInput to avoid value setting\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, value, ...inputAttrs } = this.attrs$\n\n const input = h('input', {\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.placeholder,\n readonly: this.isReadonly,\n type: this.type,\n multiple: this.multiple,\n ...listeners,\n onChange: this.onInput,\n onKeyDown: this.onKeyDown,\n ref: 'input',\n })\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$slots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$slots.selection) return\n\n children.push(\n this.$slots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return h('div', {\n class: ['v-file-input__text', {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$slots.selection,\n }],\n }, children)\n },\n genTextFieldSlot () {\n return h('div', {\n class: 'v-text-field__slot',\n onClick: (e: MouseEvent) => {\n // Clicking the label already delegates to input element, so we shouldn't click it twice\n if (e.target && (e.target as HTMLElement).nodeName === 'LABEL') return\n\n this.$refs.input.click()\n },\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.multiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
@@ -2,7 +2,8 @@ import { h } from 'vue'; // Mixins
2
2
 
3
3
  import mixins from '../../util/mixins';
4
4
  import BindsAttrs from '../../mixins/binds-attrs';
5
- import { provide as RegistrableProvide } from '../../mixins/registrable';
5
+ import { provide as RegistrableProvide } from '../../mixins/registrable'; // Helpers
6
+
6
7
  import { getSlot } from '../../util/helpers';
7
8
  /* @vue/component */
8
9
 
@@ -24,6 +25,7 @@ export default mixins(BindsAttrs, RegistrableProvide('form')
24
25
  readonly: Boolean,
25
26
  value: Boolean
26
27
  },
28
+ emits: ['input', 'update:modelValue', 'submit'],
27
29
  data: () => ({
28
30
  inputs: [],
29
31
  watchers: [],
@@ -34,6 +36,7 @@ export default mixins(BindsAttrs, RegistrableProvide('form')
34
36
  handler(val) {
35
37
  const errors = Object.values(val).includes(true);
36
38
  this.$emit('input', !errors);
39
+ this.$emit('update:modelValue', !errors);
37
40
  },
38
41
 
39
42
  deep: true,
@@ -41,31 +44,42 @@ export default mixins(BindsAttrs, RegistrableProvide('form')
41
44
  }
42
45
  },
43
46
  methods: {
47
+ getInputUid(input) {
48
+ return input.$.uid;
49
+ },
50
+
44
51
  watchInput(input) {
45
- const watcher = input => {
46
- return input.$watch('hasError', val => {
47
- this.errorBag[input._uid] = val;
48
- }, {
49
- immediate: true
50
- });
52
+ const inputId = this.getInputUid(input);
53
+
54
+ const createErrorWatcher = inputComponent => {
55
+ if (typeof inputComponent.$watch === 'function') {
56
+ return inputComponent.$watch('hasError', hasError => {
57
+ this.errorBag[inputId] = hasError;
58
+ }, {
59
+ immediate: true
60
+ });
61
+ } else {
62
+ // Fallback для Vue 3
63
+ return () => {};
64
+ }
51
65
  };
52
66
 
53
67
  const watchers = {
54
- _uid: input._uid,
68
+ _uid: inputId,
55
69
  valid: () => {},
56
70
  shouldValidate: () => {}
57
71
  };
58
72
 
59
73
  if (this.lazyValidation) {
60
- // Only start watching inputs if we need to
61
- watchers.shouldValidate = input.$watch('shouldValidate', val => {
62
- if (!val) return; // Only watch if we're not already doing it
63
-
64
- if (this.errorBag.hasOwnProperty(input._uid)) return;
65
- watchers.valid = watcher(input);
66
- });
74
+ if (typeof input.$watch === 'function') {
75
+ watchers.shouldValidate = input.$watch('shouldValidate', shouldValidate => {
76
+ if (!shouldValidate) return;
77
+ if (this.errorBag.hasOwnProperty(inputId)) return;
78
+ watchers.valid = createErrorWatcher(input);
79
+ });
80
+ }
67
81
  } else {
68
- watchers.valid = watcher(input);
82
+ watchers.valid = createErrorWatcher(input);
69
83
  }
70
84
 
71
85
  return watchers;
@@ -103,18 +117,19 @@ export default mixins(BindsAttrs, RegistrableProvide('form')
103
117
  },
104
118
 
105
119
  unregister(input) {
106
- const found = this.inputs.find(i => i._uid === input._uid);
107
- if (!found) return;
108
- const unwatch = this.watchers.find(i => i._uid === found._uid);
109
-
110
- if (unwatch) {
111
- unwatch.valid();
112
- unwatch.shouldValidate();
120
+ const inputId = this.getInputUid(input);
121
+ const foundInput = this.inputs.find(inputComponent => this.getInputUid(inputComponent) === inputId);
122
+ if (!foundInput) return;
123
+ const inputWatcher = this.watchers.find(watcher => watcher._uid === inputId);
124
+
125
+ if (inputWatcher) {
126
+ inputWatcher.valid();
127
+ inputWatcher.shouldValidate();
113
128
  }
114
129
 
115
- this.watchers = this.watchers.filter(i => i._uid !== found._uid);
116
- this.inputs = this.inputs.filter(i => i._uid !== found._uid);
117
- this.$delete(this.errorBag, found._uid);
130
+ this.watchers = this.watchers.filter(watcher => watcher._uid !== inputId);
131
+ this.inputs = this.inputs.filter(inputComponent => this.getInputUid(inputComponent) !== inputId);
132
+ delete this.errorBag[inputId];
118
133
  }
119
134
 
120
135
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VForm/VForm.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.errorBag[input._uid] = val\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (): VNode {\n return h('form', {\n class: 'v-form',\n novalidate: true,\n ...this.attrs$,\n onSubmit: (e: Event) => this.$emit('submit', e),\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VForm.js"}
1
+ {"version":3,"sources":["../../../src/components/VForm/VForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode } from 'vue'\n// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\ninterface VFormContext {\n inputs: VInputInstance[]\n watchers: Watchers[]\n errorBag: ErrorBag\n lazyValidation: boolean\n $emit: (event: string, ...args: any[]) => void\n getInputUid: (input: VInputInstance) => number\n watchInput: (input: VInputInstance) => Watchers\n resetErrorBag: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n emits: ['input', 'update:modelValue', 'submit'],\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (this: VFormContext, val: ErrorBag) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n this.$emit('update:modelValue', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n getInputUid (input: VInputInstance): number {\n return input.$.uid\n },\n\n watchInput (this: VFormContext, input: VInputInstance): Watchers {\n const inputId = this.getInputUid(input)\n\n const createErrorWatcher = (inputComponent: VInputInstance): (() => void) => {\n if (typeof inputComponent.$watch === 'function') {\n return inputComponent.$watch('hasError', (hasError: boolean) => {\n this.errorBag[inputId] = hasError\n }, { immediate: true })\n } else {\n // Fallback для Vue 3\n return () => {}\n }\n }\n\n const watchers: Watchers = {\n _uid: inputId,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n if (typeof input.$watch === 'function') {\n watchers.shouldValidate = input.$watch('shouldValidate', (shouldValidate: boolean) => {\n if (!shouldValidate) return\n\n if (this.errorBag.hasOwnProperty(inputId)) return\n\n watchers.valid = createErrorWatcher(input)\n })\n }\n } else {\n watchers.valid = createErrorWatcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (this: VFormContext): boolean {\n return this.inputs.filter((input: VInputInstance) => !input.validate(true)).length === 0\n },\n /** @public */\n reset (this: VFormContext): void {\n this.inputs.forEach((input: VInputInstance) => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag (this: VFormContext) {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation (this: VFormContext) {\n this.inputs.forEach((input: VInputInstance) => input.resetValidation())\n this.resetErrorBag()\n },\n\n register (this: VFormContext, input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n\n unregister (this: VFormContext, input: VInputInstance) {\n const inputId = this.getInputUid(input)\n const foundInput = this.inputs.find((inputComponent: VInputInstance) => this.getInputUid(inputComponent) === inputId)\n\n if (!foundInput) return\n\n const inputWatcher = this.watchers.find((watcher: Watchers) => watcher._uid === inputId)\n if (inputWatcher) {\n inputWatcher.valid()\n inputWatcher.shouldValidate()\n }\n\n this.watchers = this.watchers.filter((watcher: Watchers) => watcher._uid !== inputId)\n this.inputs = this.inputs.filter((inputComponent: VInputInstance) => this.getInputUid(inputComponent) !== inputId)\n\n delete this.errorBag[inputId]\n },\n },\n\n render (): VNode {\n return h('form', {\n class: 'v-form',\n novalidate: true,\n ...this.attrs$,\n onSubmit: (e: Event) => this.$emit('submit', e),\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VForm.js"}
@@ -70,7 +70,7 @@ function breakpointClass(type, prop, val) {
70
70
  const cache = new Map();
71
71
  export default defineComponent({
72
72
  name: 'v-col',
73
- functional: true,
73
+ inheritAttrs: false,
74
74
  props: {
75
75
  cols: {
76
76
  type: [Boolean, String, Number],
@@ -137,9 +137,9 @@ export default defineComponent({
137
137
  cache.set(cacheKey, classList);
138
138
  }
139
139
 
140
- return h(props.tag, mergeData(data, {
140
+ return h(props.tag, mergeData({
141
141
  class: classList
142
- }), children);
142
+ }, data), children);
143
143
  }
144
144
 
145
145
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VGrid/VCol.ts"],"names":[],"mappings":"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","sourcesContent":["import './VGrid.sass'\n\nimport { defineComponent, VNode, PropOptions, getCurrentInstance } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\nimport {h} from 'vue'\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default defineComponent({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (): VNode {\n const props = this.$props\n const data = this.$attrs\n const children = this.$slots.default()\n // const {parent} = getCurrentInstance()\n\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n"],"sourceRoot":"","file":"VCol.js"}
1
+ {"version":3,"sources":["../../../src/components/VGrid/VCol.ts"],"names":[],"mappings":"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","sourcesContent":["import './VGrid.sass'\n\nimport { defineComponent, VNode, PropOptions, getCurrentInstance } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\nimport {h} from 'vue'\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default defineComponent({\n name: 'v-col',\n inheritAttrs: false,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (): VNode {\n const props = this.$props\n const data = this.$attrs\n const children = this.$slots.default()\n // const {parent} = getCurrentInstance()\n\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData({ class: classList }, data), children)\n },\n})\n"],"sourceRoot":"","file":"VCol.js"}
@@ -22,6 +22,8 @@ export default defineComponent({
22
22
  },
23
23
 
24
24
  render() {
25
+ var _a, _b;
26
+
25
27
  let classes; // const { attrs } = data
26
28
 
27
29
  const attrs = this.$attrs;
@@ -52,7 +54,7 @@ export default defineComponent({
52
54
  class: Array({
53
55
  'container--fluid': this.fluid
54
56
  }).concat(classes || []).concat('container')
55
- }), this.$slots.default());
57
+ }), (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));
56
58
  }
57
59
 
58
60
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VGrid/VContainer.ts"],"names":[],"mappings":"AAAA,OAAO,0CAAP;AACA,OAAO,0CAAP;AAEA,OAAO,IAAP,MAAiB,QAAjB;AAEA,OAAO,SAAP,MAAsB,sBAAtB;AACA,SAAS,eAAT,EAA0B,CAA1B,QAAmC,KAAnC;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,aADuB;AAE7B,EAAA,OAAO,EAAE,IAAI,CAAC,WAAD,CAFgB;AAG7B,EAAA,UAAU,EAAE,IAHiB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,EAAE,EAAE,MADC;AAEL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAFA;AAML,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AANF,GAJsB;;AAe7B,EAAA,MAAM,GAAA;AACJ,QAAI,OAAJ,CADI,CAEJ;;AAEA,UAAM,KAAK,GAAG,KAAK,MAAnB;;AAEA,QAAI,KAAJ,EAAW;AACT;AACA,MAAA,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,CAA0B,GAAG,IAAG;AACxC;AACA;AACA,YAAI,GAAG,KAAK,MAAZ,EAAoB,OAAO,KAAP;AAEpB,cAAM,KAAK,GAAG,KAAK,CAAC,GAAD,CAAnB,CALwC,CAOxC;AACA;;AACA,YAAI,GAAG,CAAC,UAAJ,CAAe,OAAf,CAAJ,EAA6B;AAC3B;AACA,iBAAO,KAAP;AACD;;AAED,eAAO,KAAK,IAAI,OAAO,KAAP,KAAiB,QAAjC;AACD,OAfS,CAAV;AAgBD,KAxBG,CA0BJ;AACA;AACA;AACA;;;AAEA,WAAO,CAAC,CACN,KAAK,GADC,EAEN,SAAS,CAAC,KAAK,MAAN,EAAc;AACrB,MAAA,KAAK,EAAE,KAAK,CAAM;AAChB,4BAAoB,KAAK;AADT,OAAN,CAAL,CAEJ,MAFI,CAEG,OAAO,IAAI,EAFd,EAEkB,MAFlB,CAEyB,WAFzB;AADc,KAAd,CAFH,EAON,KAAK,MAAL,CAAY,OAAZ,EAPM,CAAR;AASD;;AAvD4B,CAAD,CAA9B","sourcesContent":["import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\nimport { defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-container',\n extends: Grid('container'),\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render () {\n let classes\n // const { attrs } = data\n\n const attrs = this.$attrs\n\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n // data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n // if (props.id) {\n // data.domProps = data.domProps || {}\n // data.domProps.id = props.id\n // }\n\n return h(\n this.tag,\n mergeData(this.$attrs, {\n class: Array<any>({\n 'container--fluid': this.fluid,\n }).concat(classes || []).concat('container'),\n }),\n this.$slots.default()\n )\n },\n})\n"],"sourceRoot":"","file":"VContainer.js"}
1
+ {"version":3,"sources":["../../../src/components/VGrid/VContainer.ts"],"names":[],"mappings":"AAAA,OAAO,0CAAP;AACA,OAAO,0CAAP;AAEA,OAAO,IAAP,MAAiB,QAAjB;AAEA,OAAO,SAAP,MAAsB,sBAAtB;AACA,SAAS,eAAT,EAA0B,CAA1B,QAAmC,KAAnC;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,aADuB;AAE7B,EAAA,OAAO,EAAE,IAAI,CAAC,WAAD,CAFgB;AAG7B,EAAA,UAAU,EAAE,IAHiB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,EAAE,EAAE,MADC;AAEL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAFA;AAML,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AANF,GAJsB;;AAe7B,EAAA,MAAM,GAAA;;;AACJ,QAAI,OAAJ,CADI,CAEJ;;AAEA,UAAM,KAAK,GAAG,KAAK,MAAnB;;AAEA,QAAI,KAAJ,EAAW;AACT;AACA,MAAA,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,CAA0B,GAAG,IAAG;AACxC;AACA;AACA,YAAI,GAAG,KAAK,MAAZ,EAAoB,OAAO,KAAP;AAEpB,cAAM,KAAK,GAAG,KAAK,CAAC,GAAD,CAAnB,CALwC,CAOxC;AACA;;AACA,YAAI,GAAG,CAAC,UAAJ,CAAe,OAAf,CAAJ,EAA6B;AAC3B;AACA,iBAAO,KAAP;AACD;;AAED,eAAO,KAAK,IAAI,OAAO,KAAP,KAAiB,QAAjC;AACD,OAfS,CAAV;AAgBD,KAxBG,CA0BJ;AACA;AACA;AACA;;;AAEA,WAAO,CAAC,CACN,KAAK,GADC,EAEN,SAAS,CAAC,KAAK,MAAN,EAAc;AACrB,MAAA,KAAK,EAAE,KAAK,CAAM;AAChB,4BAAoB,KAAK;AADT,OAAN,CAAL,CAEJ,MAFI,CAEG,OAAO,IAAI,EAFd,EAEkB,MAFlB,CAEyB,WAFzB;AADc,KAAd,CAFH,EAON,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,OAAZ,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAA,IAAA,CAAA,EAAA,CAPb,CAAR;AASD;;AAvD4B,CAAD,CAA9B","sourcesContent":["import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\nimport { defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-container',\n extends: Grid('container'),\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render () {\n let classes\n // const { attrs } = data\n\n const attrs = this.$attrs\n\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n // data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n // if (props.id) {\n // data.domProps = data.domProps || {}\n // data.domProps.id = props.id\n // }\n\n return h(\n this.tag,\n mergeData(this.$attrs, {\n class: Array<any>({\n 'container--fluid': this.fluid,\n }).concat(classes || []).concat('container'),\n }),\n this.$slots.default?.()\n )\n },\n})\n"],"sourceRoot":"","file":"VContainer.js"}
@@ -18,6 +18,7 @@ export default mixins(Delayable, Toggleable
18
18
  default: undefined
19
19
  }
20
20
  },
21
+ emits: ['update:modelValue'],
21
22
  methods: {
22
23
  onMouseEnter() {
23
24
  this.runDelay('open');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VHover/VHover.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,WAAT,QAA4B,oBAA5B;AAKA,eAAe,MAAM,CACnB,SADmB,EAEnB;AACA;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,SADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KADL;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AALF,GAHA;AAcP,EAAA,OAAO,EAAE;AACP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,MAAd;AACD,KAHM;;AAIP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,OAAd;AACD;;AANM,GAdF;;AAuBP,EAAA,MAAM,GAAA;AACJ,QAAI,CAAC,KAAK,MAAL,CAAY,OAAb,IAAwB,KAAK,KAAL,KAAe,SAA3C,EAAsD;AACpD,MAAA,WAAW,CAAC,wDAAD,EAA2D,IAA3D,CAAX;AAEA,aAAO,IAAP;AACD;;AAED,QAAI,OAAJ;AAEA;;AACA,QAAI,KAAK,MAAL,CAAY,OAAhB,EAAyB;AACvB,MAAA,OAAO,GAAG,KAAK,MAAL,CAAY,OAAZ,CAAoB;AAAE,QAAA,KAAK,EAAE,KAAK;AAAd,OAApB,CAAV;AACD;;AAED,QAAI,KAAK,CAAC,OAAN,CAAc,OAAd,KAA0B,OAAO,CAAC,MAAR,KAAmB,CAAjD,EAAoD;AAClD,MAAA,OAAO,GAAG,OAAO,CAAC,CAAD,CAAjB;AACD;;AAED,QAAI,CAAC,OAAD,IAAY,KAAK,CAAC,OAAN,CAAc,OAAd,CAAZ,IAAsC,CAAC,OAAO,CAAC,GAAnD,EAAwD;AACtD,MAAA,WAAW,CAAC,8CAAD,EAAiD,IAAjD,CAAX;AAEA,aAAO,OAAP;AACD;;AAED,QAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,MAAA,OAAO,CAAC,IAAR,GAAe,OAAO,CAAC,IAAR,IAAgB,EAA/B;;AACA,WAAK,EAAL,CAAQ,OAAO,CAAC,IAAhB,EAAsB;AACpB,QAAA,UAAU,EAAE,KAAK,YADG;AAEpB,QAAA,UAAU,EAAE,KAAK;AAFG,OAAtB;AAID;;AAED,WAAO,OAAP;AACD;;AAxDM,CAJM,CAAf","sourcesContent":["// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\nexport default mixins(\n Delayable,\n Toggleable\n /* @vue/component */\n).extend({\n name: 'v-hover',\n\n props: {\n disabled: {\n type: Boolean,\n default: false,\n },\n value: {\n type: Boolean,\n default: undefined,\n },\n },\n\n methods: {\n onMouseEnter () {\n this.runDelay('open')\n },\n onMouseLeave () {\n this.runDelay('close')\n },\n },\n\n render (): VNode {\n if (!this.$slots.default && this.value === undefined) {\n consoleWarn('v-hover is missing a default scopedSlot or bound value', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$slots.default) {\n element = this.$slots.default({ hover: this.isActive })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-hover should only contain a single element', this)\n\n return element as any\n }\n\n if (!this.disabled) {\n element.data = element.data || {}\n this._g(element.data, {\n mouseenter: this.onMouseEnter,\n mouseleave: this.onMouseLeave,\n })\n }\n\n return element\n },\n})\n"],"sourceRoot":"","file":"VHover.js"}
1
+ {"version":3,"sources":["../../../src/components/VHover/VHover.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,WAAT,QAA4B,oBAA5B;AAKA,eAAe,MAAM,CACnB,SADmB,EAEnB;AACA;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,SADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KADL;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AALF,GAHA;AAcP,EAAA,KAAK,EAAE,CAAC,mBAAD,CAdA;AAgBP,EAAA,OAAO,EAAE;AACP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,MAAd;AACD,KAHM;;AAIP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,OAAd;AACD;;AANM,GAhBF;;AAyBP,EAAA,MAAM,GAAA;AACJ,QAAI,CAAC,KAAK,MAAL,CAAY,OAAb,IAAwB,KAAK,KAAL,KAAe,SAA3C,EAAsD;AACpD,MAAA,WAAW,CAAC,wDAAD,EAA2D,IAA3D,CAAX;AAEA,aAAO,IAAP;AACD;;AAED,QAAI,OAAJ;AAEA;;AACA,QAAI,KAAK,MAAL,CAAY,OAAhB,EAAyB;AACvB,MAAA,OAAO,GAAG,KAAK,MAAL,CAAY,OAAZ,CAAoB;AAAE,QAAA,KAAK,EAAE,KAAK;AAAd,OAApB,CAAV;AACD;;AAED,QAAI,KAAK,CAAC,OAAN,CAAc,OAAd,KAA0B,OAAO,CAAC,MAAR,KAAmB,CAAjD,EAAoD;AAClD,MAAA,OAAO,GAAG,OAAO,CAAC,CAAD,CAAjB;AACD;;AAED,QAAI,CAAC,OAAD,IAAY,KAAK,CAAC,OAAN,CAAc,OAAd,CAAZ,IAAsC,CAAC,OAAO,CAAC,GAAnD,EAAwD;AACtD,MAAA,WAAW,CAAC,8CAAD,EAAiD,IAAjD,CAAX;AAEA,aAAO,OAAP;AACD;;AAED,QAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,MAAA,OAAO,CAAC,IAAR,GAAe,OAAO,CAAC,IAAR,IAAgB,EAA/B;;AACA,WAAK,EAAL,CAAQ,OAAO,CAAC,IAAhB,EAAsB;AACpB,QAAA,UAAU,EAAE,KAAK,YADG;AAEpB,QAAA,UAAU,EAAE,KAAK;AAFG,OAAtB;AAID;;AAED,WAAO,OAAP;AACD;;AA1DM,CAJM,CAAf","sourcesContent":["// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\nexport default mixins(\n Delayable,\n Toggleable\n /* @vue/component */\n).extend({\n name: 'v-hover',\n\n props: {\n disabled: {\n type: Boolean,\n default: false,\n },\n value: {\n type: Boolean,\n default: undefined,\n },\n },\n\n emits: ['update:modelValue'],\n\n methods: {\n onMouseEnter () {\n this.runDelay('open')\n },\n onMouseLeave () {\n this.runDelay('close')\n },\n },\n\n render (): VNode {\n if (!this.$slots.default && this.value === undefined) {\n consoleWarn('v-hover is missing a default scopedSlot or bound value', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$slots.default) {\n element = this.$slots.default({ hover: this.isActive })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-hover should only contain a single element', this)\n\n return element as any\n }\n\n if (!this.disabled) {\n element.data = element.data || {}\n this._g(element.data, {\n mouseenter: this.onMouseEnter,\n mouseleave: this.onMouseLeave,\n })\n }\n\n return element\n },\n})\n"],"sourceRoot":"","file":"VHover.js"}
@@ -1,8 +1,6 @@
1
1
  import { h, Transition, withDirectives, mergeProps } from 'vue'; // Styles
2
2
 
3
- import "../../../src/components/VImg/VImg.sass"; // Directives
4
-
5
- import intersect from '../../directives/intersect'; // Components
3
+ import "../../../src/components/VImg/VImg.sass"; // Components
6
4
 
7
5
  import VResponsive from '../VResponsive'; // Mixins
8
6
 
@@ -18,9 +16,6 @@ const hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in
18
16
 
19
17
  export default mixins(VResponsive, Themeable).extend({
20
18
  name: 'v-img',
21
- directives: {
22
- intersect
23
- },
24
19
  props: {
25
20
  alt: String,
26
21
  contain: Boolean,
@@ -52,6 +47,7 @@ export default mixins(VResponsive, Themeable).extend({
52
47
  default: 'fade-transition'
53
48
  }
54
49
  },
50
+ emits: ['load', 'error', 'loadstart'],
55
51
 
56
52
  data() {
57
53
  return {
@@ -108,7 +104,7 @@ export default mixins(VResponsive, Themeable).extend({
108
104
  return h(Transition, {
109
105
  name: this.transition,
110
106
  mode: 'in-out'
111
- }, [image]);
107
+ }, () => [image]);
112
108
  }
113
109
 
114
110
  },
@@ -215,7 +211,7 @@ export default mixins(VResponsive, Themeable).extend({
215
211
  let content = VResponsive.methods.genContent.call(this);
216
212
 
217
213
  if (this.naturalWidth) {
218
- content = h(content.type, mergeProps(content.data, {
214
+ content = h(content.type, mergeProps(content.props, {
219
215
  style: {
220
216
  width: `${this.naturalWidth}px`
221
217
  }
@@ -236,7 +232,7 @@ export default mixins(VResponsive, Themeable).extend({
236
232
  return h(Transition, {
237
233
  appear: true,
238
234
  name: this.transition
239
- }, placeholder);
235
+ }, () => placeholder);
240
236
  }
241
237
  }
242
238