@dimailn/vuetify 2.7.2-alpha20 → 2.7.2-alpha22

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 (98) hide show
  1. package/dist/vuetify.js +214 -84
  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/VOverlay/VOverlay.js +2 -3
  6. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  7. package/es5/components/VProgressCircular/VProgressCircular.js +5 -3
  8. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  9. package/es5/components/VProgressLinear/VProgressLinear.js +41 -19
  10. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  11. package/es5/components/VTabs/VTabs.js +1 -1
  12. package/es5/components/VTabs/VTabs.js.map +1 -1
  13. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  14. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -16
  15. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  16. package/es5/components/VWindow/VWindow.js +13 -5
  17. package/es5/components/VWindow/VWindow.js.map +1 -1
  18. package/es5/components/VWindow/VWindowItem.js +9 -5
  19. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  20. package/es5/framework.js +1 -1
  21. package/es5/install.js +10 -33
  22. package/es5/install.js.map +1 -1
  23. package/es5/mixins/detachable/index.js +2 -3
  24. package/es5/mixins/detachable/index.js.map +1 -1
  25. package/es5/mixins/overlayable/index.js.map +1 -1
  26. package/es5/util/helpers.js +44 -0
  27. package/es5/util/helpers.js.map +1 -1
  28. package/es5/util/legacyEventsMixin.js +48 -0
  29. package/es5/util/legacyEventsMixin.js.map +1 -0
  30. package/lib/components/VOverlay/VOverlay.js +1 -2
  31. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  32. package/lib/components/VProgressCircular/VProgressCircular.js +5 -3
  33. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  34. package/lib/components/VProgressLinear/VProgressLinear.js +35 -17
  35. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  36. package/lib/components/VTabs/VTabs.js +1 -1
  37. package/lib/components/VTabs/VTabs.js.map +1 -1
  38. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  39. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -11
  40. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  41. package/lib/components/VWindow/VWindow.js +7 -3
  42. package/lib/components/VWindow/VWindow.js.map +1 -1
  43. package/lib/components/VWindow/VWindowItem.js +3 -1
  44. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  45. package/lib/framework.js +1 -1
  46. package/lib/install.js +5 -28
  47. package/lib/install.js.map +1 -1
  48. package/lib/mixins/detachable/index.js +3 -4
  49. package/lib/mixins/detachable/index.js.map +1 -1
  50. package/lib/mixins/overlayable/index.js.map +1 -1
  51. package/lib/util/helpers.js +42 -0
  52. package/lib/util/helpers.js.map +1 -1
  53. package/lib/util/legacyEventsMixin.js +37 -0
  54. package/lib/util/legacyEventsMixin.js.map +1 -0
  55. package/package.json +1 -1
  56. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  57. package/src/components/VOverlay/VOverlay.ts +1 -1
  58. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  59. package/src/components/VProgressCircular/VProgressCircular.ts +6 -5
  60. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  61. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  62. package/src/components/VProgressLinear/VProgressLinear.ts +42 -22
  63. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +378 -71
  64. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  65. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  66. package/src/components/VTabs/VTabs.ts +1 -1
  67. package/src/components/VTabs/VTabsBar.ts +7 -5
  68. package/src/components/VTabs/__tests__/VTab.spec.ts +48 -37
  69. package/src/components/VTabs/__tests__/VTabs.spec.ts +134 -79
  70. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +67 -26
  71. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  72. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  73. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -13
  74. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +26 -19
  75. package/src/components/VWindow/VWindow.ts +9 -5
  76. package/src/components/VWindow/VWindowItem.ts +3 -1
  77. package/src/components/VWindow/__tests__/VWindow.spec.ts +226 -185
  78. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +162 -132
  79. package/src/install.ts +10 -32
  80. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  81. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  82. package/src/mixins/detachable/index.ts +2 -1
  83. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  84. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  85. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  86. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  87. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  88. package/src/mixins/overlayable/index.ts +1 -1
  89. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  90. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  91. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  92. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  93. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  94. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  95. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  96. package/src/util/__tests__/helpers.spec.ts +62 -1
  97. package/src/util/helpers.ts +42 -1
  98. package/src/util/legacyEventsMixin.ts +34 -0
