vuetify 2.6.7 → 2.6.8
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.
- package/dist/json/web-types.json +5 -5
- package/dist/vuetify.js +312 -227
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAutocomplete/VAutocomplete.js +3 -3
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +2 -2
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +6 -5
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/mouse.js +4 -4
- package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +5 -5
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +2 -2
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +5 -2
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataTable/Row.js +2 -2
- package/es5/components/VDataTable/Row.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +54 -43
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +4 -3
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +2 -1
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +13 -15
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +4 -2
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +2 -2
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +8 -7
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +2 -1
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +4 -3
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +8 -8
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +2 -1
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +4 -4
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +8 -11
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +2 -1
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +5 -5
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTextarea/VTextarea.js +2 -2
- package/es5/components/VTextarea/VTextarea.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +5 -4
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +2 -1
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +5 -6
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/directives/click-outside/index.js +2 -2
- package/es5/directives/click-outside/index.js.map +1 -1
- package/es5/directives/intersect/index.js +5 -5
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +2 -2
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +2 -2
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +2 -2
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/activatable/index.js +1 -3
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +1 -1
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/routable/index.js +2 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/util/helpers.js +1 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +3 -3
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +2 -2
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -4
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.js +4 -4
- package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +3 -2
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +2 -2
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +5 -2
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataTable/Row.js +2 -2
- package/lib/components/VDataTable/Row.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +15 -5
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +2 -2
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +2 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +11 -13
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +2 -2
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +2 -2
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +8 -7
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +2 -1
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +8 -8
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +2 -1
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +4 -4
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +6 -11
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +2 -1
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +5 -5
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +2 -2
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +5 -4
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +2 -1
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/directives/click-outside/index.js +2 -2
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/intersect/index.js +4 -4
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +2 -2
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +2 -2
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +2 -2
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/activatable/index.js +1 -3
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +1 -1
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/routable/index.js +4 -3
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/util/helpers.js +1 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VCheckbox/VSimpleCheckbox.ts +3 -2
- package/src/components/VDataTable/VDataTable.ts +4 -1
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +14 -14
- package/src/components/VDatePicker/VDatePicker.ts +1 -1
- package/src/components/VItemGroup/VItemGroup.ts +2 -2
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +29 -0
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +14 -10
- package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +2 -2
- package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +2 -2
- package/src/components/VSlideGroup/VSlideGroup.ts +1 -1
- package/src/components/VSlider/VSlider.ts +1 -7
- package/src/components/VSlider/__tests__/VSlider.spec.ts +3 -2
- package/src/components/VTimePicker/VTimePicker.ts +1 -1
- package/src/globals.d.ts +6 -6
- package/src/mixins/applicationable/__tests__/applicationable.spec.ts +1 -1
- package/src/mixins/binds-attrs/index.ts +2 -2
- package/src/mixins/overlayable/index.ts +7 -7
- package/src/util/helpers.ts +2 -2
- package/es5/util/component.js +0 -11
- package/es5/util/component.js.map +0 -1
- package/lib/util/component.js +0 -4
- package/lib/util/component.js.map +0 -1
- package/src/util/component.ts +0 -21
|
@@ -198,15 +198,10 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
|
|
|
198
198
|
value: {
|
|
199
199
|
handler: function handler(v) {
|
|
200
200
|
this.internalValue = v;
|
|
201
|
-
}
|
|
201
|
+
},
|
|
202
|
+
immediate: true
|
|
202
203
|
}
|
|
203
204
|
},
|
|
204
|
-
// If done in as immediate in
|
|
205
|
-
// value watcher, causes issues
|
|
206
|
-
// with vue-test-utils
|
|
207
|
-
beforeMount: function beforeMount() {
|
|
208
|
-
this.internalValue = this.value;
|
|
209
|
-
},
|
|
210
205
|
mounted: function mounted() {
|
|
211
206
|
// Without a v-app, iOS does not work with body selectors
|
|
212
207
|
this.app = document.querySelector('[data-app]') || (0, _console.consoleWarn)('Missing v-app or a non-body wrapping element with the [data-app] attribute', this);
|
|
@@ -252,7 +247,8 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
|
|
|
252
247
|
disabled: true,
|
|
253
248
|
readonly: true,
|
|
254
249
|
tabindex: -1
|
|
255
|
-
}, this.$attrs)
|
|
250
|
+
}, this.$attrs) // on: this.genListeners(), // TODO: do we need to attach the listeners to input?
|
|
251
|
+
|
|
256
252
|
});
|
|
257
253
|
},
|
|
258
254
|
genTrackContainer: function genTrackContainer() {
|
|
@@ -382,14 +378,15 @@ var _default2 = (0, _mixins.default)(_VInput.default, _loadable.default
|
|
|
382
378
|
}, direction, "".concat(value, "%"));
|
|
383
379
|
},
|
|
384
380
|
onSliderMouseDown: function onSliderMouseDown(e) {
|
|
385
|
-
var
|
|
386
|
-
|
|
381
|
+
var _this2 = this;
|
|
382
|
+
|
|
383
|
+
var _a;
|
|
387
384
|
|
|
388
385
|
e.preventDefault();
|
|
389
386
|
this.oldValue = this.internalValue;
|
|
390
387
|
this.isActive = true;
|
|
391
388
|
|
|
392
|
-
if ((
|
|
389
|
+
if ((_a = e.target) === null || _a === void 0 ? void 0 : _a.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {
|
|
393
390
|
this.thumbPressed = true;
|
|
394
391
|
var domRect = e.target.getBoundingClientRect();
|
|
395
392
|
var touch = 'touches' in e ? e.touches[0] : e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n },\n },\n\n // If done in as immediate in\n // value watcher, causes issues\n // with vue-test-utils\n beforeMount () {\n this.internalValue = this.value\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
|
|
@@ -269,7 +269,8 @@ var _default2 = (0, _mixins.default)(_colorable.default).extend({
|
|
|
269
269
|
textAnchor: 'middle',
|
|
270
270
|
dominantBaseline: 'mathematical',
|
|
271
271
|
fill: 'currentColor'
|
|
272
|
-
}
|
|
272
|
+
} // TODO: TS 3.5 is too eager with the array type here
|
|
273
|
+
|
|
273
274
|
}, children);
|
|
274
275
|
},
|
|
275
276
|
genPath: function genPath() {
|
|
@@ -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 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"}
|
|
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"}
|
|
@@ -159,9 +159,9 @@ var _default = baseMixins.extend().extend({
|
|
|
159
159
|
}
|
|
160
160
|
},
|
|
161
161
|
isDirty: function isDirty() {
|
|
162
|
-
var
|
|
162
|
+
var _a;
|
|
163
163
|
|
|
164
|
-
return ((
|
|
164
|
+
return ((_a = this.lazyValue) === null || _a === void 0 ? void 0 : _a.toString().length) > 0 || this.badInput;
|
|
165
165
|
},
|
|
166
166
|
isEnclosed: function isEnclosed() {
|
|
167
167
|
return this.filled || this.isSolo || this.outlined;
|
|
@@ -323,7 +323,7 @@ var _default = baseMixins.extend().extend({
|
|
|
323
323
|
return this.genSlot('append', 'inner', [this.genIcon('clear', this.clearableCallback)]);
|
|
324
324
|
},
|
|
325
325
|
genCounter: function genCounter() {
|
|
326
|
-
var
|
|
326
|
+
var _a, _b, _c;
|
|
327
327
|
|
|
328
328
|
if (!this.hasCounter) return null;
|
|
329
329
|
var max = this.counter === true ? this.attrs$.maxlength : this.counter;
|
|
@@ -333,9 +333,9 @@ var _default = baseMixins.extend().extend({
|
|
|
333
333
|
max: max,
|
|
334
334
|
value: this.computedCounterValue
|
|
335
335
|
};
|
|
336
|
-
return (
|
|
336
|
+
return (_c = (_b = (_a = this.$scopedSlots).counter) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
337
337
|
props: props
|
|
338
|
-
}))
|
|
338
|
+
})) !== null && _c !== void 0 ? _c : this.$createElement(_VCounter.default, {
|
|
339
339
|
props: props
|
|
340
340
|
});
|
|
341
341
|
},
|
|
@@ -1 +1 @@
|
|
|
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 { attachedRoot } from '../../util/dom'\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 persistentPlaceholder: Boolean,\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.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\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 // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\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 // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\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: '​' },\n staticClass: 'notranslate',\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 const { title, ...inputAttrs } = this.attrs$\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 ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\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 const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.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 (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\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) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) 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"}
|
|
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 { attachedRoot } from '../../util/dom'\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 persistentPlaceholder: Boolean,\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.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\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 // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\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 // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\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: '​' },\n staticClass: 'notranslate',\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 const { title, ...inputAttrs } = this.attrs$\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 ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\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 const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.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 (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\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) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) 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"}
|
|
@@ -59,9 +59,9 @@ var _default = baseMixins.extend({
|
|
|
59
59
|
var _this = this;
|
|
60
60
|
|
|
61
61
|
this.$nextTick(function () {
|
|
62
|
-
var
|
|
62
|
+
var _a;
|
|
63
63
|
|
|
64
|
-
val ? _this.calculateInputHeight() : (
|
|
64
|
+
val ? _this.calculateInputHeight() : (_a = _this.$refs.input) === null || _a === void 0 ? void 0 : _a.style.removeProperty('height');
|
|
65
65
|
});
|
|
66
66
|
},
|
|
67
67
|
lazyValue: function lazyValue() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTextarea/VTextarea.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAGA;;;;;;;;;;AAWA,IAAM,UAAU,GAAG,qBAGjB,mBAHiB,CAAnB;AAMA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,YADyB;AAG/B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADG;AAET,MAAA,OAAO,EAAE,EAFA;AAGT,MAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,eAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAD,CAAX,CAAlB;AAAA;AAHF,KAHN;AAQL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADF;AAEJ,MAAA,OAAO,EAAE,CAFL;AAGJ,MAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,eAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAD,EAAI,EAAJ,CAAT,CAAlB;AAAA;AAHP;AARD,GAHwB;AAkB/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,sBAAc,IADhB;AAEE,iCAAyB,KAAK,QAFhC;AAGE,iCAAyB,KAAK;AAHhC,SAIK,oBAAW,OAAX,CAAmB,QAAnB,CAA4B,OAA5B,CAAoC,IAApC,CAAyC,IAAzC,CAJL;AAMD,KARO;AASR,IAAA,cATQ,4BASM;AACZ,aAAO,KAAK,QAAL,IAAiB,KAAK,QAA7B;AACD;AAXO,GAlBqB;AAgC/B,EAAA,KAAK,EAAE;AACL,IAAA,QADK,oBACK,GADL,EACiB;AAAA;;AACpB,WAAK,SAAL,CAAe,YAAK
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTextarea/VTextarea.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins<options &\n InstanceType<typeof VTextField>\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n"],"sourceRoot":"","file":"VTextarea.js"}
|