@dimailn/vuetify 2.7.2-alpha28 → 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 (255) hide show
  1. package/dist/vuetify.js +1416 -304
  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 -8
  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/VColorPicker/VColorPicker.js +30 -2
  20. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  21. package/es5/components/VCombobox/VCombobox.js +1 -0
  22. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  23. package/es5/components/VDataIterator/VDataFooter.js +16 -7
  24. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  25. package/es5/components/VDataIterator/VDataIterator.js +42 -47
  26. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  27. package/es5/components/VDataTable/RowGroup.js +46 -15
  28. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  29. package/es5/components/VDataTable/VDataTable.js +10 -18
  30. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  31. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  32. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
  33. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  34. package/es5/components/VDataTable/VDataTableHeaderMobile.js +28 -37
  35. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  36. package/es5/components/VDataTable/VEditDialog.js +3 -4
  37. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  38. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  39. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  40. package/es5/components/VDataTable/VVirtualTable.js +5 -5
  41. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  42. package/es5/components/VDataTable/mixins/header.js +1 -1
  43. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  44. package/es5/components/VDatePicker/VDatePicker.js +21 -9
  45. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  46. package/es5/components/VDatePicker/VDatePickerHeader.js +24 -8
  47. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  48. package/es5/components/VDatePicker/VDatePickerTitle.js +33 -8
  49. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  50. package/es5/components/VDatePicker/VDatePickerYears.js +38 -13
  51. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  52. package/es5/components/VDatePicker/mixins/date-picker-table.js +33 -17
  53. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  54. package/es5/components/VInput/VInput.js +36 -8
  55. package/es5/components/VInput/VInput.js.map +1 -1
  56. package/es5/components/VList/VListGroup.js +47 -21
  57. package/es5/components/VList/VListGroup.js.map +1 -1
  58. package/es5/components/VList/VListItem.js +29 -4
  59. package/es5/components/VList/VListItem.js.map +1 -1
  60. package/es5/components/VMenu/VMenu.js +55 -30
  61. package/es5/components/VMenu/VMenu.js.map +1 -1
  62. package/es5/components/VMessages/VMessages.js +30 -7
  63. package/es5/components/VMessages/VMessages.js.map +1 -1
  64. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +36 -9
  65. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  66. package/es5/components/VOverlay/VOverlay.js +28 -0
  67. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  68. package/es5/components/VPagination/VPagination.js +30 -6
  69. package/es5/components/VPagination/VPagination.js.map +1 -1
  70. package/es5/components/VProgressLinear/VProgressLinear.js +28 -0
  71. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  72. package/es5/components/VRadioGroup/VRadioGroup.js +28 -0
  73. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  74. package/es5/components/VRating/VRating.js +45 -17
  75. package/es5/components/VRating/VRating.js.map +1 -1
  76. package/es5/components/VSelect/VSelect.js +112 -84
  77. package/es5/components/VSelect/VSelect.js.map +1 -1
  78. package/es5/components/VSelect/VSelectList.js +58 -17
  79. package/es5/components/VSelect/VSelectList.js.map +1 -1
  80. package/es5/components/VSlider/VSlider.js +42 -16
  81. package/es5/components/VSlider/VSlider.js.map +1 -1
  82. package/es5/components/VSpeedDial/VSpeedDial.js +10 -8
  83. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  84. package/es5/components/VTabs/VTabs.js +45 -17
  85. package/es5/components/VTabs/VTabs.js.map +1 -1
  86. package/es5/framework.js +1 -1
  87. package/es5/mixins/validatable/index.js +24 -0
  88. package/es5/mixins/validatable/index.js.map +1 -1
  89. package/es5/util/console.js +49 -18
  90. package/es5/util/console.js.map +1 -1
  91. package/es5/util/helpers.js +5 -1
  92. package/es5/util/helpers.js.map +1 -1
  93. package/lib/components/VAlert/VAlert.js +12 -6
  94. package/lib/components/VAlert/VAlert.js.map +1 -1
  95. package/lib/components/VAutocomplete/VAutocomplete.js +1 -0
  96. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  97. package/lib/components/VBadge/VBadge.js +11 -0
  98. package/lib/components/VBadge/VBadge.js.map +1 -1
  99. package/lib/components/VBanner/VBanner.js +11 -0
  100. package/lib/components/VBanner/VBanner.js.map +1 -1
  101. package/lib/components/VBottomNavigation/VBottomNavigation.js +7 -0
  102. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  103. package/lib/components/VCarousel/VCarousel.js +7 -0
  104. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  105. package/lib/components/VCheckbox/VSimpleCheckbox.js +11 -0
  106. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  107. package/lib/components/VColorPicker/VColorPicker.js +12 -1
  108. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  109. package/lib/components/VCombobox/VCombobox.js +1 -0
  110. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  111. package/lib/components/VDataIterator/VDataFooter.js +14 -7
  112. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  113. package/lib/components/VDataIterator/VDataIterator.js +26 -31
  114. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  115. package/lib/components/VDataTable/RowGroup.js +30 -14
  116. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  117. package/lib/components/VDataTable/VDataTable.js +8 -15
  118. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  119. package/lib/components/VDataTable/VDataTableHeader.js +1 -1
  120. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  121. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
  122. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  123. package/lib/components/VDataTable/VDataTableHeaderMobile.js +17 -25
  124. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  125. package/lib/components/VDataTable/VEditDialog.js +3 -4
  126. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  127. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  128. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  129. package/lib/components/VDataTable/VVirtualTable.js +1 -2
  130. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  131. package/lib/components/VDataTable/mixins/header.js +1 -1
  132. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  133. package/lib/components/VDatePicker/VDatePicker.js +7 -1
  134. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  135. package/lib/components/VDatePicker/VDatePickerHeader.js +12 -1
  136. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  137. package/lib/components/VDatePicker/VDatePickerTitle.js +11 -0
  138. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  139. package/lib/components/VDatePicker/VDatePickerYears.js +11 -1
  140. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  141. package/lib/components/VDatePicker/mixins/date-picker-table.js +12 -1
  142. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  143. package/lib/components/VInput/VInput.js +13 -3
  144. package/lib/components/VInput/VInput.js.map +1 -1
  145. package/lib/components/VList/VListGroup.js +16 -8
  146. package/lib/components/VList/VListGroup.js.map +1 -1
  147. package/lib/components/VList/VListItem.js +8 -1
  148. package/lib/components/VList/VListItem.js.map +1 -1
  149. package/lib/components/VMenu/VMenu.js +14 -3
  150. package/lib/components/VMenu/VMenu.js.map +1 -1
  151. package/lib/components/VMessages/VMessages.js +13 -2
  152. package/lib/components/VMessages/VMessages.js.map +1 -1
  153. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +11 -2
  154. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  155. package/lib/components/VOverlay/VOverlay.js +11 -0
  156. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  157. package/lib/components/VPagination/VPagination.js +11 -0
  158. package/lib/components/VPagination/VPagination.js.map +1 -1
  159. package/lib/components/VProgressLinear/VProgressLinear.js +11 -0
  160. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  161. package/lib/components/VRadioGroup/VRadioGroup.js +11 -0
  162. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  163. package/lib/components/VRating/VRating.js +11 -0
  164. package/lib/components/VRating/VRating.js.map +1 -1
  165. package/lib/components/VSelect/VSelect.js +52 -36
  166. package/lib/components/VSelect/VSelect.js.map +1 -1
  167. package/lib/components/VSelect/VSelectList.js +21 -3
  168. package/lib/components/VSelect/VSelectList.js.map +1 -1
  169. package/lib/components/VSlider/VSlider.js +11 -1
  170. package/lib/components/VSlider/VSlider.js.map +1 -1
  171. package/lib/components/VSpeedDial/VSpeedDial.js +7 -7
  172. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  173. package/lib/components/VTabs/VTabs.js +11 -0
  174. package/lib/components/VTabs/VTabs.js.map +1 -1
  175. package/lib/framework.js +1 -1
  176. package/lib/mixins/validatable/index.js +7 -1
  177. package/lib/mixins/validatable/index.js.map +1 -1
  178. package/lib/util/console.js +47 -17
  179. package/lib/util/console.js.map +1 -1
  180. package/lib/util/helpers.js +5 -1
  181. package/lib/util/helpers.js.map +1 -1
  182. package/package.json +1 -1
  183. package/src/components/VAlert/VAlert.ts +17 -7
  184. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  185. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
  186. package/src/components/VAutocomplete/VAutocomplete.ts +22 -0
  187. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
  188. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
  189. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
  190. package/src/components/VBadge/VBadge.ts +13 -0
  191. package/src/components/VBanner/VBanner.ts +13 -0
  192. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -0
  193. package/src/components/VCarousel/VCarousel.ts +11 -0
  194. package/src/components/VCheckbox/VSimpleCheckbox.ts +13 -0
  195. package/src/components/VColorPicker/VColorPicker.ts +13 -0
  196. package/src/components/VCombobox/VCombobox.ts +23 -0
  197. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
  198. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
  199. package/src/components/VDataIterator/VDataFooter.ts +14 -9
  200. package/src/components/VDataIterator/VDataIterator.ts +46 -34
  201. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  202. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  203. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
  204. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
  205. package/src/components/VDataTable/RowGroup.ts +33 -16
  206. package/src/components/VDataTable/VDataTable.ts +8 -15
  207. package/src/components/VDataTable/VDataTableHeader.ts +2 -2
  208. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +4 -0
  209. package/src/components/VDataTable/VDataTableHeaderMobile.ts +16 -25
  210. package/src/components/VDataTable/VEditDialog.ts +3 -3
  211. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  212. package/src/components/VDataTable/VVirtualTable.ts +1 -2
  213. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +18 -22
  214. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
  215. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +7 -2
  216. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +11 -16
  217. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
  218. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
  219. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +4 -12
  220. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  221. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +9 -12
  222. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
  223. package/src/components/VDataTable/mixins/header.ts +1 -1
  224. package/src/components/VDatePicker/VDatePicker.ts +11 -1
  225. package/src/components/VDatePicker/VDatePickerHeader.ts +13 -0
  226. package/src/components/VDatePicker/VDatePickerTitle.ts +12 -0
  227. package/src/components/VDatePicker/VDatePickerYears.ts +13 -0
  228. package/src/components/VDatePicker/mixins/date-picker-table.ts +13 -0
  229. package/src/components/VInput/VInput.ts +18 -5
  230. package/src/components/VList/VListGroup.ts +22 -10
  231. package/src/components/VList/VListItem.ts +10 -1
  232. package/src/components/VMenu/VMenu.ts +21 -3
  233. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  234. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  235. package/src/components/VMessages/VMessages.ts +15 -4
  236. package/src/components/VMessages/__tests__/VMessages.spec.ts +43 -5
  237. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  238. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +21 -11
  239. package/src/components/VOverlay/VOverlay.ts +12 -0
  240. package/src/components/VPagination/VPagination.ts +23 -9
  241. package/src/components/VProgressLinear/VProgressLinear.ts +13 -0
  242. package/src/components/VRadioGroup/VRadioGroup.ts +14 -0
  243. package/src/components/VRating/VRating.ts +13 -0
  244. package/src/components/VSelect/VSelect.ts +60 -43
  245. package/src/components/VSelect/VSelectList.ts +29 -8
  246. package/src/components/VSlider/VSlider.ts +14 -1
  247. package/src/components/VSpeedDial/VSpeedDial.ts +7 -8
  248. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  249. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  250. package/src/components/VTabs/VTabs.ts +14 -0
  251. package/src/mixins/validatable/index.ts +11 -1
  252. package/src/util/__tests__/console.spec.ts +124 -11
  253. package/src/util/__tests__/helpers.spec.ts +59 -31
  254. package/src/util/console.ts +43 -24
  255. package/src/util/helpers.ts +8 -4
