{"version":3,"file":"js/chunk-vendors-caf483e5-legacy.31a6061f.js","mappings":"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","sources":["webpack://i4proportal/../../../src/components/VProgressCircular/VProgressCircular.ts","webpack://i4proportal/../../../src/components/VProgressCircular/index.ts","webpack://i4proportal/../../../src/components/VProgressLinear/VProgressLinear.ts","webpack://i4proportal/../../../src/components/VProgressLinear/index.ts","webpack://i4proportal/../../../src/components/VRadioGroup/VRadio.ts","webpack://i4proportal/../../../src/components/VRadioGroup/VRadioGroup.ts","webpack://i4proportal/../../../src/components/VSlider/index.ts","webpack://i4proportal/../../../src/components/VRangeSlider/VRangeSlider.ts","webpack://i4proportal/../../../src/components/VRating/VRating.ts","webpack://i4proportal/../../../src/components/VResponsive/VResponsive.ts","webpack://i4proportal/../../../src/components/VResponsive/index.ts","webpack://i4proportal/../../../src/components/VSubheader/index.ts","webpack://i4proportal/../../../src/components/VSelect/VSelectList.ts","webpack://i4proportal/../../../src/components/VSelect/VSelect.ts","webpack://i4proportal/../../../src/components/VSheet/VSheet.ts","webpack://i4proportal/../../../src/components/VSheet/index.ts","webpack://i4proportal/../../../src/components/VSlideGroup/VSlideGroup.ts","webpack://i4proportal/../../../src/components/VSlider/VSlider.ts","webpack://i4proportal/../../../src/components/VSpeedDial/VSpeedDial.ts","webpack://i4proportal/../../../src/components/VSubheader/VSubheader.ts","webpack://i4proportal/../../../src/components/VSwitch/VSwitch.ts","webpack://i4proportal/../../../src/components/VTextField/VTextField.ts","webpack://i4proportal/../../../src/components/VTextField/index.ts","webpack://i4proportal/../../../src/components/VTextarea/VTextarea.ts","webpack://i4proportal/../../../src/components/VThemeProvider/VThemeProvider.ts","webpack://i4proportal/../../../src/components/VTimePicker/SelectingTimes.ts","webpack://i4proportal/../../../src/components/VTimePicker/VTimePickerTitle.ts","webpack://i4proportal/../../../src/components/VTimePicker/VTimePickerClock.ts","webpack://i4proportal/../../../src/components/VTimePicker/VTimePicker.ts","webpack://i4proportal/../../../src/components/VTimeline/VTimeline.ts","webpack://i4proportal/../../../src/components/VTimeline/VTimelineItem.ts","webpack://i4proportal/../../../src/components/VToolbar/VToolbar.ts","webpack://i4proportal/../../../src/components/VToolbar/index.ts","webpack://i4proportal/../../../src/components/VTooltip/VTooltip.ts","webpack://i4proportal/../../../src/components/VTreeview/VTreeviewNode.ts","webpack://i4proportal/../../../../src/components/VTreeview/util/filterTreeItems.ts","webpack://i4proportal/../../../src/components/VTreeview/VTreeview.ts","webpack://i4proportal/../../../src/components/VWindow/VWindow.ts","webpack://i4proportal/../../../src/components/VWindow/VWindowItem.ts","webpack://i4proportal/../../../src/components/transitions/createTransition.ts","webpack://i4proportal/../../../src/components/transitions/expand-transition.ts","webpack://i4proportal/../../../src/components/transitions/index.ts"],"sourcesContent":["// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: {\n type: Boolean,\n default: null,\n },\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n\n render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n","import VSlider from './VSlider'\n\nexport { VSlider }\nexport default VSlider\n","// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\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 onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n iconLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.icon',\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this.$props\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n click: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n\n if (\n this.halfIncrements &&\n this.$vuetify.rtl\n ) {\n isHalf = !isHalf\n }\n\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n },\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n ripple: false,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return this.$createElement('span', { staticClass: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return this.$createElement(VListItemContent, [\n this.$createElement(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1,\n },\n on: {\n mousedown: (e: Event) => {\n e.preventDefault()\n },\n },\n props: { dense: this.dense },\n }, children)\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType {\n $refs: {\n menu: InstanceType\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop ()\n this.attach === true || // If bound to a boolean ()\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","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\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,\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,\n ticks: {\n type: [Boolean, String] as PropType,\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 {\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 {\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","// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\nimport { Prop } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n directives: { ClickOutside },\n\n props: {\n direction: {\n type: String as Prop<'top' | 'right' | 'bottom' | 'left'>,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (h): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n directives: [{\n name: 'click-outside',\n value: () => (this.isActive = false),\n }],\n on: {\n click: () => (this.isActive = !this.isActive),\n },\n }\n\n if (this.openOnHover) {\n data.on!.mouseenter = () => (this.isActive = true)\n data.on!.mouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (getSlot(this) || []).map((b, i) => {\n if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.options.name === 'v-btn' || b.componentOptions.Ctor.options.name === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h('transition-group', {\n class: 'v-speed-dial__list',\n props: {\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n },\n }, children)\n\n return h('div', data, [getSlot(this, 'activator'), list])\n },\n})\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, getSlot(this))\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : getSlot(this, 'progress') || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","// 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, getSlot, 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 {\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().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, getSlot(this, '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","import VTextField from './VTextField'\n\nexport { VTextField }\nexport default VTextField\n","// 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\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","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-theme-provider',\n\n props: { root: Boolean },\n\n computed: {\n isDark (): boolean {\n return this.root\n ? this.rootIsDark\n : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n /* istanbul ignore next */\n return (\n this.$slots.default! &&\n this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n )\n },\n})\n","enum SelectingTimes {\n Hour = 1,\n Minute = 2,\n Second = 3\n}\n\nexport { SelectingTimes }\n","import './VTimePickerTitle.sass'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { pad } from '../VDatePicker/util'\nimport mixins from '../../util/mixins'\n\nimport { SelectingTimes } from './SelectingTimes'\nimport { VNode, PropType } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker-title',\n\n props: {\n ampm: Boolean,\n ampmReadonly: Boolean,\n disabled: Boolean,\n hour: Number,\n minute: Number,\n second: Number,\n period: {\n type: String as PropType<'am' | 'pm'>,\n validator: period => period === 'am' || period === 'pm',\n },\n readonly: Boolean,\n useSeconds: Boolean,\n selecting: Number,\n },\n\n methods: {\n genTime () {\n let hour = this.hour\n if (this.ampm) {\n hour = hour ? ((hour - 1) % 12 + 1) : 12\n }\n\n const displayedHour = this.hour == null ? '--' : this.ampm ? String(hour) : pad(hour)\n const displayedMinute = this.minute == null ? '--' : pad(this.minute)\n const titleContent = [\n this.genPickerButton('selecting', SelectingTimes.Hour, displayedHour, this.disabled),\n this.$createElement('span', ':'),\n this.genPickerButton('selecting', SelectingTimes.Minute, displayedMinute, this.disabled),\n ]\n\n if (this.useSeconds) {\n const displayedSecond = this.second == null ? '--' : pad(this.second)\n titleContent.push(this.$createElement('span', ':'))\n titleContent.push(this.genPickerButton('selecting', SelectingTimes.Second, displayedSecond, this.disabled))\n }\n return this.$createElement('div', {\n class: 'v-time-picker-title__time',\n }, titleContent)\n },\n genAmPm () {\n return this.$createElement('div', {\n staticClass: 'v-time-picker-title__ampm',\n class: {\n 'v-time-picker-title__ampm--readonly': this.ampmReadonly,\n },\n }, [\n (!this.ampmReadonly || this.period === 'am') ? this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly) : null,\n (!this.ampmReadonly || this.period === 'pm') ? this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly) : null,\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genTime()]\n\n this.ampm && children.push(this.genAmPm())\n\n return h('div', {\n staticClass: 'v-time-picker-title',\n }, children)\n },\n})\n","import './VTimePickerClock.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Vue, { VNode, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface Point {\n x: number\n y: number\n}\n\ninterface options extends Vue {\n $refs: {\n clock: HTMLElement\n innerClock: HTMLElement\n }\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-time-picker-clock',\n\n props: {\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n disabled: Boolean,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n } as PropValidator<(val: string | number) => string | number>,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n value: Number,\n },\n\n data () {\n return {\n inputValue: this.value,\n isDragging: false,\n valueOnMouseDown: null as number | null,\n valueOnMouseUp: null as number | null,\n }\n },\n\n computed: {\n count (): number {\n return this.max - this.min + 1\n },\n degreesPerUnit (): number {\n return 360 / this.roundCount\n },\n degrees (): number {\n return this.degreesPerUnit * Math.PI / 180\n },\n displayedValue (): number {\n return this.value == null ? this.min : this.value\n },\n innerRadiusScale (): number {\n return 0.62\n },\n roundCount (): number {\n return this.double ? (this.count / 2) : this.count\n },\n },\n\n watch: {\n value (value) {\n this.inputValue = value\n },\n },\n\n methods: {\n wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = this.displayedValue\n do {\n value = value + delta\n value = (value - this.min + this.count) % this.count + this.min\n } while (!this.isAllowed(value) && value !== this.displayedValue)\n\n if (value !== this.displayedValue) {\n this.update(value)\n }\n },\n isInner (value: number) {\n return this.double && (value - this.min >= this.roundCount)\n },\n handScale (value: number) {\n return this.isInner(value) ? this.innerRadiusScale : 1\n },\n isAllowed (value: number) {\n return !this.allowedValues || this.allowedValues(value)\n },\n genValues () {\n const children: VNode[] = []\n\n for (let value = this.min; value <= this.max; value = value + this.step) {\n const color = value === this.value && (this.color || 'accent')\n children.push(this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-time-picker-clock__item',\n class: {\n 'v-time-picker-clock__item--active': value === this.displayedValue,\n 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value),\n },\n style: this.getTransform(value),\n domProps: { innerHTML: `${this.format(value)}` },\n })))\n }\n\n return children\n },\n genHand () {\n const scale = `scaleY(${this.handScale(this.displayedValue)})`\n const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min)\n const color = (this.value != null) && (this.color || 'accent')\n return this.$createElement('div', this.setBackgroundColor(color, {\n staticClass: 'v-time-picker-clock__hand',\n class: {\n 'v-time-picker-clock__hand--inner': this.isInner(this.value),\n },\n style: {\n transform: `rotate(${angle}deg) ${scale}`,\n },\n }))\n },\n getTransform (i: number) {\n const { x, y } = this.getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n },\n getPosition (value: number) {\n const rotateRadians = this.rotate * Math.PI / 180\n return {\n x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n }\n },\n onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.valueOnMouseDown = null\n this.valueOnMouseUp = null\n this.isDragging = true\n this.onDragMove(e)\n },\n onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n\n this.isDragging = false\n if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {\n this.$emit('change', this.valueOnMouseUp)\n }\n },\n onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!this.isDragging && e.type !== 'click') || !this.$refs.clock) return\n\n const { width, top, left } = this.$refs.clock.getBoundingClientRect()\n const { width: innerWidth } = this.$refs.innerClock.getBoundingClientRect()\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360\n const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4\n const checksCount = Math.ceil(15 / this.degreesPerUnit)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = this.angleToValue(handAngle + i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n\n value = this.angleToValue(handAngle - i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n }\n },\n angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / this.degreesPerUnit) +\n (insideClick ? this.roundCount : 0)\n ) % this.count + this.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - this.degreesPerUnit / 2)) return value\n\n return insideClick ? this.max - this.roundCount + 1 : this.min\n },\n setMouseDownValue (value: number) {\n if (this.valueOnMouseDown === null) {\n this.valueOnMouseDown = value\n }\n\n this.valueOnMouseUp = value\n this.update(value)\n },\n update (value: number) {\n if (this.inputValue !== value) {\n this.inputValue = value\n this.$emit('input', value)\n }\n },\n euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n },\n angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n },\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-time-picker-clock',\n class: {\n 'v-time-picker-clock--indeterminate': this.value == null,\n ...this.themeClasses,\n },\n on: (this.readonly || this.disabled) ? undefined : {\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: (e: MouseEvent) => (this.isDragging && this.onMouseUp(e)),\n touchstart: this.onMouseDown,\n touchend: this.onMouseUp,\n mousemove: this.onDragMove,\n touchmove: this.onDragMove,\n },\n ref: 'clock',\n }\n\n if (this.scrollable && data.on) {\n data.on.wheel = this.wheel\n }\n\n return h('div', data, [\n h('div', {\n staticClass: 'v-time-picker-clock__inner',\n ref: 'innerClock',\n }, [\n this.genHand(),\n this.genValues(),\n ]),\n ])\n },\n})\n","// Components\nimport VTimePickerTitle from './VTimePickerTitle'\nimport VTimePickerClock from './VTimePickerClock'\n\n// Mixins\nimport Picker from '../../mixins/picker'\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { createRange } from '../../util/helpers'\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { SelectingTimes }\n\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\ntype ActivePicker = 'HOUR' | 'MINUTE' | 'SECOND'\n\nexport default mixins(\n Picker,\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n activePicker: String as PropType,\n allowedHours: [Function, Array] as PropType,\n allowedMinutes: [Function, Array] as PropType,\n allowedSeconds: [Function, Array] as PropType,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n validator (val: any) {\n return ['ampm', '24hr'].includes(val)\n },\n },\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n value: null as any as PropType,\n ampmInTitle: Boolean,\n },\n\n data () {\n return {\n inputHour: null as number | null,\n inputMinute: null as number | null,\n inputSecond: null as number | null,\n lazyInputHour: null as number | null,\n lazyInputMinute: null as number | null,\n lazyInputSecond: null as number | null,\n period: 'am' as Period,\n selecting: SelectingTimes.Hour,\n }\n },\n\n computed: {\n selectingHour: {\n get (): boolean {\n return this.selecting === SelectingTimes.Hour\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Hour\n },\n },\n selectingMinute: {\n get (): boolean {\n return this.selecting === SelectingTimes.Minute\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Minute\n },\n },\n selectingSecond: {\n get (): boolean {\n return this.selecting === SelectingTimes.Second\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Second\n },\n },\n isAllowedHourCb (): AllowFunction {\n let cb: AllowFunction\n\n if (this.allowedHours instanceof Array) {\n cb = (val: number) => (this.allowedHours as number[]).includes(val)\n } else {\n cb = this.allowedHours\n }\n\n if (!this.min && !this.max) return cb\n\n const minHour = this.min ? Number(this.min.split(':')[0]) : 0\n const maxHour = this.max ? Number(this.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 &&\n val <= maxHour * 1 &&\n (!cb || cb(val))\n }\n },\n isAllowedMinuteCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n if (this.allowedMinutes instanceof Array) {\n cb = (val: number) => (this.allowedMinutes as number[]).includes(val)\n } else {\n cb = this.allowedMinutes\n }\n\n if (!this.min && !this.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = this.min ? this.min.split(':').map(Number) : [0, 0]\n const [maxHour, maxMinute] = this.max ? this.max.split(':').map(Number) : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * this.inputHour! + val\n return time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n }\n },\n isAllowedSecondCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n const isMinuteAllowed = isHourAllowed &&\n (!this.isAllowedMinuteCb ||\n this.inputMinute === null ||\n this.isAllowedMinuteCb(this.inputMinute)\n )\n\n if (this.allowedSeconds instanceof Array) {\n cb = (val: number) => (this.allowedSeconds as number[]).includes(val)\n } else {\n cb = this.allowedSeconds\n }\n\n if (!this.min && !this.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = this.min ? this.min.split(':').map(Number) : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = this.max ? this.max.split(':').map(Number) : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * this.inputHour! + 60 * this.inputMinute! + val\n return time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n }\n },\n isAmPm (): boolean {\n return this.format === 'ampm'\n },\n },\n\n watch: {\n activePicker: 'setPicker',\n selecting: 'emitPicker',\n value: 'setInputData',\n },\n\n mounted () {\n this.setInputData(this.value)\n this.$on('update:period', this.setPeriod)\n },\n\n methods: {\n genValue () {\n if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {\n return `${pad(this.inputHour)}:${pad(this.inputMinute)}` + (this.useSeconds ? `:${pad(this.inputSecond!)}` : '')\n }\n\n return null\n },\n emitValue () {\n const value = this.genValue()\n if (value !== null) this.$emit('input', value)\n },\n emitPicker (value: SelectingTimes) {\n let activePicker = 'HOUR'\n if (value === SelectingTimes.Minute) {\n activePicker = 'MINUTE'\n } else if (value === SelectingTimes.Second) {\n activePicker = 'SECOND'\n }\n this.$emit('update:active-picker', activePicker)\n },\n setPicker (picker: ActivePicker) {\n if (picker === 'HOUR') this.selecting = SelectingTimes.Hour\n else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute\n else if (picker === 'SECOND' && this.useSeconds) this.selecting = SelectingTimes.Second\n },\n setPeriod (period: Period) {\n this.period = period\n if (this.inputHour != null) {\n const newHour = this.inputHour! + (period === 'am' ? -12 : 12)\n this.inputHour = this.firstAllowed('hour', newHour)\n this.emitValue()\n }\n },\n setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n } else if (value instanceof Date) {\n this.inputHour = value.getHours()\n this.inputMinute = value.getMinutes()\n this.inputSecond = value.getSeconds()\n } else {\n const [, hour, minute, , second, period] = value.trim().toLowerCase().match(/^(\\d+):(\\d+)(:(\\d+))?([ap]m)?$/) || new Array(6)\n\n this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period as Period) : parseInt(hour, 10)\n this.inputMinute = parseInt(minute, 10)\n this.inputSecond = parseInt(second || 0, 10)\n }\n\n this.period = (this.inputHour == null || this.inputHour < 12) ? 'am' : 'pm'\n },\n convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12 + 1) : 12\n },\n convert12to24 (hour: number, period: Period) {\n return hour % 12 + (period === 'pm' ? 12 : 0)\n },\n onInput (value: number) {\n if (this.selecting === SelectingTimes.Hour) {\n this.inputHour = this.isAmPm ? this.convert12to24(value, this.period) : value\n } else if (this.selecting === SelectingTimes.Minute) {\n this.inputMinute = value\n } else {\n this.inputSecond = value\n }\n this.emitValue()\n },\n onChange (value: number) {\n this.$emit(`click:${selectingNames[this.selecting]}`, value)\n\n const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (this.selecting === SelectingTimes.Hour) {\n this.selecting = SelectingTimes.Minute\n } else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {\n this.selecting = SelectingTimes.Second\n }\n\n if (this.inputHour === this.lazyInputHour &&\n this.inputMinute === this.lazyInputMinute &&\n (!this.useSeconds || this.inputSecond === this.lazyInputSecond)\n ) return\n\n const time = this.genValue()\n if (time === null) return\n\n this.lazyInputHour = this.inputHour\n this.lazyInputMinute = this.inputMinute\n this.useSeconds && (this.lazyInputSecond = this.inputSecond)\n\n emitChange && this.$emit('change', time)\n },\n firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn = type === 'hour' ? this.isAllowedHourCb : (type === 'minute' ? this.isAllowedMinuteCb : this.isAllowedSecondCb)\n if (!allowedFn) return value\n\n // TODO: clean up\n const range = type === 'minute'\n ? range60\n : (type === 'second'\n ? range60\n : (this.isAmPm\n ? (value < 12\n ? rangeHours12am\n : rangeHours12pm)\n : rangeHours24))\n const first = range.find(v => allowedFn((v + value) % range.length + range[0]))\n return ((first || 0) + value) % range.length + range[0]\n },\n genClock () {\n return this.$createElement(VTimePickerClock, {\n props: {\n allowedValues:\n this.selecting === SelectingTimes.Hour\n ? this.isAllowedHourCb\n : (this.selecting === SelectingTimes.Minute\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb),\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n double: this.selecting === SelectingTimes.Hour && !this.isAmPm,\n format: this.selecting === SelectingTimes.Hour\n ? (this.isAmPm ? this.convert24to12 : (val: number) => val)\n : (val: number) => pad(val, 2),\n light: this.light,\n max: this.selecting === SelectingTimes.Hour ? (this.isAmPm && this.period === 'am' ? 11 : 23) : 59,\n min: this.selecting === SelectingTimes.Hour && this.isAmPm && this.period === 'pm' ? 12 : 0,\n readonly: this.readonly,\n scrollable: this.scrollable,\n size: Number(this.width) - ((!this.fullWidth && this.landscape) ? 80 : 20),\n step: this.selecting === SelectingTimes.Hour ? 1 : 5,\n value: this.selecting === SelectingTimes.Hour\n ? this.inputHour\n : (this.selecting === SelectingTimes.Minute\n ? this.inputMinute\n : this.inputSecond),\n },\n on: {\n input: this.onInput,\n change: this.onChange,\n },\n ref: 'clock',\n })\n },\n genClockAmPm () {\n return this.$createElement('div', this.setTextColor(this.color || 'primary', {\n staticClass: 'v-time-picker-clock__ampm',\n }), [\n this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),\n this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),\n ])\n },\n genPickerBody () {\n return this.$createElement('div', {\n staticClass: 'v-time-picker-clock__container',\n key: this.selecting,\n }, [\n !this.ampmInTitle && this.isAmPm && this.genClockAmPm(),\n this.genClock(),\n ])\n },\n genPickerTitle () {\n return this.$createElement(VTimePickerTitle, {\n props: {\n ampm: this.isAmPm,\n ampmReadonly: this.isAmPm && !this.ampmInTitle,\n disabled: this.disabled,\n hour: this.inputHour,\n minute: this.inputMinute,\n second: this.inputSecond,\n period: this.period,\n readonly: this.readonly,\n useSeconds: this.useSeconds,\n selecting: this.selecting,\n },\n on: {\n 'update:selecting': (value: 1 | 2 | 3) => (this.selecting = value),\n 'update:period': (period: string) => this.$emit('update:period', period),\n },\n ref: 'title',\n slot: 'title',\n })\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--time')\n },\n})\n","// Styles\nimport './VTimeline.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { getSlot } from '../../util/helpers'\n\nexport default mixins(\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-timeline',\n\n provide (): object {\n return { timeline: this }\n },\n\n props: {\n alignTop: Boolean,\n dense: Boolean,\n reverse: Boolean,\n },\n\n computed: {\n classes (): {} {\n return {\n 'v-timeline--align-top': this.alignTop,\n 'v-timeline--dense': this.dense,\n 'v-timeline--reverse': this.reverse,\n ...this.themeClasses,\n }\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-timeline',\n class: this.classes,\n }, getSlot(this))\n },\n})\n","// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\n\n// Components\nimport VTimeline from './VTimeline'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport Colorable from '../../mixins/colorable'\nimport { getSlot } from '../../util/helpers'\n\nconst baseMixins = mixins(\n Colorable,\n Themeable\n/* @vue/component */\n)\n\ntype VTimelineInstance = InstanceType\n\ninterface options extends ExtractVue {\n timeline: VTimelineInstance\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-timeline-item',\n\n inject: ['timeline'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n fillDot: Boolean,\n hideDot: Boolean,\n icon: String,\n iconColor: String,\n large: Boolean,\n left: Boolean,\n right: Boolean,\n small: Boolean,\n },\n\n computed: {\n hasIcon (): boolean {\n return !!this.icon || !!this.$slots.icon\n },\n },\n\n methods: {\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__body',\n }, getSlot(this))\n },\n genIcon (): VNode | VNode[] {\n return getSlot(this, 'icon') || this.$createElement(VIcon, {\n props: {\n color: this.iconColor,\n dark: !this.theme.isDark,\n small: this.small,\n },\n }, this.icon)\n },\n genInnerDot () {\n const data: VNodeData = this.setBackgroundColor(this.color)\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__inner-dot',\n ...data,\n }, [this.hasIcon && this.genIcon()])\n },\n genDot () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__dot',\n class: {\n 'v-timeline-item__dot--small': this.small,\n 'v-timeline-item__dot--large': this.large,\n },\n }, [this.genInnerDot()])\n },\n genDivider () {\n const children = []\n\n if (!this.hideDot) children.push(this.genDot())\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__divider',\n }, children)\n },\n genOpposite () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__opposite',\n }, getSlot(this, 'opposite'))\n },\n },\n\n render (h): VNode {\n const children = [\n this.genBody(),\n this.genDivider(),\n ]\n\n if (this.$slots.opposite) children.push(this.genOpposite())\n\n return h('div', {\n staticClass: 'v-timeline-item',\n class: {\n 'v-timeline-item--fill-dot': this.fillDot,\n 'v-timeline-item--before': this.timeline.reverse ? this.right : this.left,\n 'v-timeline-item--after': this.timeline.reverse ? this.left : this.right,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '