vuetify 2.3.8 → 2.3.12

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 (58) hide show
  1. package/dist/json/attributes.json +4690 -5458
  2. package/dist/json/tags.json +1 -272
  3. package/dist/json/web-types.json +13756 -9115
  4. package/dist/vuetify.css +9 -10
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +80 -73
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +3 -6
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VIcon/VIcon.js +24 -18
  11. package/es5/components/VIcon/VIcon.js.map +1 -1
  12. package/es5/components/VSparkline/VSparkline.js +5 -4
  13. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  14. package/es5/components/VSparkline/helpers/core.js +1 -1
  15. package/es5/components/VSparkline/helpers/core.js.map +1 -1
  16. package/es5/components/VTextField/VTextField.js +17 -5
  17. package/es5/components/VTextField/VTextField.js.map +1 -1
  18. package/es5/components/VVirtualScroll/VVirtualScroll.js +2 -1
  19. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  20. package/es5/framework.js +1 -1
  21. package/es5/mixins/mobile/index.js.map +1 -1
  22. package/es5/services/theme/utils.js +10 -10
  23. package/es5/services/theme/utils.js.map +1 -1
  24. package/es5/util/mergeData.js +17 -25
  25. package/es5/util/mergeData.js.map +1 -1
  26. package/lib/components/VIcon/VIcon.js +23 -16
  27. package/lib/components/VIcon/VIcon.js.map +1 -1
  28. package/lib/components/VSparkline/VSparkline.js +5 -4
  29. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  30. package/lib/components/VSparkline/helpers/core.js +1 -1
  31. package/lib/components/VSparkline/helpers/core.js.map +1 -1
  32. package/lib/components/VTextField/VTextField.js +17 -5
  33. package/lib/components/VTextField/VTextField.js.map +1 -1
  34. package/lib/components/VVirtualScroll/VVirtualScroll.js +2 -1
  35. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  36. package/lib/framework.js +1 -1
  37. package/lib/mixins/mobile/index.js.map +1 -1
  38. package/lib/util/mergeData.js +20 -15
  39. package/lib/util/mergeData.js.map +1 -1
  40. package/package.json +8 -19
  41. package/src/components/VCard/VCard.sass +1 -1
  42. package/src/components/VColorPicker/VColorPicker.sass +1 -0
  43. package/src/components/VFileInput/VFileInput.sass +1 -0
  44. package/src/components/VIcon/VIcon.sass +4 -8
  45. package/src/components/VIcon/VIcon.ts +25 -18
  46. package/src/components/VIcon/__tests__/VIcon.spec.ts +0 -1
  47. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +43 -25
  48. package/src/components/VMenu/VMenu.sass +0 -1
  49. package/src/components/VSparkline/VSparkline.ts +5 -4
  50. package/src/components/VSparkline/__tests__/__snapshots__/VSparkline.spec.ts.snap +57 -34
  51. package/src/components/VSparkline/helpers/core.ts +1 -5
  52. package/src/components/VTextField/VTextField.ts +17 -7
  53. package/src/components/VTimePicker/VTimePickerClock.sass +1 -0
  54. package/src/components/VVirtualScroll/VVirtualScroll.ts +1 -0
  55. package/src/mixins/mobile/index.ts +2 -2
  56. package/src/util/__tests__/mergeData.spec.ts +24 -0
  57. package/src/util/mergeData.ts +23 -19
  58. package/types/services/breakpoint.d.ts +3 -3
@@ -93,9 +93,9 @@ var VIcon = (0, _mixins.default)(_bindsAttrs.default, _colorable.default, _sizea
93
93
  });
94
94
  return explicitSize && SIZE_MAP[explicitSize] || (0, _helpers.convertToUnit)(this.size);
95
95
  },
