@dimailn/vuetify 2.7.2-alpha27 → 2.7.2-alpha29

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 (349) hide show
  1. package/dist/vuetify.js +1493 -325
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +38 -9
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAutocomplete/VAutocomplete.js +1 -0
  8. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  9. package/es5/components/VBadge/VBadge.js +28 -0
  10. package/es5/components/VBadge/VBadge.js.map +1 -1
  11. package/es5/components/VBanner/VBanner.js +34 -6
  12. package/es5/components/VBanner/VBanner.js.map +1 -1
  13. package/es5/components/VBottomNavigation/VBottomNavigation.js +25 -0
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  15. package/es5/components/VCarousel/VCarousel.js +28 -3
  16. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  17. package/es5/components/VCheckbox/VSimpleCheckbox.js +30 -2
  18. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  19. package/es5/components/VChip/VChip.js +1 -0
  20. package/es5/components/VChip/VChip.js.map +1 -1
  21. package/es5/components/VColorPicker/VColorPicker.js +30 -2
  22. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  23. package/es5/components/VCombobox/VCombobox.js +1 -0
  24. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  25. package/es5/components/VDataIterator/VDataFooter.js +16 -7
  26. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  27. package/es5/components/VDataIterator/VDataIterator.js +42 -47
  28. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  29. package/es5/components/VDataTable/RowGroup.js +46 -15
  30. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  31. package/es5/components/VDataTable/VDataTable.js +10 -18
  32. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  33. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  34. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
  35. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  36. package/es5/components/VDataTable/VDataTableHeaderMobile.js +28 -37
  37. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  38. package/es5/components/VDataTable/VEditDialog.js +3 -4
  39. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  40. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  41. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  42. package/es5/components/VDataTable/VVirtualTable.js +5 -5
  43. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  44. package/es5/components/VDataTable/mixins/header.js +1 -1
  45. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  46. package/es5/components/VDatePicker/VDatePicker.js +21 -9
  47. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  48. package/es5/components/VDatePicker/VDatePickerHeader.js +24 -8
  49. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  50. package/es5/components/VDatePicker/VDatePickerTitle.js +33 -8
  51. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  52. package/es5/components/VDatePicker/VDatePickerYears.js +38 -13
  53. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  54. package/es5/components/VDatePicker/mixins/date-picker-table.js +33 -17
  55. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  56. package/es5/components/VInput/VInput.js +36 -8
  57. package/es5/components/VInput/VInput.js.map +1 -1
  58. package/es5/components/VList/VListGroup.js +47 -21
  59. package/es5/components/VList/VListGroup.js.map +1 -1
  60. package/es5/components/VList/VListItem.js +33 -6
  61. package/es5/components/VList/VListItem.js.map +1 -1
  62. package/es5/components/VMenu/VMenu.js +56 -31
  63. package/es5/components/VMenu/VMenu.js.map +1 -1
  64. package/es5/components/VMessages/VMessages.js +30 -7
  65. package/es5/components/VMessages/VMessages.js.map +1 -1
  66. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +36 -9
  67. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  68. package/es5/components/VOtpInput/VOtpInput.js +36 -0
  69. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  70. package/es5/components/VOverlay/VOverlay.js +28 -0
  71. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  72. package/es5/components/VPagination/VPagination.js +30 -6
  73. package/es5/components/VPagination/VPagination.js.map +1 -1
  74. package/es5/components/VProgressLinear/VProgressLinear.js +28 -0
  75. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  76. package/es5/components/VRadioGroup/VRadioGroup.js +28 -0
  77. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  78. package/es5/components/VRating/VRating.js +45 -17
  79. package/es5/components/VRating/VRating.js.map +1 -1
  80. package/es5/components/VSelect/VSelect.js +112 -84
  81. package/es5/components/VSelect/VSelect.js.map +1 -1
  82. package/es5/components/VSelect/VSelectList.js +73 -19
  83. package/es5/components/VSelect/VSelectList.js.map +1 -1
  84. package/es5/components/VSlider/VSlider.js +42 -16
  85. package/es5/components/VSlider/VSlider.js.map +1 -1
  86. package/es5/components/VSpeedDial/VSpeedDial.js +10 -8
  87. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  88. package/es5/components/VTabs/VTabs.js +45 -17
  89. package/es5/components/VTabs/VTabs.js.map +1 -1
  90. package/es5/components/VTooltip/VTooltip.js +3 -3
  91. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  92. package/es5/components/VTreeview/VTreeview.js +0 -7
  93. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  94. package/es5/framework.js +1 -1
  95. package/es5/mixins/routable/index.js +5 -2
  96. package/es5/mixins/routable/index.js.map +1 -1
  97. package/es5/mixins/validatable/index.js +24 -0
  98. package/es5/mixins/validatable/index.js.map +1 -1
  99. package/es5/util/console.js +49 -18
  100. package/es5/util/console.js.map +1 -1
  101. package/es5/util/helpers.js +5 -1
  102. package/es5/util/helpers.js.map +1 -1
  103. package/lib/components/VAlert/VAlert.js +12 -7
  104. package/lib/components/VAlert/VAlert.js.map +1 -1
  105. package/lib/components/VAutocomplete/VAutocomplete.js +1 -0
  106. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  107. package/lib/components/VBadge/VBadge.js +11 -0
  108. package/lib/components/VBadge/VBadge.js.map +1 -1
  109. package/lib/components/VBanner/VBanner.js +11 -0
  110. package/lib/components/VBanner/VBanner.js.map +1 -1
  111. package/lib/components/VBottomNavigation/VBottomNavigation.js +7 -0
  112. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  113. package/lib/components/VCarousel/VCarousel.js +7 -0
  114. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  115. package/lib/components/VCheckbox/VSimpleCheckbox.js +11 -0
  116. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  117. package/lib/components/VChip/VChip.js +1 -0
  118. package/lib/components/VChip/VChip.js.map +1 -1
  119. package/lib/components/VColorPicker/VColorPicker.js +12 -1
  120. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  121. package/lib/components/VCombobox/VCombobox.js +1 -0
  122. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  123. package/lib/components/VDataIterator/VDataFooter.js +14 -7
  124. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  125. package/lib/components/VDataIterator/VDataIterator.js +26 -31
  126. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  127. package/lib/components/VDataTable/RowGroup.js +30 -14
  128. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  129. package/lib/components/VDataTable/VDataTable.js +8 -15
  130. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  131. package/lib/components/VDataTable/VDataTableHeader.js +1 -1
  132. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  133. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
  134. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  135. package/lib/components/VDataTable/VDataTableHeaderMobile.js +17 -25
  136. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  137. package/lib/components/VDataTable/VEditDialog.js +3 -4
  138. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  139. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  140. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  141. package/lib/components/VDataTable/VVirtualTable.js +1 -2
  142. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  143. package/lib/components/VDataTable/mixins/header.js +1 -1
  144. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  145. package/lib/components/VDatePicker/VDatePicker.js +7 -1
  146. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  147. package/lib/components/VDatePicker/VDatePickerHeader.js +12 -1
  148. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  149. package/lib/components/VDatePicker/VDatePickerTitle.js +11 -0
  150. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  151. package/lib/components/VDatePicker/VDatePickerYears.js +11 -1
  152. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  153. package/lib/components/VDatePicker/mixins/date-picker-table.js +12 -1
  154. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  155. package/lib/components/VInput/VInput.js +13 -3
  156. package/lib/components/VInput/VInput.js.map +1 -1
  157. package/lib/components/VList/VListGroup.js +16 -8
  158. package/lib/components/VList/VListGroup.js.map +1 -1
  159. package/lib/components/VList/VListItem.js +12 -3
  160. package/lib/components/VList/VListItem.js.map +1 -1
  161. package/lib/components/VMenu/VMenu.js +15 -4
  162. package/lib/components/VMenu/VMenu.js.map +1 -1
  163. package/lib/components/VMessages/VMessages.js +13 -2
  164. package/lib/components/VMessages/VMessages.js.map +1 -1
  165. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +11 -2
  166. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  167. package/lib/components/VOtpInput/VOtpInput.js +48 -0
  168. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  169. package/lib/components/VOverlay/VOverlay.js +11 -0
  170. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  171. package/lib/components/VPagination/VPagination.js +11 -0
  172. package/lib/components/VPagination/VPagination.js.map +1 -1
  173. package/lib/components/VProgressLinear/VProgressLinear.js +11 -0
  174. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  175. package/lib/components/VRadioGroup/VRadioGroup.js +11 -0
  176. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  177. package/lib/components/VRating/VRating.js +11 -0
  178. package/lib/components/VRating/VRating.js.map +1 -1
  179. package/lib/components/VSelect/VSelect.js +52 -36
  180. package/lib/components/VSelect/VSelect.js.map +1 -1
  181. package/lib/components/VSelect/VSelectList.js +32 -8
  182. package/lib/components/VSelect/VSelectList.js.map +1 -1
  183. package/lib/components/VSlider/VSlider.js +11 -1
  184. package/lib/components/VSlider/VSlider.js.map +1 -1
  185. package/lib/components/VSpeedDial/VSpeedDial.js +7 -7
  186. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  187. package/lib/components/VTabs/VTabs.js +11 -0
  188. package/lib/components/VTabs/VTabs.js.map +1 -1
  189. package/lib/components/VTooltip/VTooltip.js +3 -3
  190. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  191. package/lib/components/VTreeview/VTreeview.js +0 -6
  192. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  193. package/lib/framework.js +1 -1
  194. package/lib/mixins/routable/index.js +5 -2
  195. package/lib/mixins/routable/index.js.map +1 -1
  196. package/lib/mixins/validatable/index.js +7 -1
  197. package/lib/mixins/validatable/index.js.map +1 -1
  198. package/lib/util/console.js +47 -17
  199. package/lib/util/console.js.map +1 -1
  200. package/lib/util/helpers.js +5 -1
  201. package/lib/util/helpers.js.map +1 -1
  202. package/package.json +1 -1
  203. package/src/components/VAlert/VAlert.ts +17 -8
  204. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  205. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
  206. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  207. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  208. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  209. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  210. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  211. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  212. package/src/components/VAutocomplete/VAutocomplete.ts +22 -0
  213. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
  214. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
  215. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
  216. package/src/components/VBadge/VBadge.ts +13 -0
  217. package/src/components/VBanner/VBanner.ts +13 -0
  218. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  219. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  220. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -0
  221. package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
  222. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  223. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  224. package/src/components/VCarousel/VCarousel.ts +11 -0
  225. package/src/components/VCheckbox/VSimpleCheckbox.ts +13 -0
  226. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  227. package/src/components/VChip/VChip.ts +1 -0
  228. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  229. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  230. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  231. package/src/components/VColorPicker/VColorPicker.ts +13 -0
  232. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
  233. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  234. package/src/components/VCombobox/VCombobox.ts +23 -0
  235. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
  236. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
  237. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  238. package/src/components/VDataIterator/VDataFooter.ts +14 -9
  239. package/src/components/VDataIterator/VDataIterator.ts +46 -34
  240. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  241. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  242. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
  243. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
  244. package/src/components/VDataTable/RowGroup.ts +33 -16
  245. package/src/components/VDataTable/VDataTable.ts +8 -15
  246. package/src/components/VDataTable/VDataTableHeader.ts +2 -2
  247. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +4 -0
  248. package/src/components/VDataTable/VDataTableHeaderMobile.ts +16 -25
  249. package/src/components/VDataTable/VEditDialog.ts +3 -3
  250. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  251. package/src/components/VDataTable/VVirtualTable.ts +1 -2
  252. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  253. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  254. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  255. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
  256. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
  257. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +33 -24
  258. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
  259. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  260. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  261. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
  262. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
  263. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  264. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  265. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +10 -13
  266. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
  267. package/src/components/VDataTable/mixins/header.ts +1 -1
  268. package/src/components/VDatePicker/VDatePicker.ts +11 -1
  269. package/src/components/VDatePicker/VDatePickerHeader.ts +13 -0
  270. package/src/components/VDatePicker/VDatePickerTitle.ts +12 -0
  271. package/src/components/VDatePicker/VDatePickerYears.ts +13 -0
  272. package/src/components/VDatePicker/mixins/date-picker-table.ts +13 -0
  273. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  274. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  275. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  276. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  277. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  278. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  279. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  280. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  281. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
  282. package/src/components/VInput/VInput.ts +18 -5
  283. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  284. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  285. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  286. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  287. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  288. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  289. package/src/components/VList/VListGroup.ts +22 -10
  290. package/src/components/VList/VListItem.ts +19 -4
  291. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  292. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  293. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  294. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  295. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  296. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  297. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  298. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  299. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  300. package/src/components/VMenu/VMenu.ts +22 -4
  301. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  302. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  303. package/src/components/VMessages/VMessages.ts +15 -4
  304. package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
  305. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  306. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +21 -11
  307. package/src/components/VOtpInput/VOtpInput.ts +37 -1
  308. package/src/components/VOverlay/VOverlay.ts +12 -0
  309. package/src/components/VPagination/VPagination.ts +23 -9
  310. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  311. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  312. package/src/components/VProgressLinear/VProgressLinear.ts +13 -0
  313. package/src/components/VRadioGroup/VRadioGroup.ts +14 -0
  314. package/src/components/VRating/VRating.ts +13 -0
  315. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  316. package/src/components/VSelect/VSelect.ts +60 -43
  317. package/src/components/VSelect/VSelectList.ts +33 -12
  318. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  319. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  320. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  321. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  322. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  323. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  324. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  325. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  326. package/src/components/VSlider/VSlider.ts +14 -1
  327. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  328. package/src/components/VSpeedDial/VSpeedDial.ts +7 -8
  329. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  330. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  331. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  332. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  333. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  334. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  335. package/src/components/VTabs/VTabs.ts +14 -0
  336. package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
  337. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  338. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  339. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +0 -40
  340. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  341. package/src/components/VTooltip/VTooltip.ts +3 -3
  342. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  343. package/src/components/VTreeview/VTreeview.ts +0 -5
  344. package/src/mixins/routable/index.ts +6 -4
  345. package/src/mixins/validatable/index.ts +11 -1
  346. package/src/util/__tests__/console.spec.ts +124 -11
  347. package/src/util/__tests__/helpers.spec.ts +59 -31
  348. package/src/util/console.ts +43 -24
  349. package/src/util/helpers.ts +8 -4
