@dimailn/vuetify 2.7.2-alpha24 → 2.7.2-alpha25

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 (74) hide show
  1. package/dist/vuetify.js +241 -230
  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/VBtn/VBtn.js +16 -16
  6. package/es5/components/VBtn/VBtn.js.map +1 -1
  7. package/es5/components/VColorPicker/VColorPicker.js +18 -31
  8. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  9. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  10. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  11. package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
  12. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  13. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  14. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  15. package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
  16. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  17. package/es5/components/VDataTable/VDataTable.js +7 -11
  18. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  19. package/es5/components/VInput/VInput.js +20 -6
  20. package/es5/components/VInput/VInput.js.map +1 -1
  21. package/es5/components/VSlider/VSlider.js +23 -18
  22. package/es5/components/VSlider/VSlider.js.map +1 -1
  23. package/es5/components/VTooltip/VTooltip.js +3 -7
  24. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  25. package/es5/framework.js +1 -1
  26. package/lib/components/VBtn/VBtn.js +18 -19
  27. package/lib/components/VBtn/VBtn.js.map +1 -1
  28. package/lib/components/VColorPicker/VColorPicker.js +29 -37
  29. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  30. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  31. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  32. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  33. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  34. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  35. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  36. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  37. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  38. package/lib/components/VDataTable/VDataTable.js +3 -4
  39. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  40. package/lib/components/VInput/VInput.js +12 -4
  41. package/lib/components/VInput/VInput.js.map +1 -1
  42. package/lib/components/VSlider/VSlider.js +26 -21
  43. package/lib/components/VSlider/VSlider.js.map +1 -1
  44. package/lib/components/VTooltip/VTooltip.js +6 -9
  45. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  46. package/lib/framework.js +1 -1
  47. package/package.json +1 -1
  48. package/src/components/VBtn/VBtn.ts +18 -16
  49. package/src/components/VBtn/__tests__/VBtn.spec.ts +257 -242
  50. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  51. package/src/components/VColorPicker/VColorPicker.ts +32 -35
  52. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  53. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  54. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  55. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  56. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  57. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  58. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  59. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  60. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +200 -157
  61. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +28 -11
  62. package/src/components/VDataTable/VDataTable.ts +3 -3
  63. package/src/components/VInput/VInput.ts +8 -2
  64. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  65. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  66. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  67. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  68. package/src/components/VSlider/VSlider.ts +43 -27
  69. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  70. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  71. package/src/components/VTabs/__tests__/VTab.spec.ts +3 -3
  72. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +2 -2
  73. package/src/components/VTooltip/VTooltip.ts +20 -20
  74. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +60 -75
@@ -1,77 +1,90 @@
1
- import { h } from 'vue'; // Styles
1
+ import { h, defineComponent } from 'vue'; // Styles
2
2
 
3
3
  import "../../../src/components/VColorPicker/VColorPickerPreview.sass"; // Components
4
4
 
5
5
  import VSlider from '../VSlider/VSlider'; // Utilities
6
6
 