@@ -59,15 +59,17 @@ export default defineComponent({
59
59
  },
60
60
 
61
61
  normalizedValue() {
62
- if (this.value < 0) {
62
+ const numValue = parseFloat(this.value);
63
+
64
+ if (numValue < 0) {
63
65
  return 0;
64
66
  }
65
67
 
66
- if (this.value > 100) {
68
+ if (numValue > 100) {
67
69
  return 100;
68
70
  }
69
71
 
70
- return parseFloat(this.value);
72
+ return numValue;
71
73
  },
72
74
 
73
75
  strokeDashArray() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VProgressCircular/VProgressCircular.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-progress-circular',\n\n extends: Colorable,\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return h('circle', {\n class: `v-progress-circular__${name}`,\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return h('svg', {\n style: this.svgStyles,\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n }, children)\n },\n genInfo (): VNode {\n return h('div', {\n class: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.setTextColor(this.color, {\n class: ['v-progress-circular', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: this.styles,\n ...this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressCircular.js"}
1
+ {"version":3,"sources":["../../../src/components/VProgressCircular/VProgressCircular.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChild, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-progress-circular',\n\n extends: Colorable,\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n const numValue = parseFloat(this.value)\n if (numValue < 0) {\n return 0\n }\n\n if (numValue > 100) {\n return 100\n }\n\n return numValue\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return h('circle', {\n class: `v-progress-circular__${name}`,\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChild[]\n\n return h('svg', {\n style: this.svgStyles,\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n }, children)\n },\n genInfo (): VNode {\n return h('div', {\n class: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.setTextColor(this.color, {\n class: ['v-progress-circular', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: this.styles,\n ...this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressCircular.js"}
@@ -7,12 +7,12 @@ import intersect, { Intersect } from '../../directives/intersect'; // Mixins
7
7
 
8
8
  import Colorable from '../../mixins/colorable';
9
9
  import { factory as PositionableFactory } from '../../mixins/positionable';
10
- import Proxyable from '../../mixins/proxyable';
10
+ import { factory as ProxyableFactory } from '../../mixins/proxyable';
11
11
  import Themeable from '../../mixins/themeable'; // Utilities
12
12
 
13
13
  import { convertToUnit, getSlot } from '../../util/helpers';
14
14
  import mixins from '../../util/mixins';
15
- const baseMixins = mixins(Colorable, PositionableFactory(['absolute', 'fixed', 'top', 'bottom']), Proxyable, Themeable);
15
+ const baseMixins = mixins(Colorable, PositionableFactory(['absolute', 'fixed', 'top', 'bottom']), ProxyableFactory('modelValue', 'update:modelValue'), Themeable);
16
16
  /* @vue/component */
17
17
 
18
18
  export default baseMixins.extend({
@@ -46,11 +46,16 @@ export default baseMixins.extend({
46
46
  default: 4
47
47
  },
48
48
  indeterminate: Boolean,
49
+ modelValue: {
50
+ type: [Number, String],
51
+ default: 0
52
+ },
49
53
  query: Boolean,
50
54
  reverse: Boolean,
51
55
  rounded: Boolean,
52
56
  stream: Boolean,
53
57
  striped: Boolean,
58
+ // Оставляем value для обратной совместимости
54
59
  value: {
55
60
  type: [Number, String],
56
61
  default: 0
@@ -59,7 +64,7 @@ export default baseMixins.extend({
59
64
 
60
65
  data() {
61
66
  return {
62
- internalLazyValue: this.value || 0,
67
+ internalLazyValue: this.modelValue || this.value || 0,
63
68
  isVisible: true
64
69
  };
65
70
  },
@@ -73,7 +78,9 @@ export default baseMixins.extend({
73
78
  },
74
79
 
75
80
  __cachedBar() {
76
- return h(this.computedTransition, [this.__cachedBarType]);
81
+ return h(this.computedTransition, {}, {
82
+ default: () => [this.__cachedBarType]
83
+ });
77
84
  },
78
85
 
79
86
  __cachedBarType() {
@@ -154,7 +161,7 @@ export default baseMixins.extend({
154
161
  },
155
162
 
156
163
  reactive() {
157
- return Boolean(this.$listeners.change);
164
+ return Boolean(this.$listeners.onChange) || Boolean(this.$listeners['onUpdate:modelValue']);
158
165
  },
159
166
 
160
167
  styles() {
@@ -171,6 +178,16 @@ export default baseMixins.extend({
171
178
  return styles;
172
179
  }
173
180
 
181
+ },
182
+ watch: {
183
+ modelValue(val) {
184
+ this.internalLazyValue = val;
185
+ },
186
+
187
+ value(val) {
188
+ this.internalLazyValue = val;
189
+ }
190
+
174
191
  },
175
192
  methods: {
176
193
  genContent() {
@@ -178,9 +195,11 @@ export default baseMixins.extend({
178
195
  value: this.internalLazyValue
179
196
  });
180
197
  if (!slot) return null;
181
- return h('div', {
182
- class: 'v-progress-linear__content'
183
- }, slot);
198
+ return h("div", {
199
+ class: "v-progress-linear__content"
200
+ }, {
201
+ default: () => slot
202
+ });
184
203
  },
185
204
 
186
205
  genListeners() {
@@ -214,9 +233,10 @@ export default baseMixins.extend({
214
233
  },
215
234
 
216
235
  normalize(value) {
217
- if (value < 0) return 0;
218
- if (value > 100) return 100;
219
- return parseFloat(value);
236
+ const numValue = typeof value === 'string' ? parseFloat(value) : value;
237
+ if (numValue < 0) return 0;
238
+ if (numValue > 100) return 100;
239
+ return numValue;
220
240
  }
221
241
 
222
242
  },
@@ -224,12 +244,10 @@ export default baseMixins.extend({
224
244
  render() {
225
245
  const data = {
226
246
  class: ['v-progress-linear', this.classes],
227
- attrs: {
228
- role: 'progressbar',
229
- 'aria-valuemin': 0,
230
- 'aria-valuemax': this.normalizedBuffer,
231
- 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue
232
- },
247
+ role: 'progressbar',
248
+ 'aria-valuemin': 0,
249
+ 'aria-valuemax': this.normalizedBuffer,
250
+ 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,
233
251
  style: {
234
252
  bottom: this.bottom ? 0 : undefined,
235
253
  height: this.active ? convertToUnit(this.height) : 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VProgressLinear/VProgressLinear.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\nimport './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return h('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n class: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return h(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return h('div', {\n class: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return h('div', {\n class: ['v-progress-linear__indeterminate',\n {\n 'v-progress-linear__indeterminate--active': this.active,\n }\n ]\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return h('div', this.setTextColor(this.color, {\n class: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return h('div', {\n class: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.onClick = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return h('div', this.setBackgroundColor(this.color, {\n class: ['v-progress-linear__indeterminate',\n {\n [name]: true,\n }\n ]\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-progress-linear', this.classes],\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n ...this.genListeners(),\n }\n\n return withDirectives(h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressLinear.js"}
1
+ {"version":3,"sources":["../../../src/components/VProgressLinear/VProgressLinear.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\nimport './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport { factory as ProxyableFactory } from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n ProxyableFactory('modelValue', 'update:modelValue'),\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n // Оставляем value для обратной совместимости\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.modelValue || this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return h('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n class: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return h(this.computedTransition, {}, {\n default: () => [this.__cachedBarType]\n })\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return h('div', {\n class: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return h('div', {\n class: ['v-progress-linear__indeterminate',\n {\n 'v-progress-linear__indeterminate--active': this.active,\n }\n ]\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return h('div', this.setTextColor(this.color, {\n class: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): any {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.onChange) || Boolean(this.$listeners['onUpdate:modelValue'])\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n watch: {\n modelValue (val) {\n this.internalLazyValue = val\n },\n value (val) {\n this.internalLazyValue = val\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return h(\n \"div\",\n {\n class: \"v-progress-linear__content\"\n },\n {\n default: () => slot\n }\n );\n },\n genListeners (): any {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.onClick = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short'): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: ['v-progress-linear__indeterminate',\n {\n [name]: true,\n }\n ]\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number): number {\n const numValue = typeof value === 'string' ? parseFloat(value) : value\n if (numValue < 0) return 0\n if (numValue > 100) return 100\n return numValue\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-progress-linear', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n ...this.genListeners(),\n }\n\n return withDirectives(h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ]), [\n [\n Intersect,\n this.onObserve\n ]\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressLinear.js"}
@@ -180,7 +180,7 @@ export default baseMixins.extend({
180
180
  nextIcon: this.nextIcon,
181
181
  prevIcon: this.prevIcon,
182
182
  showArrows: this.showArrows,
183
- value: this.internalValue,
183
+ modelValue: this.internalValue,
184
184
  'onCall:slider': this.callSlider,
185
185
  'onUpdate:modelValue': val => {
186
186
  this.internalValue = val;
@@ -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 directives: {\n Resize,\n },\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 },\n\n mounted () {\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 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 value: 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'\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 directives: {\n Resize,\n },\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 },\n\n mounted () {\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 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 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTabsBar.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,SAAS,cAAT,QAA+B,4BAA/B,C,CAKA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,WAAP,MAAwB,2BAAxB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAQA,eAAe,MAAM,CACnB,cADmB,EAEnB,WAFmB,EAGnB;AACA;AAJmB,CAAN,CAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,YADC;;AAGP,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,OAAO,EAAE;AADJ,KAAP;AAGD,GAPM;;AASP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,cAAc,CAAC,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADE;AAEL,sBAAc,IAFT;AAGL,iCAAyB,KAAK,QAHzB;AAIL;AACA,mCAA2B,KAAK,UAL3B;AAML,WAAG,KAAK;AANH,OAAP;AAQD;;AAVO,GATH;AAsBP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,YADF;AAEL,IAAA,aAAa,EAAE,YAFV;AAGL,IAAA,MAAM,EAAE;AAHH,GAtBA;AA4BP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,KAAL,CAAW,aAAX;AACD,KALM;;AAMP,IAAA,UAAU,GAAA;AACR,YAAM,MAAM,GAAG,cAAc,CAAC,OAAf,CAAuB,UAAvB,CAAkC,IAAlC,CAAuC,IAAvC,CAAf;AAEA,MAAA,MAAM,CAAC,KAAP,CAAa,KAAb,IAAsB,sBAAtB;AAEA,aAAO,MAAP;AACD,KAZM;;AAaP,IAAA,aAAa,CAAE,GAAF,EAAc,MAAd,EAA2B;AACtC;AACA,UAAI,KAAK,SAAT,EAAoB;AAEpB,YAAM,KAAK,GAAG,KAAK,KAAnB;AACA,YAAM,OAAO,GAAG,GAAG,CAAC,IAApB;AACA,YAAM,OAAO,GAAG,MAAM,CAAC,IAAvB;AAEA,UAAI,MAAM,GAAG,KAAb;AACA,UAAI,MAAM,GAAG,KAAb;;AAEA,WAAK,MAAM,IAAX,IAAmB,KAAnB,EAA0B;AACxB,YAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT,CAAzB,KACK,IAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT;AAE9B,YAAI,MAAM,IAAI,MAAd,EAAsB;AACvB,OAhBqC,CAkBtC;AACA;AACA;;;AACA,UAAI,CAAC,MAAD,IAAW,MAAf,EAAuB,KAAK,aAAL,GAAqB,SAArB;AACxB;;AAnCM,GA5BF;;AAkEP,EAAA,MAAM,GAAA;AACJ,UAAM,MAAM,GAAG,cAAc,CAAC,MAAf,CAAsB,IAAtB,CAA2B,IAA3B,EAAiC,CAAjC,CAAf;AAEA,IAAA,MAAM,CAAC,IAAP,GAAc,SAAd;AAEA,WAAO,MAAP;AACD;;AAxEM,CALM,CAAf","sourcesContent":["import {h} from 'vue'\n// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.methods.genContent.call(this)\n\n render.props.class += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (): VNode {\n const render = BaseSlideGroup.render.call(this, h)\n\n render.role = 'tablist'\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VTabsBar.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTabsBar.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,QAAyB,KAAzB,C,CACA;;AACA,SAAS,cAAT,QAA+B,4BAA/B,C,CAKA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,WAAP,MAAwB,2BAAxB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAOA,eAAe,MAAM,CACnB,cADmB,EAEnB,WAFmB,EAGnB;AACA;AAJmB,CAAN,CAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,YADC;;AAGP,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,OAAO,EAAE;AADJ,KAAP;AAGD,GAPM;;AASP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,cAAc,CAAC,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADE;AAEL,sBAAc,IAFT;AAGL,iCAAyB,KAAK,QAHzB;AAIL;AACA,mCAA2B,KAAK,UAL3B;AAML,WAAG,KAAK;AANH,OAAP;AAQD;;AAVO,GATH;AAsBP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,YADF;AAEL,IAAA,aAAa,EAAE,YAFV;AAGL,IAAA,MAAM,EAAE;AAHH,GAtBA;AA4BP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,KAAL,CAAW,aAAX;AACD,KALM;;AAMP,IAAA,UAAU,GAAA;AACR,YAAM,MAAM,GAAG,cAAc,CAAC,OAAf,CAAuB,UAAvB,CAAkC,IAAlC,CAAuC,IAAvC,CAAf;AAEA,MAAA,MAAM,CAAC,KAAP,CAAa,KAAb,IAAsB,sBAAtB;AAEA,aAAO,MAAP;AACD,KAZM;;AAaP,IAAA,aAAa,CACX,GADW,EAEX,MAFW,EAEoB;AAE/B;AACA,UAAI,KAAK,SAAT,EAAoB;AAEpB,YAAM,KAAK,GAAI,KAAK,KAApB;AACA,YAAM,OAAO,GAAG,GAAG,CAAC,IAApB;AACA,YAAM,OAAO,GAAG,MAAM,CAAC,IAAvB;AAEA,UAAI,MAAM,GAAG,KAAb;AACA,UAAI,MAAM,GAAG,KAAb;;AAEA,WAAK,MAAM,IAAX,IAAmB,KAAnB,EAA0B;AACxB,YAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT,CAAzB,KACK,IAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT;AAE9B,YAAI,MAAM,IAAI,MAAd,EAAsB;AACvB,OAjB8B,CAmB/B;AACA;AACA;;;AACA,UAAI,CAAC,MAAD,IAAW,MAAf,EAAuB,KAAK,aAAL,GAAqB,SAArB;AACxB;;AAtCM,GA5BF;;AAqEP,EAAA,MAAM,GAAA;AACJ,UAAM,MAAM,GAAG,cAAc,CAAC,MAAf,CAAsB,IAAtB,CAA2B,IAA3B,EAAiC,CAAjC,CAAf;AAEA,IAAA,MAAM,CAAC,IAAP,GAAc,SAAd;AAEA,WAAO,MAAP;AACD;;AA3EM,CALM,CAAf","sourcesContent":["import { h, VNode } from 'vue'\n// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { RouteLocationNormalized } from 'vue-router'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.methods.genContent.call(this)\n\n render.props.class += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (\n val: RouteLocationNormalized,\n oldVal: RouteLocationNormalized\n ) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = (this.items as unknown) as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (): VNode {\n const render = BaseSlideGroup.render.call(this, h)\n\n render.role = 'tablist'\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VTabsBar.js"}
@@ -1,4 +1,4 @@
1
- import { h } from 'vue'; // Styles
1
+ import { h, withDirectives } from 'vue'; // Styles
2
2
 
3
3
  import "../../../src/components/VVirtualScroll/VVirtualScroll.sass"; // Mixins
4
4
 
@@ -105,18 +105,15 @@ export default defineComponent({
105
105
  height: convertToUnit(this.items.length * this.__itemHeight)
106
106
  }
107
107
  }, this.getChildren());
108
- return h('div', {
108
+ return withDirectives(h('div', {
109
109
  class: 'v-virtual-scroll',
110
110
  style: this.measurableStyles,
111
- directives: [{
112
- name: 'scroll',
113
- modifiers: {
114
- self: true
115
- },
116
- value: this.onScroll
117
- }],
118
- on: this.$listeners
119
- }, [content]);
111
+ ...this.$listeners
112
+ }, {
113
+ default: () => [content]
114
+ }), [[Scroll, this.onScroll, '', {
115
+ self: true
116
+ }]]);
120
117
  }
121
118
 
122
119
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default defineComponent({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\n\n extends: Measurable,\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return h('div', {\n class: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (): VNode {\n const content = h('div', {\n class: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return h('div', {\n class: 'v-virtual-scroll',\n style: this.measurableStyles,\n directives: [{\n name: 'scroll',\n modifiers: { self: true },\n value: this.onScroll,\n }],\n on: this.$listeners,\n }, [content])\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
1
+ {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,EAAW,cAAX,QAAgC,KAAhC,C,CACA;;AACA,OAAO,4DAAP,C,CAEA;;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,yBAAnB,C,CAEA;;AACA,SACE,aADF,EAEE,OAFF,QAGO,oBAHP,C,CAKA;;AACA,SAAgB,eAAhB,QAAuC,KAAvC;AAEA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,kBADuB;AAG7B,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAHiB;AAK7B,EAAA,OAAO,EAAE,UALoB;AAO7B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KADF;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADI;AAEV,MAAA,QAAQ,EAAE;AAFA,KALP;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE,MAAM;AAFV;AATF,GAPsB;AAsB7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,KAAK,EAAE,CADI;AAEX,IAAA,IAAI,EAAE,CAFK;AAGX,IAAA,SAAS,EAAE;AAHA,GAAP,CAtBuB;AA4B7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,QAAQ,CAAC,KAAK,KAAN,EAAa,EAAb,CAAf;AACD,KAHO;;AAIR,IAAA,YAAY,GAAA;AACV,aAAO,QAAQ,CAAC,KAAK,UAAN,EAAkB,EAAlB,CAAf;AACD,KANO;;AAOR,IAAA,aAAa,GAAA;AACX,aAAO,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,KAAK,KAAL,GAAa,KAAK,OAA9B,CAAP;AACD,KATO;;AAUR,IAAA,YAAY,GAAA;AACV,aAAO,IAAI,CAAC,GAAL,CAAS,KAAK,KAAL,CAAW,MAApB,EAA4B,KAAK,IAAL,GAAY,KAAK,OAA7C,CAAP;AACD;;AAZO,GA5BmB;AA2C7B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,UADH;AAEL,IAAA,UAAU,EAAE;AAFP,GA3CsB;;AAgD7B,EAAA,OAAO,GAAA;AACL,SAAK,IAAL,GAAY,KAAK,OAAL,CAAa,CAAb,CAAZ;AACD,GAlD4B;;AAoD7B,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,KAAL,CAAW,KAAX,CACL,KAAK,aADA,EAEL,KAAK,YAFA,EAGL,GAHK,CAGD,KAAK,QAHJ,CAAP;AAID,KANM;;AAOP,IAAA,QAAQ,CAAE,IAAF,EAAa,KAAb,EAA0B;AAChC,MAAA,KAAK,IAAI,KAAK,aAAd;AAEA,YAAM,GAAG,GAAG,aAAa,CAAC,KAAK,GAAG,KAAK,YAAd,CAAzB;AAEA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,wBADO;AAEd,QAAA,KAAK,EAAE;AAAE,UAAA;AAAF,SAFO;AAGd,QAAA,GAAG,EAAE;AAHS,OAAR,EAIL,OAAO,CAAC,IAAD,EAAO,SAAP,EAAkB;AAAE,QAAA,KAAF;AAAS,QAAA;AAAT,OAAlB,CAJF,CAAR;AAKD,KAjBM;;AAkBP,IAAA,QAAQ,GAAA;AACN,aAAO,IAAI,CAAC,KAAL,CAAW,KAAK,SAAL,GAAiB,KAAK,YAAjC,CAAP;AACD,KApBM;;AAqBP,IAAA,OAAO,CAAE,KAAF,EAAe;AACpB,YAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,MAAL,IAAe,CAAhB,EAAmB,EAAnB,CAAR,IAAkC,KAAK,GAAL,CAAS,YAA1D;AAEA,aAAO,KAAK,GAAG,IAAI,CAAC,IAAL,CAAU,MAAM,GAAG,KAAK,YAAxB,CAAf;AACD,KAzBM;;AA0BP,IAAA,QAAQ,GAAA;AACN,WAAK,SAAL,GAAiB,KAAK,GAAL,CAAS,SAA1B;AACA,WAAK,KAAL,GAAa,KAAK,QAAL,EAAb;AACA,WAAK,IAAL,GAAY,KAAK,OAAL,CAAa,KAAK,KAAlB,CAAZ;AACD;;AA9BM,GApDoB;;AAqF7B,EAAA,MAAM,GAAA;AACJ,UAAM,OAAO,GAAG,CAAC,CAAC,KAAD,EAAQ;AACvB,MAAA,KAAK,EAAE,6BADgB;AAEvB,MAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,aAAa,CAAE,KAAK,KAAL,CAAW,MAAX,GAAoB,KAAK,YAA3B;AADhB;AAFgB,KAAR,EAKd,KAAK,WAAL,EALc,CAAjB;AAOA,WAAO,cAAc,CACnB,CAAC,CAAC,KAAD,EAAQ;AACP,MAAA,KAAK,EAAE,kBADA;AAEP,MAAA,KAAK,EAAE,KAAK,gBAFL;AAGP,SAAI,KAAa;AAHV,KAAR,EAIE;AACD,MAAA,OAAO,EAAE,MAAM,CAAC,OAAD;AADd,KAJF,CADkB,EAQnB,CACE,CAAC,MAAD,EAAS,KAAK,QAAd,EAAwB,EAAxB,EAA4B;AAAE,MAAA,IAAI,EAAE;AAAR,KAA5B,CADF,CARmB,CAArB;AAYD;;AAzG4B,CAAD,CAA9B","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\n\n extends: Measurable,\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n },\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return h('div', {\n class: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (): VNode {\n const content = h('div', {\n class: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return withDirectives(\n h('div', {\n class: 'v-virtual-scroll',\n style: this.measurableStyles,\n ...(this as any).$listeners,\n }, {\n default: () => [content]\n }),\n [\n [Scroll, this.onScroll, '', { self: true }]\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
@@ -155,9 +155,13 @@ export default defineComponent({
155
155
  })) !== null && _c !== void 0 ? _c : [h(VBtn, {
156
156
  icon: true,
157
157
  ...attrs
158
- }, [h(VIcon, {
159
- large: true
160
- }, icon)])];
158
+ }, {
159
+ default: () => [h(VIcon, {
160
+ large: true
161
+ }, {
162
+ default: () => icon
163
+ })]
164
+ })];
161
165
  return h('div', {
162
166
  class: `v-window__${direction}`
163
167
  }, children);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType, defineComponent } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-window',\n extends: BaseItemGroup,\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n modelValue: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return h('div', {\n class: ['v-window__container', {\n 'v-window__container--is-active': this.isActive,\n }],\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n onClick: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n }\n }\n const children = this.$slots[direction]?.({\n attrs,\n }) ?? [h(VBtn, {\n icon: true,\n ...attrs,\n }, [\n h(VIcon, {\n large: true,\n }, icon),\n ])]\n\n return h('div', {\n class: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (): VNode {\n const directives = []\n\n const data = {\n class: ['v-window', this.classes]\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n directives.push([\n Touch,\n value\n ])\n }\n\n return withDirectives(h('div', data, [this.genContainer()]), directives)\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
1
+ {"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType, defineComponent } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-window',\n extends: BaseItemGroup,\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n modelValue: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return h('div', {\n class: ['v-window__container', {\n 'v-window__container--is-active': this.isActive,\n }],\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n onClick: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n }\n }\n const children = this.$slots[direction]?.({\n attrs,\n }) ?? [h(VBtn, {\n icon: true,\n ...attrs,\n }, {\n default: () => [\n h(VIcon, {\n large: true,\n }, {\n default: () => icon\n }),\n ]\n })]\n\n return h('div', {\n class: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (): VNode {\n const directives = []\n\n const data = {\n class: ['v-window', this.classes]\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n directives.push([\n Touch,\n value\n ])\n }\n\n return withDirectives(h('div', data, [this.genContainer()]), directives)\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
@@ -131,7 +131,9 @@ export default baseMixins.extend({
131
131
  onLeaveCancelled: this.onTransitionCancelled,
132
132
  // Enter handler for height transition.
133
133
  onEnter: this.onEnter
134
- }, this.showLazyContent(() => [this.genWindowItem()]));
134
+ }, {
135
+ default: () => this.showLazyContent(() => [this.genWindowItem()])
136
+ });
135
137
  }
136
138
 
137
139
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VWindow/VWindowItem.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode, Transition } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n windowGroup: InstanceType<typeof VWindow>\n}\n\nexport default baseMixins.extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genWindowItem () {\n return withDirectives(h('div', {\n class: ['v-window-item', this.classes],\n ...this.$listeners,\n }, this.genDefaultSlot()), [\n [\n vShow,\n this.isActive\n ]\n ])\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (): VNode {\n return h(Transition, {\n name: this.computedTransition,\n // Handlers for enter windows.\n onBeforeEnter: this.onBeforeTransition,\n onAfterEnter: this.onAfterTransition,\n onEnterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n onBeforeLeave: this.onBeforeTransition,\n onAfterLeave: this.onAfterTransition,\n onLeaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n onEnter: this.onEnter,\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n"],"sourceRoot":"","file":"VWindowItem.js"}
1
+ {"version":3,"sources":["../../../src/components/VWindow/VWindowItem.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode, Transition } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n windowGroup: InstanceType<typeof VWindow>\n}\n\nexport default baseMixins.extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genWindowItem () {\n return withDirectives(h('div', {\n class: ['v-window-item', this.classes],\n ...this.$listeners,\n }, this.genDefaultSlot()), [\n [\n vShow,\n this.isActive\n ]\n ])\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (): VNode {\n return h(Transition, {\n name: this.computedTransition,\n // Handlers for enter windows.\n onBeforeEnter: this.onBeforeTransition,\n onAfterEnter: this.onAfterTransition,\n onEnterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n onBeforeLeave: this.onBeforeTransition,\n onAfterLeave: this.onAfterTransition,\n onLeaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n onEnter: this.onEnter,\n }, {\n default: () => this.showLazyContent(() => [this.genWindowItem()])\n })\n },\n})\n"],"sourceRoot":"","file":"VWindowItem.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-alpha20";
49
+ Vuetify.version = "2.7.2-alpha21";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };