{"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_inputs.styl'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n kebabCase\n} from '../../util/helpers'\nimport { deprecate } from '../../util/console'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VNodeData } from 'vue'\ninterface options extends Vue {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable,\n Validatable\n /* @vue/component */\n).extend({\n name: 'v-input',\n\n props: {\n appendIcon: String,\n /** @deprecated */\n appendIconCb: Function,\n backgroundColor: {\n type: String,\n default: ''\n },\n height: [Number, String],\n hideDetails: Boolean,\n hint: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n /** @deprecated */\n prependIconCb: Function,\n value: { required: false }\n },\n\n data () {\n return {\n attrsInput: {},\n lazyValue: this.value as any,\n hasMouseDown: false\n }\n },\n\n computed: {\n classes: () => ({}),\n classesInput (): object {\n return {\n ...this.classes,\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': this.hideDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.disabled,\n 'v-input--is-focused': this.isFocused,\n 'v-input--is-loading': this.loading !== false && this.loading !== undefined,\n 'v-input--is-readonly': this.readonly,\n ...this.themeClasses\n }\n },\n directivesInput () {\n return []\n },\n hasHint () {\n return !this.hasMessages &&\n this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel () {\n return Boolean(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get () {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n }\n },\n isDirty () {\n return !!this.lazyValue\n },\n isDisabled () {\n return Boolean(this.disabled || this.readonly)\n },\n isLabelActive () {\n return this.isDirty\n }\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n }\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot()\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control'\n }, [\n this.genInputSlot(),\n this.genMessages()\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default\n ]\n },\n // TODO: remove shouldDeprecate (2.0), used for clearIcon\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n shouldDeprecate = true\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n cb = cb || (this as any)[`${type}IconCb`]\n\n if (shouldDeprecate && type && cb) {\n deprecate(`:${type}-icon-cb`, `@${eventName}`, this)\n }\n\n const data: VNodeData = {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n light: this.light\n },\n on: !(this.$listeners[eventName] || cb)\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has mouseup event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n }\n\n return this.$createElement('div', {\n staticClass: `v-input__icon v-input__icon--${kebabCase(type)}`,\n key: `${type}${icon}`\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n )\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n directives: this.directivesInput,\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp\n },\n ref: 'input-slot'\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n focused: this.hasState,\n for: this.$attrs.id,\n light: this.light\n }\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (this.hideDetails) return null\n\n const messages = this.hasHint\n ? [this.hint]\n : this.validations\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: (this.hasMessages || this.hasHint) ? messages : []\n }\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n }\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n attrs: this.attrsInput,\n 'class': this.classesInput\n }), this.genContent())\n }\n})\n"],"sourceRoot":""}