7
- import { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils'; // Types
8
-
9
- import { defineComponent } from 'vue';
7
+ import { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils';
10
8
  import { fromHSVA } from './util';
11
9
  export default defineComponent({
12
10
  name: 'v-color-picker-preview',
13
11
  props: {
14
- color: Object,
12
+ color: {
13
+ type: Object,
14
+ required: true
15
+ },
15
16
  disabled: Boolean,
16
17
  hideAlpha: Boolean
17
18
  },
19
+ emits: ['update:color'],
18
20
  methods: {
19
21
  genAlpha() {
22
+ var _a;
23
+
24
+ if (!this.color) return h('div');
20
25
  return this.genTrack({
21
26
  class: 'v-color-picker__alpha',
22
27
  thumbColor: 'grey lighten-2',
23
28
  hideDetails: true,
24
- value: this.color.alpha,
29
+ modelValue: this.color.alpha,
25
30
  step: 0,
26
31
  min: 0,
27
32
  max: 1,
28
33
  style: {
29
- backgroundImage: this.disabled ? undefined : `linear-gradient(to ${this.$vuetify.rtl ? 'left' : 'right'}, transparent, ${RGBtoCSS(this.color.rgba)})`
34
+ backgroundImage: this.disabled ? undefined : `linear-gradient(to ${((_a = this.$vuetify) === null || _a === void 0 ? void 0 : _a.rtl) ? 'left' : 'right'}, transparent, ${RGBtoCSS(this.color.rgba)})`
30
35
  },
31
- onInput: val => this.color.alpha !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva,
32
- a: val
33
- }))
34
- });
35
- },
36
-
37
- genSliders() {
38
- return h('div', {
39
- class: 'v-color-picker__sliders'
40
- }, [this.genHue(), !this.hideAlpha && this.genAlpha()]);
41
- },
42
-
43
- genDot() {
44
- return h('div', {
45
- class: 'v-color-picker__dot'
46
- }, [h('div', {
47
- style: {
48
- background: RGBAtoCSS(this.color.rgba)
36
+ 'onUpdate:modelValue': val => {
37
+ if (this.color && this.color.alpha !== val) {
38
+ this.$emit('update:color', fromHSVA({ ...this.color.hsva,
39
+ a: val
40
+ }));
41
+ }
49
42
  }
50
- })]);
43
+ });
51
44
  },
52
45
 
53
46
  genHue() {
47
+ if (!this.color) return h('div');
54
48
  return this.genTrack({
55
49
  class: 'v-color-picker__hue',
56
50
  thumbColor: 'grey lighten-2',
57
51
  hideDetails: true,
58
- value: this.color.hue,
52
+ modelValue: this.color.hue,
59
53
  step: 0,
60
54
  min: 0,
61
55
  max: 360,
62
- onInput: val => this.color.hue !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva,
63
- h: val
64
- }))
56
+ 'onUpdate:modelValue': val => {
57
+ if (this.color && this.color.hue !== val) {
58
+ this.$emit('update:color', fromHSVA({ ...this.color.hsva,
59
+ h: val
60
+ }));
61
+ }
62
+ }
65
63
  });
66
64
  },
67
65
 
68
66
  genTrack(options) {
69
67
  return h(VSlider, {
70
68
  class: 'v-color-picker__track',
71
- ...options,
72
69
  disabled: this.disabled,
73
- ...options.props
70
+ ...options
74
71
  });
72
+ },
73
+
74
+ genSliders() {
75
+ return h('div', {
76
+ class: 'v-color-picker__sliders'
77
+ }, [this.genHue(), !this.hideAlpha && this.genAlpha()]);
78
+ },
79
+
80
+ genDot() {
81
+ return h('div', {
82
+ class: 'v-color-picker__dot'
83
+ }, [h('div', {
84
+ style: {
85
+ background: this.color ? RGBAtoCSS(this.color.rgba) : 'transparent'
86
+ }
87
+ })]);
75
88
  }
76
89
 
