@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
@@ -7,7 +7,8 @@ import { VList, VListItem, VListItemAction, VListItemContent, VListItemTitle } f
7
7
  import Colorable from '../../mixins/colorable';
8
8
  import Themeable from '../../mixins/themeable'; // Helpers
9
9
 
10
- import { getPropertyFromItem } from '../../util/helpers'; // Types
10
+ import { getPropertyFromItem } from '../../util/helpers';
11
+ import { breaking } from '../../util/console'; // Types
11
12
 
12
13
  import mixins from '../../util/mixins';
13
14
  import { h } from 'vue';
@@ -62,13 +63,23 @@ export default mixins(Colorable, Themeable).extend({
62
63
  }
63
64
 
64
65
  },
66
+
67
+ created() {
68
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
69
+ /* istanbul ignore next */
70
+
71
+ breakingProps.forEach(([original, replacement]) => {
72
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
73
+ });
74
+ },
75
+
65
76
  methods: {
66
77
  genAction(item, inputValue) {
67
78
  return h(VListItemAction, {}, () => [h(VSimpleCheckbox, {
68
79
  color: this.color,
69
80
  modelValue: inputValue,
70
81
  ripple: false,
71
- onInput: () => this.$emit('select', item)
82
+ 'onUpdate:modelValue': () => this.$emit('select', item)
72
83
  })]);
73
84
  },
74
85
 
@@ -184,7 +195,14 @@ export default mixins(Colorable, Themeable).extend({
184
195
  },
185
196
 
186
197
  needsTile(slot) {
187
- return slot.length !== 1 || slot[0].componentOptions == null || slot[0].componentOptions.Ctor.name !== 'v-list-item';
198
+ const [vnode] = slot !== null && slot !== void 0 ? slot : [];
199
+ if (!(slot === null || slot === void 0 ? void 0 : slot.length) || slot.length !== 1) return true;
200
+ const {
201
+ type
202
+ } = vnode !== null && vnode !== void 0 ? vnode : {};
203
+ const isComponent = type && typeof type === 'object';
204
+ const isVListItem = isComponent && 'name' in type && type.name === 'v-list-item';
205
+ return !isVListItem;
188
206
  },
189
207
 
190
208
  getDisabled(item) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, {}, () => [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n onInput: () => this.$emit('select', item),\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, props)\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, props, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n modelValue: value,\n // Передаем scopeId атрибуты от родительского компонента\n ...Object.keys(this.$attrs).reduce((acc, key) => {\n if (key.startsWith('data-v-')) {\n acc[key] = this.$attrs[key]\n }\n return acc\n }, {} as Record<string, any>),\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const { onClick, onMousedown, ...attrsWithoutEvents } = tile\n const scopedSlot = this.$slots.item({\n parent,\n item,\n active: value,\n attrs: tile,\n on: {\n onMousedown,\n onClick\n }\n });\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, {}, () => [\n h(VListItemTitle, {}, () => [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n ...this.$attrs,\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
1
+ {"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, {}, () => [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n 'onUpdate:modelValue': () => this.$emit('select', item),\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, props)\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, props, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n modelValue: value,\n // Передаем scopeId атрибуты от родительского компонента\n ...Object.keys(this.$attrs).reduce((acc, key) => {\n if (key.startsWith('data-v-')) {\n acc[key] = this.$attrs[key]\n }\n return acc\n }, {} as Record<string, any>),\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const { onClick, onMousedown, ...attrsWithoutEvents } = tile\n const scopedSlot = this.$slots.item({\n parent,\n item,\n active: value,\n attrs: tile,\n on: {\n onMousedown,\n onClick,\n },\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, {}, () => [\n h(VListItemTitle, {}, () => [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined): boolean {\n const [vnode] = slot ?? []\n\n if (!slot?.length || slot.length !== 1) return true\n\n const { type } = vnode ?? {}\n\n const isComponent = type && typeof type === 'object'\n\n const isVListItem = isComponent && 'name' in type && type.name === 'v-list-item'\n\n return !isVListItem\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n ...this.$attrs,\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
@@ -9,7 +9,7 @@ import Loadable from '../../mixins/loadable'; // Directives
9
9
  import ClickOutside from '../../directives/click-outside'; // Helpers
10
10
 
11
11
  import { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers';
12
- import { consoleWarn } from '../../util/console'; // Types
12
+ import { consoleWarn, breaking } from '../../util/console'; // Types
13
13
 
14
14
  import { h, withDirectives, vShow } from 'vue';
15
15
  export default mixins(VInput, Loadable
@@ -70,6 +70,16 @@ export default mixins(VInput, Loadable
70
70
  noClick: false,
71
71
  startOffset: 0
72
72
  }),
73
+
74
+ created() {
75
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
76
+ /* istanbul ignore next */
77
+
78
+ breakingProps.forEach(([original, replacement]) => {
79
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
80
+ });
81
+ },
82
+
73
83
  computed: {
74
84
  classes() {
75
85
  return { ...VInput.computed.classes.call(this),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { defineComponent, VNode, PropType, h, getCurrentInstance, withDirectives, vShow } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always' || v === undefined,\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n modelValue: [Number, String],\n vertical: Boolean,\n },\n\n emits: [\n 'update:modelValue',\n 'start',\n 'end',\n 'mouseup',\n 'change',\n 'focus',\n 'blur',\n ],\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n const originalVal = val\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = this.roundValue(val)\n // Then clamp to min/max\n value = Math.min(Math.max(value, this.minValue), this.maxValue)\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('update:modelValue', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n const step = parseFloat(this.step)\n return step > 0 ? step : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$slots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n if (parsed > this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n max (val) {\n const parsed = parseFloat(val)\n if (parsed < this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n modelValue: {\n handler (v: number) {\n // Use the setter to ensure proper rounding and validation\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNode[] {\n const children: VNode[] = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return withDirectives(h('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n onClick: this.onSliderClick,\n onMousedown: this.onSliderMouseDown,\n onTouchstart: this.onSliderMouseDown,\n }, this.genChildren()), [\n [ClickOutside, this.onBlur],\n ])\n },\n genChildren (): VNode[] {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return h('input', {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n h('div', this.setBackgroundColor(this.computedTrackColor, {\n class: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n h('div', this.setBackgroundColor(this.computedTrackFillColor, {\n class: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(h('div', {\n class: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return h('span', {\n key: index,\n class: ['v-slider__tick', {\n 'v-slider__tick--filled': filled,\n }],\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return h('div', {\n class: ['v-slider__ticks-container', {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n }],\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return h('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n class: ['v-slider__thumb-container', {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n }],\n style: this.getThumbContainerStyles(valueWidth),\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n onFocus,\n onBlur,\n onKeydown: this.onKeyDown,\n }), children)\n },\n genThumbLabelContent (value: number | string): any {\n return this.$slots['thumb-label']\n ? this.$slots['thumb-label']!({ value })\n : [h('span', [String(value)])]\n },\n genThumbLabel (content: any): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return h(VScaleTransition, {\n origin: 'bottom center',\n }, () => [\n withDirectives(h('div', {\n class: 'v-slider__thumb-label-container',\n }, [\n h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [h('div', content)]),\n ]), [\n [vShow, this.isFocused || this.isActive || this.thumbLabel === 'always'],\n ]),\n ])\n },\n genThumb (): VNode {\n return h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('update:modelValue', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('update:modelValue', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('update:modelValue', this.internalValue)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
1
+ {"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn, breaking } from '../../util/console'\n\n// Types\nimport { defineComponent, VNode, PropType, h, getCurrentInstance, withDirectives, vShow } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always' || v === undefined,\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n modelValue: [Number, String],\n vertical: Boolean,\n },\n\n emits: [\n 'update:modelValue',\n 'start',\n 'end',\n 'mouseup',\n 'change',\n 'focus',\n 'blur',\n ],\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n const originalVal = val\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = this.roundValue(val)\n // Then clamp to min/max\n value = Math.min(Math.max(value, this.minValue), this.maxValue)\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('update:modelValue', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n const step = parseFloat(this.step)\n return step > 0 ? step : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$slots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n if (parsed > this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n max (val) {\n const parsed = parseFloat(val)\n if (parsed < this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n modelValue: {\n handler (v: number) {\n // Use the setter to ensure proper rounding and validation\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNode[] {\n const children: VNode[] = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return withDirectives(h('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n onClick: this.onSliderClick,\n onMousedown: this.onSliderMouseDown,\n onTouchstart: this.onSliderMouseDown,\n }, this.genChildren()), [\n [ClickOutside, this.onBlur],\n ])\n },\n genChildren (): VNode[] {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return h('input', {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n h('div', this.setBackgroundColor(this.computedTrackColor, {\n class: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n h('div', this.setBackgroundColor(this.computedTrackFillColor, {\n class: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(h('div', {\n class: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return h('span', {\n key: index,\n class: ['v-slider__tick', {\n 'v-slider__tick--filled': filled,\n }],\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return h('div', {\n class: ['v-slider__ticks-container', {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n }],\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return h('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n class: ['v-slider__thumb-container', {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n }],\n style: this.getThumbContainerStyles(valueWidth),\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n onFocus,\n onBlur,\n onKeydown: this.onKeyDown,\n }), children)\n },\n genThumbLabelContent (value: number | string): any {\n return this.$slots['thumb-label']\n ? this.$slots['thumb-label']!({ value })\n : [h('span', [String(value)])]\n },\n genThumbLabel (content: any): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return h(VScaleTransition, {\n origin: 'bottom center',\n }, () => [\n withDirectives(h('div', {\n class: 'v-slider__thumb-label-container',\n }, [\n h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [h('div', content)]),\n ]), [\n [vShow, this.isFocused || this.isActive || this.thumbLabel === 'always'],\n ]),\n ])\n },\n genThumb (): VNode {\n return h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('update:modelValue', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('update:modelValue', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('update:modelValue', this.internalValue)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
@@ -14,7 +14,6 @@ import { getSlot } from '../../util/helpers';
14
14
 
15
15
  export default mixins(Positionable, Toggleable, Transitionable).extend({
16
16
  name: 'v-speed-dial',
17
- emits: ['update:modelValue'],
18
17
  props: {
19
18
  direction: {
20
19
  type: String,
@@ -29,6 +28,7 @@ export default mixins(Positionable, Toggleable, Transitionable).extend({
29
28
  default: 'scale-transition'
30
29
  }
31
30
  },
31
+ emits: ['update:modelValue'],
32
32
  computed: {
33
33
  classes() {
34
34
  return {
@@ -50,21 +50,21 @@ export default mixins(Positionable, Toggleable, Transitionable).extend({
50
50
  let children = [];
51
51
  const data = {
52
52
  class: this.classes,
53
- on: {
54
- click: () => this.isActive = !this.isActive
55
- }
53
+ onClick: () => this.isActive = !this.isActive
56
54
  };
57
55
 
58
56
  if (this.openOnHover) {
59
- data.on.mouseenter = () => this.isActive = true;
57
+ data.onMouseenter = () => this.isActive = true;
60
58
 
61
- data.on.mouseleave = () => this.isActive = false;
59
+ data.onMouseleave = () => this.isActive = false;
62
60
  }
63
61
 
64
62
  if (this.isActive) {
65
63
  let btnCount = 0;
66
64
  children = (getSlot(this) || []).map((b, i) => {
67
- if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.name === 'v-btn' || b.componentOptions.Ctor.name === 'v-tooltip')) {
65
+ const componentName = b.type && typeof b.type === 'object' && 'name' in b.type ? b.type.name : null;
66
+
67
+ if (b.tag && (componentName === 'v-btn' || componentName === 'v-tooltip')) {
68
68
  btnCount++;
69
69
  return h('div', {
70
70
  style: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSpeedDial/VSpeedDial.ts"],"names":[],"mappings":"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","sourcesContent":["import { TransitionGroup, h, VNode, VNodeData, withDirectives } from 'vue'\n// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\n\nimport { Prop } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n emits: ['update:modelValue'],\n\n props: {\n direction: {\n type: String as Prop<'top' | 'right' | 'bottom' | 'left'>,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n on: {\n click: () => (this.isActive = !this.isActive),\n },\n }\n\n if (this.openOnHover) {\n data.on!.mouseenter = () => (this.isActive = true)\n data.on!.mouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (getSlot(this) || []).map((b, i) => {\n if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.name === 'v-btn' || b.componentOptions.Ctor.name === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h(TransitionGroup, {\n class: 'v-speed-dial__list',\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n }, children)\n\n return withDirectives(h('div', data, [getSlot(this, 'activator'), list]), [\n [ClickOutside, () => (this.isActive = false)],\n ])\n },\n})\n"],"sourceRoot":"","file":"VSpeedDial.js"}
1
+ {"version":3,"sources":["../../../src/components/VSpeedDial/VSpeedDial.ts"],"names":[],"mappings":"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","sourcesContent":["import { TransitionGroup, h, VNode, VNodeData, withDirectives } from 'vue'\n// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\n\nimport { Prop } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n props: {\n direction: {\n type: String as Prop<'top' | 'right' | 'bottom' | 'left'>,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n emits: ['update:modelValue'],\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n onClick: () => (this.isActive = !this.isActive),\n }\n\n if (this.openOnHover) {\n data.onMouseenter = () => (this.isActive = true)\n data.onMouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (getSlot(this) || []).map((b, i) => {\n const componentName = b.type && typeof b.type === 'object' && 'name' in b.type ? b.type.name : null\n if (b.tag && (componentName === 'v-btn' || componentName === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h(TransitionGroup, {\n class: 'v-speed-dial__list',\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n }, children)\n\n return withDirectives(h('div', data, [getSlot(this, 'activator'), list]), [\n [ClickOutside, () => (this.isActive = false)],\n ])\n },\n})\n"],"sourceRoot":"","file":"VSpeedDial.js"}
@@ -14,6 +14,7 @@ import Resize from '../../directives/resize'; // Utilities
14
14
 
15
15
  import { convertToUnit, getSlot } from '../../util/helpers';
16
16
  import mixins from '../../util/mixins';
17
+ import { breaking } from '../../util/console';
17
18
  const baseMixins = mixins(Colorable, Proxyable, Themeable);
18
19
  export default baseMixins.extend({
19
20
  name: 'v-tabs',
@@ -102,6 +103,16 @@ export default baseMixins.extend({
102
103
  }
103
104
 
104
105
  },
106
+
107
+ created() {
108
+ const breakingProps = [['value', 'modelValue'], ['onChange', 'onUpdate:modelValue'], ['onInput', 'onUpdate:modelValue']];
109
+ /* istanbul ignore next */
110
+
111
+ breakingProps.forEach(([original, replacement]) => {
112
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
113
+ });
114
+ },
115
+
105
116
  watch: {
106
117
  alignWithTitle: 'callSlider',
107
118
  centered: 'callSlider',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend({\n name: 'v-tabs',\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n modelValue (val: any) {\n this.validateModelValue(val)\n },\n },\n\n mounted () {\n this.validateModelValue(this.modelValue)\n\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n validateModelValue (val: any) {\n if (typeof val === 'number' && val < 0) {\n this.internalValue = 0\n }\n },\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n modelValue: this.internalValue,\n 'onCall:slider': this.callSlider,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return h(VTabsBar, data, () => [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return h(VTabsItems, {\n modelValue: this.internalValue,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n },\n }, () => item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = h(VTabsSlider, {\n color: this.sliderColor,\n })\n }\n\n return h('div', {\n class: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.type) {\n switch (vnode.type.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return withDirectives(h('div', {\n class: ['v-tabs', this.classes],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ]), [\n [\n Resize,\n this.onResize,\n '',\n { quiet: true },\n ],\n ])\n },\n})\n"],"sourceRoot":"","file":"VTabs.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend({\n name: 'v-tabs',\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onChange', 'onUpdate:modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n modelValue (val: any) {\n this.validateModelValue(val)\n },\n },\n\n mounted () {\n this.validateModelValue(this.modelValue)\n\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n validateModelValue (val: any) {\n if (typeof val === 'number' && val < 0) {\n this.internalValue = 0\n }\n },\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n modelValue: this.internalValue,\n 'onCall:slider': this.callSlider,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return h(VTabsBar, data, () => [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return h(VTabsItems, {\n modelValue: this.internalValue,\n 'onUpdate:modelValue': (val: any) => {\n this.internalValue = val\n },\n }, () => item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = h(VTabsSlider, {\n color: this.sliderColor,\n })\n }\n\n return h('div', {\n class: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.type) {\n switch (vnode.type.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return withDirectives(h('div', {\n class: ['v-tabs', this.classes],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ]), [\n [\n Resize,\n this.onResize,\n '',\n { quiet: true },\n ],\n ])\n },\n})\n"],"sourceRoot":"","file":"VTabs.js"}
package/lib/framework.js CHANGED
@@ -46,7 +46,7 @@ export default class Vuetify {
46
46
  }
47
47
  Vuetify.install = install;
48
48
  Vuetify.installed = false;
49
- Vuetify.version = "2.7.2-alpha28";
49
+ Vuetify.version = "2.7.2-alpha29";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -4,7 +4,7 @@ import Themeable from '../themeable';
4
4
  import { inject as RegistrableInject } from '../registrable'; // Utilities
5
5
 
6
6
  import { deepEqual } from '../../util/helpers';
7
- import { consoleError } from '../../util/console';
7
+ import { consoleError, breaking } from '../../util/console';
8
8
  import { defineComponent } from 'vue';
9
9
  /* @vue/component */
10
10
 
@@ -223,6 +223,12 @@ export default defineComponent({
223
223
  },
224
224
 
225
225
  created() {
226
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
227
+ /* istanbul ignore next */
228
+
229
+ breakingProps.forEach(([original, replacement]) => {
230
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
231
+ });
226
232
  this.form && this.form.register(this);
227
233
  },
228
234