96
- // Component data for both font and svg icon.
96
+ // Component data for both font icon and SVG wrapper span
97
97
  getDefaultData: function getDefaultData() {
98
- var data = {
98
+ return {
99
99
  staticClass: 'v-icon notranslate',
100
100
  class: {
101
101
  'v-icon--disabled': this.disabled,
@@ -111,7 +111,20 @@ var VIcon = (0, _mixins.default)(_bindsAttrs.default, _colorable.default, _sizea
111
111
  }, this.attrs$),
112
112
  on: this.listeners$
113
113
  };
114
- return data;
114
+ },
115
+ getSvgWrapperData: function getSvgWrapperData() {
116
+ var fontSize = this.getSize();
117
+
118
+ var wrapperData = _objectSpread({}, this.getDefaultData(), {
119
+ style: fontSize ? {
120
+ fontSize: fontSize,
121
+ height: fontSize,
122
+ width: fontSize
123
+ } : undefined
124
+ });
125
+
126
+ this.applyColors(wrapperData);
127
+ return wrapperData;
115
128
  },
116
129
  applyColors: function applyColors(data) {
117
130
  data.class = _objectSpread({}, data.class, {}, this.themeClasses);
@@ -145,18 +158,8 @@ var VIcon = (0, _mixins.default)(_bindsAttrs.default, _colorable.default, _sizea
145
158
  },
146
159
  renderSvgIcon: function renderSvgIcon(icon, h) {
147
160
  var fontSize = this.getSize();
148
-
149
- var wrapperData = _objectSpread({}, this.getDefaultData(), {
150
- style: fontSize ? {
151
- fontSize: fontSize,
152
- height: fontSize,
153
- width: fontSize
154
- } : undefined
155
- });
156
-
157
- wrapperData.class['v-icon--svg'] = true;
158
- this.applyColors(wrapperData);
159
161
  var svgData = {
162
+ class: 'v-icon__svg',
160
163
  attrs: {
161
164
  xmlns: 'http://www.w3.org/2000/svg',
162
165
  viewBox: '0 0 24 24',
@@ -166,15 +169,18 @@ var VIcon = (0, _mixins.default)(_bindsAttrs.default, _colorable.default, _sizea
166
169
  'aria-hidden': true
167
170
  }
168
171
  };
169
- return h(this.hasClickListener ? 'button' : 'span', wrapperData, [h('svg', svgData, [h('path', {
172
+ return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h('svg', svgData, [h('path', {
170
173
  attrs: {
171
174
  d: icon
172
175
  }
173
176
  })])]);
174
177
  },
175
178
  renderSvgIconComponent: function renderSvgIconComponent(icon, h) {
176
- var data = this.getDefaultData();
177
- data.class['v-icon--is-component'] = true;
179
+ var data = {
180
+ class: {
181
+ 'v-icon__svg': true
182
+ }
183
+ };
178
184
  var size = this.getSize();
179
185
 
180
186
  if (size) {
@@ -189,7 +195,7 @@ var VIcon = (0, _mixins.default)(_bindsAttrs.default, _colorable.default, _sizea
189
195
  var component = icon.component;
190
196
  data.props = icon.props;
191
197
  data.nativeOn = data.on;
192
- return h(component, data);
198
+ return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h(component, data)]);
193
199
  }
194
200
  },
195
201
  render: function render(h) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font and svg icon.\n getDefaultData (): VNodeData {\n const data: VNodeData = {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n\n return data\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n wrapperData.class['v-icon--svg'] = true\n this.applyColors(wrapperData)\n\n const svgData: VNodeData = {\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n height: fontSize || '24',\n width: fontSize || '24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n return h(this.hasClickListener ? 'button' : 'span', wrapperData, [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data = this.getDefaultData()\n data.class['v-icon--is-component'] = true\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(component, data)\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n"],"sourceRoot":"","file":"VIcon.js"}
1
+ {"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const fontSize = this.getSize()\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n height: fontSize || '24',\n width: fontSize || '24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__svg': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n"],"sourceRoot":"","file":"VIcon.js"}
@@ -254,10 +254,11 @@ var _default2 = (0, _mixins.default)(_colorable.default).extend({
254
254
  return this.$createElement('defs', [this.$createElement('linearGradient', {
255
255
  attrs: {
256
256
  id: this._uid,
257
- x1: +(gradientDirection === 'left'),
258
- y1: +(gradientDirection === 'top'),
259
- x2: +(gradientDirection === 'right'),
260
- y2: +(gradientDirection === 'bottom')
257
+ gradientUnits: 'userSpaceOnUse',
258
+ x1: gradientDirection === 'left' ? '100%' : '0',
259
+ y1: gradientDirection === 'top' ? '100%' : '0',
260
+ x2: gradientDirection === 'right' ? '100%' : '0',
261
+ y2: gradientDirection === 'bottom' ? '100%' : '0'
261
262
  }
262
263
  }, stops)]);
263
264
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSparkline/VSparkline.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { genPoints, genBars } from './helpers/core'\nimport { genPath } from './helpers/path'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { Prop, PropValidator } from 'vue/types/options'\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\ninterface options extends Vue {\n $refs: {\n path: SVGPathElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable\n ]>\n/* eslint-enable indent */\n>(\n Colorable\n).extend({\n name: 'VSparkline',\n\n inheritAttrs: false,\n\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000,\n },\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n autoLineWidth: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: 'primary',\n },\n fill: {\n type: Boolean,\n default: false,\n },\n gradient: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n gradientDirection: {\n type: String as Prop<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false,\n },\n type: {\n type: String as Prop<'trend' | 'bar'>,\n default: 'trend',\n validator: (val: string) => ['trend', 'bar'].includes(val),\n },\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n lastLength: 0,\n }),\n\n computed: {\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n parsedHeight (): number {\n return parseInt(this.height, 10)\n },\n parsedLabelSize (): number {\n return parseInt(this.labelSize, 10) || 7\n },\n totalHeight (): number {\n let height = this.parsedHeight\n\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5\n\n return height\n },\n totalWidth (): number {\n let width = this.parsedWidth\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width)\n\n return width\n },\n totalValues (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1)\n return (this.parsedWidth - totalPadding) / this.totalValues\n } else {\n return parseFloat(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n if (this.type === 'bar') return { minX: 0, maxX: this.totalWidth, minY: 0, maxY: this.parsedHeight }\n\n const padding = this.parsedPadding\n\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding,\n }\n },\n hasLabels (): boolean {\n return Boolean(\n this.showLabels ||\n this.labels.length > 0 ||\n this.$scopedSlots.label\n )\n },\n parsedLabels (): SparklineText[] {\n const labels = []\n const points = this._values\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = this.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n },\n normalizedValues (): number[] {\n return this.value.map(item => (typeof item === 'number' ? item : item.value))\n },\n _values (): Point[] | Bar[] {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary)\n },\n textY (): number {\n let y = this.parsedHeight\n if (this.type === 'trend') y -= 4\n return y\n },\n _radius (): number {\n return this.smooth === true ? 8 : Number(this.smooth)\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler () {\n this.$nextTick(() => {\n if (\n !this.autoDraw ||\n this.type === 'bar' ||\n !this.$refs.path\n ) return\n\n const path = this.$refs.path\n const length = path.getTotalLength()\n\n if (!this.fill) {\n path.style.transition = 'none'\n path.style.strokeDasharray = length + ' ' + length\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString()\n path.getBoundingClientRect()\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.strokeDashoffset = '0'\n } else {\n path.style.transformOrigin = 'bottom center'\n path.style.transition = 'none'\n path.style.transform = `scaleY(0)`\n path.getBoundingClientRect()\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.transform = `scaleY(1)`\n }\n this.lastLength = length\n })\n },\n },\n },\n\n methods: {\n genGradient () {\n const gradientDirection = this.gradientDirection\n const gradient = this.gradient.slice()\n\n // Pushes empty string to force\n // a fallback to currentColor\n if (!gradient.length) gradient.push('')\n\n const len = Math.max(gradient.length - 1, 1)\n const stops = gradient.reverse().map((color, index) =>\n this.$createElement('stop', {\n attrs: {\n offset: index / len,\n 'stop-color': color || 'currentColor',\n },\n })\n )\n\n return this.$createElement('defs', [\n this.$createElement('linearGradient', {\n attrs: {\n id: this._uid,\n x1: +(gradientDirection === 'left'),\n y1: +(gradientDirection === 'top'),\n x2: +(gradientDirection === 'right'),\n y2: +(gradientDirection === 'bottom'),\n },\n }, stops),\n ])\n },\n genG (children: VNode[]) {\n return this.$createElement('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n } as object, // TODO: TS 3.5 is too eager with the array type here\n }, children)\n },\n genPath () {\n const points = genPoints(this.normalizedValues, this.boundary)\n\n return this.$createElement('path', {\n attrs: {\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${this._uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this._uid})`,\n },\n ref: 'path',\n })\n },\n genLabels (offsetX: number) {\n const children = this.parsedLabels.map((item, i) => (\n this.$createElement('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + (this.parsedLabelSize * 0.75),\n 'font-size': Number(this.labelSize) || 7,\n },\n }, [this.genLabel(item, i)])\n ))\n\n return this.genG(children)\n },\n genLabel (item: SparklineText, index: number) {\n return this.$scopedSlots.label\n ? this.$scopedSlots.label({ index, value: item.value })\n : item.value\n },\n genBars () {\n if (!this.value || this.totalValues < 2) return undefined as never\n\n const bars = genBars(this.normalizedValues, this.boundary)\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2\n\n return this.$createElement('svg', {\n attrs: {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`,\n },\n }, [\n this.genGradient(),\n this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this._uid),\n this.hasLabels ? this.genLabels(offsetX) : undefined as never,\n this.$createElement('g', {\n attrs: {\n 'clip-path': `url(#sparkline-bar-${this._uid}-clip)`,\n fill: `url(#${this._uid})`,\n },\n }, [\n this.$createElement('rect', {\n attrs: {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height,\n },\n }),\n ]),\n ])\n },\n genClipPath (bars: Bar[], offsetX: number, lineWidth: number, id: string) {\n const rounding = typeof this.smooth === 'number'\n ? this.smooth\n : this.smooth ? 2 : 0\n\n return this.$createElement('clipPath', {\n attrs: {\n id: `${id}-clip`,\n },\n }, bars.map(item => {\n return this.$createElement('rect', {\n attrs: {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding,\n },\n }, [\n this.autoDraw ? this.$createElement('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze',\n },\n }) : undefined as never,\n ])\n }))\n },\n genTrend () {\n return this.$createElement('svg', this.setTextColor(this.color, {\n attrs: {\n ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`,\n },\n }), [\n this.genGradient(),\n this.hasLabels && this.genLabels(-(this._lineWidth / 2)),\n this.genPath(),\n ])\n },\n },\n\n render (h): VNode {\n if (this.totalValues < 2) return undefined as never\n\n return this.type === 'trend' ? this.genTrend() : this.genBars()\n },\n})\n"],"sourceRoot":"","file":"VSparkline.js"}
1
+ {"version":3,"sources":["../../../src/components/VSparkline/VSparkline.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { genPoints, genBars } from './helpers/core'\nimport { genPath } from './helpers/path'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { Prop, PropValidator } from 'vue/types/options'\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\ninterface options extends Vue {\n $refs: {\n path: SVGPathElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable\n ]>\n/* eslint-enable indent */\n>(\n Colorable\n).extend({\n name: 'VSparkline',\n\n inheritAttrs: false,\n\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000,\n },\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n autoLineWidth: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: 'primary',\n },\n fill: {\n type: Boolean,\n default: false,\n },\n gradient: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n gradientDirection: {\n type: String as Prop<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false,\n },\n type: {\n type: String as Prop<'trend' | 'bar'>,\n default: 'trend',\n validator: (val: string) => ['trend', 'bar'].includes(val),\n },\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<SparklineItem[]>,\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n lastLength: 0,\n }),\n\n computed: {\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n parsedHeight (): number {\n return parseInt(this.height, 10)\n },\n parsedLabelSize (): number {\n return parseInt(this.labelSize, 10) || 7\n },\n totalHeight (): number {\n let height = this.parsedHeight\n\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5\n\n return height\n },\n totalWidth (): number {\n let width = this.parsedWidth\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width)\n\n return width\n },\n totalValues (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1)\n return (this.parsedWidth - totalPadding) / this.totalValues\n } else {\n return parseFloat(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n if (this.type === 'bar') return { minX: 0, maxX: this.totalWidth, minY: 0, maxY: this.parsedHeight }\n\n const padding = this.parsedPadding\n\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding,\n }\n },\n hasLabels (): boolean {\n return Boolean(\n this.showLabels ||\n this.labels.length > 0 ||\n this.$scopedSlots.label\n )\n },\n parsedLabels (): SparklineText[] {\n const labels = []\n const points = this._values\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = this.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n },\n normalizedValues (): number[] {\n return this.value.map(item => (typeof item === 'number' ? item : item.value))\n },\n _values (): Point[] | Bar[] {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary)\n },\n textY (): number {\n let y = this.parsedHeight\n if (this.type === 'trend') y -= 4\n return y\n },\n _radius (): number {\n return this.smooth === true ? 8 : Number(this.smooth)\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler () {\n this.$nextTick(() => {\n if (\n !this.autoDraw ||\n this.type === 'bar' ||\n !this.$refs.path\n ) return\n\n const path = this.$refs.path\n const length = path.getTotalLength()\n\n if (!this.fill) {\n path.style.transition = 'none'\n path.style.strokeDasharray = length + ' ' + length\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString()\n path.getBoundingClientRect()\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.strokeDashoffset = '0'\n } else {\n path.style.transformOrigin = 'bottom center'\n path.style.transition = 'none'\n path.style.transform = `scaleY(0)`\n path.getBoundingClientRect()\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.transform = `scaleY(1)`\n }\n this.lastLength = length\n })\n },\n },\n },\n\n methods: {\n genGradient () {\n const gradientDirection = this.gradientDirection\n const gradient = this.gradient.slice()\n\n // Pushes empty string to force\n // a fallback to currentColor\n if (!gradient.length) gradient.push('')\n\n const len = Math.max(gradient.length - 1, 1)\n const stops = gradient.reverse().map((color, index) =>\n this.$createElement('stop', {\n attrs: {\n offset: index / len,\n 'stop-color': color || 'currentColor',\n },\n })\n )\n\n return this.$createElement('defs', [\n this.$createElement('linearGradient', {\n attrs: {\n id: this._uid,\n gradientUnits: 'userSpaceOnUse',\n x1: gradientDirection === 'left' ? '100%' : '0',\n y1: gradientDirection === 'top' ? '100%' : '0',\n x2: gradientDirection === 'right' ? '100%' : '0',\n y2: gradientDirection === 'bottom' ? '100%' : '0',\n },\n }, stops),\n ])\n },\n genG (children: VNode[]) {\n return this.$createElement('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n } as object, // TODO: TS 3.5 is too eager with the array type here\n }, children)\n },\n genPath () {\n const points = genPoints(this.normalizedValues, this.boundary)\n\n return this.$createElement('path', {\n attrs: {\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${this._uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this._uid})`,\n },\n ref: 'path',\n })\n },\n genLabels (offsetX: number) {\n const children = this.parsedLabels.map((item, i) => (\n this.$createElement('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + (this.parsedLabelSize * 0.75),\n 'font-size': Number(this.labelSize) || 7,\n },\n }, [this.genLabel(item, i)])\n ))\n\n return this.genG(children)\n },\n genLabel (item: SparklineText, index: number) {\n return this.$scopedSlots.label\n ? this.$scopedSlots.label({ index, value: item.value })\n : item.value\n },\n genBars () {\n if (!this.value || this.totalValues < 2) return undefined as never\n\n const bars = genBars(this.normalizedValues, this.boundary)\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2\n\n return this.$createElement('svg', {\n attrs: {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`,\n },\n }, [\n this.genGradient(),\n this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this._uid),\n this.hasLabels ? this.genLabels(offsetX) : undefined as never,\n this.$createElement('g', {\n attrs: {\n 'clip-path': `url(#sparkline-bar-${this._uid}-clip)`,\n fill: `url(#${this._uid})`,\n },\n }, [\n this.$createElement('rect', {\n attrs: {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height,\n },\n }),\n ]),\n ])\n },\n genClipPath (bars: Bar[], offsetX: number, lineWidth: number, id: string) {\n const rounding = typeof this.smooth === 'number'\n ? this.smooth\n : this.smooth ? 2 : 0\n\n return this.$createElement('clipPath', {\n attrs: {\n id: `${id}-clip`,\n },\n }, bars.map(item => {\n return this.$createElement('rect', {\n attrs: {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding,\n },\n }, [\n this.autoDraw ? this.$createElement('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze',\n },\n }) : undefined as never,\n ])\n }))\n },\n genTrend () {\n return this.$createElement('svg', this.setTextColor(this.color, {\n attrs: {\n ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`,\n },\n }), [\n this.genGradient(),\n this.hasLabels && this.genLabels(-(this._lineWidth / 2)),\n this.genPath(),\n ])\n },\n },\n\n render (h): VNode {\n if (this.totalValues < 2) return undefined as never\n\n return this.type === 'trend' ? this.genTrend() : this.genBars()\n },\n})\n"],"sourceRoot":"","file":"VSparkline.js"}
@@ -27,7 +27,7 @@ function genPoints(values, boundary) {
27
27
  return values.map(function (value, index) {
28
28
  return {
29
29
  x: minX + index * gridX,
30
- y: maxY - (value - minValue) * gridY + +(index === totalValues - 1) * 0.00001 - +(index === 0) * 0.00001,
30
+ y: maxY - (value - minValue) * gridY,
31
31
  value: value
32
32
  };
33
33
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VSparkline/helpers/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEM,SAAU,SAAV,CACJ,MADI,EAEJ,QAFI,EAEc;AAAA,MAEV,IAFU,GAEiB,QAFjB,CAEV,IAFU;AAAA,MAEJ,IAFI,GAEiB,QAFjB,CAEJ,IAFI;AAAA,MAEE,IAFF,GAEiB,QAFjB,CAEE,IAFF;AAAA,MAEQ,IAFR,GAEiB,QAFjB,CAEQ,IAFR;AAGlB,MAAM,WAAW,GAAG,MAAM,CAAC,MAA3B;AACA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAArB;AACA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAArB;AAEA,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAR,KAAiB,WAAW,GAAG,CAA/B,CAAd;AACA,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAR,KAAkB,QAAQ,GAAG,QAAZ,IAAyB,CAA1C,CAAd;AAEA,SAAO,MAAM,CAAC,GAAP,CAAW,UAAC,KAAD,EAAQ,KAAR,EAAiB;AACjC,WAAO;AACL,MAAA,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KADb;AAEL,MAAA,CAAC,EACC,IAAI,GACJ,CAAC,KAAK,GAAG,QAAT,IAAqB,KADrB,GAEA,EAAE,KAAK,KAAK,WAAW,GAAG,CAA1B,IAA+B,OAF/B,GAGA,EAAE,KAAK,KAAK,CAAZ,IAAiB,OANd;AAOL,MAAA,KAAK,EAAL;AAPK,KAAP;AASD,GAVM,CAAP;AAWD;;AAEK,SAAU,OAAV,CACJ,MADI,EAEJ,QAFI,EAEc;AAAA,MAEV,IAFU,GAEiB,QAFjB,CAEV,IAFU;AAAA,MAEJ,IAFI,GAEiB,QAFjB,CAEJ,IAFI;AAAA,MAEE,IAFF,GAEiB,QAFjB,CAEE,IAFF;AAAA,MAEQ,IAFR,GAEiB,QAFjB,CAEQ,IAFR;AAGlB,MAAM,WAAW,GAAG,MAAM,CAAC,MAA3B;AACA,MAAI,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAAnB;AACA,MAAI,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAAnB;AAEA,MAAI,QAAQ,GAAG,CAAf,EAAkB,QAAQ,GAAG,CAAX;AAClB,MAAI,QAAQ,GAAG,CAAf,EAAkB,QAAQ,GAAG,CAAX;AAElB,MAAM,KAAK,GAAG,IAAI,GAAG,WAArB;AACA,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAR,KAAkB,QAAQ,GAAG,QAAZ,IAAyB,CAA1C,CAAd;AACA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,GAAG,KAApB,CAAxB;AAEA,SAAO,MAAM,CAAC,GAAP,CAAW,UAAC,KAAD,EAAQ,KAAR,EAAiB;AACjC,QAAM,MAAM,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,GAAG,KAAjB,CAAf;AAEA,WAAO;AACL,MAAA,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KADb;AAEL,MAAA,CAAC,EAAE,QAAQ,GAAG,MAAX,GACD,EAAE,KAAK,GAAG,CAAV,IAAe,MAHZ;AAIL,MAAA,MAAM,EAAN,MAJK;AAKL,MAAA,KAAK,EAAL;AALK,KAAP;AAOD,GAVM,CAAP;AAWD","sourcesContent":["import { Point, Boundary, Bar } from '../VSparkline'\n\nexport function genPoints (\n values: number[],\n boundary: Boundary\n): Point[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n const maxValue = Math.max(...values)\n const minValue = Math.min(...values)\n\n const gridX = (maxX - minX) / (totalValues - 1)\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n\n return values.map((value, index) => {\n return {\n x: minX + index * gridX,\n y:\n maxY -\n (value - minValue) * gridY +\n +(index === totalValues - 1) * 0.00001 -\n +(index === 0) * 0.00001,\n value,\n }\n })\n}\n\nexport function genBars (\n values: number[],\n boundary: Boundary\n): Bar[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n let maxValue = Math.max(...values)\n let minValue = Math.min(...values)\n\n if (minValue > 0) minValue = 0\n if (maxValue < 0) maxValue = 0\n\n const gridX = maxX / totalValues\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n const horizonY = maxY - Math.abs(minValue * gridY)\n\n return values.map((value, index) => {\n const height = Math.abs(gridY * value)\n\n return {\n x: minX + index * gridX,\n y: horizonY - height +\n +(value < 0) * height,\n height,\n value,\n }\n })\n}\n"],"sourceRoot":"","file":"core.js"}
1
+ {"version":3,"sources":["../../../../src/components/VSparkline/helpers/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEM,SAAU,SAAV,CACJ,MADI,EAEJ,QAFI,EAEc;AAAA,MAEV,IAFU,GAEiB,QAFjB,CAEV,IAFU;AAAA,MAEJ,IAFI,GAEiB,QAFjB,CAEJ,IAFI;AAAA,MAEE,IAFF,GAEiB,QAFjB,CAEE,IAFF;AAAA,MAEQ,IAFR,GAEiB,QAFjB,CAEQ,IAFR;AAGlB,MAAM,WAAW,GAAG,MAAM,CAAC,MAA3B;AACA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAArB;AACA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAArB;AAEA,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAR,KAAiB,WAAW,GAAG,CAA/B,CAAd;AACA,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAR,KAAkB,QAAQ,GAAG,QAAZ,IAAyB,CAA1C,CAAd;AAEA,SAAO,MAAM,CAAC,GAAP,CAAW,UAAC,KAAD,EAAQ,KAAR,EAAiB;AACjC,WAAO;AACL,MAAA,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KADb;AAEL,MAAA,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,GAAG,QAAT,IAAqB,KAF1B;AAGL,MAAA,KAAK,EAAL;AAHK,KAAP;AAKD,GANM,CAAP;AAOD;;AAEK,SAAU,OAAV,CACJ,MADI,EAEJ,QAFI,EAEc;AAAA,MAEV,IAFU,GAEiB,QAFjB,CAEV,IAFU;AAAA,MAEJ,IAFI,GAEiB,QAFjB,CAEJ,IAFI;AAAA,MAEE,IAFF,GAEiB,QAFjB,CAEE,IAFF;AAAA,MAEQ,IAFR,GAEiB,QAFjB,CAEQ,IAFR;AAGlB,MAAM,WAAW,GAAG,MAAM,CAAC,MAA3B;AACA,MAAI,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAAnB;AACA,MAAI,QAAQ,GAAG,IAAI,CAAC,GAAL,OAAA,IAAI,qBAAQ,MAAR,EAAnB;AAEA,MAAI,QAAQ,GAAG,CAAf,EAAkB,QAAQ,GAAG,CAAX;AAClB,MAAI,QAAQ,GAAG,CAAf,EAAkB,QAAQ,GAAG,CAAX;AAElB,MAAM,KAAK,GAAG,IAAI,GAAG,WAArB;AACA,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAR,KAAkB,QAAQ,GAAG,QAAZ,IAAyB,CAA1C,CAAd;AACA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,GAAG,KAApB,CAAxB;AAEA,SAAO,MAAM,CAAC,GAAP,CAAW,UAAC,KAAD,EAAQ,KAAR,EAAiB;AACjC,QAAM,MAAM,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,GAAG,KAAjB,CAAf;AAEA,WAAO;AACL,MAAA,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KADb;AAEL,MAAA,CAAC,EAAE,QAAQ,GAAG,MAAX,GACD,EAAE,KAAK,GAAG,CAAV,IAAe,MAHZ;AAIL,MAAA,MAAM,EAAN,MAJK;AAKL,MAAA,KAAK,EAAL;AALK,KAAP;AAOD,GAVM,CAAP;AAWD","sourcesContent":["import { Point, Boundary, Bar } from '../VSparkline'\n\nexport function genPoints (\n values: number[],\n boundary: Boundary\n): Point[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n const maxValue = Math.max(...values)\n const minValue = Math.min(...values)\n\n const gridX = (maxX - minX) / (totalValues - 1)\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n\n return values.map((value, index) => {\n return {\n x: minX + index * gridX,\n y: maxY - (value - minValue) * gridY,\n value,\n }\n })\n}\n\nexport function genBars (\n values: number[],\n boundary: Boundary\n): Bar[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n let maxValue = Math.max(...values)\n let minValue = Math.min(...values)\n\n if (minValue > 0) minValue = 0\n if (maxValue < 0) maxValue = 0\n\n const gridX = maxX / totalValues\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n const horizonY = maxY - Math.abs(minValue * gridY)\n\n return values.map((value, index) => {\n const height = Math.abs(gridY * value)\n\n return {\n x: minX + index * gridX,\n y: horizonY - height +\n +(value < 0) * height,\n height,\n value,\n }\n })\n}\n"],"sourceRoot":"","file":"core.js"}
@@ -19,6 +19,8 @@ var _loadable = _interopRequireDefault(require("../../mixins/loadable"));
19
19
 
20
20
  var _validatable = _interopRequireDefault(require("../../mixins/validatable"));
21
21
 
22
+ var _resize = _interopRequireDefault(require("../../directives/resize"));
23
+
22
24
  var _ripple = _interopRequireDefault(require("../../directives/ripple"));
23
25
 
24
26
  var _helpers = require("../../util/helpers");
@@ -36,7 +38,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
36
38
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
39
 
38
40
  var baseMixins = (0, _mixins.default)(_VInput.default, (0, _intersectable.default)({
39
- onVisible: ['setLabelWidth', 'setPrefixWidth', 'setPrependWidth', 'tryAutofocus']
41
+ onVisible: ['onResize', 'tryAutofocus']
40
42
  }), _loadable.default);
41
43
  var dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
42
44
  /* @vue/component */
@@ -44,6 +46,7 @@ var dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'mo
44
46
  var _default = baseMixins.extend().extend({
45
47
  name: 'v-text-field',
46
48
  directives: {
49
+ resize: _resize.default,
47
50
  ripple: _ripple.default
48
51
  },
49
52
  inheritAttrs: false,
@@ -208,9 +211,6 @@ var _default = baseMixins.extend().extend({
208
211
  var _this = this;
209
212
 
210
213
  this.autofocus && this.tryAutofocus();
211
- this.setLabelWidth();
212
- this.setPrefixWidth();
213
- this.setPrependWidth();
214
214
  requestAnimationFrame(function () {
215
215
  return _this.isBooted = true;
216
216
  });
@@ -373,7 +373,14 @@ var _default = baseMixins.extend().extend({
373
373
  focus: this.onFocus,
374
374
  keydown: this.onKeyDown
375
375
  }),
376
- ref: 'input'
376
+ ref: 'input',
377
+ directives: [{
378
+ name: 'resize',
379
+ modifiers: {
380
+ quiet: true
381
+ },
382
+ value: this.onResize
383
+ }]
377
384
  });
378
385
  },
379
386
  genMessages: function genMessages() {
@@ -470,6 +477,11 @@ var _default = baseMixins.extend().extend({
470
477
  } else if (this.initialValue !== this.lazyValue) {
471
478
  this.$emit('change', this.lazyValue);
472
479
  }
480
+ },
481
+ onResize: function onResize() {
482
+ this.setLabelWidth();
483
+ this.setPrefixWidth();
484
+ this.setPrependWidth();
473
485
  }
474
486
  }
475
487
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AAGA;;AACA;;AAGA;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,qBACjB,eADiB,EAEjB,4BAAc;AACZ,EAAA,SAAS,EAAE,CACT,eADS,EAET,gBAFS,EAGT,iBAHS,EAIT,cAJS;AADC,CAAd,CAFiB,EAUjB,iBAViB,CAAnB;AAsBA,IAAM,UAAU,GAAG,CAAC,OAAD,EAAU,MAAV,EAAkB,MAAlB,EAA0B,MAA1B,EAAkC,gBAAlC,EAAoD,MAApD,EAA4D,OAA5D,CAAnB;AAEA;;eACe,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,cAD2C;AAGjD,EAAA,UAAU,EAAE;AAAE,IAAA,MAAM,EAAN;AAAF,GAHqC;AAKjD,EAAA,YAAY,EAAE,KALmC;AAOjD,EAAA,KAAK,EAAE;AACL,IAAA,eAAe,EAAE,MADZ;AAEL,IAAA,SAAS,EAAE,OAFN;AAGL,IAAA,SAAS,EAAE,OAHN;AAIL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,MADG;AAET,MAAA,OAAO,EAAE;AAFA,KAJN;AAQL,IAAA,OAAO,EAAE,CAAC,OAAD,EAAU,MAAV,EAAkB,MAAlB,CARJ;AASL,IAAA,YAAY,EAAE,QATT;AAUL,IAAA,MAAM,EAAE,OAVH;AAWL,IAAA,IAAI,EAAE,OAXD;AAYL,IAAA,SAAS,EAAE,OAZN;AAaL,IAAA,KAAK,EAAE,MAbF;AAcL,IAAA,QAAQ,EAAE,OAdL;AAeL,IAAA,WAAW,EAAE,MAfR;AAgBL,IAAA,MAAM,EAAE,MAhBH;AAiBL,IAAA,gBAAgB,EAAE,MAjBb;AAkBL,IAAA,OAAO,EAAE,OAlBJ;AAmBL,IAAA,OAAO,EAAE,OAnBJ;AAoBL,IAAA,MAAM,EAAE,OApBH;AAqBL,IAAA,UAAU,EAAE,OArBP;AAsBL,IAAA,IAAI,EAAE,OAtBD;AAuBL,IAAA,YAAY,EAAE,OAvBT;AAwBL,IAAA,MAAM,EAAE,MAxBH;AAyBL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAFL;AAzBD,GAP0C;AAsCjD,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,QAAQ,EAAE,KADC;AAEX,MAAA,UAAU,EAAE,CAFD;AAGX,MAAA,WAAW,EAAE,CAHF;AAIX,MAAA,YAAY,EAAE,CAJH;AAKX,MAAA,YAAY,EAAE,IALH;AAMX,MAAA,QAAQ,EAAE,KANC;AAOX,MAAA,UAAU,EAAE;AAPD,KAAP;AAAA,GAtC2C;AAgDjD,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,+BACK,gBAAO,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL;AAEE,wBAAgB,IAFlB;AAGE,oCAA4B,KAAK,SAHnC;AAIE,gCAAwB,KAAK,MAJ/B;AAKE,qCAA6B,KAAK,QALpC;AAME,8BAAsB,KAAK,MAN7B;AAOE,uCAA+B,KAAK,YAPtC;AAQE,mCAA2B,KAAK,IARlC;AASE,gCAAwB,KAAK,MAT/B;AAUE,mCAA2B,KAAK,QAVlC;AAWE,kCAA0B,KAAK,UAXjC;AAYE,iCAAyB,KAAK,OAZhC;AAaE,kCAA0B,KAAK,QAbjC;AAcE,qCAA6B,KAAK,WAdpC;AAeE,iCAAyB,KAAK,OAfhC;AAgBE,gCAAwB,KAAK;AAhB/B;AAkBD,KApBO;AAqBR,IAAA,aArBQ,2BAqBK;AACX,UAAM,aAAa,GAAG,qBAAY,OAAZ,CAAoB,QAApB,CAA6B,aAA7B,CAA2C,IAA3C,CAAgD,IAAhD,CAAtB;;AAEA,UAAI,CAAC,KAAK,YAAN,IAAsB,CAAC,KAAK,SAAhC,EAA2C,OAAO,aAAP;AAE3C,aAAO,KAAK,KAAL,IAAc,SAArB;AACD,KA3BO;AA4BR,IAAA,oBA5BQ,kCA4BY;AAClB,UAAI,OAAO,KAAK,YAAZ,KAA6B,UAAjC,EAA6C;AAC3C,eAAO,KAAK,YAAL,CAAkB,KAAK,aAAvB,CAAP;AACD;;AACD,aAAO,CAAC,KAAK,aAAL,IAAsB,EAAvB,EAA2B,QAA3B,GAAsC,MAA7C;AACD,KAjCO;AAkCR,IAAA,UAlCQ,wBAkCE;AACR,aAAO,KAAK,OAAL,KAAiB,KAAjB,IAA0B,KAAK,OAAL,IAAgB,IAAjD;AACD,KApCO;AAqCR,IAAA,UArCQ,wBAqCE;AACR,aAAO,gBAAO,OAAP,CAAe,QAAf,CAAwB,UAAxB,CAAmC,IAAnC,CAAwC,IAAxC,KAAiD,KAAK,UAA7D;AACD,KAvCO;AAwCR,IAAA,aAAa,EAAE;AACb,MAAA,GADa,iBACV;AACD,eAAO,KAAK,SAAZ;AACD,OAHY;AAIb,MAAA,GAJa,eAIR,GAJQ,EAIA;AACX,aAAK,SAAL,GAAiB,GAAjB;AACA,aAAK,KAAL,CAAW,OAAX,EAAoB,KAAK,SAAzB;AACD;AAPY,KAxCP;AAiDR,IAAA,OAjDQ,qBAiDD;AAAA;;AACL,aAAO,yBAAK,SAAL,qCAAgB,QAAhB,GAA2B,MAA3B,IAAoC,CAApC,IAAyC,KAAK,QAArD;AACD,KAnDO;AAoDR,IAAA,UApDQ,wBAoDE;AACR,aACE,KAAK,MAAL,IACA,KAAK,MADL,IAEA,KAAK,QAHP;AAKD,KA1DO;AA2DR,IAAA,aA3DQ,2BA2DK;AACX,aAAO,KAAK,OAAL,IAAgB,UAAU,CAAC,QAAX,CAAoB,KAAK,IAAzB,CAAvB;AACD,KA7DO;AA8DR,IAAA,QA9DQ,sBA8DA;AACN,aACE,KAAK,MAAL,IACA,KAAK,UADL,IAEA,KAAK,SAFL,IAGA;AACC,WAAK,MAAL,IAAe,CAAC,KAAK,QALxB;AAOD,KAtEO;AAuER,IAAA,MAvEQ,oBAuEF;AACJ,aAAO,KAAK,IAAL,IAAa,KAAK,YAAzB;AACD,KAzEO;AA0ER,IAAA,aA1EQ,2BA0EK;AACX,UAAI,MAAM,GAAI,KAAK,MAAL,IAAe,CAAC,KAAK,UAAtB,GAAoC,KAAK,WAAzC,GAAuD,CAApE;AAEA,UAAI,KAAK,UAAL,IAAmB,KAAK,YAA5B,EAA0C,MAAM,IAAI,KAAK,YAAf;AAE1C,aAAQ,KAAK,QAAL,CAAc,GAAd,KAAsB,KAAK,OAA5B,GAAuC;AAC5C,QAAA,IAAI,EAAE,MADsC;AAE5C,QAAA,KAAK,EAAE;AAFqC,OAAvC,GAGH;AACF,QAAA,IAAI,EAAE,MADJ;AAEF,QAAA,KAAK,EAAE;AAFL,OAHJ;AAOD,KAtFO;AAuFR,IAAA,SAvFQ,uBAuFC;AACP,aAAO,KAAK,QAAL,KAAkB,CAAC,KAAK,QAAN,IAAmB,CAAC,KAAK,aAAN,IAAuB,CAAC,KAAK,WAAlE,CAAP;AACD,KAzFO;AA0FR,IAAA,UA1FQ,wBA0FE;AACR,aAAO,CAAC,KAAK,QAAN,IACL,OAAO,CAAC,KAAK,SAAL,IAAkB,KAAK,aAAvB,IAAwC,KAAK,WAA9C,CADT;AAED;AA7FO,GAhDuC;AAgJjD,EAAA,KAAK,EAAE;AACL,IAAA,UAAU,EAAE,eADP;AAEL,IAAA,QAAQ,EAAE,eAFL;AAGL,IAAA,KAHK,mBAGA;AACH,WAAK,SAAL,CAAe,KAAK,aAApB;AACD,KALI;AAML,IAAA,MANK,oBAMC;AACJ,WAAK,SAAL,CAAe,KAAK,cAApB;AACD,KARI;AASL,IAAA,SAAS,EAAE,aATN;AAUL,IAAA,KAVK,iBAUE,GAVF,EAUK;AACR,WAAK,SAAL,GAAiB,GAAjB;AACD;AAZI,GAhJ0C;AA+JjD,EAAA,OA/JiD,qBA+J1C;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,KAA3B,CAAJ,EAAuC;AACrC,6BAAS,KAAT,EAAgB,QAAhB,EAA0B,IAA1B;AACD;AAED;;;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,sBAA3B,CAAJ,EAAwD;AACtD,6BAAS,sBAAT,EAAiC,cAAjC,EAAiD,IAAjD;AACD;AAED;;;AACA,QAAI,KAAK,MAAL,IAAe,EAAE,KAAK,MAAL,IAAe,KAAK,QAApB,IAAgC,KAAK,MAAvC,CAAnB,EAAmE;AACjE,gCAAY,sDAAZ,EAAoE,IAApE;AACD;AACF,GA9KgD;AAgLjD,EAAA,OAhLiD,qBAgL1C;AAAA;;AACL,SAAK,SAAL,IAAkB,KAAK,YAAL,EAAlB;AACA,SAAK,aAAL;AACA,SAAK,cAAL;AACA,SAAK,eAAL;AACA,IAAA,qBAAqB,CAAC;AAAA,aAAO,KAAI,CAAC,QAAL,GAAgB,IAAvB;AAAA,KAAD,CAArB;AACD,GAtLgD;AAwLjD,EAAA,OAAO,EAAE;AACP;AACA,IAAA,KAFO,mBAEF;AACH,WAAK,OAAL;AACD,KAJM;;AAKP;AACA,IAAA,IANO,gBAMD,CANC,EAMQ;AAAA;;AACb;AACA;AACA,MAAA,MAAM,CAAC,qBAAP,CAA6B,YAAK;AAChC,QAAA,MAAI,CAAC,KAAL,CAAW,KAAX,IAAoB,MAAI,CAAC,KAAL,CAAW,KAAX,CAAiB,IAAjB,EAApB;AACD,OAFD;AAGD,KAZM;AAaP,IAAA,iBAbO,+BAaU;AAAA;;AACf,WAAK,KAAL,CAAW,KAAX,IAAoB,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,EAApB;AACA,WAAK,SAAL,CAAe;AAAA,eAAM,MAAI,CAAC,aAAL,GAAqB,IAA3B;AAAA,OAAf;AACD,KAhBM;AAiBP,IAAA,aAjBO,2BAiBM;AACX,UAAM,IAAI,GAAG,EAAb;;AAEA,UAAI,KAAK,MAAL,CAAY,cAAZ,CAAJ,EAAiC;AAC/B,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,MAAL,CAAY,cAAZ,CAAV;AACD,OAFD,MAEO,IAAI,KAAK,eAAT,EAA0B;AAC/B,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,OAAL,CAAa,aAAb,CAAV;AACD;;AAED,aAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,IAAhC,CAAP;AACD,KA3BM;AA4BP,IAAA,mBA5BO,iCA4BY;AACjB,UAAM,IAAI,GAAG,EAAb;;AAEA,UAAI,KAAK,MAAL,CAAY,eAAZ,CAAJ,EAAkC;AAChC,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,MAAL,CAAY,eAAZ,CAAV;AACD,OAFD,MAEO,IAAI,KAAK,gBAAT,EAA2B;AAChC,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,OAAL,CAAa,cAAb,CAAV;AACD;;AAED,aAAO,KAAK,OAAL,CAAa,SAAb,EAAwB,OAAxB,EAAiC,IAAjC,CAAP;AACD,KAtCM;AAuCP,IAAA,WAvCO,yBAuCI;AACT,UAAM,IAAI,GAAG,EAAb;;AAEA,UAAI,KAAK,MAAL,CAAY,QAAZ,CAAJ,EAA2B;AACzB,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,MAAL,CAAY,QAAZ,CAAV;AACD,OAFD,MAEO,IAAI,KAAK,UAAT,EAAqB;AAC1B,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,OAAL,CAAa,QAAb,CAAV;AACD;;AAED,aAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,IAAhC,CAAP;AACD,KAjDM;AAkDP,IAAA,YAlDO,0BAkDK;AACV,UAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,YAAvB,CAAoC,IAApC,CAAyC,IAAzC,CAAd;;AAEA,UAAM,OAAO,GAAG,KAAK,mBAAL,EAAhB;;AAEA,UAAI,OAAJ,EAAa;AACX,QAAA,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAN,IAAkB,EAAnC;AACA,QAAA,KAAK,CAAC,QAAN,CAAe,OAAf,CAAuB,OAAvB;AACD;;AAED,aAAO,KAAP;AACD,KA7DM;AA8DP,IAAA,YA9DO,0BA8DK;AACV,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,IAAP;AAErB,UAAM,IAAI,GAAG,KAAK,OAAL,GAAe,SAAf,GAA2B;AAAE,QAAA,KAAK,EAAE;AAAE,UAAA,QAAQ,EAAE;AAAZ;AAAT,OAAxC;AAEA,aAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,CACrC,KAAK,OAAL,CAAa,OAAb,EAAsB,KAAK,iBAA3B,EAA8C,IAA9C,CADqC,CAAhC,CAAP;AAGD,KAtEM;AAuEP,IAAA,UAvEO,wBAuEG;AACR,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,IAAP;AAEtB,UAAM,GAAG,GAAG,KAAK,OAAL,KAAiB,IAAjB,GAAwB,KAAK,MAAL,CAAY,SAApC,GAAgD,KAAK,OAAjE;AAEA,aAAO,KAAK,cAAL,CAAoB,iBAApB,EAA8B;AACnC,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE,KAAK,IADN;AAEL,UAAA,KAAK,EAAE,KAAK,KAFP;AAGL,UAAA,GAAG,EAAH,GAHK;AAIL,UAAA,KAAK,EAAE,KAAK;AAJP;AAD4B,OAA9B,CAAP;AAQD,KApFM;AAqFP,IAAA,UArFO,wBAqFG;AACR,aAAO,gBAAO,OAAP,CAAe,OAAf,CAAuB,UAAvB,CAAkC,IAAlC,CAAuC,IAAvC,CAAP;AACD,KAvFM;AAwFP,IAAA,cAxFO,4BAwFO;AACZ,aAAO,CACL,KAAK,WAAL,EADK,EAEL,KAAK,gBAAL,EAFK,EAGL,KAAK,YAAL,EAHK,EAIL,KAAK,WAAL,EAJK,EAKL,KAAK,WAAL,EALK,CAAP;AAOD,KAhGM;AAiGP,IAAA,WAjGO,yBAiGI;AACT,UAAI,CAAC,KAAK,QAAV,EAAoB,OAAO,IAAP;AAEpB,aAAO,KAAK,cAAL,CAAoB,UAApB,EAAgC;AACrC,QAAA,KAAK,EAAE;AACL,yBAAe;AADV;AAD8B,OAAhC,EAIJ,CAAC,KAAK,SAAL,EAAD,CAJI,CAAP;AAKD,KAzGM;AA0GP,IAAA,QA1GO,sBA0GC;AACN,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,IAAP;AAErB,UAAM,IAAI,GAAG;AACX,QAAA,KAAK,EAAE;AACL,UAAA,QAAQ,EAAE,IADL;AAEL,UAAA,KAAK,EAAE,KAAK,eAFP;AAGL,UAAA,IAAI,EAAE,KAAK,IAHN;AAIL,UAAA,QAAQ,EAAE,KAAK,UAJV;AAKL,UAAA,OAAO,EAAE,CAAC,KAAK,QAAN,KAAmB,KAAK,SAAL,IAAkB,CAAC,CAAC,KAAK,eAA5C,CALJ;AAML,UAAA,GAAG,EAAE,KAAK,UANL;AAOL,UAAA,IAAI,EAAE,KAAK,aAAL,CAAmB,IAPpB;AAQL,UAAA,KAAK,EAAE,KAAK,KARP;AASL,UAAA,KAAK,EAAE,KAAK,aAAL,CAAmB,KATrB;AAUL,UAAA,KAAK,EAAE,KAAK;AAVP;AADI,OAAb;AAeA,aAAO,KAAK,cAAL,CAAoB,eAApB,EAA4B,IAA5B,EAAkC,KAAK,MAAL,CAAY,KAAZ,IAAqB,KAAK,KAA5D,CAAP;AACD,KA7HM;AA8HP,IAAA,SA9HO,uBA8HE;AACP,UAAM,KAAK,GAAG,CAAC,KAAK,UAAN,KAAqB,KAAK,UAAL,IAAmB,KAAK,OAA7C,IAAwD,KAAK,UAA7D,GAA0E,CAAxF;AACA,UAAM,IAAI,GAAG,KAAK,cAAL,CAAoB,MAApB,EAA4B;AACvC,QAAA,QAAQ,EAAE;AAAE,UAAA,SAAS,EAAE;AAAb;AAD6B,OAA5B,CAAb;AAIA,aAAO,KAAK,cAAL,CAAoB,QAApB,EAA8B;AACnC,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,CAAC,KAAK,QAAN,GAAiB,4BAAc,KAAd,CAAjB,GAAwC;AAD1C;AAD4B,OAA9B,EAIJ,CAAC,IAAD,CAJI,CAAP;AAKD,KAzIM;AA0IP,IAAA,QA1IO,sBA0IC;AACN,UAAM,SAAS,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,UAAvB,CAAlB;AACA,aAAO,SAAS,CAAC,QAAD,CAAhB,CAFM,CAEqB;;AAE3B,aAAO,KAAK,cAAL,CAAoB,OAApB,EAA6B;AAClC,QAAA,KAAK,EAAE,EAD2B;AAElC,QAAA,QAAQ,EAAE;AACR,UAAA,KAAK,EAAG,KAAK,IAAL,KAAc,QAAd,IAA0B,MAAM,CAAC,EAAP,CAAU,KAAK,SAAf,EAA0B,CAAC,CAA3B,CAA3B,GAA4D,IAA5D,GAAmE,KAAK;AADvE,SAFwB;AAKlC,QAAA,KAAK,oBACA,KAAK,MADL;AAEH,UAAA,SAAS,EAAE,KAAK,SAFb;AAGH,UAAA,QAAQ,EAAE,KAAK,UAHZ;AAIH,UAAA,EAAE,EAAE,KAAK,UAJN;AAKH,UAAA,WAAW,EAAE,KAAK,WALf;AAMH,UAAA,QAAQ,EAAE,KAAK,UANZ;AAOH,UAAA,IAAI,EAAE,KAAK;AAPR,UAL6B;AAclC,QAAA,EAAE,EAAE,MAAM,CAAC,MAAP,CAAc,SAAd,EAAyB;AAC3B,UAAA,IAAI,EAAE,KAAK,MADgB;AAE3B,UAAA,KAAK,EAAE,KAAK,OAFe;AAG3B,UAAA,KAAK,EAAE,KAAK,OAHe;AAI3B,UAAA,OAAO,EAAE,KAAK;AAJa,SAAzB,CAd8B;AAoBlC,QAAA,GAAG,EAAE;AApB6B,OAA7B,CAAP;AAsBD,KApKM;AAqKP,IAAA,WArKO,yBAqKI;AACT,UAAI,CAAC,KAAK,WAAV,EAAuB,OAAO,IAAP;;AAEvB,UAAM,YAAY,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,WAAvB,CAAmC,IAAnC,CAAwC,IAAxC,CAArB;;AACA,UAAM,WAAW,GAAG,KAAK,UAAL,EAApB;AAEA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,YADC,EAED,WAFC,CAFI,CAAP;AAMD,KAjLM;AAkLP,IAAA,gBAlLO,8BAkLS;AACd,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,KAAK,QAAL,EADC,EAED,KAAK,MAAL,GAAc,KAAK,QAAL,CAAc,QAAd,CAAd,GAAwC,IAFvC,EAGD,KAAK,QAAL,EAHC,EAID,KAAK,MAAL,GAAc,KAAK,QAAL,CAAc,QAAd,CAAd,GAAwC,IAJvC,CAFI,CAAP;AAQD,KA3LM;AA4LP,IAAA,QA5LO,oBA4LG,IA5LH,EA4L4B;AACjC,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,KAAK,0BAAmB,IAAnB,CAD2B;AAEhC,QAAA,GAAG,EAAE;AAF2B,OAA3B,EAGJ,KAAK,IAAL,CAHI,CAAP;AAID,KAjMM;AAkMP,IAAA,MAlMO,kBAkMC,CAlMD,EAkMU;AAAA;;AACf,WAAK,SAAL,GAAiB,KAAjB;AACA,MAAA,CAAC,IAAI,KAAK,SAAL,CAAe;AAAA,eAAM,MAAI,CAAC,KAAL,CAAW,MAAX,EAAmB,CAAnB,CAAN;AAAA,OAAf,CAAL;AACD,KArMM;AAsMP,IAAA,OAtMO,qBAsMA;AACL,UAAI,KAAK,SAAL,IAAkB,KAAK,UAAvB,IAAqC,CAAC,KAAK,KAAL,CAAW,KAArD,EAA4D;AAE5D,WAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB;AACD,KA1MM;AA2MP,IAAA,OA3MO,mBA2ME,CA3MF,EA2MW;AAChB,UAAI,CAAC,KAAK,KAAL,CAAW,KAAhB,EAAuB;;AAEvB,UAAI,QAAQ,CAAC,aAAT,KAA2B,KAAK,KAAL,CAAW,KAA1C,EAAiD;AAC/C,eAAO,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,EAAP;AACD;;AAED,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,aAAK,SAAL,GAAiB,IAAjB;AACA,QAAA,CAAC,IAAI,KAAK,KAAL,CAAW,OAAX,EAAoB,CAApB,CAAL;AACD;AACF,KAtNM;AAuNP,IAAA,OAvNO,mBAuNE,CAvNF,EAuNU;AACf,UAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AACA,WAAK,aAAL,GAAqB,MAAM,CAAC,KAA5B;AACA,WAAK,QAAL,GAAgB,MAAM,CAAC,QAAP,IAAmB,MAAM,CAAC,QAAP,CAAgB,QAAnD;AACD,KA3NM;AA4NP,IAAA,SA5NO,qBA4NI,CA5NJ,EA4NoB;AACzB,UAAI,CAAC,CAAC,OAAF,KAAc,kBAAS,KAA3B,EAAkC,KAAK,KAAL,CAAW,QAAX,EAAqB,KAAK,aAA1B;AAElC,WAAK,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD,KAhOM;AAiOP,IAAA,WAjOO,uBAiOM,CAjON,EAiOc;AACnB;AACA,UAAI,CAAC,CAAC,MAAF,KAAa,KAAK,KAAL,CAAW,KAA5B,EAAmC;AACjC,QAAA,CAAC,CAAC,cAAF;AACA,QAAA,CAAC,CAAC,eAAF;AACD;;AAED,sBAAO,OAAP,CAAe,OAAf,CAAuB,WAAvB,CAAmC,IAAnC,CAAwC,IAAxC,EAA8C,CAA9C;AACD,KAzOM;AA0OP,IAAA,SA1OO,qBA0OI,CA1OJ,EA0OY;AACjB,UAAI,KAAK,YAAT,EAAuB,KAAK,KAAL;;AAEvB,sBAAO,OAAP,CAAe,OAAf,CAAuB,SAAvB,CAAiC,IAAjC,CAAsC,IAAtC,EAA4C,CAA5C;AACD,KA9OM;AA+OP,IAAA,aA/OO,2BA+OM;AACX,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,UAAL,GAAkB,KAAK,KAAL,CAAW,KAAX,GACd,IAAI,CAAC,GAAL,CAAS,KAAK,KAAL,CAAW,KAAX,CAAiB,WAAjB,GAA+B,IAA/B,GAAsC,CAA/C,EAAmD,KAAK,GAAL,CAAyB,WAAzB,GAAuC,EAA1F,CADc,GAEd,CAFJ;AAGD,KArPM;AAsPP,IAAA,cAtPO,4BAsPO;AACZ,UAAI,CAAC,KAAK,KAAL,CAAW,MAAhB,EAAwB;AAExB,WAAK,WAAL,GAAmB,KAAK,KAAL,CAAW,MAAX,CAAkB,WAArC;AACD,KA1PM;AA2PP,IAAA,eA3PO,6BA2PQ;AACb,UAAI,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,KAAL,CAAW,eAAX,CAAvB,EAAoD;AAEpD,WAAK,YAAL,GAAoB,KAAK,KAAL,CAAW,eAAX,EAA4B,WAAhD;AACD,KA/PM;AAgQP,IAAA,YAhQO,0BAgQK;AACV,UACE,CAAC,KAAK,SAAN,IACA,OAAO,QAAP,KAAoB,WADpB,IAEA,CAAC,KAAK,KAAL,CAAW,KAFZ,IAGA,QAAQ,CAAC,aAAT,KAA2B,KAAK,KAAL,CAAW,KAJxC,EAKE,OAAO,KAAP;AAEF,WAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB;AAEA,aAAO,IAAP;AACD,KA3QM;AA4QP,IAAA,WA5QO,uBA4QM,GA5QN,EA4QkB;AACvB;AACA,WAAK,QAAL,GAAgB,GAAhB;;AAEA,UAAI,GAAJ,EAAS;AACP,aAAK,YAAL,GAAoB,KAAK,SAAzB;AACD,OAFD,MAEO,IAAI,KAAK,YAAL,KAAsB,KAAK,SAA/B,EAA0C;AAC/C,aAAK,KAAL,CAAW,QAAX,EAAqB,KAAK,SAA1B;AACD;AACF;AArRM;AAxLwC,CAApC,C","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'setLabelWidth',\n 'setPrefixWidth',\n 'setPrependWidth',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-text-field',\n\n directives: { ripple },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return (this.internalValue || '').toString().length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && (!this.isSingle || (!this.isLabelActive && !this.placeholder))\n },\n labelValue (): boolean {\n return !this.isSingle &&\n Boolean(this.isFocused || this.isLabelActive || this.placeholder)\n },\n },\n\n watch: {\n labelValue: 'setLabelWidth',\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n this.autofocus && this.tryAutofocus()\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots['append']) {\n slot.push(this.$slots['append'] as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n const data = this.isDirty ? undefined : { attrs: { disabled: true } }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback, data),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n return this.$createElement(VCounter, {\n props: {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n },\n })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners['change'] // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...this.attrs$,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.placeholder,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n if (document.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) this.$emit('change', this.internalValue)\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input ||\n document.activeElement === this.$refs.input\n ) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
1
+ {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return (this.internalValue || '').toString().length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && (!this.isSingle || (!this.isLabelActive && !this.placeholder))\n },\n labelValue (): boolean {\n return !this.isSingle &&\n Boolean(this.isFocused || this.isLabelActive || this.placeholder)\n },\n },\n\n watch: {\n labelValue: 'setLabelWidth',\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n this.autofocus && this.tryAutofocus()\n\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots['append']) {\n slot.push(this.$slots['append'] as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n const data = this.isDirty ? undefined : { attrs: { disabled: true } }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback, data),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n return this.$createElement(VCounter, {\n props: {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n },\n })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners['change'] // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...this.attrs$,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.placeholder,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n if (document.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) this.$emit('change', this.internalValue)\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input ||\n document.activeElement === this.$refs.input\n ) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
@@ -115,7 +115,8 @@ var _default2 = _measurable.default.extend({
115
115
  self: true
116
116
  },
117
117
  value: this.onScroll
118
- }]
118
+ }],
119
+ on: this.$listeners
119
120
  }, [content]);
120
121
  }
121
122
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Measurable.extend({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\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 this.$createElement('div', {\n staticClass: '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 (h): VNode {\n const content = h('div', {\n staticClass: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return h('div', {\n staticClass: 'v-virtual-scroll',\n style: this.measurableStyles,\n directives: [{\n name: 'scroll',\n modifiers: { self: true },\n value: this.onScroll,\n }],\n }, [content])\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
1
+ {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Measurable.extend({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\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 this.$createElement('div', {\n staticClass: '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 (h): VNode {\n const content = h('div', {\n staticClass: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return h('div', {\n staticClass: '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"}
package/es5/framework.js CHANGED
@@ -77,7 +77,7 @@ function () {
77
77
  exports.default = Vuetify;
78
78
  Vuetify.install = _install.install;
79
79
  Vuetify.installed = false;
80
- Vuetify.version = "2.3.8";
80
+ Vuetify.version = "2.3.12";
81
81
  Vuetify.config = {
82
82
  silent: false
83
83
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/mobile/index.ts"],"names":[],"mappings":";;;;;;;AAEA;;AACA;;;;AAEA;gBACe,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,QADkB;AAGxB,EAAA,KAAK,EAAE;AACL,IAAA,gBAAgB,EAAE;AAChB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADU;AAEhB,MAAA,OAFgB,sBAET;AACL;AACA;AACA,eAAO,KAAK,QAAL,GACH,KAAK,QAAL,CAAc,UAAd,CAAyB,gBADtB,GAEH,SAFJ;AAGD,OARe;AAShB,MAAA,SAAS,EAAE,mBAAA,CAAC;AAAA,eACV,CAAC,KAAK,CAAC,MAAM,CAAC,CAAD,CAAP,CAAN,IACA,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,QAA/B,CAAwC,MAAM,CAAC,CAAD,CAA9C,CAFU;AAAA;AATI;AADb,GAHiB;AAoBxB,EAAA,QAAQ,EAAE;AACR,IAAA,QADQ,sBACA;AAAA,kCAMF,KAAK,QAAL,CAAc,UANZ;AAAA,UAEJ,MAFI,yBAEJ,MAFI;AAAA,UAGJ,KAHI,yBAGJ,KAHI;AAAA,UAIJ,IAJI,yBAIJ,IAJI;AAAA,UAKJ,gBALI,yBAKJ,gBALI,EAQN;AACA;;AACA,UAAI,gBAAgB,KAAK,KAAK,gBAA9B,EAAgD,OAAO,MAAP;AAEhD,UAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,gBAAN,EAAwB,EAAxB,CAA5B;AACA,UAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,WAAD,CAAvB;AAEA,aAAO,QAAQ,GACX,KAAK,GAAG,WADG,GAEX,IAAI,KAAK,KAAK,gBAFlB;AAGD;AAnBO,GApBc;AA0CxB,EAAA,OA1CwB,qBA0CjB;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,oBAA3B,CAAJ,EAAsD;AACpD,8BAAU,oBAAV,EAAgC,mBAAhC,EAAqD,IAArD;AACD;AACF;AA/CuB,CAAX,C","sourcesContent":["// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType<BreakpointName>,\n default (): BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/mobile/index.ts"],"names":[],"mappings":";;;;;;;AAEA;;AACA;;;;AAEA;gBACe,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,QADkB;AAGxB,EAAA,KAAK,EAAE;AACL,IAAA,gBAAgB,EAAE;AAChB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADU;AAEhB,MAAA,OAFgB,sBAET;AACL;AACA;AACA,eAAO,KAAK,QAAL,GACH,KAAK,QAAL,CAAc,UAAd,CAAyB,gBADtB,GAEH,SAFJ;AAGD,OARe;AAShB,MAAA,SAAS,EAAE,mBAAA,CAAC;AAAA,eACV,CAAC,KAAK,CAAC,MAAM,CAAC,CAAD,CAAP,CAAN,IACA,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,QAA/B,CAAwC,MAAM,CAAC,CAAD,CAA9C,CAFU;AAAA;AATI;AADb,GAHiB;AAoBxB,EAAA,QAAQ,EAAE;AACR,IAAA,QADQ,sBACA;AAAA,kCAMF,KAAK,QAAL,CAAc,UANZ;AAAA,UAEJ,MAFI,yBAEJ,MAFI;AAAA,UAGJ,KAHI,yBAGJ,KAHI;AAAA,UAIJ,IAJI,yBAIJ,IAJI;AAAA,UAKJ,gBALI,yBAKJ,gBALI,EAQN;AACA;;AACA,UAAI,gBAAgB,KAAK,KAAK,gBAA9B,EAAgD,OAAO,MAAP;AAEhD,UAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,gBAAN,EAAwB,EAAxB,CAA5B;AACA,UAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,WAAD,CAAvB;AAEA,aAAO,QAAQ,GACX,KAAK,GAAG,WADG,GAEX,IAAI,KAAK,KAAK,gBAFlB;AAGD;AAnBO,GApBc;AA0CxB,EAAA,OA1CwB,qBA0CjB;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,oBAA3B,CAAJ,EAAsD;AACpD,8BAAU,oBAAV,EAAgC,mBAAhC,EAAqD,IAArD;AACD;AACF;AA/CuB,CAAX,C","sourcesContent":["// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType<number | BreakpointName>,\n default (): number | BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}