77
90
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerPreview.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport VSlider from '../VSlider/VSlider'\n\n// Utilities\nimport { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils'\n\n// Types\nimport { defineComponent, VNode, VNodeData, PropType } from 'vue'\nimport { VColorPickerColor, fromHSVA } from './util'\n\nexport default defineComponent({\n name: 'v-color-picker-preview',\n\n props: {\n color: Object as PropType<VColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n methods: {\n genAlpha (): VNode {\n return this.genTrack({\n class: 'v-color-picker__alpha',\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.alpha,\n step: 0,\n min: 0,\n max: 1,\n style: {\n backgroundImage: this.disabled\n ? undefined\n : `linear-gradient(to ${this.$vuetify.rtl ? 'left' : 'right'}, transparent, ${RGBtoCSS(this.color.rgba)})`,\n },\n onInput: (val: number) => this.color.alpha !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, a: val })),\n })\n },\n genSliders (): VNode {\n return h('div', {\n class: 'v-color-picker__sliders',\n }, [\n this.genHue(),\n !this.hideAlpha && this.genAlpha(),\n ])\n },\n genDot (): VNode {\n return h('div', {\n class: 'v-color-picker__dot',\n }, [\n h('div', {\n style: {\n background: RGBAtoCSS(this.color.rgba),\n },\n }),\n ])\n },\n genHue (): VNode {\n return this.genTrack({\n class: 'v-color-picker__hue',\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.hue,\n step: 0,\n min: 0,\n max: 360,\n onInput: (val: number) => this.color.hue !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, h: val })),\n })\n },\n genTrack (options: VNodeData): VNode {\n return h(VSlider, {\n class: 'v-color-picker__track',\n ...options,\n disabled: this.disabled,\n ...options.props\n })\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-color-picker__preview', {\n 'v-color-picker__preview--hide-alpha': this.hideAlpha,\n }],\n }, [\n this.genDot(),\n this.genSliders(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VColorPickerPreview.js"}
1
+ {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerPreview.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, defineComponent } from 'vue'\n\n// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport VSlider from '../VSlider/VSlider'\n\n// Utilities\nimport { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils'\n\n// Types\nimport type { VNode, PropType } from 'vue'\nimport type { VColorPickerColor } from './util'\nimport { fromHSVA } from './util'\n\nexport default defineComponent({\n name: 'v-color-picker-preview',\n\n props: {\n color: {\n type: Object as PropType<VColorPickerColor>,\n required: true,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n emits: ['update:color'],\n\n methods: {\n genAlpha (): VNode {\n if (!this.color) return h('div')\n return this.genTrack({\n class: 'v-color-picker__alpha',\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n modelValue: this.color.alpha,\n step: 0,\n min: 0,\n max: 1,\n style: {\n backgroundImage: this.disabled\n ? undefined\n : `linear-gradient(to ${this.$vuetify?.rtl ? 'left' : 'right'}, transparent, ${RGBtoCSS(this.color.rgba)})`,\n },\n 'onUpdate:modelValue': (val: number) => {\n if (this.color && this.color.alpha !== val) {\n this.$emit('update:color', fromHSVA({ ...this.color.hsva, a: val }))\n }\n },\n })\n },\n\n genHue (): VNode {\n if (!this.color) return h('div')\n return this.genTrack({\n class: 'v-color-picker__hue',\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n modelValue: this.color.hue,\n step: 0,\n min: 0,\n max: 360,\n 'onUpdate:modelValue': (val: number) => {\n if (this.color && this.color.hue !== val) {\n this.$emit('update:color', fromHSVA({ ...this.color.hsva, h: val }))\n }\n },\n })\n },\n\n genTrack (options: Record<string, any>): VNode {\n return h(VSlider, {\n class: 'v-color-picker__track',\n disabled: this.disabled,\n ...options,\n })\n },\n\n genSliders (): VNode {\n return h('div', {\n class: 'v-color-picker__sliders',\n }, [\n this.genHue(),\n !this.hideAlpha && this.genAlpha(),\n ])\n },\n\n genDot (): VNode {\n return h('div', {\n class: 'v-color-picker__dot',\n }, [\n h('div', {\n style: {\n background: this.color ? RGBAtoCSS(this.color.rgba) : 'transparent',\n },\n }),\n ])\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-color-picker__preview', {\n 'v-color-picker__preview--hide-alpha': this.hideAlpha,\n }],\n }, [\n this.genDot(),\n this.genSliders(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VColorPickerPreview.js"}
@@ -1,4 +1,4 @@
1
- import { h } from 'vue'; // Styles
1
+ import { h, defineComponent } from 'vue'; // Styles
2
2
 
3
3
  import "../../../src/components/VColorPicker/VColorPickerSwatches.sass"; // Components
4
4
 
@@ -7,9 +7,9 @@ import VIcon from '../VIcon'; // Helpers
7
7
  import colors from '../../util/colors';
