@dimailn/vuetify 2.7.2-alpha2 → 2.7.2-superbundle

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 (1011) hide show
  1. package/dist/vuetify.css +4806 -4806
  2. package/dist/vuetify.css.map +1 -1
  3. package/dist/vuetify.js +5565 -5345
  4. package/dist/vuetify.js.map +1 -1
  5. package/dist/vuetify.min.css +3 -3
  6. package/dist/vuetify.min.js +2 -2
  7. package/dist/vuetify.sass +109 -0
  8. package/es5/components/VAlert/VAlert.js +54 -38
  9. package/es5/components/VAlert/VAlert.js.map +1 -1
  10. package/es5/components/VApp/VApp.js +16 -12
  11. package/es5/components/VApp/VApp.js.map +1 -1
  12. package/es5/components/VAppBar/VAppBar.js +10 -12
  13. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  14. package/es5/components/VAppBar/VAppBarNavIcon.js +20 -13
  15. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  16. package/es5/components/VAppBar/VAppBarTitle.js +8 -9
  17. package/es5/components/VAppBar/VAppBarTitle.js.map +1 -1
  18. package/es5/components/VAutocomplete/VAutocomplete.js +23 -22
  19. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  20. package/es5/components/VAvatar/VAvatar.js +8 -9
  21. package/es5/components/VAvatar/VAvatar.js.map +1 -1
  22. package/es5/components/VBadge/VBadge.js +24 -22
  23. package/es5/components/VBadge/VBadge.js.map +1 -1
  24. package/es5/components/VBanner/VBanner.js +37 -32
  25. package/es5/components/VBanner/VBanner.js.map +1 -1
  26. package/es5/components/VBottomNavigation/VBottomNavigation.js +14 -11
  27. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  28. package/es5/components/VBottomSheet/VBottomSheet.js +2 -5
  29. package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
  30. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +11 -11
  31. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  32. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +7 -8
  33. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  34. package/es5/components/VBtn/VBtn.js +24 -30
  35. package/es5/components/VBtn/VBtn.js.map +1 -1
  36. package/es5/components/VBtnToggle/VBtnToggle.js +2 -2
  37. package/es5/components/VBtnToggle/VBtnToggle.js.map +1 -1
  38. package/es5/components/VCalendar/VCalendar.js +27 -25
  39. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  40. package/es5/components/VCalendar/VCalendarCategory.js +21 -23
  41. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  42. package/es5/components/VCalendar/VCalendarDaily.js +69 -67
  43. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  44. package/es5/components/VCalendar/VCalendarMonthly.js +1 -4
  45. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  46. package/es5/components/VCalendar/VCalendarWeekly.js +65 -64
  47. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  48. package/es5/components/VCalendar/mixins/calendar-with-events.js +64 -58
  49. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  50. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +1 -4
  51. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  52. package/es5/components/VCalendar/mixins/times.js +4 -2
  53. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  54. package/es5/components/VCard/VCard.js +11 -13
  55. package/es5/components/VCard/VCard.js.map +1 -1
  56. package/es5/components/VCarousel/VCarousel.js +37 -28
  57. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  58. package/es5/components/VCarousel/VCarouselItem.js +18 -16
  59. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  60. package/es5/components/VCheckbox/VCheckbox.js +10 -11
  61. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  62. package/es5/components/VCheckbox/VSimpleCheckbox.js +29 -20
  63. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  64. package/es5/components/VChip/VChip.js +44 -37
  65. package/es5/components/VChip/VChip.js.map +1 -1
  66. package/es5/components/VChipGroup/VChipGroup.js +2 -2
  67. package/es5/components/VChipGroup/VChipGroup.js.map +1 -1
  68. package/es5/components/VColorPicker/VColorPicker.js +38 -32
  69. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  70. package/es5/components/VColorPicker/VColorPickerCanvas.js +22 -19
  71. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  72. package/es5/components/VColorPicker/VColorPickerEdit.js +28 -25
  73. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  74. package/es5/components/VColorPicker/VColorPickerPreview.js +48 -37
  75. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  76. package/es5/components/VColorPicker/VColorPickerSwatches.js +15 -15
  77. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  78. package/es5/components/VCombobox/VCombobox.js +27 -22
  79. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  80. package/es5/components/VContent/VContent.js +4 -8
  81. package/es5/components/VContent/VContent.js.map +1 -1
  82. package/es5/components/VCounter/VCounter.js +5 -7
  83. package/es5/components/VCounter/VCounter.js.map +1 -1
  84. package/es5/components/VData/VData.js +5 -3
  85. package/es5/components/VData/VData.js.map +1 -1
  86. package/es5/components/VDataIterator/VDataFooter.js +46 -34
  87. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  88. package/es5/components/VDataIterator/VDataIterator.js +22 -20
  89. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  90. package/es5/components/VDataTable/MobileRow.js +21 -15
  91. package/es5/components/VDataTable/MobileRow.js.map +1 -1
  92. package/es5/components/VDataTable/Row.js +15 -11
  93. package/es5/components/VDataTable/Row.js.map +1 -1
  94. package/es5/components/VDataTable/RowGroup.js +12 -9
  95. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  96. package/es5/components/VDataTable/VDataTable.js +206 -176
  97. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  98. package/es5/components/VDataTable/VDataTableHeader.js +20 -12
  99. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  100. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +24 -21
  101. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  102. package/es5/components/VDataTable/VDataTableHeaderMobile.js +19 -22
  103. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  104. package/es5/components/VDataTable/VEditDialog.js +43 -34
  105. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  106. package/es5/components/VDataTable/VSimpleTable.js +7 -8
  107. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  108. package/es5/components/VDataTable/VVirtualTable.js +16 -17
  109. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  110. package/es5/components/VDataTable/mixins/header.js +18 -14
  111. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  112. package/es5/components/VDatePicker/VDatePicker.js +113 -99
  113. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  114. package/es5/components/VDatePicker/VDatePickerDateTable.js +12 -13
  115. package/es5/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
  116. package/es5/components/VDatePicker/VDatePickerHeader.js +38 -26
  117. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  118. package/es5/components/VDatePicker/VDatePickerMonthTable.js +3 -3
  119. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  120. package/es5/components/VDatePicker/VDatePickerTitle.js +17 -12
  121. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  122. package/es5/components/VDatePicker/VDatePickerYears.js +3 -3
  123. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  124. package/es5/components/VDatePicker/mixins/date-picker-table.js +47 -34
  125. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  126. package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
  127. package/es5/components/VDialog/VDialog.js +46 -29
  128. package/es5/components/VDialog/VDialog.js.map +1 -1
  129. package/es5/components/VDivider/VDivider.js +9 -11
  130. package/es5/components/VDivider/VDivider.js.map +1 -1
  131. package/es5/components/VExpansionPanel/VExpansionPanel.js +8 -9
  132. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  133. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +11 -9
  134. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  135. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +34 -31
  136. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  137. package/es5/components/VExpansionPanel/VExpansionPanels.js +2 -5
  138. package/es5/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  139. package/es5/components/VFileInput/VFileInput.js +35 -32
  140. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  141. package/es5/components/VFooter/VFooter.js +9 -11
  142. package/es5/components/VFooter/VFooter.js.map +1 -1
  143. package/es5/components/VForm/VForm.js +12 -11
  144. package/es5/components/VForm/VForm.js.map +1 -1
  145. package/es5/components/VGrid/VCol.js +8 -8
  146. package/es5/components/VGrid/VCol.js.map +1 -1
  147. package/es5/components/VGrid/VContainer.js +19 -17
  148. package/es5/components/VGrid/VContainer.js.map +1 -1
  149. package/es5/components/VGrid/VRow.js +10 -7
  150. package/es5/components/VGrid/VRow.js.map +1 -1
  151. package/es5/components/VGrid/grid.js +9 -7
  152. package/es5/components/VGrid/grid.js.map +1 -1
  153. package/es5/components/VHover/VHover.js +3 -3
  154. package/es5/components/VHover/VHover.js.map +1 -1
  155. package/es5/components/VIcon/VIcon.js +36 -69
  156. package/es5/components/VIcon/VIcon.js.map +1 -1
  157. package/es5/components/VImg/VImg.js +41 -38
  158. package/es5/components/VImg/VImg.js.map +1 -1
  159. package/es5/components/VInput/VInput.js +77 -70
  160. package/es5/components/VInput/VInput.js.map +1 -1
  161. package/es5/components/VItemGroup/VItem.js +6 -5
  162. package/es5/components/VItemGroup/VItem.js.map +1 -1
  163. package/es5/components/VItemGroup/VItemGroup.js +4 -8
  164. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  165. package/es5/components/VLabel/VLabel.js +15 -12
  166. package/es5/components/VLabel/VLabel.js.map +1 -1
  167. package/es5/components/VLazy/VLazy.js +7 -7
  168. package/es5/components/VLazy/VLazy.js.map +1 -1
  169. package/es5/components/VList/VList.js +12 -12
  170. package/es5/components/VList/VList.js.map +1 -1
  171. package/es5/components/VList/VListGroup.js +32 -31
  172. package/es5/components/VList/VListGroup.js.map +1 -1
  173. package/es5/components/VList/VListItem.js +22 -26
  174. package/es5/components/VList/VListItem.js.map +1 -1
  175. package/es5/components/VList/VListItemAction.js +11 -8
  176. package/es5/components/VList/VListItemAction.js.map +1 -1
  177. package/es5/components/VList/VListItemAvatar.js +9 -9
  178. package/es5/components/VList/VListItemAvatar.js.map +1 -1
  179. package/es5/components/VList/VListItemGroup.js +2 -2
  180. package/es5/components/VList/VListItemGroup.js.map +1 -1
  181. package/es5/components/VList/VListItemIcon.js +9 -11
  182. package/es5/components/VList/VListItemIcon.js.map +1 -1
  183. package/es5/components/VMain/VMain.js +5 -9
  184. package/es5/components/VMain/VMain.js.map +1 -1
  185. package/es5/components/VMenu/VMenu.js +66 -42
  186. package/es5/components/VMenu/VMenu.js.map +1 -1
  187. package/es5/components/VMessages/VMessages.js +12 -12
  188. package/es5/components/VMessages/VMessages.js.map +1 -1
  189. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +59 -51
  190. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  191. package/es5/components/VOtpInput/VOtpInput.js +57 -52
  192. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  193. package/es5/components/VOverflowBtn/VOverflowBtn.js +8 -11
  194. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  195. package/es5/components/VOverlay/VOverlay.js +8 -11
  196. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  197. package/es5/components/VPagination/VPagination.js +48 -35
  198. package/es5/components/VPagination/VPagination.js.map +1 -1
  199. package/es5/components/VParallax/VParallax.js +20 -23
  200. package/es5/components/VParallax/VParallax.js.map +1 -1
  201. package/es5/components/VPicker/VPicker.js +21 -17
  202. package/es5/components/VPicker/VPicker.js.map +1 -1
  203. package/es5/components/VProgressCircular/VProgressCircular.js +40 -38
  204. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  205. package/es5/components/VProgressLinear/VProgressLinear.js +32 -33
  206. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  207. package/es5/components/VRadioGroup/VRadio.js +37 -29
  208. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  209. package/es5/components/VRadioGroup/VRadioGroup.js +17 -16
  210. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  211. package/es5/components/VRangeSlider/VRangeSlider.js +7 -10
  212. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  213. package/es5/components/VRating/VRating.js +48 -52
  214. package/es5/components/VRating/VRating.js.map +1 -1
  215. package/es5/components/VResponsive/VResponsive.js +11 -11
  216. package/es5/components/VResponsive/VResponsive.js.map +1 -1
  217. package/es5/components/VSelect/VSelect.js +126 -102
  218. package/es5/components/VSelect/VSelect.js.map +1 -1
  219. package/es5/components/VSelect/VSelectList.js +63 -44
  220. package/es5/components/VSelect/VSelectList.js.map +1 -1
  221. package/es5/components/VSheet/VSheet.js +9 -12
  222. package/es5/components/VSheet/VSheet.js.map +1 -1
  223. package/es5/components/VSkeletonLoader/VSkeletonLoader.js +22 -18
  224. package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  225. package/es5/components/VSlideGroup/VSlideGroup.js +56 -39
  226. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  227. package/es5/components/VSlider/VSlider.js +75 -62
  228. package/es5/components/VSlider/VSlider.js.map +1 -1
  229. package/es5/components/VSnackbar/VSnackbar.js +32 -22
  230. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  231. package/es5/components/VSparkline/VSparkline.js +24 -24
  232. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  233. package/es5/components/VSpeedDial/VSpeedDial.js +11 -11
  234. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  235. package/es5/components/VStepper/VStepper.js +6 -7
  236. package/es5/components/VStepper/VStepper.js.map +1 -1
  237. package/es5/components/VStepper/VStepperContent.js +13 -15
  238. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  239. package/es5/components/VStepper/VStepperStep.js +23 -22
  240. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  241. package/es5/components/VSubheader/VSubheader.js +8 -7
  242. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  243. package/es5/components/VSwitch/VSwitch.js +22 -22
  244. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  245. package/es5/components/VSystemBar/VSystemBar.js +8 -9
  246. package/es5/components/VSystemBar/VSystemBar.js.map +1 -1
  247. package/es5/components/VTabs/VTab.js +10 -12
  248. package/es5/components/VTabs/VTab.js.map +1 -1
  249. package/es5/components/VTabs/VTabItem.js +4 -6
  250. package/es5/components/VTabs/VTabItem.js.map +1 -1
  251. package/es5/components/VTabs/VTabs.js +47 -34
  252. package/es5/components/VTabs/VTabs.js.map +1 -1
  253. package/es5/components/VTabs/VTabsBar.js +9 -8
  254. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  255. package/es5/components/VTabs/VTabsItems.js +3 -6
  256. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  257. package/es5/components/VTabs/VTabsSlider.js +3 -5
  258. package/es5/components/VTabs/VTabsSlider.js.map +1 -1
  259. package/es5/components/VTextField/VTextField.js +74 -59
  260. package/es5/components/VTextField/VTextField.js.map +1 -1
  261. package/es5/components/VTextarea/VTextarea.js +5 -6
  262. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  263. package/es5/components/VThemeProvider/VThemeProvider.js +5 -5
  264. package/es5/components/VThemeProvider/VThemeProvider.js.map +1 -1
  265. package/es5/components/VTimePicker/VTimePicker.js +29 -25
  266. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  267. package/es5/components/VTimePicker/VTimePickerClock.js +41 -40
  268. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  269. package/es5/components/VTimePicker/VTimePickerTitle.js +14 -15
  270. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  271. package/es5/components/VTimeline/VTimeline.js +4 -5
  272. package/es5/components/VTimeline/VTimeline.js.map +1 -1
  273. package/es5/components/VTimeline/VTimelineItem.js +24 -24
  274. package/es5/components/VTimeline/VTimelineItem.js.map +1 -1
  275. package/es5/components/VToolbar/VToolbar.js +14 -17
  276. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  277. package/es5/components/VTooltip/VTooltip.js +13 -11
  278. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  279. package/es5/components/VTreeview/VTreeview.js +6 -7
  280. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  281. package/es5/components/VTreeview/VTreeviewNode.js +109 -93
  282. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  283. package/es5/components/VVirtualScroll/VVirtualScroll.js +8 -12
  284. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  285. package/es5/components/VWindow/VWindow.js +38 -26
  286. package/es5/components/VWindow/VWindow.js.map +1 -1
  287. package/es5/components/VWindow/VWindowItem.js +30 -25
  288. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  289. package/es5/components/index.js +112 -0
  290. package/es5/components/index.js.map +1 -1
  291. package/es5/components/transitions/createTransition.js +24 -22
  292. package/es5/components/transitions/createTransition.js.map +1 -1
  293. package/es5/directives/click-outside/index.js +6 -6
  294. package/es5/directives/click-outside/index.js.map +1 -1
  295. package/es5/directives/intersect/index.js +6 -6
  296. package/es5/directives/intersect/index.js.map +1 -1
  297. package/es5/directives/ripple/index.js +5 -11
  298. package/es5/directives/ripple/index.js.map +1 -1
  299. package/es5/directives/touch/index.js +6 -12
  300. package/es5/directives/touch/index.js.map +1 -1
  301. package/es5/framework.js +1 -1
  302. package/es5/framework.js.map +1 -1
  303. package/es5/helpers.js +64 -0
  304. package/es5/helpers.js.map +1 -0
  305. package/es5/index.js +36 -31
  306. package/es5/index.js.map +1 -1
  307. package/es5/install.js +15 -42
  308. package/es5/install.js.map +1 -1
  309. package/es5/mixins/activatable/index.js +12 -19
  310. package/es5/mixins/activatable/index.js.map +1 -1
  311. package/es5/mixins/binds-attrs/index.js +5 -3
  312. package/es5/mixins/binds-attrs/index.js.map +1 -1
  313. package/es5/mixins/bootable/index.js +5 -3
  314. package/es5/mixins/bootable/index.js.map +1 -1
  315. package/es5/mixins/button-group/index.js +3 -6
  316. package/es5/mixins/button-group/index.js.map +1 -1
  317. package/es5/mixins/colorable/index.js +8 -36
  318. package/es5/mixins/colorable/index.js.map +1 -1
  319. package/es5/mixins/comparable/index.js +4 -2
  320. package/es5/mixins/comparable/index.js.map +1 -1
  321. package/es5/mixins/delayable/index.js +4 -2
  322. package/es5/mixins/delayable/index.js.map +1 -1
  323. package/es5/mixins/dependent/index.js +2 -8
  324. package/es5/mixins/dependent/index.js.map +1 -1
  325. package/es5/mixins/detachable/index.js +2 -2
  326. package/es5/mixins/detachable/index.js.map +1 -1
  327. package/es5/mixins/elevatable/index.js +4 -2
  328. package/es5/mixins/elevatable/index.js.map +1 -1
  329. package/es5/mixins/filterable/index.js +4 -2
  330. package/es5/mixins/filterable/index.js.map +1 -1
  331. package/es5/mixins/groupable/index.js +11 -14
  332. package/es5/mixins/groupable/index.js.map +1 -1
  333. package/es5/mixins/intersectable/index.js +5 -11
  334. package/es5/mixins/intersectable/index.js.map +1 -1
  335. package/es5/mixins/loadable/index.js +9 -7
  336. package/es5/mixins/loadable/index.js.map +1 -1
  337. package/es5/mixins/localable/index.js +4 -2
  338. package/es5/mixins/localable/index.js.map +1 -1
  339. package/es5/mixins/measurable/index.js +4 -2
  340. package/es5/mixins/measurable/index.js.map +1 -1
  341. package/es5/mixins/menuable/index.js +5 -8
  342. package/es5/mixins/menuable/index.js.map +1 -1
  343. package/es5/mixins/mobile/index.js +13 -9
  344. package/es5/mixins/mobile/index.js.map +1 -1
  345. package/es5/mixins/mouse/index.js +6 -9
  346. package/es5/mixins/mouse/index.js.map +1 -1
  347. package/es5/mixins/overlayable/index.js +16 -46
  348. package/es5/mixins/overlayable/index.js.map +1 -1
  349. package/es5/mixins/picker/index.js +20 -19
  350. package/es5/mixins/picker/index.js.map +1 -1
  351. package/es5/mixins/picker-button/index.js +11 -14
  352. package/es5/mixins/picker-button/index.js.map +1 -1
  353. package/es5/mixins/positionable/index.js +4 -2
  354. package/es5/mixins/positionable/index.js.map +1 -1
  355. package/es5/mixins/proxyable/index.js +6 -4
  356. package/es5/mixins/proxyable/index.js.map +1 -1
  357. package/es5/mixins/registrable/index.js +5 -3
  358. package/es5/mixins/registrable/index.js.map +1 -1
  359. package/es5/mixins/returnable/index.js +4 -2
  360. package/es5/mixins/returnable/index.js.map +1 -1
  361. package/es5/mixins/rippleable/index.js +13 -21
  362. package/es5/mixins/rippleable/index.js.map +1 -1
  363. package/es5/mixins/roundable/index.js +4 -2
  364. package/es5/mixins/roundable/index.js.map +1 -1
  365. package/es5/mixins/routable/index.js +25 -24
  366. package/es5/mixins/routable/index.js.map +1 -1
  367. package/es5/mixins/scrollable/index.js +4 -2
  368. package/es5/mixins/scrollable/index.js.map +1 -1
  369. package/es5/mixins/selectable/index.js +33 -31
  370. package/es5/mixins/selectable/index.js.map +1 -1
  371. package/es5/mixins/sizeable/index.js +4 -2
  372. package/es5/mixins/sizeable/index.js.map +1 -1
  373. package/es5/mixins/ssr-bootable/index.js +4 -2
  374. package/es5/mixins/ssr-bootable/index.js.map +1 -1
  375. package/es5/mixins/stackable/index.js +4 -2
  376. package/es5/mixins/stackable/index.js.map +1 -1
  377. package/es5/mixins/themeable/index.js +16 -5
  378. package/es5/mixins/themeable/index.js.map +1 -1
  379. package/es5/mixins/toggleable/index.js +10 -4
  380. package/es5/mixins/toggleable/index.js.map +1 -1
  381. package/es5/mixins/transitionable/index.js +4 -2
  382. package/es5/mixins/transitionable/index.js.map +1 -1
  383. package/es5/mixins/translatable/index.js +4 -2
  384. package/es5/mixins/translatable/index.js.map +1 -1
  385. package/es5/mixins/validatable/index.js +1 -1
  386. package/es5/mixins/validatable/index.js.map +1 -1
  387. package/es5/services/goto/util.js.map +1 -1
  388. package/es5/services/theme/index.js +19 -6
  389. package/es5/services/theme/index.js.map +1 -1
  390. package/es5/util/helpers.js +20 -33
  391. package/es5/util/helpers.js.map +1 -1
  392. package/es5/util/mergeData.js +1 -1
  393. package/es5/util/mergeData.js.map +1 -1
  394. package/es5/util/mixins.js +5 -11
  395. package/es5/util/mixins.js.map +1 -1
  396. package/es5/vuetify.js +45 -0
  397. package/es5/vuetify.js.map +1 -0
  398. package/lib/components/VAlert/VAlert.js +54 -38
  399. package/lib/components/VAlert/VAlert.js.map +1 -1
  400. package/lib/components/VApp/VApp.js +14 -10
  401. package/lib/components/VApp/VApp.js.map +1 -1
  402. package/lib/components/VAppBar/VAppBar.js +11 -12
  403. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  404. package/lib/components/VAppBar/VAppBarNavIcon.js +15 -10
  405. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  406. package/lib/components/VAppBar/VAppBarTitle.js +4 -6
  407. package/lib/components/VAppBar/VAppBarTitle.js.map +1 -1
  408. package/lib/components/VAutocomplete/VAutocomplete.js +23 -22
  409. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  410. package/lib/components/VAvatar/VAvatar.js +4 -4
  411. package/lib/components/VAvatar/VAvatar.js.map +1 -1
  412. package/lib/components/VBadge/VBadge.js +26 -22
  413. package/lib/components/VBadge/VBadge.js.map +1 -1
  414. package/lib/components/VBanner/VBanner.js +28 -23
  415. package/lib/components/VBanner/VBanner.js.map +1 -1
  416. package/lib/components/VBottomNavigation/VBottomNavigation.js +14 -10
  417. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  418. package/lib/components/VBottomSheet/VBottomSheet.js +2 -4
  419. package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
  420. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +9 -9
  421. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  422. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +7 -7
  423. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  424. package/lib/components/VBtn/VBtn.js +25 -31
  425. package/lib/components/VBtn/VBtn.js.map +1 -1
  426. package/lib/components/VBtnToggle/VBtnToggle.js +2 -2
  427. package/lib/components/VBtnToggle/VBtnToggle.js.map +1 -1
  428. package/lib/components/VCalendar/VCalendar.js +25 -24
  429. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  430. package/lib/components/VCalendar/VCalendarCategory.js +16 -19
  431. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  432. package/lib/components/VCalendar/VCalendarDaily.js +39 -41
  433. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  434. package/lib/components/VCalendar/VCalendarMonthly.js +1 -3
  435. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  436. package/lib/components/VCalendar/VCalendarWeekly.js +30 -32
  437. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  438. package/lib/components/VCalendar/mixins/calendar-with-events.js +24 -27
  439. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  440. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +1 -3
  441. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  442. package/lib/components/VCalendar/mixins/times.js +2 -2
  443. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  444. package/lib/components/VCard/VCard.js +12 -14
  445. package/lib/components/VCard/VCard.js.map +1 -1
  446. package/lib/components/VCarousel/VCarousel.js +39 -31
  447. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  448. package/lib/components/VCarousel/VCarouselItem.js +19 -17
  449. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  450. package/lib/components/VCheckbox/VCheckbox.js +10 -10
  451. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  452. package/lib/components/VCheckbox/VSimpleCheckbox.js +25 -19
  453. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  454. package/lib/components/VChip/VChip.js +43 -34
  455. package/lib/components/VChip/VChip.js.map +1 -1
  456. package/lib/components/VChipGroup/VChipGroup.js +2 -2
  457. package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
  458. package/lib/components/VColorPicker/VColorPicker.js +30 -23
  459. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  460. package/lib/components/VColorPicker/VColorPickerCanvas.js +8 -9
  461. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  462. package/lib/components/VColorPicker/VColorPickerEdit.js +24 -19
  463. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  464. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -35
  465. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  466. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -14
  467. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  468. package/lib/components/VCombobox/VCombobox.js +20 -20
  469. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  470. package/lib/components/VContent/VContent.js +4 -8
  471. package/lib/components/VContent/VContent.js.map +1 -1
  472. package/lib/components/VCounter/VCounter.js +7 -7
  473. package/lib/components/VCounter/VCounter.js.map +1 -1
  474. package/lib/components/VData/VData.js +3 -3
  475. package/lib/components/VData/VData.js.map +1 -1
  476. package/lib/components/VDataIterator/VDataFooter.js +46 -34
  477. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  478. package/lib/components/VDataIterator/VDataIterator.js +20 -16
  479. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  480. package/lib/components/VDataTable/MobileRow.js +16 -11
  481. package/lib/components/VDataTable/MobileRow.js.map +1 -1
  482. package/lib/components/VDataTable/Row.js +12 -6
  483. package/lib/components/VDataTable/Row.js.map +1 -1
  484. package/lib/components/VDataTable/RowGroup.js +9 -7
  485. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  486. package/lib/components/VDataTable/VDataTable.js +169 -135
  487. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  488. package/lib/components/VDataTable/VDataTableHeader.js +19 -11
  489. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  490. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +24 -21
  491. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  492. package/lib/components/VDataTable/VDataTableHeaderMobile.js +9 -10
  493. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  494. package/lib/components/VDataTable/VEditDialog.js +41 -31
  495. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  496. package/lib/components/VDataTable/VSimpleTable.js +6 -6
  497. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  498. package/lib/components/VDataTable/VVirtualTable.js +11 -12
  499. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  500. package/lib/components/VDataTable/mixins/header.js +17 -12
  501. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  502. package/lib/components/VDatePicker/VDatePicker.js +107 -92
  503. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  504. package/lib/components/VDatePicker/VDatePickerDateTable.js +11 -13
  505. package/lib/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
  506. package/lib/components/VDatePicker/VDatePickerHeader.js +37 -25
  507. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  508. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -3
  509. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  510. package/lib/components/VDatePicker/VDatePickerTitle.js +16 -10
  511. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  512. package/lib/components/VDatePicker/VDatePickerYears.js +3 -3
  513. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  514. package/lib/components/VDatePicker/mixins/date-picker-table.js +36 -27
  515. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  516. package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
  517. package/lib/components/VDialog/VDialog.js +46 -27
  518. package/lib/components/VDialog/VDialog.js.map +1 -1
  519. package/lib/components/VDivider/VDivider.js +12 -14
  520. package/lib/components/VDivider/VDivider.js.map +1 -1
  521. package/lib/components/VExpansionPanel/VExpansionPanel.js +8 -9
  522. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  523. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +9 -6
  524. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  525. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +31 -21
  526. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  527. package/lib/components/VExpansionPanel/VExpansionPanels.js +2 -4
  528. package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  529. package/lib/components/VFileInput/VFileInput.js +34 -31
  530. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  531. package/lib/components/VFooter/VFooter.js +5 -6
  532. package/lib/components/VFooter/VFooter.js.map +1 -1
  533. package/lib/components/VForm/VForm.js +11 -8
  534. package/lib/components/VForm/VForm.js.map +1 -1
  535. package/lib/components/VGrid/VCol.js +9 -9
  536. package/lib/components/VGrid/VCol.js.map +1 -1
  537. package/lib/components/VGrid/VContainer.js +22 -16
  538. package/lib/components/VGrid/VContainer.js.map +1 -1
  539. package/lib/components/VGrid/VRow.js +12 -9
  540. package/lib/components/VGrid/VRow.js.map +1 -1
  541. package/lib/components/VGrid/grid.js +7 -6
  542. package/lib/components/VGrid/grid.js.map +1 -1
  543. package/lib/components/VHover/VHover.js +3 -3
  544. package/lib/components/VHover/VHover.js.map +1 -1
  545. package/lib/components/VIcon/VIcon.js +36 -65
  546. package/lib/components/VIcon/VIcon.js.map +1 -1
  547. package/lib/components/VImg/VImg.js +41 -32
  548. package/lib/components/VImg/VImg.js.map +1 -1
  549. package/lib/components/VInput/VInput.js +61 -59
  550. package/lib/components/VInput/VInput.js.map +1 -1
  551. package/lib/components/VItemGroup/VItem.js +5 -5
  552. package/lib/components/VItemGroup/VItem.js.map +1 -1
  553. package/lib/components/VItemGroup/VItemGroup.js +4 -8
  554. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  555. package/lib/components/VLabel/VLabel.js +18 -13
  556. package/lib/components/VLabel/VLabel.js.map +1 -1
  557. package/lib/components/VLazy/VLazy.js +7 -6
  558. package/lib/components/VLazy/VLazy.js.map +1 -1
  559. package/lib/components/VList/VList.js +12 -13
  560. package/lib/components/VList/VList.js.map +1 -1
  561. package/lib/components/VList/VListGroup.js +29 -21
  562. package/lib/components/VList/VListGroup.js.map +1 -1
  563. package/lib/components/VList/VListItem.js +26 -25
  564. package/lib/components/VList/VListItem.js.map +1 -1
  565. package/lib/components/VList/VListItemAction.js +8 -7
  566. package/lib/components/VList/VListItemAction.js.map +1 -1
  567. package/lib/components/VList/VListItemAvatar.js +9 -10
  568. package/lib/components/VList/VListItemAvatar.js.map +1 -1
  569. package/lib/components/VList/VListItemGroup.js +2 -2
  570. package/lib/components/VList/VListItemGroup.js.map +1 -1
  571. package/lib/components/VList/VListItemIcon.js +8 -7
  572. package/lib/components/VList/VListItemIcon.js.map +1 -1
  573. package/lib/components/VMain/VMain.js +5 -8
  574. package/lib/components/VMain/VMain.js.map +1 -1
  575. package/lib/components/VMenu/VMenu.js +65 -40
  576. package/lib/components/VMenu/VMenu.js.map +1 -1
  577. package/lib/components/VMessages/VMessages.js +12 -11
  578. package/lib/components/VMessages/VMessages.js.map +1 -1
  579. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +60 -49
  580. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  581. package/lib/components/VOtpInput/VOtpInput.js +46 -40
  582. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  583. package/lib/components/VOverflowBtn/VOverflowBtn.js +8 -10
  584. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  585. package/lib/components/VOverlay/VOverlay.js +8 -10
  586. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  587. package/lib/components/VPagination/VPagination.js +42 -30
  588. package/lib/components/VPagination/VPagination.js.map +1 -1
  589. package/lib/components/VParallax/VParallax.js +13 -12
  590. package/lib/components/VParallax/VParallax.js.map +1 -1
  591. package/lib/components/VPicker/VPicker.js +20 -15
  592. package/lib/components/VPicker/VPicker.js.map +1 -1
  593. package/lib/components/VProgressCircular/VProgressCircular.js +37 -30
  594. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  595. package/lib/components/VProgressLinear/VProgressLinear.js +30 -24
  596. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  597. package/lib/components/VRadioGroup/VRadio.js +34 -24
  598. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  599. package/lib/components/VRadioGroup/VRadioGroup.js +18 -17
  600. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  601. package/lib/components/VRangeSlider/VRangeSlider.js +7 -9
  602. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  603. package/lib/components/VRating/VRating.js +34 -34
  604. package/lib/components/VRating/VRating.js.map +1 -1
  605. package/lib/components/VResponsive/VResponsive.js +11 -10
  606. package/lib/components/VResponsive/VResponsive.js.map +1 -1
  607. package/lib/components/VSelect/VSelect.js +123 -95
  608. package/lib/components/VSelect/VSelect.js.map +1 -1
  609. package/lib/components/VSelect/VSelectList.js +59 -39
  610. package/lib/components/VSelect/VSelectList.js.map +1 -1
  611. package/lib/components/VSheet/VSheet.js +7 -11
  612. package/lib/components/VSheet/VSheet.js.map +1 -1
  613. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +21 -16
  614. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  615. package/lib/components/VSlideGroup/VSlideGroup.js +51 -35
  616. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  617. package/lib/components/VSlider/VSlider.js +75 -63
  618. package/lib/components/VSlider/VSlider.js.map +1 -1
  619. package/lib/components/VSnackbar/VSnackbar.js +31 -20
  620. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  621. package/lib/components/VSparkline/VSparkline.js +16 -17
  622. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  623. package/lib/components/VSpeedDial/VSpeedDial.js +10 -9
  624. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  625. package/lib/components/VStepper/VStepper.js +6 -6
  626. package/lib/components/VStepper/VStepper.js.map +1 -1
  627. package/lib/components/VStepper/VStepperContent.js +8 -8
  628. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  629. package/lib/components/VStepper/VStepperStep.js +9 -10
  630. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  631. package/lib/components/VSubheader/VSubheader.js +7 -7
  632. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  633. package/lib/components/VSwitch/VSwitch.js +26 -23
  634. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  635. package/lib/components/VSystemBar/VSystemBar.js +3 -4
  636. package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
  637. package/lib/components/VTabs/VTab.js +12 -13
  638. package/lib/components/VTabs/VTab.js.map +1 -1
  639. package/lib/components/VTabs/VTabItem.js +4 -5
  640. package/lib/components/VTabs/VTabItem.js.map +1 -1
  641. package/lib/components/VTabs/VTabs.js +48 -34
  642. package/lib/components/VTabs/VTabs.js.map +1 -1
  643. package/lib/components/VTabs/VTabsBar.js +10 -8
  644. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  645. package/lib/components/VTabs/VTabsItems.js +3 -5
  646. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  647. package/lib/components/VTabs/VTabsSlider.js +3 -4
  648. package/lib/components/VTabs/VTabsSlider.js.map +1 -1
  649. package/lib/components/VTextField/VTextField.js +73 -57
  650. package/lib/components/VTextField/VTextField.js.map +1 -1
  651. package/lib/components/VTextarea/VTextarea.js +5 -6
  652. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  653. package/lib/components/VThemeProvider/VThemeProvider.js +4 -5
  654. package/lib/components/VThemeProvider/VThemeProvider.js.map +1 -1
  655. package/lib/components/VTimePicker/VTimePicker.js +26 -22
  656. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  657. package/lib/components/VTimePicker/VTimePickerClock.js +7 -8
  658. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  659. package/lib/components/VTimePicker/VTimePickerTitle.js +7 -8
  660. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  661. package/lib/components/VTimeline/VTimeline.js +4 -4
  662. package/lib/components/VTimeline/VTimeline.js.map +1 -1
  663. package/lib/components/VTimeline/VTimelineItem.js +26 -23
  664. package/lib/components/VTimeline/VTimelineItem.js.map +1 -1
  665. package/lib/components/VToolbar/VToolbar.js +15 -19
  666. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  667. package/lib/components/VTooltip/VTooltip.js +12 -9
  668. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  669. package/lib/components/VTreeview/VTreeview.js +6 -6
  670. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  671. package/lib/components/VTreeview/VTreeviewNode.js +98 -83
  672. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  673. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -12
  674. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  675. package/lib/components/VWindow/VWindow.js +37 -27
  676. package/lib/components/VWindow/VWindow.js.map +1 -1
  677. package/lib/components/VWindow/VWindowItem.js +29 -23
  678. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  679. package/lib/components/index.js +4 -0
  680. package/lib/components/index.js.map +1 -1
  681. package/lib/components/transitions/createTransition.js +25 -20
  682. package/lib/components/transitions/createTransition.js.map +1 -1
  683. package/lib/directives/click-outside/index.js +6 -6
  684. package/lib/directives/click-outside/index.js.map +1 -1
  685. package/lib/directives/intersect/index.js +6 -6
  686. package/lib/directives/intersect/index.js.map +1 -1
  687. package/lib/directives/ripple/index.js +5 -6
  688. package/lib/directives/ripple/index.js.map +1 -1
  689. package/lib/directives/touch/index.js +6 -7
  690. package/lib/directives/touch/index.js.map +1 -1
  691. package/lib/framework.js +1 -1
  692. package/lib/framework.js.map +1 -1
  693. package/lib/helpers.js +9 -0
  694. package/lib/helpers.js.map +1 -0
  695. package/lib/install.js +16 -39
  696. package/lib/install.js.map +1 -1
  697. package/lib/mixins/activatable/index.js +10 -16
  698. package/lib/mixins/activatable/index.js.map +1 -1
  699. package/lib/mixins/binds-attrs/index.js +3 -3
  700. package/lib/mixins/binds-attrs/index.js.map +1 -1
  701. package/lib/mixins/bootable/index.js +4 -5
  702. package/lib/mixins/bootable/index.js.map +1 -1
  703. package/lib/mixins/button-group/index.js +3 -5
  704. package/lib/mixins/button-group/index.js.map +1 -1
  705. package/lib/mixins/colorable/index.js +6 -42
  706. package/lib/mixins/colorable/index.js.map +1 -1
  707. package/lib/mixins/comparable/index.js +2 -2
  708. package/lib/mixins/comparable/index.js.map +1 -1
  709. package/lib/mixins/delayable/index.js +2 -2
  710. package/lib/mixins/delayable/index.js.map +1 -1
  711. package/lib/mixins/dependent/index.js +2 -8
  712. package/lib/mixins/dependent/index.js.map +1 -1
  713. package/lib/mixins/detachable/index.js +2 -2
  714. package/lib/mixins/detachable/index.js.map +1 -1
  715. package/lib/mixins/elevatable/index.js +2 -2
  716. package/lib/mixins/elevatable/index.js.map +1 -1
  717. package/lib/mixins/filterable/index.js +2 -2
  718. package/lib/mixins/filterable/index.js.map +1 -1
  719. package/lib/mixins/groupable/index.js +11 -13
  720. package/lib/mixins/groupable/index.js.map +1 -1
  721. package/lib/mixins/intersectable/index.js +5 -11
  722. package/lib/mixins/intersectable/index.js.map +1 -1
  723. package/lib/mixins/loadable/index.js +9 -7
  724. package/lib/mixins/loadable/index.js.map +1 -1
  725. package/lib/mixins/localable/index.js +2 -2
  726. package/lib/mixins/localable/index.js.map +1 -1
  727. package/lib/mixins/measurable/index.js +2 -2
  728. package/lib/mixins/measurable/index.js.map +1 -1
  729. package/lib/mixins/menuable/index.js +5 -9
  730. package/lib/mixins/menuable/index.js.map +1 -1
  731. package/lib/mixins/mobile/index.js +12 -9
  732. package/lib/mixins/mobile/index.js.map +1 -1
  733. package/lib/mixins/mouse/index.js +4 -10
  734. package/lib/mixins/mouse/index.js.map +1 -1
  735. package/lib/mixins/overlayable/index.js +13 -44
  736. package/lib/mixins/overlayable/index.js.map +1 -1
  737. package/lib/mixins/picker/index.js +21 -19
  738. package/lib/mixins/picker/index.js.map +1 -1
  739. package/lib/mixins/picker-button/index.js +9 -10
  740. package/lib/mixins/picker-button/index.js.map +1 -1
  741. package/lib/mixins/positionable/index.js +2 -2
  742. package/lib/mixins/positionable/index.js.map +1 -1
  743. package/lib/mixins/proxyable/index.js +3 -3
  744. package/lib/mixins/proxyable/index.js.map +1 -1
  745. package/lib/mixins/registrable/index.js +3 -3
  746. package/lib/mixins/registrable/index.js.map +1 -1
  747. package/lib/mixins/returnable/index.js +2 -2
  748. package/lib/mixins/returnable/index.js.map +1 -1
  749. package/lib/mixins/rippleable/index.js +11 -9
  750. package/lib/mixins/rippleable/index.js.map +1 -1
  751. package/lib/mixins/roundable/index.js +2 -2
  752. package/lib/mixins/roundable/index.js.map +1 -1
  753. package/lib/mixins/routable/index.js +24 -20
  754. package/lib/mixins/routable/index.js.map +1 -1
  755. package/lib/mixins/scrollable/index.js +2 -2
  756. package/lib/mixins/scrollable/index.js.map +1 -1
  757. package/lib/mixins/selectable/index.js +23 -17
  758. package/lib/mixins/selectable/index.js.map +1 -1
  759. package/lib/mixins/sizeable/index.js +2 -2
  760. package/lib/mixins/sizeable/index.js.map +1 -1
  761. package/lib/mixins/ssr-bootable/index.js +2 -2
  762. package/lib/mixins/ssr-bootable/index.js.map +1 -1
  763. package/lib/mixins/stackable/index.js +2 -2
  764. package/lib/mixins/stackable/index.js.map +1 -1
  765. package/lib/mixins/themeable/index.js +8 -5
  766. package/lib/mixins/themeable/index.js.map +1 -1
  767. package/lib/mixins/toggleable/index.js +7 -3
  768. package/lib/mixins/toggleable/index.js.map +1 -1
  769. package/lib/mixins/transitionable/index.js +2 -2
  770. package/lib/mixins/transitionable/index.js.map +1 -1
  771. package/lib/mixins/translatable/index.js +2 -2
  772. package/lib/mixins/translatable/index.js.map +1 -1
  773. package/lib/mixins/validatable/index.js +1 -1
  774. package/lib/mixins/validatable/index.js.map +1 -1
  775. package/lib/services/goto/util.js.map +1 -1
  776. package/lib/services/theme/index.js +11 -7
  777. package/lib/services/theme/index.js.map +1 -1
  778. package/lib/util/helpers.js +16 -28
  779. package/lib/util/helpers.js.map +1 -1
  780. package/lib/util/mergeData.js +1 -1
  781. package/lib/util/mergeData.js.map +1 -1
  782. package/lib/util/mixins.js +4 -9
  783. package/lib/util/mixins.js.map +1 -1
  784. package/lib/vuetify.js +19 -0
  785. package/lib/vuetify.js.map +1 -0
  786. package/package.json +9 -8
  787. package/src/components/VAlert/VAlert.ts +50 -42
  788. package/src/components/VApp/VApp.ts +9 -11
  789. package/src/components/VAppBar/VAppBar.ts +10 -11
  790. package/src/components/VAppBar/VAppBarNavIcon.ts +11 -9
  791. package/src/components/VAppBar/VAppBarTitle.ts +3 -5
  792. package/src/components/VAutocomplete/VAutocomplete.ts +22 -21
  793. package/src/components/VAvatar/VAvatar.ts +4 -4
  794. package/src/components/VBadge/VBadge.ts +25 -21
  795. package/src/components/VBanner/VBanner.ts +27 -22
  796. package/src/components/VBanner/__tests__/VBanner.spec.ts +2 -2
  797. package/src/components/VBottomNavigation/VBottomNavigation.ts +14 -12
  798. package/src/components/VBottomSheet/VBottomSheet.ts +2 -4
  799. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +7 -7
  800. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +8 -6
  801. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +1 -1
  802. package/src/components/VBtn/VBtn.ts +25 -34
  803. package/src/components/VBtn/__tests__/VBtn.spec.ts +219 -219
  804. package/src/components/VBtnToggle/VBtnToggle.ts +2 -2
  805. package/src/components/VCalendar/VCalendar.ts +28 -22
  806. package/src/components/VCalendar/VCalendarCategory.ts +16 -17
  807. package/src/components/VCalendar/VCalendarDaily.ts +38 -38
  808. package/src/components/VCalendar/VCalendarMonthly.ts +1 -3
  809. package/src/components/VCalendar/VCalendarWeekly.ts +29 -29
  810. package/src/components/VCalendar/mixins/calendar-with-events.ts +21 -23
  811. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -3
  812. package/src/components/VCalendar/mixins/times.ts +2 -2
  813. package/src/components/VCard/VCard.ts +13 -12
  814. package/src/components/VCarousel/VCarousel.ts +37 -29
  815. package/src/components/VCarousel/VCarouselItem.ts +19 -19
  816. package/src/components/VCheckbox/VCheckbox.ts +10 -10
  817. package/src/components/VCheckbox/VSimpleCheckbox.ts +22 -23
  818. package/src/components/VChip/VChip.ts +41 -43
  819. package/src/components/VChipGroup/VChipGroup.ts +2 -2
  820. package/src/components/VColorPicker/VColorPicker.ts +29 -22
  821. package/src/components/VColorPicker/VColorPickerCanvas.ts +7 -8
  822. package/src/components/VColorPicker/VColorPickerEdit.ts +23 -18
  823. package/src/components/VColorPicker/VColorPickerPreview.ts +40 -30
  824. package/src/components/VColorPicker/VColorPickerSwatches.ts +14 -13
  825. package/src/components/VCombobox/VCombobox.ts +21 -21
  826. package/src/components/VContent/VContent.ts +4 -7
  827. package/src/components/VCounter/VCounter.ts +5 -5
  828. package/src/components/VData/VData.ts +3 -3
  829. package/src/components/VData/__tests__/VData.spec.ts +9 -9
  830. package/src/components/VDataIterator/VDataFooter.ts +48 -36
  831. package/src/components/VDataIterator/VDataIterator.ts +20 -16
  832. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +4 -4
  833. package/src/components/VDataTable/MobileRow.ts +12 -12
  834. package/src/components/VDataTable/Row.ts +9 -8
  835. package/src/components/VDataTable/RowGroup.ts +6 -8
  836. package/src/components/VDataTable/VDataTable.ts +180 -148
  837. package/src/components/VDataTable/VDataTableHeader.ts +8 -9
  838. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +25 -20
  839. package/src/components/VDataTable/VDataTableHeaderMobile.ts +9 -10
  840. package/src/components/VDataTable/VEditDialog.ts +39 -31
  841. package/src/components/VDataTable/VSimpleTable.ts +6 -6
  842. package/src/components/VDataTable/VVirtualTable.ts +12 -13
  843. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +2 -2
  844. package/src/components/VDataTable/__tests__/Row.spec.ts +2 -2
  845. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +992 -997
  846. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +2 -2
  847. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +2 -2
  848. package/src/components/VDataTable/mixins/header.ts +18 -12
  849. package/src/components/VDatePicker/VDatePicker.ts +108 -92
  850. package/src/components/VDatePicker/VDatePickerDateTable.ts +12 -12
  851. package/src/components/VDatePicker/VDatePickerHeader.ts +36 -24
  852. package/src/components/VDatePicker/VDatePickerMonthTable.ts +3 -3
  853. package/src/components/VDatePicker/VDatePickerTitle.ts +15 -11
  854. package/src/components/VDatePicker/VDatePickerYears.ts +3 -3
  855. package/src/components/VDatePicker/mixins/date-picker-table.ts +32 -29
  856. package/src/components/VDatePicker/util/eventHelpers.ts +3 -3
  857. package/src/components/VDialog/VDialog.ts +42 -38
  858. package/src/components/VDialog/__tests__/VDialog.spec.ts +10 -10
  859. package/src/components/VDivider/VDivider.ts +11 -12
  860. package/src/components/VExpansionPanel/VExpansionPanel.ts +7 -8
  861. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +8 -10
  862. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +33 -33
  863. package/src/components/VExpansionPanel/VExpansionPanels.ts +2 -4
  864. package/src/components/VFileInput/VFileInput.ts +35 -31
  865. package/src/components/VFooter/VFooter.ts +4 -5
  866. package/src/components/VForm/VForm.ts +10 -7
  867. package/src/components/VGrid/VCol.ts +4 -9
  868. package/src/components/VGrid/VContainer.ts +15 -18
  869. package/src/components/VGrid/VRow.ts +8 -8
  870. package/src/components/VGrid/grid.ts +3 -7
  871. package/src/components/VHover/VHover.ts +3 -3
  872. package/src/components/VHover/__tests__/VHover.spec.ts +1 -1
  873. package/src/components/VIcon/VIcon.ts +39 -64
  874. package/src/components/VImg/VImg.ts +40 -44
  875. package/src/components/VInput/VInput.ts +61 -51
  876. package/src/components/VItemGroup/VItem.ts +5 -5
  877. package/src/components/VItemGroup/VItemGroup.ts +2 -6
  878. package/src/components/VLabel/VLabel.ts +13 -12
  879. package/src/components/VLazy/VLazy.ts +4 -5
  880. package/src/components/VList/VList.ts +11 -10
  881. package/src/components/VList/VListGroup.ts +28 -22
  882. package/src/components/VList/VListItem.ts +24 -31
  883. package/src/components/VList/VListItemAction.ts +5 -8
  884. package/src/components/VList/VListItemAvatar.ts +10 -8
  885. package/src/components/VList/VListItemGroup.ts +2 -2
  886. package/src/components/VList/VListItemIcon.ts +5 -7
  887. package/src/components/VList/__tests__/VListItemAction.spec.ts +1 -1
  888. package/src/components/VMain/VMain.ts +5 -7
  889. package/src/components/VMenu/VMenu.ts +60 -47
  890. package/src/components/VMenu/__tests__/VMenu.spec.ts +20 -20
  891. package/src/components/VMessages/VMessages.ts +12 -9
  892. package/src/components/VMessages/__tests__/VMessages.spec.ts +1 -1
  893. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +49 -51
  894. package/src/components/VOtpInput/VOtpInput.ts +46 -39
  895. package/src/components/VOverflowBtn/VOverflowBtn.ts +9 -12
  896. package/src/components/VOverlay/VOverlay.ts +8 -8
  897. package/src/components/VPagination/VPagination.ts +37 -33
  898. package/src/components/VParallax/VParallax.ts +12 -11
  899. package/src/components/VPicker/VPicker.ts +20 -15
  900. package/src/components/VProgressCircular/VProgressCircular.ts +35 -32
  901. package/src/components/VProgressLinear/VProgressLinear.ts +32 -35
  902. package/src/components/VRadioGroup/VRadio.ts +31 -23
  903. package/src/components/VRadioGroup/VRadioGroup.ts +16 -18
  904. package/src/components/VRangeSlider/VRangeSlider.ts +7 -9
  905. package/src/components/VRating/VRating.ts +33 -35
  906. package/src/components/VRating/__tests__/VRating.spec.ts +64 -70
  907. package/src/components/VResponsive/VResponsive.ts +10 -10
  908. package/src/components/VSelect/VSelect.ts +117 -101
  909. package/src/components/VSelect/VSelectList.ts +59 -40
  910. package/src/components/VSheet/VSheet.ts +12 -14
  911. package/src/components/VSkeletonLoader/VSkeletonLoader.ts +20 -15
  912. package/src/components/VSlideGroup/VSlideGroup.ts +50 -44
  913. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +4 -4
  914. package/src/components/VSlider/VSlider.ts +75 -62
  915. package/src/components/VSnackbar/VSnackbar.ts +29 -26
  916. package/src/components/VSparkline/VSparkline.ts +17 -18
  917. package/src/components/VSpeedDial/VSpeedDial.ts +9 -8
  918. package/src/components/VStepper/VStepper.ts +5 -5
  919. package/src/components/VStepper/VStepperContent.ts +6 -14
  920. package/src/components/VStepper/VStepperStep.ts +8 -9
  921. package/src/components/VSubheader/VSubheader.ts +6 -6
  922. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +1 -1
  923. package/src/components/VSwitch/VSwitch.ts +27 -29
  924. package/src/components/VSystemBar/VSystemBar.ts +2 -3
  925. package/src/components/VTabs/VTab.ts +14 -14
  926. package/src/components/VTabs/VTabItem.ts +4 -6
  927. package/src/components/VTabs/VTabs.ts +43 -38
  928. package/src/components/VTabs/VTabsBar.ts +9 -7
  929. package/src/components/VTabs/VTabsItems.ts +3 -5
  930. package/src/components/VTabs/VTabsSlider.ts +2 -3
  931. package/src/components/VTabs/__tests__/VTabs.spec.ts +1 -1
  932. package/src/components/VTextField/VTextField.ts +68 -62
  933. package/src/components/VTextarea/VTextarea.ts +5 -6
  934. package/src/components/VThemeProvider/VThemeProvider.ts +4 -5
  935. package/src/components/VTimePicker/VTimePicker.ts +36 -32
  936. package/src/components/VTimePicker/VTimePickerClock.ts +7 -8
  937. package/src/components/VTimePicker/VTimePickerTitle.ts +7 -8
  938. package/src/components/VTimeline/VTimeline.ts +3 -3
  939. package/src/components/VTimeline/VTimelineItem.ts +25 -22
  940. package/src/components/VToolbar/VToolbar.ts +15 -17
  941. package/src/components/VTooltip/VTooltip.ts +12 -9
  942. package/src/components/VTreeview/VTreeview.ts +5 -6
  943. package/src/components/VTreeview/VTreeviewNode.ts +103 -88
  944. package/src/components/VVirtualScroll/VVirtualScroll.ts +7 -10
  945. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +1 -1
  946. package/src/components/VWindow/VWindow.sass +5 -5
  947. package/src/components/VWindow/VWindow.ts +33 -31
  948. package/src/components/VWindow/VWindowItem.ts +32 -27
  949. package/src/components/index.ts +10 -0
  950. package/src/components/transitions/createTransition.ts +25 -23
  951. package/src/directives/click-outside/index.ts +6 -6
  952. package/src/directives/intersect/index.ts +6 -6
  953. package/src/directives/ripple/index.ts +6 -9
  954. package/src/directives/touch/index.ts +6 -9
  955. package/src/framework.ts +0 -2
  956. package/src/helpers.ts +18 -0
  957. package/src/index.ts +3 -19
  958. package/src/install.ts +12 -39
  959. package/src/mixins/activatable/__tests__/activatable.spec.ts +1 -1
  960. package/src/mixins/activatable/index.ts +11 -19
  961. package/src/mixins/binds-attrs/index.ts +3 -3
  962. package/src/mixins/bootable/index.ts +4 -5
  963. package/src/mixins/button-group/index.ts +3 -5
  964. package/src/mixins/colorable/index.ts +6 -49
  965. package/src/mixins/comparable/index.ts +2 -2
  966. package/src/mixins/delayable/index.ts +2 -2
  967. package/src/mixins/dependent/index.ts +3 -11
  968. package/src/mixins/detachable/__tests__/detachable.spec.ts +3 -3
  969. package/src/mixins/detachable/index.ts +2 -2
  970. package/src/mixins/elevatable/index.ts +2 -2
  971. package/src/mixins/filterable/index.ts +2 -2
  972. package/src/mixins/groupable/index.ts +9 -13
  973. package/src/mixins/intersectable/index.ts +5 -8
  974. package/src/mixins/loadable/index.ts +12 -10
  975. package/src/mixins/localable/index.ts +2 -2
  976. package/src/mixins/measurable/index.ts +2 -2
  977. package/src/mixins/menuable/index.ts +5 -8
  978. package/src/mixins/mobile/index.ts +12 -10
  979. package/src/mixins/mouse/index.ts +4 -9
  980. package/src/mixins/overlayable/index.ts +16 -44
  981. package/src/mixins/picker/index.ts +19 -17
  982. package/src/mixins/picker-button/index.ts +7 -6
  983. package/src/mixins/positionable/index.ts +2 -2
  984. package/src/mixins/proxyable/index.ts +5 -5
  985. package/src/mixins/registrable/index.ts +3 -3
  986. package/src/mixins/returnable/index.ts +2 -2
  987. package/src/mixins/rippleable/index.ts +9 -16
  988. package/src/mixins/roundable/index.ts +2 -2
  989. package/src/mixins/routable/__tests__/routable.spec.ts +3 -6
  990. package/src/mixins/routable/index.ts +23 -24
  991. package/src/mixins/scrollable/index.ts +2 -2
  992. package/src/mixins/selectable/index.ts +23 -18
  993. package/src/mixins/sizeable/index.ts +2 -2
  994. package/src/mixins/ssr-bootable/index.ts +2 -2
  995. package/src/mixins/stackable/index.ts +2 -2
  996. package/src/mixins/themeable/index.ts +10 -6
  997. package/src/mixins/toggleable/index.ts +6 -3
  998. package/src/mixins/transitionable/index.ts +2 -2
  999. package/src/mixins/translatable/index.ts +2 -2
  1000. package/src/mixins/validatable/index.ts +1 -1
  1001. package/src/services/goto/util.ts +0 -1
  1002. package/src/services/theme/index.ts +7 -12
  1003. package/src/util/helpers.ts +12 -30
  1004. package/src/util/mergeData.ts +1 -1
  1005. package/src/util/mixins.ts +20 -10
  1006. package/src/vuetify.ts +19 -0
  1007. package/es5/util/make-directive-activatable.js +0 -74
  1008. package/es5/util/make-directive-activatable.js.map +0 -1
  1009. package/lib/util/make-directive-activatable.js +0 -49
  1010. package/lib/util/make-directive-activatable.js.map +0 -1
  1011. package/src/util/make-directive-activatable.ts +0 -55
