@dimailn/vuetify 2.7.2-alpha27 → 2.7.2-alpha28

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 (127) hide show
  1. package/dist/vuetify.js +78 -22
  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 +0 -1
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VChip/VChip.js +1 -0
  8. package/es5/components/VChip/VChip.js.map +1 -1
  9. package/es5/components/VList/VListItem.js +4 -2
  10. package/es5/components/VList/VListItem.js.map +1 -1
  11. package/es5/components/VMenu/VMenu.js +1 -1
  12. package/es5/components/VMenu/VMenu.js.map +1 -1
  13. package/es5/components/VOtpInput/VOtpInput.js +36 -0
  14. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  15. package/es5/components/VSelect/VSelectList.js +15 -2
  16. package/es5/components/VSelect/VSelectList.js.map +1 -1
  17. package/es5/components/VTooltip/VTooltip.js +3 -3
  18. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  19. package/es5/components/VTreeview/VTreeview.js +0 -7
  20. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  21. package/es5/framework.js +1 -1
  22. package/es5/mixins/routable/index.js +5 -2
  23. package/es5/mixins/routable/index.js.map +1 -1
  24. package/lib/components/VAlert/VAlert.js +0 -1
  25. package/lib/components/VAlert/VAlert.js.map +1 -1
  26. package/lib/components/VChip/VChip.js +1 -0
  27. package/lib/components/VChip/VChip.js.map +1 -1
  28. package/lib/components/VList/VListItem.js +4 -2
  29. package/lib/components/VList/VListItem.js.map +1 -1
  30. package/lib/components/VMenu/VMenu.js +1 -1
  31. package/lib/components/VMenu/VMenu.js.map +1 -1
  32. package/lib/components/VOtpInput/VOtpInput.js +48 -0
  33. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  34. package/lib/components/VSelect/VSelectList.js +11 -5
  35. package/lib/components/VSelect/VSelectList.js.map +1 -1
  36. package/lib/components/VTooltip/VTooltip.js +3 -3
  37. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  38. package/lib/components/VTreeview/VTreeview.js +0 -6
  39. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  40. package/lib/framework.js +1 -1
  41. package/lib/mixins/routable/index.js +5 -2
  42. package/lib/mixins/routable/index.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/components/VAlert/VAlert.ts +0 -1
  45. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  46. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  47. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  48. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  49. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  50. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  51. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  52. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  53. package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
  54. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  55. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  56. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  57. package/src/components/VChip/VChip.ts +1 -0
  58. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  59. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  60. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  61. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
  62. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  63. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  64. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  65. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  66. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  67. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +910 -988
  68. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +26 -22
  69. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +60 -29
  70. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  71. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  72. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +18 -10
  73. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +1 -1
  74. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  75. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  76. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  77. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  78. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  79. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  80. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  81. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  82. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
  83. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  84. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  85. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  86. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  87. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  88. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  89. package/src/components/VList/VListItem.ts +9 -3
  90. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  91. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  92. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  93. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  94. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  95. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  96. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  97. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  98. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  99. package/src/components/VMenu/VMenu.ts +1 -1
  100. package/src/components/VMessages/__tests__/VMessages.spec.ts +14 -13
  101. package/src/components/VOtpInput/VOtpInput.ts +37 -1
  102. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  103. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  104. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  105. package/src/components/VSelect/VSelectList.ts +9 -9
  106. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  107. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  108. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  109. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  110. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  111. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  112. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  113. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  114. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  115. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  116. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  117. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  118. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  119. package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
  120. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  121. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  122. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +0 -40
  123. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  124. package/src/components/VTooltip/VTooltip.ts +3 -3
  125. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  126. package/src/components/VTreeview/VTreeview.ts +0 -5
  127. package/src/mixins/routable/index.ts +6 -4
@@ -1,5 +1,3 @@
1
- import Vue from 'vue'
2
-
3
1
  // Components
4
2
  import VStepperStep from '../VStepperStep'
5
3
 
@@ -8,16 +6,9 @@ import {
8
6
  mount,
9
7
  Wrapper,
10
8
  MountOptions,
9
+ enableAutoUnmount,
11
10
  } from '@vue/test-utils'
