@dimailn/vuetify 2.7.2-alpha0 → 2.7.2-alpha10

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 (224) hide show
  1. package/dist/vuetify.css +45 -45
  2. package/dist/vuetify.css.map +1 -1
  3. package/dist/vuetify.js +127 -90
  4. package/dist/vuetify.js.map +1 -1
  5. package/dist/vuetify.min.css +2 -2
  6. package/dist/vuetify.min.js +2 -2
  7. package/es5/components/VAutocomplete/VAutocomplete.js +1 -1
  8. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  9. package/es5/components/VBadge/VBadge.js +3 -1
  10. package/es5/components/VBadge/VBadge.js.map +1 -1
  11. package/es5/components/VData/VData.js +14 -2
  12. package/es5/components/VData/VData.js.map +1 -1
  13. package/es5/components/VDataIterator/VDataIterator.js +1 -1
  14. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  15. package/es5/components/VDataTable/VDataTable.js +1 -1
  16. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  17. package/es5/components/VDataTable/VVirtualTable.js +1 -1
  18. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  19. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  20. package/es5/components/VDialog/VDialog.js +1 -1
  21. package/es5/components/VDialog/VDialog.js.map +1 -1
  22. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  23. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  24. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  25. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  26. package/es5/components/VForm/VForm.js +1 -1
  27. package/es5/components/VForm/VForm.js.map +1 -1
  28. package/es5/components/VGrid/VCol.js +3 -3
  29. package/es5/components/VGrid/VCol.js.map +1 -1
  30. package/es5/components/VImg/VImg.js +1 -1
  31. package/es5/components/VImg/VImg.js.map +1 -1
  32. package/es5/components/VInput/VInput.js +1 -1
  33. package/es5/components/VInput/VInput.js.map +1 -1
  34. package/es5/components/VItemGroup/VItemGroup.js +1 -1
  35. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  36. package/es5/components/VList/VListGroup.js +1 -1
  37. package/es5/components/VList/VListGroup.js.map +1 -1
  38. package/es5/components/VMenu/VMenu.js +1 -1
  39. package/es5/components/VMenu/VMenu.js.map +1 -1
  40. package/es5/components/VOverlay/VOverlay.js +1 -1
  41. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  42. package/es5/components/VRadioGroup/VRadioGroup.js +2 -2
  43. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  44. package/es5/components/VSelect/VSelect.js +5 -6
  45. package/es5/components/VSelect/VSelect.js.map +1 -1
  46. package/es5/components/VSheet/VSheet.js +4 -4
  47. package/es5/components/VSheet/VSheet.js.map +1 -1
  48. package/es5/components/VStepper/VStepperContent.js +1 -1
  49. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  50. package/es5/components/VStepper/VStepperStep.js +1 -1
  51. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  52. package/es5/components/VSubheader/VSubheader.js +3 -3
  53. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  54. package/es5/components/VTabs/VTab.js.map +1 -1
  55. package/es5/components/VTabs/VTabs.js +0 -1
  56. package/es5/components/VTabs/VTabs.js.map +1 -1
  57. package/es5/components/VTextField/VTextField.js +1 -1
  58. package/es5/components/VTextField/VTextField.js.map +1 -1
  59. package/es5/components/VTreeview/VTreeviewNode.js +1 -1
  60. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  61. package/es5/components/transitions/createTransition.js +9 -4
  62. package/es5/components/transitions/createTransition.js.map +1 -1
  63. package/es5/components/transitions/expand-transition.js +7 -7
  64. package/es5/components/transitions/expand-transition.js.map +1 -1
  65. package/es5/framework.js +1 -1
  66. package/es5/mixins/activatable/index.js +15 -8
  67. package/es5/mixins/activatable/index.js.map +1 -1
  68. package/es5/mixins/applicationable/index.js +1 -1
  69. package/es5/mixins/applicationable/index.js.map +1 -1
  70. package/es5/mixins/binds-attrs/index.js +1 -1
  71. package/es5/mixins/binds-attrs/index.js.map +1 -1
  72. package/es5/mixins/detachable/index.js +3 -3
  73. package/es5/mixins/detachable/index.js.map +1 -1
  74. package/es5/mixins/groupable/index.js +1 -1
  75. package/es5/mixins/groupable/index.js.map +1 -1
  76. package/es5/mixins/intersectable/index.js +2 -2
  77. package/es5/mixins/intersectable/index.js.map +1 -1
  78. package/es5/mixins/menuable/index.js +4 -1
  79. package/es5/mixins/menuable/index.js.map +1 -1
  80. package/es5/mixins/mouse/index.js +0 -1
  81. package/es5/mixins/mouse/index.js.map +1 -1
  82. package/es5/mixins/overlayable/index.js +5 -4
  83. package/es5/mixins/overlayable/index.js.map +1 -1
  84. package/es5/mixins/proxyable/index.js +0 -4
  85. package/es5/mixins/proxyable/index.js.map +1 -1
  86. package/es5/mixins/translatable/index.js +1 -1
  87. package/es5/mixins/translatable/index.js.map +1 -1
  88. package/es5/mixins/validatable/index.js +2 -2
  89. package/es5/mixins/validatable/index.js.map +1 -1
  90. package/es5/services/breakpoint/index.js +3 -1
  91. package/es5/services/breakpoint/index.js.map +1 -1
  92. package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
  93. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  94. package/lib/components/VBadge/VBadge.js +5 -5
  95. package/lib/components/VBadge/VBadge.js.map +1 -1
  96. package/lib/components/VData/VData.js +15 -2
  97. package/lib/components/VData/VData.js.map +1 -1
  98. package/lib/components/VDataIterator/VDataIterator.js +1 -1
  99. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  100. package/lib/components/VDataTable/VDataTable.js +1 -1
  101. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  102. package/lib/components/VDataTable/VVirtualTable.js +1 -1
  103. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  104. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  105. package/lib/components/VDialog/VDialog.js +1 -1
  106. package/lib/components/VDialog/VDialog.js.map +1 -1
  107. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  108. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  110. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  111. package/lib/components/VForm/VForm.js +1 -1
  112. package/lib/components/VForm/VForm.js.map +1 -1
  113. package/lib/components/VGrid/VCol.js +3 -3
  114. package/lib/components/VGrid/VCol.js.map +1 -1
  115. package/lib/components/VImg/VImg.js +1 -1
  116. package/lib/components/VImg/VImg.js.map +1 -1
  117. package/lib/components/VInput/VInput.js +1 -1
  118. package/lib/components/VInput/VInput.js.map +1 -1
  119. package/lib/components/VItemGroup/VItemGroup.js +1 -1
  120. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  121. package/lib/components/VList/VListGroup.js +1 -1
  122. package/lib/components/VList/VListGroup.js.map +1 -1
  123. package/lib/components/VMenu/VMenu.js +1 -1
  124. package/lib/components/VMenu/VMenu.js.map +1 -1
  125. package/lib/components/VOverlay/VOverlay.js +1 -1
  126. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  127. package/lib/components/VRadioGroup/VRadioGroup.js +2 -2
  128. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  129. package/lib/components/VSelect/VSelect.js +5 -5
  130. package/lib/components/VSelect/VSelect.js.map +1 -1
  131. package/lib/components/VSheet/VSheet.js +1 -1
  132. package/lib/components/VSheet/VSheet.js.map +1 -1
  133. package/lib/components/VStepper/VStepperContent.js +1 -1
  134. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  135. package/lib/components/VStepper/VStepperStep.js +1 -1
  136. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  137. package/lib/components/VSubheader/VSubheader.js +2 -3
  138. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  139. package/lib/components/VTabs/VTab.js.map +1 -1
  140. package/lib/components/VTabs/VTabs.js +0 -1
  141. package/lib/components/VTabs/VTabs.js.map +1 -1
  142. package/lib/components/VTextField/VTextField.js +1 -1
  143. package/lib/components/VTextField/VTextField.js.map +1 -1
  144. package/lib/components/VTreeview/VTreeviewNode.js +1 -1
  145. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  146. package/lib/components/transitions/createTransition.js +1 -1
  147. package/lib/components/transitions/createTransition.js.map +1 -1
  148. package/lib/components/transitions/expand-transition.js +7 -7
  149. package/lib/components/transitions/expand-transition.js.map +1 -1
  150. package/lib/framework.js +1 -1
  151. package/lib/mixins/activatable/index.js +17 -7
  152. package/lib/mixins/activatable/index.js.map +1 -1
  153. package/lib/mixins/applicationable/index.js +1 -1
  154. package/lib/mixins/applicationable/index.js.map +1 -1
  155. package/lib/mixins/binds-attrs/index.js +1 -1
  156. package/lib/mixins/binds-attrs/index.js.map +1 -1
  157. package/lib/mixins/detachable/index.js +3 -3
  158. package/lib/mixins/detachable/index.js.map +1 -1
  159. package/lib/mixins/groupable/index.js +1 -1
  160. package/lib/mixins/groupable/index.js.map +1 -1
  161. package/lib/mixins/intersectable/index.js +2 -2
  162. package/lib/mixins/intersectable/index.js.map +1 -1
  163. package/lib/mixins/menuable/index.js +5 -1
  164. package/lib/mixins/menuable/index.js.map +1 -1
  165. package/lib/mixins/mouse/index.js +0 -1
  166. package/lib/mixins/mouse/index.js.map +1 -1
  167. package/lib/mixins/overlayable/index.js +5 -4
  168. package/lib/mixins/overlayable/index.js.map +1 -1
  169. package/lib/mixins/proxyable/index.js +0 -4
  170. package/lib/mixins/proxyable/index.js.map +1 -1
  171. package/lib/mixins/translatable/index.js +1 -1
  172. package/lib/mixins/translatable/index.js.map +1 -1
  173. package/lib/mixins/validatable/index.js +2 -2
  174. package/lib/mixins/validatable/index.js.map +1 -1
  175. package/lib/services/breakpoint/index.js +3 -1
  176. package/lib/services/breakpoint/index.js.map +1 -1
  177. package/package.json +1 -1
  178. package/src/components/VAutocomplete/VAutocomplete.ts +1 -1
  179. package/src/components/VBadge/VBadge.ts +5 -5
  180. package/src/components/VBottomSheet/VBottomSheet.sass +1 -1
  181. package/src/components/VData/VData.ts +12 -1
  182. package/src/components/VDataIterator/VDataIterator.ts +1 -1
  183. package/src/components/VDataTable/VDataTable.ts +1 -1
  184. package/src/components/VDataTable/VVirtualTable.ts +1 -1
  185. package/src/components/VDataTable/mixins/header.ts +2 -2
  186. package/src/components/VDialog/VDialog.ts +1 -1
  187. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
  188. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
  189. package/src/components/VForm/VForm.ts +1 -1
  190. package/src/components/VGrid/VCol.ts +2 -2
  191. package/src/components/VImg/VImg.ts +1 -1
  192. package/src/components/VInput/VInput.ts +1 -1
  193. package/src/components/VItemGroup/VItemGroup.ts +3 -3
  194. package/src/components/VList/VListGroup.ts +1 -1
  195. package/src/components/VMenu/VMenu.sass +2 -2
  196. package/src/components/VMenu/VMenu.ts +1 -0
  197. package/src/components/VOverlay/VOverlay.ts +1 -1
  198. package/src/components/VRadioGroup/VRadioGroup.ts +2 -2
  199. package/src/components/VSelect/VSelect.ts +2 -6
  200. package/src/components/VSheet/VSheet.ts +1 -1
  201. package/src/components/VSnackbar/VSnackbar.sass +2 -2
  202. package/src/components/VStepper/VStepperContent.ts +1 -1
  203. package/src/components/VStepper/VStepperStep.ts +1 -1
  204. package/src/components/VSubheader/VSubheader.ts +2 -2
  205. package/src/components/VTabs/VTab.ts +1 -1
  206. package/src/components/VTabs/VTabs.ts +0 -1
  207. package/src/components/VTextField/VTextField.ts +1 -1
  208. package/src/components/VTreeview/VTreeviewNode.ts +1 -1
  209. package/src/components/transitions/createTransition.ts +1 -2
  210. package/src/components/transitions/expand-transition.ts +7 -7
  211. package/src/mixins/activatable/index.ts +16 -8
  212. package/src/mixins/applicationable/index.ts +1 -1
  213. package/src/mixins/binds-attrs/index.ts +1 -1
  214. package/src/mixins/detachable/index.ts +5 -5
  215. package/src/mixins/groupable/index.ts +1 -1
  216. package/src/mixins/intersectable/index.ts +2 -2
  217. package/src/mixins/menuable/index.ts +4 -1
  218. package/src/mixins/mouse/index.ts +0 -1
  219. package/src/mixins/overlayable/index.ts +4 -5
  220. package/src/mixins/proxyable/index.ts +0 -5
  221. package/src/mixins/translatable/index.ts +1 -1
  222. package/src/mixins/validatable/index.ts +2 -2
  223. package/src/services/breakpoint/index.ts +5 -0
  224. package/src/styles/generic/_transitions.scss +38 -38
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dimailn/vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "2.7.2-alpha0",
4
+ "version": "2.7.2-alpha10",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -204,7 +204,7 @@ export default defineComponent({
204
204
  this.setSearch()
205
205
  },
206
206
 
207
- destroyed () {
207
+ unmounted () {
208
208
  document.removeEventListener('copy', this.onCopy)
209
209
  },
210
210
 
@@ -11,7 +11,7 @@ import Themeable from '../../mixins/themeable'
11
11
  import Toggleable from '../../mixins/toggleable'
12
12
  import Transitionable from '../../mixins/transitionable'
13
13
  import { factory as PositionableFactory } from '../../mixins/positionable'
14
-
14
+ import mergeData from '../../util/mergeData'
15
15
  // Utilities
16
16
  import mixins from '../../util/mixins'
17
17
  import {
@@ -186,9 +186,9 @@ export default mixins(
186
186
  if (this.inline && this.left) children.unshift(badge)
187
187
  else children.push(badge)
188
188
 
189
- return h('span', {
190
- class: ['v-badge' this.classes],
191
- ...attrs
192
- }, children)
189
+ return h('span', mergeData({
190
+ class: ['v-badge', this.classes]
191
+ }, attrs)
192
+ , children)
193
193
  },
194
194
  })
@@ -2,7 +2,7 @@
2
2
 
3
3
  // Transition
4
4
  .bottom-sheet-transition
5
- &-enter
5
+ &-enter-from
6
6
  transform: translateY(100%)
7
7
 
8
8
  &-leave-to
@@ -203,7 +203,15 @@ export default defineComponent({
203
203
  this.$emit('update:options', options)
204
204
  },
205
205
  deep: true,
206
- immediate: true,
206
+ /*
207
+ In Vue 3 this watcher fires even before created hook and
208
+ if mounting fails and the consumer code relies on update:options event to fetch data
209
+ it causes infinite loop because each data update triggers an attempt to render a table,
210
+ but because mounting constantly fails(for example, due to error in slot) it never happens.
211
+ Previously, in Vue 2 slot errors didn't cause mounting failure, we had partially rendered component.
212
+ This immediate prop is compensated by firing event in mounted hook.
213
+ */
214
+ // immediate: true,
207
215
  },
208
216
  page (page: number) {
209
217
  this.updateOptions({ page })
@@ -378,4 +386,7 @@ export default defineComponent({
378
386
  render (): VNode {
379
387
  return this.$slots.default && this.$slots.default(this.scopedProps)[0] as any
380
388
  },
389
+ mounted() {
390
+ this.$emit('update:options', this.internalOptions)
391
+ },
381
392
  })
@@ -154,7 +154,7 @@ export default mixins(
154
154
  window.addEventListener('keydown', this.onKeyDown)
155
155
  window.addEventListener('keyup', this.onKeyUp)
156
156
  },
157
- beforeDestroy () {
157
+ beforeUnmount () {
158
158
  window.removeEventListener('keydown', this.onKeyDown)
159
159
  window.removeEventListener('keyup', this.onKeyUp)
160
160
  },
@@ -241,7 +241,7 @@ export default mixins(
241
241
  }
242
242
  },
243
243
 
244
- beforeDestroy () {
244
+ beforeUnmount () {
245
245
  if (this.calculateWidths) {
246
246
  window.removeEventListener('resize', this.calcWidths)
247
247
  }
@@ -98,7 +98,7 @@ export default baseMixins.extend({
98
98
  this.$refs.table.addEventListener('scroll', this.scrollDebounce, { passive: true })
99
99
  },
100
100
 
101
- beforeDestroy () {
101
+ beforeUnmount () {
102
102
  this.$refs.table.removeEventListener('scroll', this.scrollDebounce)
103
103
  },
104
104
 
@@ -55,8 +55,8 @@ export default mixins<options>().extend({
55
55
  const data = {
56
56
  value: this.everyItem,
57
57
  indeterminate: !this.everyItem && this.someItems,
58
- color: this.checkboxColor ?? ''
59
- onInput: (v: boolean) => this.$emit('toggle-select-all', v),
58
+ color: this.checkboxColor ?? '',
59
+ onInput: (v: boolean) => this.$emit('toggle-select-all', v)
60
60
  }
61
61
 
62
62
  if (this.$slots['data-table-select']) {
@@ -137,7 +137,7 @@ export default baseMixins.extend({
137
137
  })
138
138
  },
139
139
 
140
- beforeDestroy () {
140
+ beforeUnmount () {
141
141
  if (typeof window !== 'undefined') this.unbind()
142
142
  },
143
143
 
@@ -55,7 +55,7 @@ export default baseMixins.extend({
55
55
  this.expansionPanel.registerContent(this)
56
56
  },
57
57
 
58
- beforeDestroy () {
58
+ beforeUnmount () {
59
59
  this.expansionPanel.unregisterContent()
60
60
  },
61
61
 
@@ -72,7 +72,7 @@ export default baseMixins.extend({
72
72
  this.expansionPanel.registerHeader(this)
73
73
  },
74
74
 
75
- beforeDestroy () {
75
+ beforeUnmount () {
76
76
  this.expansionPanel.unregisterHeader()
77
77
  },
78
78
 
@@ -127,7 +127,7 @@ export default mixins(
127
127
 
128
128
  this.watchers = this.watchers.filter(i => i._uid !== found._uid)
129
129
  this.inputs = this.inputs.filter(i => i._uid !== found._uid)
130
- this.$delete(this.errorBag, found._uid)
130
+ delete this.errorBag[found._uid]
131
131
  },
132
132
  },
133
133
 
@@ -68,7 +68,7 @@ const cache = new Map<string, any[]>()
68
68
 
69
69
  export default defineComponent({
70
70
  name: 'v-col',
71
- functional: true,
71
+ inheritAttrs: false,
72
72
  props: {
73
73
  cols: {
74
74
  type: [Boolean, String, Number],
@@ -134,6 +134,6 @@ export default defineComponent({
134
134
  cache.set(cacheKey, classList)
135
135
  }
136
136
 
137
- return h(props.tag, mergeData(data, { class: classList }), children)
137
+ return h(props.tag, mergeData({ class: classList }, data), children)
138
138
  },
139
139
  })
@@ -244,7 +244,7 @@ export default mixins(
244
244
  let content: VNode = VResponsive.methods.genContent.call(this)
245
245
 
246
246
  if (this.naturalWidth) {
247
- content = h(content.type, mergeProps(content.data!, {
247
+ content = h(content.type, mergeProps(content.props, {
248
248
  style: { width: `${this.naturalWidth}px` },
249
249
  }), content.children)
250
250
  }
@@ -134,7 +134,7 @@ export default baseMixins.extend({
134
134
  },
135
135
 
136
136
  watch: {
137
- value (val) {
137
+ modelValue (val) {
138
138
  this.lazyValue = val
139
139
  },
140
140
  },
@@ -52,8 +52,8 @@ export const BaseItemGroup = mixins(
52
52
  // As long as a value is defined, show it
53
53
  // Otherwise, check if multiple
54
54
  // to determine which default to provide
55
- internalLazyValue: this.value !== undefined
56
- ? this.value
55
+ internalLazyValue: this.modelValue !== undefined
56
+ ? this.modelValue
57
57
  : this.multiple ? [] : undefined,
58
58
  items: [] as GroupableInstance[],
59
59
  }
@@ -102,7 +102,7 @@ export const BaseItemGroup = mixins(
102
102
 
103
103
  watch: {
104
104
  internalValue: 'updateItemsState',
105
- items: 'updateItemsState',
105
+ items: 'updateItemsState'
106
106
  },
107
107
 
108
108
  created () {
@@ -108,7 +108,7 @@ export default baseMixins.extend({
108
108
  }
109
109
  },
110
110
 
111
- beforeDestroy () {
111
+ beforeUnmount () {
112
112
  this.list && this.list.unregister(this)
113
113
  },
114
114
 
@@ -36,7 +36,7 @@
36
36
  max-width: none
37
37
 
38
38
  &-transition
39
- &-enter
39
+ &-enter-from
40
40
  .v-list-item
41
41
  min-width: 0
42
42
  pointer-events: none
@@ -48,7 +48,7 @@
48
48
  &-leave-to
49
49
  pointer-events: none
50
50
 
51
- &-enter,
51
+ &-enter-from,
52
52
  &-leave-to
53
53
  opacity: 0
54
54
 
@@ -282,6 +282,7 @@ export default baseMixins.extend({
282
282
  return this.isActive &&
283
283
  !this._isDestroyed &&
284
284
  this.closeOnClick &&
285
+ this.$refs.content &&
285
286
  !this.$refs.content.contains(target)
286
287
  },
287
288
  genActivatorAttributes () {
@@ -36,7 +36,7 @@ export default mixins(
36
36
  type: [Number, String],
37
37
  default: 0.46,
38
38
  },
39
- value: {
39
+ modelValue: {
40
40
  default: true,
41
41
  },
42
42
  zIndex: {
@@ -12,8 +12,8 @@ import { PropType } from 'vue'
12
12
  import {h} from 'vue'
13
13
 
14
14
  const baseMixins = mixins(
15
+ VInput,
15
16
  BaseItemGroup,
16
- VInput
17
17
  )
18
18
 
19
19
  /* @vue/component */
@@ -40,7 +40,7 @@ export default baseMixins.extend({
40
40
  // If no value set on VRadio
41
41
  // will match valueComparator
42
42
  // force default to null
43
- value: null as unknown as PropType<any>,
43
+ modelValue: null as unknown as PropType<any>,
44
44
  },
45
45
 
46
46
  computed: {
@@ -241,7 +241,7 @@ export default baseMixins.extend({
241
241
  return {
242
242
  ...defaultMenuProps,
243
243
  eager: this.eager,
244
- value: this.menuCanShow && this.isMenuActive,
244
+ modelValue: this.menuCanShow && this.isMenuActive,
245
245
  nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int
246
246
  ...normalisedProps,
247
247
  }
@@ -287,8 +287,6 @@ export default baseMixins.extend({
287
287
  methods: {
288
288
  /** @public */
289
289
  blur (e?: Event) {
290
- console.log("BLUUUUR")
291
-
292
290
  VTextField.methods.blur.call(this, e)
293
291
  this.isMenuActive = false
294
292
  this.isFocused = false
@@ -453,7 +451,6 @@ export default baseMixins.extend({
453
451
  delete input.props.name
454
452
 
455
453
  input.props = mergeData(input.props, {
456
- value: null,
457
454
  readonly: true,
458
455
  type: 'text',
459
456
  'aria-readonly': String(this.isReadonly),
@@ -463,10 +460,9 @@ export default baseMixins.extend({
463
460
  onKeypress: this.onKeyPress,
464
461
  })
465
462
 
463
+ input.props = { ...input.props, value: null }
466
464
  input.props = normalizeAttrs(input.props)
467
465
 
468
- // console.log(input)
469
-
470
466
  return input
471
467
  },
472
468
  genHiddenInput (): VNode {
@@ -57,7 +57,7 @@ export default defineComponent({
57
57
  const data = {
58
58
  class: this.classes,
59
59
  style: this.styles,
60
- on: this.listeners$,
60
+ ...this.listeners$,
61
61
  }
62
62
 
63
63
  return h(
@@ -132,11 +132,11 @@
132
132
  margin-bottom: $snackbar-vertical-action-margin-bottom
133
133
 
134
134
  .v-snack-transition
135
- &-enter
135
+ &-enter-from
136
136
  &.v-snack__wrapper
137
137
  transform: scale($snackbar-transition-wrapper-transform)
138
138
 
139
- &-enter,
139
+ &-enter-from,
140
140
  &-leave-to
141
141
  &.v-snack__wrapper
142
142
  opacity: 0
@@ -99,7 +99,7 @@ export default baseMixins.extend({
99
99
  this.stepper && this.stepper.register(this)
100
100
  },
101
101
 
102
- beforeDestroy () {
102
+ beforeUnmount () {
103
103
  this.$refs.wrapper.removeEventListener(
104
104
  'transitionend',
105
105
  this.onTransition,
@@ -87,7 +87,7 @@ export default baseMixins.extend({
87
87
  this.stepper && this.stepper.register(this)
88
88
  },
89
89
 
90
- beforeDestroy () {
90
+ beforeUnmount () {
91
91
  this.stepper && this.stepper.unregister(this)
92
92
  },
93
93
 
@@ -22,11 +22,11 @@ export default mixins(
22
22
 
23
23
  render (): VNode {
24
24
  return h('div', {
25
+ ...this.$attrs,
25
26
  class: ['v-subheader', {
26
27
  'v-subheader--inset': this.inset,
27
28
  ...this.themeClasses,
28
- }],
29
- ...this.$attrs,
29
+ }, this.$attrs.class],
30
30
  ...this.$listeners
31
31
  }, getSlot(this))
32
32
  },
@@ -115,7 +115,7 @@ export default baseMixins.extend({
115
115
  let { tag, data, directives } = this.generateRouteLink()
116
116
 
117
117
  data = {
118
- ...data
118
+ ...data,
119
119
  'aria-selected': String(this.isActive),
120
120
  role: 'tab',
121
121
  tabindex: this.disabled ? -1 : 0,
@@ -232,7 +232,6 @@ export default baseMixins.extend({
232
232
  return h(VTabsItems, {
233
233
  modelValue: this.internalValue,
234
234
  'onUpdate:modelValue': (val: any) => {
235
- console.log(val)
236
235
  this.internalValue = val
237
236
  }
238
237
  }, item)
@@ -205,7 +205,7 @@ export default baseMixins.extend({
205
205
  this.$nextTick(this.setPrefixWidth)
206
206
  },
207
207
  isFocused: 'updateValue',
208
- value (val) {
208
+ modelValue (val) {
209
209
  this.lazyValue = val
210
210
  },
211
211
  },
@@ -161,7 +161,7 @@ const VTreeviewNode = baseMixins.extend({
161
161
  this.treeview.register(this)
162
162
  },
163
163
 
164
- beforeDestroy () {
164
+ beforeUnmount () {
165
165
  this.treeview.unregister(this)
166
166
  },
167
167
 
@@ -88,7 +88,6 @@ export function createSimpleTransition (
88
88
  el.style.setProperty('display', 'none', 'important')
89
89
  })
90
90
  }
91
-
92
91
  return h(tag, mergeData(this.$attrs, data), this.$slots.default())
93
92
  },
94
93
  }
@@ -116,7 +115,7 @@ export function createJavascriptTransition (
116
115
  Transition,
117
116
  mergeData(this.$attrs, {
118
117
  name,
119
- functions,
118
+ ...functions,
120
119
  }),
121
120
  this.$slots.default()
122
121
  )
@@ -15,7 +15,7 @@ export default function (expandedParentClass = '', x = false) {
15
15
  const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'
16
16
 
17
17
  return {
18
- beforeEnter (el: HTMLExpandElement) {
18
+ onBeforeEnter (el: HTMLExpandElement) {
19
19
  el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null
20
20
  el._initialStyle = {
21
21
  transition: el.style.transition,
@@ -24,7 +24,7 @@ export default function (expandedParentClass = '', x = false) {
24
24
  }
25
25
  },
26
26
 
27
- enter (el: HTMLExpandElement) {
27
+ onEnter (el: HTMLExpandElement) {
28
28
  const initialStyle = el._initialStyle!
29
29
 
30
30
  el.style.setProperty('transition', 'none', 'important')
@@ -47,10 +47,10 @@ export default function (expandedParentClass = '', x = false) {
47
47
  })
48
48
  },
49
49
 
50
- afterEnter: resetStyles,
51
- enterCancelled: resetStyles,
50
+ onAfterEnter: resetStyles,
51
+ onEnterCancelled: resetStyles,
52
52
 
53
- leave (el: HTMLExpandElement) {
53
+ onLeave (el: HTMLExpandElement) {
54
54
  el._initialStyle = {
55
55
  transition: '',
56
56
  overflow: el.style.overflow,
@@ -64,8 +64,8 @@ export default function (expandedParentClass = '', x = false) {
64
64
  requestAnimationFrame(() => (el.style[sizeProperty] = '0'))
65
65
  },
66
66
 
67
- afterLeave,
68
- leaveCancelled: afterLeave,
67
+ onAfterLeave: afterLeave,
68
+ onLeaveCancelled: afterLeave,
69
69
  }
70
70
 
71
71
  function afterLeave (el: HTMLExpandElement) {
@@ -62,10 +62,16 @@ export default baseMixins.extend({
62
62
  this.addActivatorEvents()
63
63
  },
64
64
 
65
- beforeDestroy () {
65
+ beforeUnmount () {
66
66
  this.removeActivatorEvents()
67
67
  },
68
68
 
69
+ computed: {
70
+ isActivatable() {
71
+ return true
72
+ }
73
+ },
74
+
69
75
  methods: {
70
76
  addActivatorEvents () {
71
77
  if (
@@ -82,15 +88,18 @@ export default baseMixins.extend({
82
88
  }
83
89
  },
84
90
  genActivator () {
85
- const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {
91
+ let node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {
86
92
  attrs: {
87
93
  ...this.genActivatorListeners(),
88
94
  ...this.genActivatorAttributes(),
89
95
  }
90
-
91
96
  })) || []
92
97
 
93
- this.activatorNode = node
98
+ node = Array.isArray(node) ? node : [node]
99
+
100
+ this.activatorNode = node.flatMap(node => {
101
+ return node.type === Symbol.for('v-fgt') ? node.children : node
102
+ })
94
103
 
95
104
  return node
96
105
  },
@@ -162,11 +171,10 @@ export default baseMixins.extend({
162
171
  // Use the contents of the activator slot
163
172
  // There's either only one element in it or we
164
173
  // don't have a click event to use as a last resort
165
- const vm = this.activatorNode[0].component.ctx
174
+ const vm = this.activatorNode[0].component?.ctx
166
175
  if (
167
176
  vm &&
168
- vm.$options.mixins && // Activatable is indirectly used via Menuable
169
- vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))
177
+ (vm.isActivatable !== undefined || vm.isMenuable !== undefined)
170
178
  ) {
171
179
  // Activator is actually another activatible component, use its activator (#8846)
172
180
  activator = (vm as any).getActivator()
@@ -216,6 +224,6 @@ export default baseMixins.extend({
216
224
  this.activatorElement = null
217
225
  this.getActivator()
218
226
  this.addActivatorEvents()
219
- },
227
+ }
220
228
  },
221
229
  })
@@ -51,7 +51,7 @@ export default function applicationable (value: TargetProp, events: string[] = [
51
51
  this.removeApplication()
52
52
  },
53
53
 
54
- destroyed () {
54
+ unmounted () {
55
55
  this.removeApplication()
56
56
  },
57
57
 
@@ -9,7 +9,7 @@ function makeWatcher (property: string): ThisType<Vue> & ((val: any, oldVal: any
9
9
  return function (this: Vue, val, oldVal) {
10
10
  for (const attr in oldVal) {
11
11
  if (!Object.prototype.hasOwnProperty.call(val, attr)) {
12
- this.$delete(this.$data[property], attr)
12
+ delete this.$data[property][attr]
13
13
  }
14
14
  }
15
15
  for (const attr in val) {
@@ -27,9 +27,9 @@ function validateAttachTarget (val: any) {
27
27
 
28
28
  function removeActivator (activator: VNode[]) {
29
29
  activator.forEach(node => {
30
- node.elm &&
31
- node.elm.parentNode &&
32
- node.elm.parentNode.removeChild(node.elm)
30
+ node.el &&
31
+ node.el.parentNode &&
32
+ node.el.parentNode.removeChild(node.el)
33
33
  })
34
34
  }
35
35
 
@@ -94,7 +94,7 @@ export default mixins<options &
94
94
  this.isActive = false
95
95
  },
96
96
 
97
- beforeDestroy () {
97
+ beforeUnmount () {
98
98
  if (
99
99
  this.$refs.content &&
100
100
  this.$refs.content.parentNode
@@ -103,7 +103,7 @@ export default mixins<options &
103
103
  }
104
104
  },
105
105
 
106
- destroyed () {
106
+ unmounted () {
107
107
  if (this.activatorNode) {
108
108
  const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]
109
109
  if (this.$el.isConnected) {
@@ -57,7 +57,7 @@ export function factory<T extends string, C extends VueConstructor | null = null
57
57
  this[namespace] && (this[namespace] as any).register(this)
58
58
  },
59
59
 
60
- beforeDestroy () {
60
+ beforeUnmount () {
61
61
  this[namespace] && (this[namespace] as any).unregister(this)
62
62
  },
63
63
 
@@ -23,10 +23,10 @@ export default function intersectable (options: { onVisible: string[] }) {
23
23
  }, vnode)
24
24
  },
25
25
 
26
- destroyed () {
26
+ unmounted () {
27
27
  const {vnode} = getCurrentInstance()
28
28
 
29
- Intersect.unbind(this.$el as HTMLElement, {
29
+ Intersect.unmounted(this.$el as HTMLElement, {
30
30
  name: 'intersect',
31
31
  value: this.onObserve,
32
32
  }, vnode)
@@ -133,6 +133,9 @@ export default baseMixins.extend({
133
133
  }),
134
134
 
135
135
  computed: {
136
+ isMenuable() {
137
+ return true
138
+ },
136
139
  computedLeft () {
137
140
  const a = this.dimensions.activator
138
141
  const c = this.dimensions.content
@@ -196,7 +199,7 @@ export default baseMixins.extend({
196
199
  }
197
200
  },
198
201
 
199
- beforeDestroy () {
202
+ beforeUnmount () {
200
203
  if (this.hasWindow) {
201
204
  window.removeEventListener('resize', this.updateDimensions, false)
202
205
  }
@@ -29,7 +29,6 @@ export default defineComponent({
29
29
 
30
30
  methods: {
31
31
  getDefaultMouseEventHandlers (suffix: string, getData: MouseHandler, eventFirst = false): MouseEventsMap {
32
- console.log(this.$attrs)
33
32
  const listeners = Object.keys(this.$attrs)
34
33
  .filter(key => key.endsWith(suffix))
35
34
  .reduce((acc, key) => {