@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,4 +1,5 @@
1
1
  import VDataTableHeader from '../VDataTableHeader'
2
+ import VDataTableHeaderMobile from '../VDataTableHeaderMobile'
2
3
  import { Lang } from '../../../services/lang'
3
4
  import ripple from '../../../directives/ripple'
4
5
  import VSelect from '../../VSelect/VSelect'
@@ -9,7 +10,6 @@ import {
9
10
  MountOptions,
10
11
  Wrapper,
11
12
  } from '@vue/test-utils'
12
- import Vue from 'vue'
13
13
 
14
14
  const testHeaders = [
15
15
  {
@@ -25,16 +25,6 @@ const testHeaders = [
25
25
  { text: 'Iron (%)', value: 'iron' },
26
26
  ]
27
27
 
28
- Vue.prototype.$vuetify = {
29
- icons: {},
30
- rtl: false,
31
- lang: new Lang(preset),
32
- theme: {
33
- dark: false,
34
- },
35
- }
36
- Vue.directive('ripple', ripple)
37
-
38
28
  describe('VDataTableHeader.ts', () => {
39
29
  type Instance = InstanceType<typeof VDataTableHeader>
40
30
  let mountFunction: (options?: MountOptions<Instance>, isMobile?: boolean) => Wrapper<Instance>
@@ -49,10 +39,28 @@ describe('VDataTableHeader.ts', () => {
49
39
  ...options,
50
40
  // https://github.com/vuejs/vue-test-utils/issues/1130
51
41
  sync: false,
52
- propsData: {
42
+ props: {
53
43
  headers: testHeaders,
54
44
  mobile: isMobile,
55
- ...(options || {}).propsData,
45
+ ...(options || {}).props,
46
+ },
47
+ on: {
48
+ ...(options || {}).on,
49
+ },
50
+ global: {
51
+ mocks: {
52
+ $vuetify: {
53
+ icons: {},
54
+ rtl: false,
55
+ lang: new Lang(preset),
56
+ theme: {
57
+ dark: false,
58
+ },
59
+ },
60
+ },
61
+ directives: {
62
+ ripple,
63
+ },
56
64
  },
57
65
  })
58
66
  }
@@ -65,7 +73,7 @@ describe('VDataTableHeader.ts', () => {
65
73
  })
66
74
  it('should work with showGroupBy', () => {
67
75
  const wrapper = mountFunction({
68
- propsData: {
76
+ props: {
69
77
  showGroupBy: true,
70
78
  },
71
79
  })
@@ -75,7 +83,7 @@ describe('VDataTableHeader.ts', () => {
75
83
 
76
84
  it('should work with multiSort', () => {
77
85
  const wrapper = mountFunction({
78
- propsData: {
86
+ props: {
79
87
  options: {
80
88
  multiSort: true,
81
89
  sortBy: ['iron'],
@@ -89,7 +97,7 @@ describe('VDataTableHeader.ts', () => {
89
97
 
90
98
  it('should work with sortBy correctly', () => {
91
99
  const wrapper = mountFunction({
92
- propsData: {
100
+ props: {
93
101
  options: {
94
102
  sortBy: ['iron'],
95
103
  sortDesc: [true],
@@ -102,7 +110,7 @@ describe('VDataTableHeader.ts', () => {
102
110
 
103
111
  it('should work with sortDesc correctly', () => {
104
112
  const wrapper = mountFunction({
105
- propsData: {
113
+ props: {
106
114
  options: {
107
115
  sortBy: ['iron', 'carbs'],
108
116
  sortDesc: [false, true],
@@ -116,7 +124,7 @@ describe('VDataTableHeader.ts', () => {
116
124
  if (isMobile) {
117
125
  it('should render with data-table-select header', () => {
118
126
  const wrapper = mountFunction({
119
- propsData: {
127
+ props: {
120
128
  headers: [...testHeaders, { text: 'test', value: 'data-table-select' }],
121
129
  },
122
130
  })
@@ -124,22 +132,24 @@ describe('VDataTableHeader.ts', () => {
124
132
  expect(wrapper.html()).toMatchSnapshot()
125
133
  })
126
134
 
127
- it('should sort when select changes', () => {
128
- const sort = jest.fn()
129
- const wrapper = mountFunction({
130
- listeners: {
131
- sort,
132
- },
133
- })
134
- const select = wrapper.find(VSelect)
135
+ it('should sort when select changes', async () => {
136
+ const wrapper = mountFunction()
137
+
138
+ const mobileHeader = wrapper.findComponent(VDataTableHeaderMobile)
139
+ const select = mobileHeader.findComponent(VSelect)
140
+
141
+ expect(select.exists()).toBe(true)
142
+
143
+ select.vm.$emit('update:modelValue', 'test')
144
+ await wrapper.vm.$nextTick()
135
145
 
136
- select.vm.$emit('change', 'test')
137
- expect(sort).toHaveBeenLastCalledWith('test')
146
+ expect(mobileHeader.emitted('sort')).toBeTruthy()
147
+ expect(mobileHeader.emitted('sort')?.[0]).toEqual(['test'])
138
148
  })
139
149
 
140
150
  it('should apply header class and width for select-all column', () => {
141
151
  const wrapper = mount(VDataTableHeader, {
142
- propsData: {
152
+ props: {
143
153
  mobile: isMobile,
144
154
  headers: [
145
155
  {
@@ -39,7 +39,7 @@ describe('VEditDialog.ts', () => {
39
39
 
40
40
  it('should render custom button texts', () => {
41
41
  const wrapper = mountFunction({
42
- propsData: {
42
+ props: {
43
43
  cancelText: `I don't want to modify that!`,
44
44
  saveText: 'Save it!',
45
45
  },
@@ -55,9 +55,9 @@ describe('VEditDialog.ts', () => {
55
55
  const close = jest.fn()
56
56
 
57
57
  const wrapper = mountFunction({
58
- listeners: {
59
- open,
60
- close,
58
+ props: {
59
+ onOpen: open,
60
+ onClose: close,
61
61
  },
62
62
  })
63
63
 
@@ -78,19 +78,19 @@ describe('VEditDialog.ts', () => {
78
78
  const close = jest.fn()
79
79
 
80
80
  const wrapper = mountFunction({
81
- listeners: {
82
- open,
83
- close,
81
+ props: {
82
+ onOpen: open,
83
+ onClose: close,
84
84
  },
85
85
  })
86
86
 
87
- const menu = wrapper.find(VMenu)
87
+ const menu = wrapper.findComponent(VMenu)
88
88
 
89
- menu.vm.$emit('input', true)
89
+ menu.vm.$emit('update:modelValue', true)
90
90
  await wrapper.vm.$nextTick()
91
91
  expect(open).toHaveBeenCalledTimes(1)
92
92
 
93
- menu.vm.$emit('input', false)
93
+ menu.vm.$emit('update:modelValue', false)
94
94
  await wrapper.vm.$nextTick()
95
95
  expect(close).toHaveBeenCalledTimes(1)
96
96
  })
@@ -100,8 +100,8 @@ describe('VEditDialog.ts', () => {
100
100
 
101
101
  const parentWrapper = mount({
102
102
  template: `
103
- <v-edit-dialog :return-value.sync="val">
104
- <template v-slot:input>
103
+ <v-edit-dialog v-model:return-value="val">
104
+ <template #input>
105
105
  <input v-model="val" class="test"/>
106
106
  </template>
107
107
  </v-edit-dialog>
@@ -115,30 +115,39 @@ describe('VEditDialog.ts', () => {
115
115
  },
116
116
  data () {
117
117
  return {
118
- val: '',
118
+ val: 'test',
119
119
  }
120
120
  },
121
121
  })
122
122
 
123
- const wrapper = parentWrapper.find(VEditDialog)
123
+ const wrapper = parentWrapper.findComponent(VEditDialog)
124
124
  const field = parentWrapper.find('input.test')
125
125
  const input = wrapper.vm.$refs.content as HTMLElement
126
126
 
127
127
  // Make sure originalValue gets set
128
128
  wrapper.vm.isActive = true
129
+ await wrapper.vm.$nextTick()
129
130
  field.setValue('test')
131
+ // Update the parent component's val to match the input value
132
+ parentWrapper.vm.val = 'test'
130
133
  input.dispatchEvent(new KeyboardEvent('keydown', { keyCode: keyCodes.esc } as KeyboardEventInit))
134
+ await wrapper.vm.$nextTick()
131
135
  expect(wrapper.emitted('cancel')).toBeTruthy()
132
- expect(wrapper.emitted('update:return-value')[0]).toEqual([''])
133
- expect(wrapper.props('returnValue')).toBe('')
136
+ expect(wrapper.emitted('update:return-value')?.[0]).toEqual(['test'])
137
+ expect(wrapper.props('returnValue')).toBe('test')
134
138
 
135
139
  wrapper.vm.isActive = true
140
+ await wrapper.vm.$nextTick()
136
141
  field.setValue('test')
142
+ // Update the parent component's val to match the input value
143
+ parentWrapper.vm.val = 'test'
137
144
  input.dispatchEvent(new KeyboardEvent('keydown', { keyCode: keyCodes.enter } as KeyboardEventInit))
145
+ await wrapper.vm.$nextTick()
138
146
  expect(wrapper.emitted('save')).toBeTruthy()
139
147
  expect(setTimeout).toHaveBeenLastCalledWith(expect.any(Function))
140
148
  jest.advanceTimersByTime(0)
141
- expect(wrapper.emitted('update:return-value')[1]).toEqual(['test'])
149
+ await wrapper.vm.$nextTick()
150
+ expect(wrapper.emitted('update:return-value')?.[1]).toEqual(['test'])
142
151
  expect(wrapper.props('returnValue')).toBe('test')
143
152
 
144
153
  jest.useRealTimers()
@@ -182,17 +191,17 @@ describe('VEditDialog.ts', () => {
182
191
  const saveEvent = jest.fn()
183
192
 
184
193
  const wrapper = mountFunction({
185
- methods: {
186
- save,
187
- },
188
194
  render () {
189
195
  return this.genActions()
190
196
  },
191
- listeners: {
192
- save: saveEvent,
197
+ props: {
198
+ onSave: saveEvent,
193
199
  },
194
200
  })
195
201
 
202
+ // Mock the save method
203
+ wrapper.vm.save = save
204
+
196
205
  expect(wrapper.html()).toMatchSnapshot()
197
206
 
198
207
  const btn = wrapper.find('.v-btn:last-child')
@@ -204,8 +213,8 @@ describe('VEditDialog.ts', () => {
204
213
  it('should cancel', () => {
205
214
  const cancel = jest.fn()
206
215
  const wrapper = mountFunction({
207
- listeners: {
208
- cancel,
216
+ props: {
217
+ onCancel: cancel,
209
218
  },
210
219
  data: () => ({
211
220
  isActive: true,
@@ -1,26 +1,39 @@
1
1
  import VSimpleTable from '../VSimpleTable'
2
2
  import {
3
3
  mount,
4
- Wrapper,
5
- MountOptions,
4
+ VueWrapper,
5
+ enableAutoUnmount,
6
6
  } from '@vue/test-utils'
7
+ import { h } from 'vue'
7
8
 
8
9
  describe('VSimpleTable.ts', () => {
9
10
  type Instance = InstanceType<typeof VSimpleTable>
10
- let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
11
+ let mountFunction: (options?: any) => VueWrapper<Instance>
12
+
13
+ enableAutoUnmount(afterEach)
14
+
11
15
  beforeEach(() => {
12
- mountFunction = (options?: MountOptions<Instance>) => {
13
- return mount(VSimpleTable, options)
16
+ mountFunction = (options = {}) => {
17
+ return mount(VSimpleTable, {
18
+ global: {
19
+ config: {
20
+ warnHandler: () => {}, // Подавляем предупреждения Vue
21
+ },
22
+ },
23
+ ...options,
24
+ })
14
25
  }
15
26
  })
16
27
 
28
+ const createDefaultSlots = () => [
29
+ h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
30
+ h('tr', [h('td', 'baz'), h('td', 'qux')]),
31
+ ]
32
+
17
33
  it('should render', () => {
18
34
  const wrapper = mountFunction({
19
35
  slots: {
20
- default: `
21
- <tr><th>Foo</th><th>Bar</th></tr>
22
- <tr><td>baz</td><td>qux</td></tr>
23
- `,
36
+ default: createDefaultSlots,
24
37
  },
25
38
  })
26
39
 
@@ -32,23 +45,39 @@ describe('VSimpleTable.ts', () => {
32
45
  it('should render with custom wrapper', () => {
33
46
  const wrapper = mountFunction({
34
47
  slots: {
35
- wrapper: `
36
- <table>
37
- <tr><th>Foo</th><th>Bar</th></tr>
38
- <tr><td>baz</td><td>qux</td></tr>
39
- </table>
40
- `,
48
+ default: createDefaultSlots,
49
+ wrapper: () => h('div', {
50
+ class: 'custom-wrapper',
51
+ 'data-test': 'custom-wrapper',
52
+ }, [
53
+ h('table', { class: 'custom-table' }, [
54
+ h('tr', [h('th', 'Custom Header 1'), h('th', 'Custom Header 2')]),
55
+ h('tr', [h('td', 'Custom Data 1'), h('td', 'Custom Data 2')]),
56
+ ]),
57
+ ]),
41
58
  },
42
59
  })
43
60
 
61
+ // Проверяем, что дефолтный wrapper не используется
62
+ expect(wrapper.findAll('.v-data-table__wrapper')).toHaveLength(0)
63
+
64
+ // Проверяем, что кастомный wrapper присутствует
65
+ expect(wrapper.findAll('[data-test="custom-wrapper"]')).toHaveLength(1)
66
+ expect(wrapper.findAll('.custom-wrapper')).toHaveLength(1)
67
+ expect(wrapper.findAll('.custom-table')).toHaveLength(1)
68
+
69
+ // Проверяем содержимое кастомного wrapper
70
+ expect(wrapper.find('.custom-wrapper').text()).toContain('Custom Header 1')
71
+ expect(wrapper.find('.custom-wrapper').text()).toContain('Custom Data 1')
72
+
44
73
  expect(wrapper.html()).toMatchSnapshot()
45
74
  })
46
75
 
47
76
  it('should render with top & bottom slots', () => {
48
77
  const wrapper = mountFunction({
49
78
  slots: {
50
- top: '<div class="top">Header</div>',
51
- bottom: '<div class="bottom">Footer</div>',
79
+ top: () => h('div', { class: 'top' }, 'Header'),
80
+ bottom: () => h('div', { class: 'bottom' }, 'Footer'),
52
81
  },
53
82
  })
54
83
 
@@ -60,12 +89,9 @@ describe('VSimpleTable.ts', () => {
60
89
  it('should render with custom height', () => {
61
90
  const wrapper = mountFunction({
62
91
  slots: {
63
- default: `
64
- <tr><th>Foo</th><th>Bar</th></tr>
65
- <tr><td>baz</td><td>qux</td></tr>
66
- `,
92
+ default: createDefaultSlots,
67
93
  },
68
- propsData: {
94
+ props: {
69
95
  height: 1000,
70
96
  },
71
97
  })
@@ -73,29 +99,29 @@ describe('VSimpleTable.ts', () => {
73
99
  expect(wrapper.html()).toMatchSnapshot()
74
100
  })
75
101
 
76
- it('should compute classes', () => {
102
+ it('should compute classes', async () => {
77
103
  const wrapper = mountFunction()
78
104
 
79
- wrapper.setProps({
105
+ await wrapper.setProps({
80
106
  dense: true,
81
107
  })
82
108
  expect(wrapper.vm.classes).toMatchObject({
83
109
  'v-data-table--dense': true,
84
110
  })
85
- wrapper.setProps({
111
+ await wrapper.setProps({
86
112
  dark: true,
87
113
  })
88
114
  expect(wrapper.vm.classes).toMatchObject({
89
115
  'theme--dark': true,
90
116
  'theme--light': false,
91
117
  })
92
- wrapper.setProps({
118
+ await wrapper.setProps({
93
119
  fixedHeader: true,
94
120
  })
95
121
  expect(wrapper.vm.classes).toMatchObject({
96
122
  'v-data-table--fixed-header': true,
97
123
  })
98
- wrapper.setProps({
124
+ await wrapper.setProps({
99
125
  fixedHeader: false,
100
126
  height: 1000,
101
127
  })
@@ -107,8 +133,8 @@ describe('VSimpleTable.ts', () => {
107
133
  it('should compute classes with top & bottom slots', () => {
108
134
  const wrapper = mountFunction({
109
135
  slots: {
110
- top: '<div class="top">Header</div>',
111
- bottom: '<div class="bottom">Footer</div>',
136
+ top: () => h('div', { class: 'top' }, 'Header'),
137
+ bottom: () => h('div', { class: 'bottom' }, 'Footer'),
112
138
  },
113
139
  })
114
140
 
@@ -1,29 +1,27 @@
1
1
  import VVirtualTable from '../VVirtualTable'
2
2
  import {
3
3
  mount,
4
- Wrapper,
5
- MountOptions,
4
+ VueWrapper,
5
+ MountingOptions,
6
6
  } from '@vue/test-utils'
7
- import Vue from 'vue'
7
+ import { h } from 'vue'
8
8
 
9
9
  describe('VVirtualTable.ts', () => {
10
10
  type Instance = InstanceType<typeof VVirtualTable>
11
- let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
11
+ let mountFunction: (options?: MountingOptions<Instance>) => VueWrapper<Instance>
12
12
  beforeEach(() => {
13
- mountFunction = (options?: MountOptions<Instance>) => {
13
+ mountFunction = (options?: MountingOptions<Instance>) => {
14
14
  return mount(VVirtualTable, options)
15
15
  }
16
16
  })
17
17
 
18
18
  it('should render', () => {
19
- const vm = new Vue()
20
-
21
19
  const wrapper = mountFunction({
22
- propsData: {
20
+ props: {
23
21
  items: ['a', 'b', 'c'],
24
22
  },
25
- scopedSlots: {
26
- items: props => vm.$createElement('div', { class: 'test' }, [JSON.stringify(props)]),
23
+ slots: {
24
+ items: (props: any) => h('div', { class: 'test' }, [JSON.stringify(props)]),
27
25
  },
28
26
  })
29
27
 
@@ -32,19 +30,19 @@ describe('VVirtualTable.ts', () => {
32
30
 
33
31
  it('should re-render when items change', async () => {
34
32
  const wrapper = mountFunction({
35
- propsData: {
33
+ props: {
36
34
  items: ['a', 'b', 'c'],
37
35
  },
38
- scopedSlots: {
39
- items (props) {
40
- return h('div', props.items.map(i => h('div', [i])))
36
+ slots: {
37
+ items (props: any) {
38
+ return h('div', props.items.map((i: any) => h('div', [i])))
41
39
  },
42
40
  },
43
41
  })
44
42
 
45
43
  expect(wrapper.html()).toMatchSnapshot()
46
44
 
47
- wrapper.setProps({
45
+ await wrapper.setProps({
48
46
  items: ['d', 'e', 'f'],
49
47
  })
50
48
 
@@ -35,6 +35,36 @@ exports[`Table Row should render with cellClass 1`] = `
35
35
  </tr>
36
36
  `;
37
37
 
38
+ exports[`Table Row should render with regular slots 1`] = `
39
+ <tr>
40
+ <td class="text-start">
41
+ <p class="test">
42
+ $0.68
43
+ </p>
44
+ </td>
45
+ <td class="text-start">
46
+ <p class="test">
47
+ $0.65
48
+ </p>
49
+ </td>
50
+ </tr>
51
+ `;
52
+
53
+ exports[`Table Row should render with scoped slots 1`] = `
54
+ <tr>
55
+ <td class="text-start">
56
+ <p class="test petrol">
57
+ 0.68
58
+ </p>
59
+ </td>
60
+ <td class="text-start">
61
+ <p class="test diesel">
62
+ 0.65
63
+ </p>
64
+ </td>
65
+ </tr>
66
+ `;
67
+
38
68
  exports[`Table Row should render without slots 1`] = `
39
69
  <tr>
40
70
  <td class="text-start">