12
11
 
13
- Vue.prototype.$vuetify = {
14
- icons: {
15
- values: {
16
- complete: 'mdi-check',
17
- },
18
- },
19
- }
20
-
21
12
  const tip = '[Vuetify] The v-stepper-step component must be used inside a v-stepper'
22
13
  const warning = '[Vue warn]: Injection "stepClick" not found'
23
14
 
@@ -25,9 +16,29 @@ describe('VStepperStep.ts', () => {
25
16
  type Instance = InstanceType<typeof VStepperStep>
26
17
  let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
27
18
 
19
+ enableAutoUnmount(afterEach)
20
+
28
21
  beforeEach(() => {
29
22
  mountFunction = (options = {}) => {
30
23
  return mount(VStepperStep, {
24
+ global: {
25
+ mocks: {
26
+ $vuetify: {
27
+ icons: {
28
+ values: {
29
+ complete: 'mdi-check',
30
+ },
31
+ },
32
+ },
33
+ },
34
+ provide: {
35
+ stepClick: jest.fn(),
36
+ stepper: {
37
+ register: jest.fn(),
38
+ unregister: jest.fn(),
39
+ },
40
+ },
41
+ },
31
42
  ...options,
32
43
  })
33
44
  }
@@ -35,104 +46,103 @@ describe('VStepperStep.ts', () => {
35
46
 
36
47
  it('should accept a custom color', async () => {
37
48
  const wrapper = mountFunction({
38
- attachToDocument: true,
39
- propsData: {
49
+ attachTo: document.body,
50
+ props: {
40
51
  color: 'pink',
41
52
  complete: true,
42
53
  },
43
54
  })
44
55
 
45
56
  expect(wrapper.html()).toMatchSnapshot()
46
- expect(warning).toHaveBeenWarned()
47
- expect(tip).toHaveBeenTipped()
48
57
  })
49
58
 
50
59
  it('should accept a custom css color', async () => {
51
60
  const wrapper = mountFunction({
52
- attachToDocument: true,
53
- propsData: {
61
+ attachTo: document.body,
62
+ props: {
54
63
  color: '#aabbcc',
55
64
  complete: true,
56
65
  },
57
66
  })
58
67
 
59
68
  expect(wrapper.html()).toMatchSnapshot()
60
- expect(warning).toHaveBeenWarned()
61
- expect(tip).toHaveBeenTipped()
62
69
  })
63
70
 
64
71
  it('should emit event and invoke stepClick when clicked', async () => {
65
72
  const stepClick = jest.fn()
66
- const click = jest.fn()
67
73
  const wrapper = mountFunction({
68
- propsData: {
74
+ props: {
69
75
  editable: true,
70
76
  },
71
- provide: {
72
- stepClick,
77
+ global: {
78
+ provide: {
79
+ stepClick,
80
+ stepper: {
81
+ register: jest.fn(),
82
+ unregister: jest.fn(),
83
+ },
84
+ },
73
85
  },
74
86
  })
75
- wrapper.vm.$on('click', click)
76
87
 
77
- wrapper.find('.v-stepper__step').trigger('click')
78
- expect(click).toHaveBeenCalledTimes(1)
88
+ await wrapper.find('.v-stepper__step--editable').trigger('click')
89
+ expect(wrapper.emitted('click')).toBeTruthy()
79
90
  expect(stepClick).toHaveBeenCalledWith(wrapper.vm.step)
80
-
81
- expect(tip).toHaveBeenTipped()
82
91
  })
83
92
 
84
93
  it('should render', async () => {
85
94
  const wrapper = mountFunction({
86
- propsData: {
95
+ props: {
87
96
  step: 1,
88
97
  },
89
98
  })
90
99
 
91
100
  expect(wrapper.html()).toMatchSnapshot()
92
- expect(warning).toHaveBeenWarned()
93
- expect(tip).toHaveBeenTipped()
94
101
  })
95
102
 
96
103
  it('should render complete step', async () => {
97
104
  const wrapper = mountFunction({
98
- propsData: {
105
+ props: {
99
106
  complete: true,
100
107
  },
101
108
  })
102
109
 
103
110
  expect(wrapper.html()).toMatchSnapshot()
104
- expect(warning).toHaveBeenWarned()
105
- expect(tip).toHaveBeenTipped()
106
111
  })
107
112
 
108
113
  it('should render step with error', async () => {
109
114
  const wrapper = mountFunction({
110
- computed: {
111
- hasError: () => true,
115
+ props: {
116
+ rules: [() => 'Error message'],
117
+ },
118
+ global: {
119
+ provide: {
120
+ stepClick: jest.fn(),
121
+ stepper: {
122
+ register: jest.fn(),
123
+ unregister: jest.fn(),
124
+ },
125
+ },
112
126
  },
113
127
  })
114
128
 
115
129
  expect(wrapper.html()).toMatchSnapshot()
116
- expect(warning).toHaveBeenWarned()
117
- expect(tip).toHaveBeenTipped()
118
130
  })
119
131
 
120
132
  it('should render editable step', async () => {
121
133
  const wrapper = mountFunction({
122
- propsData: {
134
+ props: {
123
135
  editable: true,
124
136
  complete: true,
125
137
  },
126
138
  })
127
139
 
128
140
  expect(wrapper.html()).toMatchSnapshot()
129
- expect(warning).toHaveBeenWarned()
130
- expect(tip).toHaveBeenTipped()
131
141
  })
132
142
 
133
143
  it('should toggle', async () => {
134
144
  const wrapper = mountFunction({
135
- propsData: {
145
+ props: {
136
146
  step: 3,
137
147
  },
138
148
  })
@@ -148,8 +158,5 @@ describe('VStepperStep.ts', () => {
148
158
  wrapper.vm.toggle(5)
149
159
  expect(wrapper.vm.isActive).toBeFalsy()
150
160
  expect(wrapper.vm.isInactive).toBeFalsy()
151
-
152
- expect(warning).toHaveBeenWarned()
153
- expect(tip).toHaveBeenTipped()
154
161
  })
155
162
  })
@@ -6,6 +6,7 @@ import {
6
6
  mount,
7
7
  MountOptions,
8
8
  Wrapper,
9
+ enableAutoUnmount,
9
10
  } from '@vue/test-utils'
10
11
  import { touch } from '../../../../test'
11
12
 
@@ -16,6 +17,8 @@ describe('VSwitch.ts', () => {
16
17
  type Instance = ExtractVue<typeof VSwitch>
17
18
  let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
18
19
 
20
+ enableAutoUnmount(afterEach)
21
+
19
22
  beforeEach(() => {
20
23
  mountFunction = (options = {}) => {
21
24
  return mount(VSwitch, options)
@@ -24,17 +27,15 @@ describe('VSwitch.ts', () => {
24
27
 
25
28
  it('should set ripple data attribute based on ripple prop state', async () => {
26
29
  const wrapper = mountFunction({
27
- propsData: {
28
- inputValue: false,
30
+ props: {
31
+ modelValue: false,
29
32
  ripple: false,
30
33
  },
31
34
  })
32
35
 
33
- expect(wrapper.findAll('.v-input--selection-controls__ripple').wrappers).toHaveLength(0)
34
-
35
- wrapper.setProps({ ripple: true })
36
+ expect(wrapper.findAll('.v-input--selection-controls__ripple')).toHaveLength(0)
36
37
 
37
- await wrapper.vm.$nextTick()
38
+ await wrapper.setProps({ ripple: true })
38
39
 
39
40
  const ripple = wrapper.find('.v-input--selection-controls__ripple')
40
41
 
@@ -44,69 +45,61 @@ describe('VSwitch.ts', () => {
44
45
 
45
46
  it('should emit change event on swipe', async () => {
46
47
  const wrapper = mountFunction({
47
- propsData: {
48
- inputValue: false,
48
+ props: {
49
+ modelValue: false,
49
50
  },
50
51
  })
51
52
 
52
- const change = jest.fn()
53
- wrapper.vm.$on('change', change)
54
53
  touch(wrapper.find('.v-input--selection-controls__ripple')).start(0, 0).end(20, 0)
55
- expect(change).toHaveBeenCalledWith(true)
56
- expect(change).toHaveBeenCalledTimes(1)
54
+ expect(wrapper.emitted('update:modelValue')).toBeTruthy()
55
+ expect(wrapper.emitted('update:modelValue')![0]).toEqual([true])
57
56
 
58
- wrapper.setProps({ inputValue: true })
57
+ await wrapper.setProps({ modelValue: true })
59
58
  touch(wrapper.find('.v-input--selection-controls__ripple')).start(0, 0).end(-20, 0)
60
- expect(change).toHaveBeenCalledWith(false)
61
- expect(change).toHaveBeenCalledTimes(2)
59
+ expect(wrapper.emitted('update:modelValue')![1]).toEqual([false])
62
60
  })
63
61
 
64
62
  it('should emit change event on key events', async () => {
65
63
  const wrapper = mountFunction({
66
- propsData: {
67
- inputValue: false,
64
+ props: {
65
+ modelValue: false,
68
66
  },
69
67
  })
70
68
 
71
- const change = jest.fn()
72
69
  const input = wrapper.find('input')
73
- wrapper.vm.$on('change', change)
74
70
 
75
- input.trigger('keydown.left')
76
- expect(change).not.toHaveBeenCalled()
71
+ await input.trigger('keydown.left')
72
+ expect(wrapper.emitted('update:modelValue')).toBeFalsy()
77
73
 
78
- input.trigger('keydown.right')
79
- expect(change).toHaveBeenCalledWith(true)
80
- expect(change).toHaveBeenCalledTimes(1)
74
+ await input.trigger('keydown.right')
75
+ expect(wrapper.emitted('update:modelValue')).toBeTruthy()
76
+ expect(wrapper.emitted('update:modelValue')![0]).toEqual([true])
81
77
 
82
- input.trigger('keydown.right')
83
- expect(change).toHaveBeenCalledTimes(1)
78
+ await input.trigger('keydown.right')
79
+ expect(wrapper.emitted('update:modelValue')).toHaveLength(1)
84
80
 
85
- input.trigger('keydown.left')
86
- expect(change).toHaveBeenCalledWith(false)
87
- expect(change).toHaveBeenCalledTimes(2)
81
+ await input.trigger('keydown.left')
82
+ expect(wrapper.emitted('update:modelValue')![1]).toEqual([false])
88
83
  })
89
84
 
90
85
  it('should not emit change event on swipe when not active', async () => {
91
86
  const wrapper = mountFunction({
92
- propsData: {
93
- inputValue: false,
87
+ props: {
88
+ modelValue: false,
94
89
  },
95
90
  })
96
91
 
97
- const change = jest.fn()
98
- wrapper.vm.$on('change', change)
99
92
  touch(wrapper.find('.v-input--selection-controls__ripple')).start(0, 0).end(-20, 0)
100
- expect(change).not.toHaveBeenCalled()
93
+ expect(wrapper.emitted('update:modelValue')).toBeFalsy()
101
94
 
102
- wrapper.setProps({ inputValue: true })
95
+ await wrapper.setProps({ modelValue: true })
103
96
  touch(wrapper.find('.v-input--selection-controls__ripple')).start(0, 0).end(20, 0)
104
- expect(change).not.toHaveBeenCalled()
97
+ expect(wrapper.emitted('update:modelValue')).toBeFalsy()
105
98
  })
106
99
 
107
100
  it('should render element with loader and match the snapshot', async () => {
108
101
  const wrapper = mountFunction({
109
- propsData: {
102
+ props: {
110
103
  loading: true,
111
104
  },
112
105
  })
@@ -36,13 +36,6 @@ describe('VTabs.ts', () => {
36
36
  config: {
37
37
  warnHandler: () => {}, // Подавляем предупреждения Vue
38
38
  },
39
- directives: {
40
- Resize: {
41
- mounted: () => {},
42
- updated: () => {},
43
- unmounted: () => {},
44
- },
45
- },
46
39
  mocks: {
47
40
  $vuetify: {
48
41
  application: { left: 0, right: 0 },