@@ -153,8 +153,7 @@ export default baseMixins.extend({
153
153
 
154
154
  render (): VNode {
155
155
  return h('div', {
156
- class: 'v-data-table v-virtual-table',
157
- class: this.classes,
156
+ class: ['v-data-table', 'v-virtual-table', this.classes],
158
157
  }, [
159
158
  getSlot(this, 'top'),
160
159
  this.genWrapper(),
@@ -130,20 +130,25 @@ describe('VDataTable.ts', () => {
130
130
  document.body.setAttribute('data-app', 'true')
131
131
 
132
132
  mountFunction = (options?: MountingOptions<Instance>) => {
133
+ const vuetifyInstance = {
134
+ breakpoint: new Breakpoint(preset),
135
+ lang: new Lang(preset),
136
+ theme: {
137
+ dark: false,
138
+ },
139
+ icons: {},
140
+ }
141
+
133
142
  return mount(VDataTable, {
134
143
  global: {
135
144
  config: {
136
145
  globalProperties: {
137
- $vuetify: {
138
- breakpoint: new Breakpoint(preset),
139
- lang: new Lang(preset),
140
- theme: {
141
- dark: false,
142
- },
143
- icons: {}
144
- }
145
- }
146
- }
146
+ $vuetify: vuetifyInstance,
147
+ },
148
+ },
149
+ mocks: {
150
+ $vuetify: vuetifyInstance,
151
+ },
147
152
  },
148
153
  ...options,
149
154
  })
@@ -183,7 +188,6 @@ describe('VDataTable.ts', () => {
183
188
  })
184
189
 
185
190
  expect(wrapper.html()).toMatchSnapshot()
186
-
187
191
  })
188
192
 
189
193
  it('should render with foot slot', () => {
@@ -199,10 +203,9 @@ describe('VDataTable.ts', () => {
199
203
  })
200
204
 
201
205
  expect(wrapper.html()).toMatchSnapshot()
202
-
203
206
  })
204
207
 
205
- it.skip('should render virtual table', () => {
208
+ it('should render virtual table', () => {
206
209
  const wrapper = mountFunction({
207
210
  props: {
208
211
  headers: testHeaders,
@@ -232,7 +235,6 @@ describe('VDataTable.ts', () => {
232
235
 
233
236
  expect(wrapper.html()).toMatchSnapshot()
234
237
 
235
-
236
238
  const expandIcon = wrapper.findAll('.v-data-table__expand-icon')[0]
237
239
  if (expandIcon) {
238
240
  expandIcon.trigger('click')
@@ -254,7 +256,6 @@ describe('VDataTable.ts', () => {
254
256
  })
255
257
 
256
258
  expect(wrapper.html()).toMatchSnapshot()
257
-
258
259
  })
259
260
 
260
261
  it('should render with item.expanded scoped slot', async () => {
@@ -273,7 +274,6 @@ describe('VDataTable.ts', () => {
273
274
  await nextTick()
274
275
 
275
276
  expect(wrapper.html()).toMatchSnapshot()
276
-
277
277
  })
278
278
 
279
279
  it('should render with group.summary scoped slot', () => {
@@ -290,7 +290,6 @@ describe('VDataTable.ts', () => {
290
290
  })
291
291
 
292
292
  expect(wrapper.html()).toMatchSnapshot()
293
-
294
293
  })
295
294
 
296
295
  it('should render with item scoped slot', () => {
@@ -306,7 +305,6 @@ describe('VDataTable.ts', () => {
306
305
  })
307
306
 
308
307
  expect(wrapper.html()).toMatchSnapshot()
309
-
310
308
  })
311
309
 
312
310
  it('should render with grouped rows', () => {
@@ -320,7 +318,6 @@ describe('VDataTable.ts', () => {
320
318
  })
321
319
 
322
320
  expect(wrapper.html()).toMatchSnapshot()
323
-
324
321
  })
325
322
 
326
323
  it('should render with group scoped slot', () => {
@@ -337,19 +334,19 @@ describe('VDataTable.ts', () => {
337
334
  })
338
335
 
339
336
  expect(wrapper.html()).toMatchSnapshot()
340
-
341
337
  })
342
338
 
343
339
  it('should render loading state', () => {
344
340
  const wrapper = mountFunction({
345
341
  props: {
346
342
  loading: true,
343
+ checkboxColor: 'primary',
344
+ color: 'primary',
347
345
  },
348
346
  })
349
347
 
350
348
  expect(wrapper.html()).toMatchSnapshot()
351
349
 
352
-
353
350
  const wrapper2 = mountFunction({
354
351
  props: {
355
352
  headers: testHeaders,
@@ -361,7 +358,6 @@ describe('VDataTable.ts', () => {
361
358
  })
362
359
 
363
360
  expect(wrapper2.html()).toMatchSnapshot()
364
-
365
361
  })
366
362
 
367
363
  it.each([
@@ -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
  {
@@ -86,11 +86,11 @@ describe('VEditDialog.ts', () => {
86
86
 
87
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
  })
@@ -126,22 +126,27 @@ describe('VEditDialog.ts', () => {
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')
130
131
  // Update the parent component's val to match the input value
131
132
  parentWrapper.vm.val = 'test'
132
133
  input.dispatchEvent(new KeyboardEvent('keydown', { keyCode: keyCodes.esc } as KeyboardEventInit))
134
+ await wrapper.vm.$nextTick()
133
135
  expect(wrapper.emitted('cancel')).toBeTruthy()
134
136
  expect(wrapper.emitted('update:return-value')?.[0]).toEqual(['test'])
135
137
  expect(wrapper.props('returnValue')).toBe('test')
136
138
 
137
139
  wrapper.vm.isActive = true
140
+ await wrapper.vm.$nextTick()
138
141
  field.setValue('test')
139
142
  // Update the parent component's val to match the input value
140
143
  parentWrapper.vm.val = 'test'
141
144
  input.dispatchEvent(new KeyboardEvent('keydown', { keyCode: keyCodes.enter } as KeyboardEventInit))
145
+ await wrapper.vm.$nextTick()
142
146
  expect(wrapper.emitted('save')).toBeTruthy()
143
147
  expect(setTimeout).toHaveBeenLastCalledWith(expect.any(Function))
144
148
  jest.advanceTimersByTime(0)
149
+ await wrapper.vm.$nextTick()
145
150
  expect(wrapper.emitted('update:return-value')?.[1]).toEqual(['test'])
146
151
  expect(wrapper.props('returnValue')).toBe('test')
147
152
 
@@ -25,13 +25,15 @@ describe('VSimpleTable.ts', () => {
25
25
  }
26
26
  })
27
27
 
28
+ const createDefaultSlots = () => [
29
+ h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
30
+ h('tr', [h('td', 'baz'), h('td', 'qux')]),
31
+ ]
32
+
28
33
  it('should render', () => {
29
34
  const wrapper = mountFunction({
30
35
  slots: {
31
- default: () => [
32
- h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
33
- h('tr', [h('td', 'baz'), h('td', 'qux')]),
34
- ],
36
+ default: createDefaultSlots,
35
37
  },
36
38
  })
37
39
 
@@ -43,23 +45,19 @@ describe('VSimpleTable.ts', () => {
43
45
  it('should render with custom wrapper', () => {
44
46
  const wrapper = mountFunction({
45
47
  slots: {
46
- default: () => [
47
- h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
48
- h('tr', [h('td', 'baz'), h('td', 'qux')]),
49
- ],
48
+ default: createDefaultSlots,
50
49
  wrapper: () => h('div', {
51
50
  class: 'custom-wrapper',
52
- 'data-test': 'custom-wrapper'
51
+ 'data-test': 'custom-wrapper',
53
52
  }, [
54
53
  h('table', { class: 'custom-table' }, [
55
54
  h('tr', [h('th', 'Custom Header 1'), h('th', 'Custom Header 2')]),
56
55
  h('tr', [h('td', 'Custom Data 1'), h('td', 'Custom Data 2')]),
57
- ])
58
- ])
56
+ ]),
57
+ ]),
59
58
  },
60
59
  })
61
60
 
62
-
63
61
  // Проверяем, что дефолтный wrapper не используется
64
62
  expect(wrapper.findAll('.v-data-table__wrapper')).toHaveLength(0)
65
63
 
@@ -91,10 +89,7 @@ describe('VSimpleTable.ts', () => {
91
89
  it('should render with custom height', () => {
92
90
  const wrapper = mountFunction({
93
91
  slots: {
94
- default: () => [
95
- h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
96
- h('tr', [h('td', 'baz'), h('td', 'qux')]),
97
- ],
92
+ default: createDefaultSlots,
98
93
  },
99
94
  props: {
100
95
  height: 1000,