@@ -1,29 +1,20 @@
1
- // Libraries
2
- import Vue from 'vue'
3
-
4
1
  // Components
5
2
  import VLabel from '../VLabel'
6
3
 
7
4
  // Utilities
8
5
  import {
9
- createLocalVue,
10
6
  mount,
11
- Wrapper,
7
+ VueWrapper,
12
8
  } from '@vue/test-utils'
13
9
 
14
10
  describe('VLabel', () => {
15
- let mountFunction: (options?: object) => Wrapper<Vue>
16
- let localVue: typeof Vue
11
+ type Instance = InstanceType<typeof VLabel>
12
+ let mountFunction: (options?: any) => VueWrapper<Instance>
17
13
 
18
14
  beforeEach(() => {
19
- localVue = createLocalVue()
20
-
21
- mountFunction = (ctx = {}) => {
15
+ mountFunction = (options = {}) => {
22
16
  return mount(VLabel, {
23
- localVue,
24
- context: {
25
- ...ctx,
26
- },
17
+ ...options,
27
18
  })
28
19
  }
29
20
  })
@@ -48,4 +39,239 @@ describe('VLabel', () => {
48
39
 
49
40
  expect(wrapper.element.style.position).toBe('absolute')
50
41
  })
42
+
43
+ it('should render default slot content', () => {
44
+ const wrapper = mountFunction({
45
+ slots: {
46
+ default: 'Custom Label Text',
47
+ },
48
+ })
49
+
50
+ expect(wrapper.text()).toBe('Custom Label Text')
51
+ })
52
+
53
+ it('should render complex slot content with HTML', () => {
54
+ const wrapper = mountFunction({
55
+ slots: {
56
+ default: '<span class="custom-class">Label with <strong>bold</strong> text</span>',
57
+ },
58
+ })
59
+
60
+ expect(wrapper.find('.custom-class').exists()).toBe(true)
61
+ expect(wrapper.find('strong').exists()).toBe(true)
62
+ expect(wrapper.find('strong').text()).toBe('bold')
63
+ })
64
+
65
+ it('should render slot content with components', () => {
66
+ const TestComponent = {
67
+ template: '<span class="test-component">Test Component</span>',
68
+ }
69
+
70
+ const wrapper = mountFunction({
71
+ slots: {
72
+ default: TestComponent,
73
+ },
74
+ })
75
+
76
+ expect(wrapper.find('.test-component').exists()).toBe(true)
77
+ expect(wrapper.find('.test-component').text()).toBe('Test Component')
78
+ })
79
+
80
+ it('should render slot content with multiple elements', () => {
81
+ const wrapper = mountFunction({
82
+ slots: {
83
+ default: [
84
+ '<span class="first">First</span>',
85
+ '<span class="second">Second</span>',
86
+ ],
87
+ },
88
+ })
89
+
90
+ expect(wrapper.find('.first').exists()).toBe(true)
91
+ expect(wrapper.find('.second').exists()).toBe(true)
92
+ expect(wrapper.find('.first').text()).toBe('First')
93
+ expect(wrapper.find('.second').text()).toBe('Second')
94
+ })
95
+
96
+ it('should render empty content when no slot provided', () => {
97
+ const wrapper = mountFunction()
98
+
99
+ expect(wrapper.text()).toBe('')
100
+ })
101
+
102
+ it('should apply proper classes when slot content is present', () => {
103
+ const wrapper = mountFunction({
104
+ slots: {
105
+ default: 'Test Label',
106
+ },
107
+ props: {
108
+ value: true,
109
+ disabled: true,
110
+ },
111
+ })
112
+
113
+ expect(wrapper.classes('v-label--active')).toBe(true)
114
+ expect(wrapper.classes('v-label--is-disabled')).toBe(true)
115
+ })
116
+
117
+ it('should render slot content with proper for attribute', () => {
118
+ const wrapper = mountFunction({
119
+ props: {
120
+ for: 'test-input',
121
+ },
122
+ slots: {
123
+ default: 'Label for input',
124
+ },
125
+ })
126
+
127
+ expect(wrapper.attributes('for')).toBe('test-input')
128
+ expect(wrapper.attributes('aria-hidden')).toBe('false')
129
+ })
130
+
131
+ it('should set aria-hidden when no for attribute provided', () => {
132
+ const wrapper = mountFunction({
133
+ slots: {
134
+ default: 'Label without for',
135
+ },
136
+ })
137
+
138
+ expect(wrapper.attributes('aria-hidden')).toBe('true')
139
+ })
140
+
141
+ it('should render slot content with proper positioning', () => {
142
+ const wrapper = mountFunction({
143
+ props: {
144
+ left: 10,
145
+ right: 20,
146
+ },
147
+ slots: {
148
+ default: 'Positioned label',
149
+ },
150
+ })
151
+
152
+ expect(wrapper.element.style.left).toBe('10px')
153
+ expect(wrapper.element.style.right).toBe('20px')
154
+ })
155
+
156
+ it('should render slot content with theme classes', () => {
157
+ const wrapper = mountFunction({
158
+ props: {
159
+ dark: true,
160
+ },
161
+ slots: {
162
+ default: 'Dark theme label',
163
+ },
164
+ })
165
+
166
+ expect(wrapper.classes('theme--dark')).toBe(true)
167
+ })
168
+
169
+ it('should handle focused state with color', () => {
170
+ const wrapper = mountFunction({
171
+ props: {
172
+ focused: true,
173
+ color: 'error',
174
+ },
175
+ slots: {
176
+ default: 'Focused error label',
177
+ },
178
+ })
179
+
180
+ expect(wrapper.classes('error--text')).toBe(true)
181
+ })
182
+
183
+ it('should handle disabled state', () => {
184
+ const wrapper = mountFunction({
185
+ props: {
186
+ disabled: true,
187
+ },
188
+ slots: {
189
+ default: 'Disabled label',
190
+ },
191
+ })
192
+
193
+ expect(wrapper.classes('v-label--is-disabled')).toBe(true)
194
+ })
195
+
196
+ it('should handle active state', () => {
197
+ const wrapper = mountFunction({
198
+ props: {
199
+ value: true,
200
+ },
201
+ slots: {
202
+ default: 'Active label',
203
+ },
204
+ })
205
+
206
+ expect(wrapper.classes('v-label--active')).toBe(true)
207
+ })
208
+
209
+ it('should handle custom positioning with string values', () => {
210
+ const wrapper = mountFunction({
211
+ props: {
212
+ left: '20%',
213
+ right: '30px',
214
+ },
215
+ slots: {
216
+ default: 'Positioned label',
217
+ },
218
+ })
219
+
220
+ expect(wrapper.element.style.left).toBe('20%')
221
+ expect(wrapper.element.style.right).toBe('30px')
222
+ })
223
+
224
+ it('should handle light theme', () => {
225
+ const wrapper = mountFunction({
226
+ props: {
227
+ light: true,
228
+ },
229
+ slots: {
230
+ default: 'Light theme label',
231
+ },
232
+ })
233
+
234
+ expect(wrapper.classes('theme--light')).toBe(true)
235
+ })
236
+
237
+ it('should handle multiple theme classes', () => {
238
+ const wrapper = mountFunction({
239
+ props: {
240
+ dark: true,
241
+ light: false,
242
+ },
243
+ slots: {
244
+ default: 'Theme label',
245
+ },
246
+ })
247
+
248
+ expect(wrapper.classes('theme--dark')).toBe(true)
249
+ expect(wrapper.classes('theme--light')).toBe(false)
250
+ })
251
+
252
+ it('should render slot content with proper element tag', () => {
253
+ const wrapper = mountFunction({
254
+ slots: {
255
+ default: 'Label content',
256
+ },
257
+ })
258
+
259
+ expect(wrapper.element.tagName.toLowerCase()).toBe('label')
260
+ })
261
+
262
+ it('should handle slot content with event listeners', () => {
263
+ const onClick = jest.fn()
264
+
265
+ const wrapper = mountFunction({
266
+ attrs: {
267
+ onClick,
268
+ },
269
+ slots: {
270
+ default: 'Clickable label',
271
+ },
272
+ })
273
+
274
+ wrapper.trigger('click')
275
+ expect(onClick).toHaveBeenCalled()
276
+ })
51
277
  })
@@ -6,12 +6,15 @@ import {
6
6
  mount,
7
7
  MountOptions,
8
8
  Wrapper,
9
+ enableAutoUnmount,
9
10
  } from '@vue/test-utils'
10
11
 
11
12
  describe('VLazy.ts', () => {
12
13
  type Instance = InstanceType<typeof VLazy>
13
14
  let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
14
15
 
16
+ enableAutoUnmount(afterEach)
17
+
15
18
  beforeEach(() => {
16
19
  mountFunction = (options = {}) => {
17
20
  return mount(VLazy, {
@@ -29,16 +32,14 @@ describe('VLazy.ts', () => {
29
32
 
30
33
  expect(wrapper.html()).toMatchSnapshot()
31
34
 
32
- wrapper.setProps({ value: true })
33
-
34
- await wrapper.vm.$nextTick()
35
+ await wrapper.setProps({ modelValue: true })
35
36
 
36
37
  expect(wrapper.html()).toMatchSnapshot()
37
38
  })
38
39
 
39
40
  it('should set a minimum height', () => {
40
41
  const wrapper = mountFunction({
41
- propsData: {
42
+ props: {
42
43
  minHeight: 200,
43
44
  },
44
45
  })
@@ -2,12 +2,13 @@
2
2
 
3
3
  exports[`VLazy.ts should conditionally render content 1`] = `
4
4
  <div class="v-lazy">
5
+ false
5
6
  </div>
6
7
  `;
7
8
 
8
9
  exports[`VLazy.ts should conditionally render content 2`] = `
9
10
  <div class="v-lazy">
10
- <div>
11
+ <div class="fade-transition-enter-from fade-transition-enter-active">
11
12
  foobar
12
13
  </div>
13
14
  </div>
@@ -24,6 +24,7 @@ import { VExpandTransition } from '../transitions'
24
24
  // Utils
25
25
  import mixins, { ExtractVue } from '../../util/mixins'
26
26
  import { getSlot } from '../../util/helpers'
27
+ import { breaking } from '../../util/console'
27
28
 
28
29
  // Types
29
30
  import { Route } from 'vue-router'
@@ -85,17 +86,18 @@ export default baseMixins.extend({
85
86
  },
86
87
  },
87
88
 
88
- watch: {
89
- isActive (val: boolean) {
90
- /* istanbul ignore else */
91
- if (!this.subGroup && val) {
92
- this.list && this.list.listClick(this.$.uid)
93
- }
94
- },
95
- $route: 'onRouteChange',
96
- },
97
-
98
89
  created () {
90
+ const breakingProps = [
91
+ ['value', 'modelValue'],
92
+ ['inputValue', 'modelValue'],
93
+ ['onInput', 'onUpdate:modelValue'],
94
+ ]
95
+
96
+ /* istanbul ignore next */
97
+ breakingProps.forEach(([original, replacement]) => {
98
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
99
+ })
100
+
99
101
  this.list && this.list.register(this)
100
102
 
101
103
  if (this.group &&
@@ -106,6 +108,16 @@ export default baseMixins.extend({
106
108
  }
107
109
  },
108
110
 
111
+ watch: {
112
+ isActive (val: boolean) {
113
+ /* istanbul ignore else */
114
+ if (!this.subGroup && val) {
115
+ this.list && this.list.listClick(this.$.uid)
116
+ }
117
+ },
118
+ $route: 'onRouteChange',
119
+ },
120
+
109
121
  beforeUnmount () {
110
122
  this.list && this.list.unregister(this)
111
123
  },
@@ -16,7 +16,7 @@ import Ripple from '../../directives/ripple'
16
16
  import { getSlot, keyCodes } from './../../util/helpers'
17
17
  import mergeData, { mergeClasses } from './../../util/mergeData'
18
18
  import { ExtractVue } from './../../util/mixins'
19
- import { removed } from '../../util/console'
19
+ import { removed, breaking } from '../../util/console'
20
20
 
21
21
  // Types
22
22
  import mixins from '../../util/mixins'
@@ -41,7 +41,6 @@ interface options extends ExtractVue<typeof baseMixins> {
41
41
  export default baseMixins.extend({
42
42
  name: 'v-list-item',
43
43
 
44
-
45
44
  inject: {
46
45
  isInGroup: {
47
46
  default: false,
@@ -65,6 +64,7 @@ export default baseMixins.extend({
65
64
  } as any as PropValidator<string>,
66
65
  dense: Boolean,
67
66
  inactive: Boolean,
67
+ onClick: Function as PropType<(e: MouseEvent) => void>,
68
68
  link: Boolean,
69
69
  selectable: {
70
70
  type: Boolean,
@@ -118,6 +118,15 @@ export default baseMixins.extend({
118
118
  },
119
119
 
120
120
  created () {
121
+ const breakingProps = [
122
+ ['value', 'modelValue'],
123
+ ]
124
+
125
+ /* istanbul ignore next */
126
+ breakingProps.forEach(([original, replacement]) => {
127
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
128
+ })
129
+
121
130
  /* istanbul ignore next */
122
131
  if (this.$attrs.hasOwnProperty('avatar')) {
123
132
  removed('avatar', this)
@@ -194,10 +203,16 @@ export default baseMixins.extend({
194
203
  // delete data.nativeOn
195
204
  // }
196
205
 
197
- const children = getSlot(this, 'default', {
206
+ const slotProps = {
198
207
  active: this.isActive,
199
208
  toggle: this.toggle,
200
- })
209
+ }
210
+
211
+ const children = [
212
+ getSlot(this, 'prepend', slotProps),
213
+ getSlot(this, 'default', slotProps),
214
+ getSlot(this, 'append', slotProps),
215
+ ].filter(Boolean)
201
216
 
202
217
  const nodeData = this.isActive ? this.setTextColor(this.color, data) : data
203
218
 
@@ -2,14 +2,11 @@
2
2
  import VList from '../VList'
3
3
 
4
4
  // Utilities
5
- import {
6
- mount,
7
- Wrapper,
8
- } from '@vue/test-utils'
5
+ import { mount, VueWrapper } from '@vue/test-utils'
9
6
 
10
7
  describe('VList.ts', () => {
11
- type Instance = InstanceType<typeof VList>
12
- let mountFunction: (options?: object) => Wrapper<Instance>
8
+ type Instance = InstanceType<typeof VList>;
9
+ let mountFunction: (options?: any) => VueWrapper<Instance>
13
10
 
14
11
  beforeEach(() => {
15
12
  mountFunction = (options = {}) => {
@@ -27,7 +24,7 @@ describe('VList.ts', () => {
27
24
 
28
25
  it('should render a dense component and match snapshot', () => {
29
26
  const wrapper = mountFunction({
30
- propsData: {
27
+ props: {
31
28
  dense: true,
32
29
  },
33
30
  })
@@ -37,7 +34,7 @@ describe('VList.ts', () => {
37
34
 
38
35
  it('should render a subheader component and match snapshot', () => {
39
36
  const wrapper = mountFunction({
40
- propsData: {
37
+ props: {
41
38
  subheader: true,
42
39
  },
43
40
  })
@@ -47,7 +44,7 @@ describe('VList.ts', () => {
47
44
 
48
45
  it('should render a threeLine component and match snapshot', () => {
49
46
  const wrapper = mountFunction({
50
- propsData: {
47
+ props: {
51
48
  threeLine: true,
52
49
  },
53
50
  })
@@ -57,7 +54,7 @@ describe('VList.ts', () => {
57
54
 
58
55
  it('should render a twoLine component and match snapshot', () => {
59
56
  const wrapper = mountFunction({
60
- propsData: {
57
+ props: {
61
58
  twoLine: true,
62
59
  },
63
60
  })
@@ -67,13 +64,17 @@ describe('VList.ts', () => {
67
64
 
68
65
  it('should have an inferred role from injections', () => {
69
66
  const wrapper = mountFunction({
70
- provide: { isInMenu: true },
67
+ global: {
68
+ provide: { isInMenu: true },
69
+ },
71
70
  })
72
71
 
73
72
  expect(wrapper.element.getAttribute('role')).toBeNull()
74
73
 
75
74
  const wrapper2 = mountFunction({
76
- provide: { isInNav: true },
75
+ global: {
76
+ provide: { isInNav: true },
77
+ },
77
78
  })
78
79
 
79
80
  expect(wrapper2.element.getAttribute('role')).toBeNull()