@@ -1,8 +1,8 @@
1
1
  // Types
2
- import { defineComponent, h } from 'vue';
2
+ import Vue from 'vue';
3
3
  export default function VGrid(name) {
4
4
  /* @vue/component */
5
- return defineComponent({
5
+ return Vue.extend({
6
6
  name: `v-${name}`,
7
7
  functional: true,
8
8
  props: {
@@ -13,10 +13,11 @@ export default function VGrid(name) {
13
13
  }
14
14
  },
15
15
 
16
- render() {
17
- const data = this.$attrs;
18
- const children = this.$slots.default();
19
- const props = this.$props;
16
+ render(h, {
17
+ props,
18
+ data,
19
+ children
20
+ }) {
20
21
  data.staticClass = `${name} ${data.staticClass || ''}`.trim();
21
22
  const {
22
23
  attrs
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VGrid/grid.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,eAAT,EAAiC,CAAjC,QAA0C,KAA1C;AAEA,eAAc,SAAU,KAAV,CAAiB,IAAjB,EAA6B;AACzC;AACA,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,KAAK,IAAI,EADM;AAGrB,IAAA,UAAU,EAAE,IAHS;AAKrB,IAAA,KAAK,EAAE;AACL,MAAA,EAAE,EAAE,MADC;AAEL,MAAA,GAAG,EAAE;AACH,QAAA,IAAI,EAAE,MADH;AAEH,QAAA,OAAO,EAAE;AAFN;AAFA,KALc;;AAarB,IAAA,MAAM,GAAA;AACJ,YAAM,IAAI,GAAG,KAAK,MAAlB;AACA,YAAM,QAAQ,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAjB;AACA,YAAM,KAAK,GAAG,KAAK,MAAnB;AAEA,MAAA,IAAI,CAAC,WAAL,GAAoB,GAAG,IAAI,IAAI,IAAI,CAAC,WAAL,IAAoB,EAAE,EAAlC,CAAsC,IAAtC,EAAnB;AAEA,YAAM;AAAE,QAAA;AAAF,UAAY,IAAlB;;AACA,UAAI,KAAJ,EAAW;AACT;AACA,QAAA,IAAI,CAAC,KAAL,GAAa,EAAb;AACA,cAAM,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,CAA0B,GAAG,IAAG;AAC9C;AACA;AACA,cAAI,GAAG,KAAK,MAAZ,EAAoB,OAAO,KAAP;AAEpB,gBAAM,KAAK,GAAG,KAAK,CAAC,GAAD,CAAnB,CAL8C,CAO9C;AACA;;AACA,cAAI,GAAG,CAAC,UAAJ,CAAe,OAAf,CAAJ,EAA6B;AAC3B,YAAA,IAAI,CAAC,KAAL,CAAY,GAAZ,IAAmB,KAAnB;AACA,mBAAO,KAAP;AACD;;AAED,iBAAO,KAAK,IAAI,OAAO,KAAP,KAAiB,QAAjC;AACD,SAfe,CAAhB;AAiBA,YAAI,OAAO,CAAC,MAAZ,EAAoB,IAAI,CAAC,WAAL,IAAoB,IAAI,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,EAAzC;AACrB;;AAED,UAAI,KAAK,CAAC,EAAV,EAAc;AACZ,QAAA,IAAI,CAAC,QAAL,GAAgB,IAAI,CAAC,QAAL,IAAiB,EAAjC;AACA,QAAA,IAAI,CAAC,QAAL,CAAc,EAAd,GAAmB,KAAK,CAAC,EAAzB;AACD;;AAED,aAAO,CAAC,CAAC,KAAK,CAAC,GAAP,EAAY,IAAZ,EAAkB,QAAlB,CAAR;AACD;;AAlDoB,GAAD,CAAtB;AAoDD","sourcesContent":["// Types\nimport { defineComponent, VNode, h } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return defineComponent({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (): VNode {\n const data = this.$attrs\n const children = this.$slots.default()\n const props = this.$props\n\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const 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 if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n"],"sourceRoot":"","file":"grid.js"}
1
+ {"version":3,"sources":["../../../src/components/VGrid/grid.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,GAAP,MAA2B,KAA3B;AAEA,eAAc,SAAU,KAAV,CAAiB,IAAjB,EAA6B;AACzC;AACA,SAAO,GAAG,CAAC,MAAJ,CAAW;AAChB,IAAA,IAAI,EAAE,KAAK,IAAI,EADC;AAGhB,IAAA,UAAU,EAAE,IAHI;AAKhB,IAAA,KAAK,EAAE;AACL,MAAA,EAAE,EAAE,MADC;AAEL,MAAA,GAAG,EAAE;AACH,QAAA,IAAI,EAAE,MADH;AAEH,QAAA,OAAO,EAAE;AAFN;AAFA,KALS;;AAahB,IAAA,MAAM,CAAE,CAAF,EAAK;AAAE,MAAA,KAAF;AAAS,MAAA,IAAT;AAAe,MAAA;AAAf,KAAL,EAA8B;AAClC,MAAA,IAAI,CAAC,WAAL,GAAoB,GAAG,IAAI,IAAI,IAAI,CAAC,WAAL,IAAoB,EAAE,EAAlC,CAAsC,IAAtC,EAAnB;AAEA,YAAM;AAAE,QAAA;AAAF,UAAY,IAAlB;;AACA,UAAI,KAAJ,EAAW;AACT;AACA,QAAA,IAAI,CAAC,KAAL,GAAa,EAAb;AACA,cAAM,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,CAA0B,GAAG,IAAG;AAC9C;AACA;AACA,cAAI,GAAG,KAAK,MAAZ,EAAoB,OAAO,KAAP;AAEpB,gBAAM,KAAK,GAAG,KAAK,CAAC,GAAD,CAAnB,CAL8C,CAO9C;AACA;;AACA,cAAI,GAAG,CAAC,UAAJ,CAAe,OAAf,CAAJ,EAA6B;AAC3B,YAAA,IAAI,CAAC,KAAL,CAAY,GAAZ,IAAmB,KAAnB;AACA,mBAAO,KAAP;AACD;;AAED,iBAAO,KAAK,IAAI,OAAO,KAAP,KAAiB,QAAjC;AACD,SAfe,CAAhB;AAiBA,YAAI,OAAO,CAAC,MAAZ,EAAoB,IAAI,CAAC,WAAL,IAAoB,IAAI,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,EAAzC;AACrB;;AAED,UAAI,KAAK,CAAC,EAAV,EAAc;AACZ,QAAA,IAAI,CAAC,QAAL,GAAgB,IAAI,CAAC,QAAL,IAAiB,EAAjC;AACA,QAAA,IAAI,CAAC,QAAL,CAAc,EAAd,GAAmB,KAAK,CAAC,EAAzB;AACD;;AAED,aAAO,CAAC,CAAC,KAAK,CAAC,GAAP,EAAY,IAAZ,EAAkB,QAAlB,CAAR;AACD;;AA9Ce,GAAX,CAAP;AAgDD","sourcesContent":["// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const 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 if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n"],"sourceRoot":"","file":"grid.js"}
@@ -30,7 +30,7 @@ export default mixins(Delayable, Toggleable
30
30
  },
31
31
 
32
32
  render() {
33
- if (!this.$slots.default && this.value === undefined) {
33
+ if (!this.$scopedSlots.default && this.value === undefined) {
34
34
  consoleWarn('v-hover is missing a default scopedSlot or bound value', this);
35
35
  return null;
36
36
  }
@@ -38,8 +38,8 @@ export default mixins(Delayable, Toggleable
38
38
  let element;
39
39
  /* istanbul ignore else */
40
40
 
41
- if (this.$slots.default) {
42
- element = this.$slots.default({
41
+ if (this.$scopedSlots.default) {
42
+ element = this.$scopedSlots.default({
43
43
  hover: this.isActive
44
44
  });
45
45
  }
@@ -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,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,YAAL,CAAkB,OAAnB,IAA8B,KAAK,KAAL,KAAe,SAAjD,EAA4D;AAC1D,MAAA,WAAW,CAAC,wDAAD,EAA2D,IAA3D,CAAX;AAEA,aAAO,IAAP;AACD;;AAED,QAAI,OAAJ;AAEA;;AACA,QAAI,KAAK,YAAL,CAAkB,OAAtB,EAA+B;AAC7B,MAAA,OAAO,GAAG,KAAK,YAAL,CAAkB,OAAlB,CAA0B;AAAE,QAAA,KAAK,EAAE,KAAK;AAAd,OAA1B,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.$scopedSlots.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.$scopedSlots.default) {\n element = this.$scopedSlots.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"}
@@ -7,9 +7,8 @@ import Themeable from '../../mixins/themeable'; // Util
7
7
 
8
8
  import { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'; // Types
9
9
 
10
- import { defineComponent, h } from 'vue';
10
+ import Vue from 'vue';
11
11
  import mixins from '../../util/mixins';
12
- import { normalizeAttrs } from '../../util/helpers';
13
12
  var SIZE_MAP;
14
13
 
15
14
  (function (SIZE_MAP) {
@@ -51,19 +50,14 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
51
50
  },
52
51
 
53
52
  hasClickListener() {
54
- return Boolean(this.listeners$.onClick);
53
+ return Boolean(this.listeners$.click || this.listeners$['!click']);
55
54
  }
56
55
 
57
56
  },
58
57
  methods: {
59
58
  getIcon() {
60
59
  let iconName = '';
61
-
62
- if (this.$slots.default) {
63
- const children = this.$slots.default()[0].children;
64
- if (typeof children === 'string') iconName = this.$slots.default()[0].children.trim();
65
- }
66
-
60
+ if (this.$slots.default) iconName = this.$slots.default[0].text.trim();
67
61
  return remapInternalIcon(this, iconName);
68
62
  },
69
63
 
@@ -81,27 +75,23 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
81
75
 
82
76
  // Component data for both font icon and SVG wrapper span
83
77
  getDefaultData() {
84
- const data = {
78
+ return {
79
+ staticClass: 'v-icon notranslate',
85
80
  class: {
86
81
  'v-icon--disabled': this.disabled,
87
82
  'v-icon--left': this.left,
88
83
  'v-icon--link': this.hasClickListener,
89
84
  'v-icon--right': this.right,
90
- 'v-icon--dense': this.dense,
91
- 'v-icon': true,
92
- 'notranslate': true
85
+ 'v-icon--dense': this.dense
93
86
  },
94
- 'aria-hidden': !this.hasClickListener,
95
- type: this.hasClickListener ? 'button' : undefined,
96
- // ...this.attrs$,
97
- ...this.listeners$
87
+ attrs: {
88
+ 'aria-hidden': !this.hasClickListener,
89
+ disabled: this.hasClickListener && this.disabled,
90
+ type: this.hasClickListener ? 'button' : undefined,
91
+ ...this.attrs$
92
+ },
93
+ on: this.listeners$
98
94
  };
99
-
100
- if (this.hasClickListener && this.disabled) {
101
- data.disabled = true;
102
- }
103
-
104
- return data;
105
95
  },
106
96
 
107
97
  getSvgWrapperData() {
@@ -124,9 +114,9 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
124
114
  this.setTextColor(this.color, data);
125
115
  },
126
116
 
127
- renderFontIcon(icon) {
117
+ renderFontIcon(icon, h) {
128
118
  const newChildren = [];
129
- let data = this.getDefaultData();
119
+ const data = this.getDefaultData();
130
120
  let iconType = 'material-icons'; // Material Icon delimiter is _
131
121
  // https://material.io/icons/
132
122
 
@@ -141,13 +131,6 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
141
131
  if (isFontAwesome5(iconType)) iconType = '';
142
132
  }
143
133
 
144
- if (typeof data.class === 'string') {
145
- data.class = data.class.split(' ').reduce((classes, className) => {
146
- classes[className] = true;
147
- return classes;
148
- }, {});
149
- }
150
-
151
134
  data.class[iconType] = true;
152
135
  data.class[icon] = !isMaterialIcon;
153
136
  const fontSize = this.getSize();
@@ -155,12 +138,10 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
155
138
  fontSize
156
139
  };
157
140
  this.applyColors(data);
158
- return h(this.hasClickListener ? 'button' : this.tag, normalizeAttrs(data), {
159
- default: () => newChildren
160
- });
141
+ return h(this.hasClickListener ? 'button' : this.tag, data, newChildren);
161
142
  },
162
143
 
163
- renderSvgIcon(icon) {
144
+ renderSvgIcon(icon, h) {
164
145
  const svgData = {
165
146
  class: 'v-icon__svg',
166
147
  attrs: {
@@ -187,7 +168,7 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
187
168
  })])]);
188
169
  },
189
170
 
190
- renderSvgIconComponent(icon) {
171
+ renderSvgIconComponent(icon, h) {
191
172
  const data = {
192
173
  class: {
193
174
  'v-icon__component': true
@@ -207,56 +188,46 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
207
188
  const component = icon.component;
208
189
  data.props = icon.props;
209
190
  data.nativeOn = data.on;
210
- return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), {
211
- default: () => [h(component, data)]
212
- });
191
+ return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h(component, data)]);
213
192
  }
214
193
 
215
194
  },
216
195
 
217
- render() {
196
+ render(h) {
218
197
  const icon = this.getIcon();
219
198
 
220
199
  if (typeof icon === 'string') {
221
200
  if (isSvgPath(icon)) {
222
- return this.renderSvgIcon(icon);
201
+ return this.renderSvgIcon(icon, h);
223
202
  }
224
203
 
225
- return this.renderFontIcon(icon);
204
+ return this.renderFontIcon(icon, h);
226
205
  }
227
206
 
228
- return this.renderSvgIconComponent(icon);
207
+ return this.renderSvgIconComponent(icon, h);
229
208
  }
230
209
 
231
210
  });
232
- export default defineComponent({
211
+ export default Vue.extend({
233
212
  name: 'v-icon',
234
213
  $_wrapperFor: VIcon,
235
214
  functional: true,
236
215
 
237
- mounted() {
238
- this.$el.innerHTML = '';
239
- },
240
-
241
- render() {
242
- const data = { ...this.$attrs
243
- }; // console.log(children && children[0]?.children)
216
+ render(h, {
217
+ data,
218
+ children
219
+ }) {
220
+ let iconName = ''; // Support usage of v-text and v-html
244
221
 
245
- return h(VIcon, data, {
246
- default: () => {
247
- var _a, _b, _c, _d;
222
+ if (data.domProps) {
223
+ iconName = data.domProps.textContent || data.domProps.innerHTML || iconName; // Remove nodes so it doesn't
224
+ // overwrite our changes
248
225
 
249
- let iconName = ''; // Support usage of v-text and v-html
250
- // if (data.domProps) {
251
-
252
- if ((_a = this.$.vnode.props) === null || _a === void 0 ? void 0 : _a.textContent) {
253
- iconName = this.$.vnode.props.textContent || this.$.vnode.props.innerHTML || iconName;
254
- }
226
+ delete data.domProps.textContent;
227
+ delete data.domProps.innerHTML;
228
+ }
255
229
 
256
- const children = (_c = (_b = this.$slots).default) === null || _c === void 0 ? void 0 : _c.call(_b);
257
- return iconName ? [iconName] : children && ((_d = children[0]) === null || _d === void 0 ? void 0 : _d.children);
258
- }
259
- });
230
+ return h(VIcon, data, iconName ? [iconName] : children);
260
231
  }
261
232
 
262
233
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport { defineComponent, CreateElement, VNode, VNodeChildren, VNodeData, h } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\nimport { normalizeAttrs } from '../../util/helpers'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.onClick\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) {\n const children = this.$slots.default()[0].children\n if(typeof children === 'string')\n iconName = this.$slots.default()[0].children!.trim()\n\n }\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n const data = {\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n 'v-icon': true,\n 'notranslate': true\n },\n 'aria-hidden': !this.hasClickListener,\n type: this.hasClickListener ? 'button' : undefined,\n // ...this.attrs$,\n ...this.listeners$,\n }\n\n if(this.hasClickListener && this.disabled) {\n data.disabled = true\n }\n return data\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string): VNode {\n const newChildren: VNodeChildren = []\n let data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n if(typeof data.class === 'string') {\n data.class = data.class.split(' ').reduce((classes, className) => {\n classes[className] = true\n return classes\n }, {})\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, normalizeAttrs(data), {default: () => newChildren})\n },\n renderSvgIcon (icon: string): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), {default: () =>[\n h(component, data),\n ]})\n },\n },\n\n render (): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon)\n }\n return this.renderFontIcon(icon)\n }\n\n return this.renderSvgIconComponent(icon)\n },\n})\n\nexport default defineComponent({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n mounted() {\n this.$el.innerHTML = ''\n },\n\n render (): VNode {\n const data = { ...this.$attrs }\n\n\n // console.log(children && children[0]?.children)\n return h(VIcon, data, {\n default: () => {\n let iconName = ''\n\n // Support usage of v-text and v-html\n // if (data.domProps) {\n if(this.$.vnode.props?.textContent) {\n iconName = this.$.vnode.props.textContent ||\n this.$.vnode.props.innerHTML ||\n iconName\n }\n\n const children = this.$slots.default?.()\n\n return iconName ? [iconName] : children && children[0]?.children\n }\n })\n }\n})\n"],"sourceRoot":"","file":"VIcon.js"}
1
+ {"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n"],"sourceRoot":"","file":"VIcon.js"}
@@ -1,5 +1,4 @@
1
- import { h, Transition, withDirectives, mergeProps } from 'vue'; // Styles
2
-
1
+ // Styles
3
2
  import "../../../src/components/VImg/VImg.sass"; // Directives
4
3
 
5
4
  import intersect from '../../directives/intersect'; // Components
@@ -12,7 +11,6 @@ import mixins from '../../util/mixins';
12
11
  import mergeData from '../../util/mergeData';
13
12
  import { consoleWarn } from '../../util/console';
14
13
  import { getSlot } from '../../util/helpers';
15
- import Intersect from '../../directives/intersect';
16
14
  const hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window;
17
15
  /* @vue/component */
18
16
 
@@ -89,12 +87,12 @@ export default mixins(VResponsive, Themeable).extend({
89
87
  const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc;
90
88
  if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`);
91
89
  if (src) backgroundImage.push(`url("${src}")`);
92
- const image = h('div', {
90
+ const image = this.$createElement('div', {
91
+ staticClass: 'v-image__image',
93
92
  class: {
94
93
  'v-image__image--preload': this.isLoading,
95
94
  'v-image__image--contain': this.contain,
96
- 'v-image__image--cover': !this.contain,
97
- 'v-image__image': true
95
+ 'v-image__image--cover': !this.contain
98
96
  },
99
97
  style: {
100
98
  backgroundImage: backgroundImage.join(', '),
@@ -105,9 +103,11 @@ export default mixins(VResponsive, Themeable).extend({
105
103
  /* istanbul ignore if */
106
104
 
107
105
  if (!this.transition) return image;
108
- return h(Transition, {
109
- name: this.transition,
110
- mode: 'in-out'
106
+ return this.$createElement('transition', {
107
+ attrs: {
108
+ name: this.transition,
109
+ mode: 'in-out'
110
+ }
111
111
  }, [image]);
112
112
  }
113
113
 
@@ -212,14 +212,14 @@ export default mixins(VResponsive, Themeable).extend({
212
212
  },
213
213
 
214
214
  genContent() {
215
- let content = VResponsive.methods.genContent.call(this);
215
+ const content = VResponsive.options.methods.genContent.call(this);
216
216
 
217
217
  if (this.naturalWidth) {
218
- content = h(content.type, mergeProps(content.data, {
218
+ this._b(content.data, 'div', {
219
219
  style: {
220
220
  width: `${this.naturalWidth}px`
221
221
  }
222
- }), content.children);
222
+ });
223
223
  }
224
224
 
225
225
  return content;
@@ -229,36 +229,45 @@ export default mixins(VResponsive, Themeable).extend({
229
229
  const slot = getSlot(this, 'placeholder');
230
230
 
231
231
  if (slot) {
232
- const placeholder = this.isLoading ? [h('div', {
233
- class: 'v-image__placeholder'
232
+ const placeholder = this.isLoading ? [this.$createElement('div', {
233
+ staticClass: 'v-image__placeholder'
234
234
  }, slot)] : [];
235
235
  if (!this.transition) return placeholder[0];
236
- return h(Transition, {
237
- appear: true,
238
- name: this.transition
236
+ return this.$createElement('transition', {
237
+ props: {
238
+ appear: true,
239
+ name: this.transition
240
+ }
239
241
  }, placeholder);
240
242
  }
241
243
  }
242
244
 
243
245
  },
244
246
 
245
- render() {
246
- let node = VResponsive.render.call(this, h);
247
- const data = mergeData(node.props, {
248
- 'aria-label': this.alt,
249
- role: this.alt ? 'img' : undefined,
250
- class: { ...this.themeClasses,
251
- 'v-image': true
252
- }
247
+ render(h) {
248
+ const node = VResponsive.options.render.call(this, h);
249
+ const data = mergeData(node.data, {
250
+ staticClass: 'v-image',
251
+ attrs: {
252
+ 'aria-label': this.alt,
253
+ role: this.alt ? 'img' : undefined
254
+ },
255
+ class: this.themeClasses,
256
+ // Only load intersect directive if it
257
+ // will work in the current browser.
258
+ directives: hasIntersect ? [{
259
+ name: 'intersect',
260
+ modifiers: {
261
+ once: true
262
+ },
263
+ value: {
264
+ handler: this.init,
265
+ options: this.options
266
+ }
267
+ }] : undefined
253
268
  });
254
269
  node.children = [this.__cachedSizer, this.__cachedImage, this.__genPlaceholder(), this.genContent()];
255
- node = h(node.type, data, node.children);
256
- return withDirectives(node, hasIntersect ? [[Intersect, {
257
- handler: this.init,
258
- options: this.options
259
- }, '', {
260
- once: true
261
- }]] : []);
270
+ return h(node.tag, data, node.children);
262
271
  }
263
272
 
264
273
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VImg/VImg.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, Transition, withDirectives, mergeProps} from 'vue'\n// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\nimport Intersect from '../../directives/intersect'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator<IntersectionObserverInit>,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator<string | srcObject>,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = h('div', {\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n 'v-image__image': true\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return h(Transition, {\n name: this.transition,\n mode: 'in-out',\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n let content: VNode = VResponsive.methods.genContent.call(this)\n\n if (this.naturalWidth) {\n content = h(content.type, mergeProps(content.data!, {\n style: { width: `${this.naturalWidth}px` },\n }), content.children)\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [h('div', {\n class: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return h(Transition, {\n appear: true,\n name: this.transition,\n }, placeholder)\n }\n },\n },\n\n render (): VNode {\n let node = VResponsive.render.call(this, h)\n\n const data = mergeData(node.props, {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n class: {\n ...this.themeClasses,\n 'v-image': true\n }\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n node = h(node.type, data, node.children)\n\n return withDirectives(node, hasIntersect\n ? [\n [\n Intersect,\n {\n handler: this.init,\n options: this.options,\n },\n '',\n {\n once: true\n }\n ]\n ]\n\n : [])\n },\n})\n"],"sourceRoot":"","file":"VImg.js"}
1
+ {"version":3,"sources":["../../../src/components/VImg/VImg.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator<IntersectionObserverInit>,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator<string | srcObject>,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n"],"sourceRoot":"","file":"VImg.js"}