8
8
  import { fromHex, parseColor } from './util';
9
9
  import { convertToUnit, deepEqual } from '../../util/helpers';
10
- import mixins from '../../util/mixins';
10
+ import { contrastRatio } from '../../util/colorUtils'; // Mixins
11
+
11
12
  import Themeable from '../../mixins/themeable';
12
- import { contrastRatio } from '../../util/colorUtils';
13
13
 
14
14
  function parseDefaultColors(colors) {
15
15
  return Object.keys(colors).map(key => {
@@ -20,18 +20,23 @@ function parseDefaultColors(colors) {
20
20
 
21
21
  const white = fromHex('#FFFFFF').rgba;
22
22
  const black = fromHex('#000000').rgba;
23
- export default mixins(Themeable).extend({
23
+ export default defineComponent({
24
24
  name: 'v-color-picker-swatches',
25
+ mixins: [Themeable],
25
26
  props: {
26
27
  swatches: {
27
28
  type: Array,
28
29
  default: () => parseDefaultColors(colors)
29
30
  },
30
31
  disabled: Boolean,
31
- color: Object,
32
+ color: {
33
+ type: Object,
34
+ required: true
35
+ },
32
36
  maxWidth: [Number, String],
33
37
  maxHeight: [Number, String]
34
38
  },
39
+ emits: ['update:color'],
35
40
  methods: {
36
41
  genColor(color) {
37
42
  const content = h('div', {
@@ -45,9 +50,10 @@ export default mixins(Themeable).extend({
45
50
  }, '$success')]);
46
51
  return h('div', {
47
52
  class: 'v-color-picker__color',
48
- on: {
49
- // TODO: Less hacky way of catching transparent
50
- click: () => this.disabled || this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color))
53
+ onClick: () => {
54
+ if (!this.disabled) {
55
+ this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color));
56
+ }
51
57
  }
52
58
  }, [content]);
53
59
  },
@@ -65,7 +71,7 @@ export default mixins(Themeable).extend({
65
71
 
66
72
  render() {
67
73
  return h('div', {
68
- class: 'v-color-picker__swatches',
74
+ class: ['v-color-picker__swatches', this.themeClasses],
69
75
  style: {
70
76
  maxWidth: convertToUnit(this.maxWidth),
71
77
  maxHeight: convertToUnit(this.maxHeight)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Helpers\nimport colors from '../../util/colors'\nimport { VColorPickerColor, fromHex, parseColor } from './util'\nimport { convertToUnit, deepEqual } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { contrastRatio } from '../../util/colorUtils'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nconst white = fromHex('#FFFFFF').rgba\nconst black = fromHex('#000000').rgba\n\nexport default mixins(Themeable).extend({\n name: 'v-color-picker-swatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<VColorPickerColor>,\n maxWidth: [Number, String],\n maxHeight: [Number, String],\n },\n\n methods: {\n genColor (color: string) {\n const content = h('div', {\n style: {\n background: color,\n },\n }, [\n deepEqual(this.color, parseColor(color, null)) && h(VIcon, {\n small: true,\n dark: contrastRatio(this.color.rgba, white) > 2 && this.color.alpha > 0.5,\n light: contrastRatio(this.color.rgba, black) > 2 && this.color.alpha > 0.5\n }, '$success'),\n ])\n\n return h('div', {\n class: 'v-color-picker__color',\n on: {\n // TODO: Less hacky way of catching transparent\n click: () => this.disabled || this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color)),\n },\n }, [content])\n },\n genSwatches () {\n return this.swatches.map(swatch => {\n const colors = swatch.map(this.genColor)\n\n return h('div', {\n class: 'v-color-picker__swatch',\n }, colors)\n })\n },\n },\n\n render (): VNode {\n return h('div', {\n class: 'v-color-picker__swatches',\n style: {\n maxWidth: convertToUnit(this.maxWidth),\n maxHeight: convertToUnit(this.maxHeight),\n },\n }, [\n h('div', this.genSwatches()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VColorPickerSwatches.js"}
1
+ {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, defineComponent } from 'vue'\n\n// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Helpers\nimport colors from '../../util/colors'\nimport { VColorPickerColor, fromHex, parseColor } from './util'\nimport { convertToUnit, deepEqual } from '../../util/helpers'\nimport { contrastRatio } from '../../util/colorUtils'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport type { VNode, PropType } from 'vue'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nconst white = fromHex('#FFFFFF').rgba\nconst black = fromHex('#000000').rgba\n\nexport default defineComponent({\n name: 'v-color-picker-swatches',\n\n mixins: [Themeable],\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: {\n type: Object as PropType<VColorPickerColor>,\n required: true,\n },\n maxWidth: [Number, String],\n maxHeight: [Number, String],\n },\n\n emits: ['update:color'],\n\n methods: {\n genColor (color: string): VNode {\n const content = h('div', {\n style: {\n background: color,\n },\n }, [\n deepEqual(this.color, parseColor(color, null)) && h(VIcon, {\n small: true,\n dark: contrastRatio(this.color.rgba, white) > 2 && this.color.alpha > 0.5,\n light: contrastRatio(this.color.rgba, black) > 2 && this.color.alpha > 0.5\n }, '$success'),\n ])\n\n return h('div', {\n class: 'v-color-picker__color',\n onClick: () => {\n if (!this.disabled) {\n this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color))\n }\n },\n }, [content])\n },\n\n genSwatches (): VNode[] {\n return this.swatches.map(swatch => {\n const colors = swatch.map(this.genColor)\n\n return h('div', {\n class: 'v-color-picker__swatch',\n }, colors)\n })\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-color-picker__swatches', this.themeClasses],\n style: {\n maxWidth: convertToUnit(this.maxWidth),\n maxHeight: convertToUnit(this.maxHeight),\n },\n }, [\n h('div', this.genSwatches()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VColorPickerSwatches.js"}
@@ -274,7 +274,7 @@ export default mixins(VDataIterator, Loadable, Mouse).extend({
274
274
  genLoading() {
275
275
  const th = h('th', {
276
276
  class: 'column',
277
- attrs: this.colspanAttrs
277
+ ...this.colspanAttrs
278
278
  }, [this.genProgress()]);
279
279
  const tr = h('tr', {
280
280
  class: 'v-data-table__progress'
@@ -315,8 +315,7 @@ export default mixins(VDataIterator, Loadable, Mouse).extend({
315
315
  genEmptyWrapper(content) {
316
316
  return h('tr', {
317
317
  class: 'v-data-table__empty-wrapper'
318
- }, [h('td', {
319
- attrs: this.colspanAttrs
318
+ }, [h('td', { ...this.colspanAttrs
320
319
  }, content)]);
321
320
  },
322
321
 
@@ -389,7 +388,7 @@ export default mixins(VDataIterator, Loadable, Mouse).extend({
389
388
  }, [h(VIcon, ['$close'])]);
390
389
  const column = h('td', {
391
390
  class: 'text-start',
392
- attrs: this.colspanAttrs
391
+ ...this.colspanAttrs
393
392
  }, [toggle, `${this.groupByText}: ${group}`, remove]);
394
393
  children.unshift(h('template', {
395
394
  slot: 'column.header'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Mouse from '../../mixins/mouse'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses, mergeStyles } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction,\n filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n } else {\n return items\n }\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n Mouse,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\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 mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeUnmount () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const data = {\n ...VDataIterator.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n class: {\n 'v-data-table__selected': data.isSelected,\n },\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n onClick: (event: MouseEvent) => this.$emit('click:row', item, data, event)\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [h('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return h('colgroup', this.computedHeaders.map(header => {\n return h('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = h('th', {\n class: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = h('tr', {\n class: 'v-data-table__progress',\n }, [th])\n\n return h('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n onSort: props.sort,\n onGroup: props.group,\n 'onToggle-select-all': this.toggleSelectAll\n }\n\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$slots)\n children.push(h(VDataTableHeader, {\n ...data,\n\n }, scopedSlots))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return h('tr', {\n class: 'v-data-table__empty-wrapper',\n }, [\n h('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.openCache[group.name] = true\n\n if (this.$slots.group) {\n return this.$slots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n h('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.openCache[group] = !this.openCache[group]\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$slots['group.header']) {\n children.unshift(h('template', { slot: 'column.header' }, [\n this.$slots['group.header']!({\n group,\n groupBy: props.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = h(VBtn, {\n class: 'ma-0',\n icon: true,\n small: true,\n onClick: toggleFn\n }, [h(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = h(VBtn, {\n class: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [h(VIcon, ['$close'])])\n\n const column = h('td', {\n class: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(h('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$slots['group.summary']) {\n children.push(h('template', { slot: 'column.summary' }, [\n this.$slots['group.summary']!({\n group,\n groupBy: props.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return h(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$slots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$slots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$slots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$slots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = h('tr', {\n class: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$slots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return h(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n h('template', { slot: 'row.header' }, [headerRow]),\n h('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$slots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => h(VSimpleCheckbox, {\n class: 'v-data-table__checkbox',\n modelValue: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n onInput: (val: boolean) => data.select(val),\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => h(VIcon, {\n class: ['v-data-table__expand-icon', {\n 'v-data-table__expand-icon--active': data.isExpanded,\n }],\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n }\n }, [this.expandIcon])\n }\n\n return h(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n on: data.on,\n }, scopedSlots)\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$slots.body) {\n return this.$slots.body!(data)\n }\n\n return h('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): VNode[] | undefined {\n return this.$slots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n 'onUpdate:options': (value: any) => props.updateOptions(value),\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', {\n ...data,\n widths: this.widths,\n headers: this.computedHeaders\n }, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(h(VDataFooter, {\n ...data\n }, getPrefixedScopedSlots('footer.', this.$slots)))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return h(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return h(VSimpleTable, {\n ...simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n 'v-data-table--selectable': this.showSelect,\n },\n }, {\n default: () => [\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n ],\n top: getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true),\n bottom: this.genFooters(props)\n })\n }\n },\n\n render (): VNode {\n return h(VData, {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n 'onUpdate:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'onUpdate:page': (v: number) => this.$emit('update:page', v),\n 'onUpdate:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'onUpdate:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'onUpdate:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'onUpdate:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'onUpdate:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n onPagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'onCurrent-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'onPage-count': (v: number) => this.$emit('page-count', v),\n }, this.genDefaultScopedSlot)\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
1
+ {"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Mouse from '../../mixins/mouse'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses, mergeStyles } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction,\n filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n } else {\n return items\n }\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n Mouse,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\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 mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeUnmount () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const data = {\n ...VDataIterator.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n class: {\n 'v-data-table__selected': data.isSelected,\n },\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n onClick: (event: MouseEvent) => this.$emit('click:row', item, data, event)\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [h('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return h('colgroup', this.computedHeaders.map(header => {\n return h('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = h('th', {\n class: 'column',\n ...this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = h('tr', {\n class: 'v-data-table__progress',\n }, [th])\n\n return h('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n onSort: props.sort,\n onGroup: props.group,\n 'onToggle-select-all': this.toggleSelectAll\n }\n\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$slots)\n children.push(h(VDataTableHeader, {\n ...data,\n\n }, scopedSlots))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return h('tr', {\n class: 'v-data-table__empty-wrapper',\n }, [\n h('td', {\n ...this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.openCache[group.name] = true\n\n if (this.$slots.group) {\n return this.$slots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n h('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.openCache[group] = !this.openCache[group]\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$slots['group.header']) {\n children.unshift(h('template', { slot: 'column.header' }, [\n this.$slots['group.header']!({\n group,\n groupBy: props.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = h(VBtn, {\n class: 'ma-0',\n icon: true,\n small: true,\n onClick: toggleFn\n }, [h(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = h(VBtn, {\n class: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [h(VIcon, ['$close'])])\n\n const column = h('td', {\n class: 'text-start',\n ...this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(h('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$slots['group.summary']) {\n children.push(h('template', { slot: 'column.summary' }, [\n this.$slots['group.summary']!({\n group,\n groupBy: props.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return h(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$slots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$slots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$slots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$slots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = h('tr', {\n class: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$slots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return h(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n h('template', { slot: 'row.header' }, [headerRow]),\n h('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$slots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => h(VSimpleCheckbox, {\n class: 'v-data-table__checkbox',\n modelValue: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n onInput: (val: boolean) => data.select(val),\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => h(VIcon, {\n class: ['v-data-table__expand-icon', {\n 'v-data-table__expand-icon--active': data.isExpanded,\n }],\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n }\n }, [this.expandIcon])\n }\n\n return h(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n on: data.on,\n }, scopedSlots)\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$slots.body) {\n return this.$slots.body!(data)\n }\n\n return h('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): VNode[] | undefined {\n return this.$slots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n 'onUpdate:options': (value: any) => props.updateOptions(value),\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', {\n ...data,\n widths: this.widths,\n headers: this.computedHeaders\n }, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(h(VDataFooter, {\n ...data\n }, getPrefixedScopedSlots('footer.', this.$slots)))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return h(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return h(VSimpleTable, {\n ...simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n 'v-data-table--selectable': this.showSelect,\n },\n }, {\n default: () => [\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n ],\n top: getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true),\n bottom: this.genFooters(props)\n })\n }\n },\n\n render (): VNode {\n return h(VData, {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n 'onUpdate:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'onUpdate:page': (v: number) => this.$emit('update:page', v),\n 'onUpdate:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'onUpdate:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'onUpdate:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'onUpdate:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'onUpdate:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n onPagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'onCurrent-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'onPage-count': (v: number) => this.$emit('page-count', v),\n }, this.genDefaultScopedSlot)\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
@@ -8,7 +8,7 @@ import VMessages from '../VMessages'; // Mixins
8
8
  import BindsAttrs from '../../mixins/binds-attrs';
9
9
  import Validatable from '../../mixins/validatable'; // Utilities
10
10
 
11
- import { convertToUnit, getSlot, kebabCase } from '../../util/helpers';
11
+ import { convertToUnit, getSlot, kebabCase, normalizeClasses } from '../../util/helpers';
12
12
  import mergeData from '../../util/mergeData'; // Types
13
13
 
14
14
  import { h } from 'vue';
@@ -291,12 +291,20 @@ export default baseMixins.extend({
291
291
  },
292
292
 
293
293
  render() {
294
+ const {
295
+ class: additionalClasses,
296
+ ...restAttrs
297
+ } = this.$attrs;
294
298
  return h('div', this.setTextColor(this.validationState, {
295
299
  class: {
296
300
  'v-input': true,
297
- ...this.classes
298
- }
299
- }), this.genContent());
301
+ ...this.classes,
302
+ ...normalizeClasses(additionalClasses)
303
+ },
304
+ ...restAttrs
305
+ }), {
306
+ default: () => this.genContent()
307
+ });
300
308
  }
301
309
 
302
310
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n\n if('$_emitChangeEvent' in this) {\n this.$emit('change', val)\n }\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: {'v-input__slot': true},\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, {default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.validationState, {\n class: {'v-input': true, ...this.classes},\n }), this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
1
+ {"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n normalizeClasses,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n\n if('$_emitChangeEvent' in this) {\n this.$emit('change', val)\n }\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: {'v-input__slot': true},\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, {default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n const { class: additionalClasses, ...restAttrs } = this.$attrs as Record<string, any>\n\n return h('div', this.setTextColor(this.validationState, {\n class: { 'v-input': true, ...this.classes, ...normalizeClasses(additionalClasses) },\n ...restAttrs,\n }), {\n default: () => this.genContent(),\n })\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}