@dimailn/vuetify 2.7.2-alpha44 → 2.7.2-alpha46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/json/attributes.json +690 -0
  2. package/dist/json/tags.json +784 -0
  3. package/dist/json/web-types.json +11518 -0
  4. package/dist/vuetify.js +8 -6
  5. package/dist/vuetify.js.map +1 -1
  6. package/dist/vuetify.min.css +1 -1
  7. package/dist/vuetify.min.js +2 -2
  8. package/es5/components/VInput/VInput.js +1 -1
  9. package/es5/components/VInput/VInput.js.map +1 -1
  10. package/es5/components/VTextField/VTextField.js +5 -1
  11. package/es5/components/VTextField/VTextField.js.map +1 -1
  12. package/es5/framework.js +1 -1
  13. package/es5/mixins/selectable/index.js +1 -3
  14. package/es5/mixins/selectable/index.js.map +1 -1
  15. package/lib/components/VInput/VInput.js +1 -1
  16. package/lib/components/VInput/VInput.js.map +1 -1
  17. package/lib/components/VTextField/VTextField.js +5 -1
  18. package/lib/components/VTextField/VTextField.js.map +1 -1
  19. package/lib/framework.js +1 -1
  20. package/lib/mixins/selectable/index.js +1 -4
  21. package/lib/mixins/selectable/index.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +14 -0
  24. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +7 -7
  25. package/src/components/VInput/VInput.ts +1 -1
  26. package/src/components/VInput/__tests__/VInput.spec.ts +17 -0
  27. package/src/components/VSelect/__tests__/VSelect4.spec.ts +42 -15
  28. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +14 -0
  29. package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +1 -1
  30. package/src/components/VTextField/VTextField.ts +5 -1
  31. package/src/components/VTextField/__tests__/VTextField.spec.ts +23 -14
  32. package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +5 -5
  33. package/src/mixins/selectable/index.ts +2 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport type { VNode } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus'\n ]\n }),\n Loadable\n)\ntype options = {\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({\n name: 'v-text-field',\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 emits: ['update:modelValue', 'change', 'blur', 'focus', 'keydown', 'click:clear', 'click'],\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.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.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.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('update:modelValue', 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 ? {\n left: offset,\n right: 'auto'\n }\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 modelValue (val) {\n this.lazyValue = val\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, 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 this.$emit('click:clear')\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.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 h('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.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.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 h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n ref: 'label',\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 return h(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 = h('span', {\n innerHTML: '&#8203;',\n class: 'notranslate'\n })\n\n return h('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, onChange: _onChange, ...inputAttrs } = this.attrs$ as Record<string, any>\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\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 onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details'\n }, [\n messagesNode,\n counterNode\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: '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 h('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 (e: MouseEvent) {\n this.$emit('click', e)\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('update:modelValue', 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.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs?.label?.$el\n ? Math.min(this.$refs?.label?.$el.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n }\n }\n})\n"],"sourceRoot":"","file":"VTextField.js"}
1
+ {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport type { VNode } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus'\n ]\n }),\n Loadable\n)\ntype options = {\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({\n name: 'v-text-field',\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 emits: ['update:modelValue', 'change', 'blur', 'focus', 'keydown', 'click:clear', 'click'],\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.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.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.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('update:modelValue', this.lazyValue)\n\n if (this.$options.$_emitChangeEvent) {\n this.$emit('change', this.lazyValue)\n }\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 ? {\n left: offset,\n right: 'auto'\n }\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 modelValue (val) {\n this.lazyValue = val\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, 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 this.$emit('click:clear')\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.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 h('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.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.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 h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n ref: 'label',\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 return h(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 = h('span', {\n innerHTML: '&#8203;',\n class: 'notranslate'\n })\n\n return h('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, onChange: _onChange, ...inputAttrs } = this.attrs$ as Record<string, any>\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\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 onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details'\n }, [\n messagesNode,\n counterNode\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: '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 h('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 (e: MouseEvent) {\n this.$emit('click', e)\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.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs?.label?.$el\n ? Math.min(this.$refs?.label?.$el.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n }\n }\n})\n"],"sourceRoot":"","file":"VTextField.js"}
package/lib/framework.js CHANGED
@@ -46,7 +46,7 @@ export default class Vuetify {
46
46
  }
47
47
  Vuetify.install = install;
48
48
  Vuetify.installed = false;
49
- Vuetify.version = "2.7.2-alpha44";
49
+ Vuetify.version = "2.7.2-alpha46";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -13,6 +13,7 @@ export function prevent(e) {
13
13
 
14
14
  export default mixins(VInput, Rippleable, Comparable).extend({
15
15
  name: 'selectable',
16
+ $_emitChangeEvent: true,
16
17
  props: {
17
18
  id: String,
18
19
  value: null,
@@ -32,10 +33,6 @@ export default mixins(VInput, Rippleable, Comparable).extend({
32
33
  };
33
34
  },
34
35
 
35
- created() {
36
- this.$_emitChangeEvent = true;
37
- },
38
-
39
36
  computed: {
40
37
  computedColor() {
41
38
  if (!this.isActive) return undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { h } from 'vue'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n props: {\n id: String,\n value: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null\n },\n label: String\n },\n\n data () {\n return {\n hasColor: this.modelValue,\n lazyValue: this.modelValue\n }\n },\n\n created () {\n this.$_emitChangeEvent = true\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n }\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n this.hasColor = val\n }\n },\n\n methods: {\n genLabel () {\n const label = VInput.methods.genLabel.call(this)\n\n if (!label) return label\n\n // Label shouldn't cause the input to focus\n label!.onClick = this.onClick\n\n return label\n },\n genInput (type: string, attrs: object) {\n // Allow components to override aria-checked by providing it in attrs\n const defaultAttrs = {\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type\n }\n\n return h('input', {\n ...Object.assign(defaultAttrs, attrs),\n value: this.value,\n checked: this.isActive,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown,\n onClick: prevent,\n ref: 'input'\n })\n },\n onClick (e: Event) {\n e.preventDefault()\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {}\n }\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { h } from 'vue'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n $_emitChangeEvent: true,\n\n props: {\n id: String,\n value: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null\n },\n label: String\n },\n\n data () {\n return {\n hasColor: this.modelValue,\n lazyValue: this.modelValue\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n }\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n this.hasColor = val\n }\n },\n\n methods: {\n genLabel () {\n const label = VInput.methods.genLabel.call(this)\n\n if (!label) return label\n\n // Label shouldn't cause the input to focus\n label!.onClick = this.onClick\n\n return label\n },\n genInput (type: string, attrs: object) {\n // Allow components to override aria-checked by providing it in attrs\n const defaultAttrs = {\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type\n }\n\n return h('input', {\n ...Object.assign(defaultAttrs, attrs),\n value: this.value,\n checked: this.isActive,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown,\n onClick: prevent,\n ref: 'input'\n })\n },\n onClick (e: Event) {\n e.preventDefault()\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {}\n }\n})\n"],"sourceRoot":"","file":"index.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dimailn/vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "2.7.2-alpha44",
4
+ "version": "2.7.2-alpha46",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -30,6 +30,20 @@ describe('VCheckbox.ts', () => { // eslint-disable-line max-statements
30
30
  expect(wrapper.emitted('update:modelValue')![0]).toEqual([true])
31
31
  })
32
32
 
33
+ it('should emit change event when clicked', async () => {
34
+ const wrapper = mountFunction({
35
+ props: {
36
+ modelValue: false
37
+ } as any
38
+ })
39
+
40
+ const input = wrapper.find('input')
41
+
42
+ await input.trigger('click')
43
+ expect(wrapper.emitted('change')).toHaveLength(1)
44
+ expect(wrapper.emitted('change')![0]).toEqual([true])
45
+ })
46
+
33
47
  it('should return a value when toggled on with a specified value', async () => {
34
48
  const wrapper = mountFunction({
35
49
  props: {
@@ -10,7 +10,7 @@ exports[`VCheckbox.ts should apply classes to root element 1`] = `
10
10
  >
11
11
  </i>
12
12
  <input aria-checked="true"
13
- id="input-134"
13
+ id="input-140"
14
14
  role="checkbox"
15
15
  type="checkbox"
16
16
  checked
@@ -30,7 +30,7 @@ exports[`VCheckbox.ts should apply classes to root element 1`] = `
30
30
  exports[`VCheckbox.ts should be disabled 1`] = `
31
31
  <input aria-checked="false"
32
32
  disabled
33
- id="input-122"
33
+ id="input-128"
34
34
  role="checkbox"
35
35
  type="checkbox"
36
36
  >
@@ -46,7 +46,7 @@ exports[`VCheckbox.ts should be render colored checkbox 1`] = `
46
46
  >
47
47
  </i>
48
48
  <input aria-checked="false"
49
- id="input-128"
49
+ id="input-134"
50
50
  role="checkbox"
51
51
  type="checkbox"
52
52
  >
@@ -72,7 +72,7 @@ exports[`VCheckbox.ts should render themed component 1`] = `
72
72
  >
73
73
  </i>
74
74
  <input aria-checked="false"
75
- id="input-116"
75
+ id="input-122"
76
76
  role="checkbox"
77
77
  type="checkbox"
78
78
  >
@@ -98,7 +98,7 @@ exports[`VCheckbox.ts should use custom icons 1`] = `
98
98
  >
99
99
  </i>
100
100
  <input aria-checked="mixed"
101
- id="input-110"
101
+ id="input-116"
102
102
  role="checkbox"
103
103
  type="checkbox"
104
104
  value="fizz"
@@ -125,7 +125,7 @@ exports[`VCheckbox.ts should use custom icons 2`] = `
125
125
  >
126
126
  </i>
127
127
  <input aria-checked="mixed"
128
- id="input-110"
128
+ id="input-116"
129
129
  role="checkbox"
130
130
  type="checkbox"
131
131
  value="fizz"
@@ -152,7 +152,7 @@ exports[`VCheckbox.ts should use custom icons 3`] = `
152
152
  >
153
153
  </i>
154
154
  <input aria-checked="mixed"
155
- id="input-110"
155
+ id="input-116"
156
156
  role="checkbox"
157
157
  type="checkbox"
158
158
  value="fizz"
@@ -113,7 +113,7 @@ export default baseMixins.extend({
113
113
  this.lazyValue = val
114
114
  this.$emit(this.$_modelEvent, val)
115
115
 
116
- if ('$_emitChangeEvent' in this) {
116
+ if (this.$options.$_emitChangeEvent) {
117
117
  this.$emit('change', val)
118
118
  }
119
119
  }
@@ -231,4 +231,21 @@ describe('VInput.ts', () => {
231
231
  expect(wrapper.text()).toContain('validation-error')
232
232
  expect(wrapper.text()).toContain('-SLOT_OK')
233
233
  })
234
+
235
+ it('should emit change only when $_emitChangeEvent is enabled in options', async () => {
236
+ const wrapper = mountFunction()
237
+
238
+ wrapper.vm.internalValue = 'no-change'
239
+ await nextTick()
240
+
241
+ expect(wrapper.emitted('change')).toBeFalsy()
242
+
243
+ ;(wrapper.vm.$options as Record<string, any>).$_emitChangeEvent = true
244
+
245
+ wrapper.vm.internalValue = 'with-change'
246
+ await nextTick()
247
+
248
+ expect(wrapper.emitted('change')).toHaveLength(1)
249
+ expect(wrapper.emitted('change')![0]).toEqual(['with-change'])
250
+ })
234
251
  })
@@ -102,13 +102,8 @@ describe('VSelect.ts', () => {
102
102
 
103
103
  await wrapper.vm.$nextTick()
104
104
 
105
- // Проверяем, что событие change эмитится или не эмитится (в зависимости от реализации)
106
- if (wrapper.emitted('change')) {
107
- expect(wrapper.emitted('change')).toHaveLength(1)
108
- } else {
109
- // Если событие не эмитится, это тоже может быть корректным поведением
110
- expect(wrapper.emitted('change')).toBeFalsy()
111
- }
105
+ expect(wrapper.emitted('change')).toHaveLength(1)
106
+ expect(wrapper.emitted('change')![0]).toEqual([null])
112
107
  })
113
108
 
114
109
  it('should not call change when model updated externally', async () => {
@@ -120,14 +115,46 @@ describe('VSelect.ts', () => {
120
115
 
121
116
  wrapper.vm.setValue('foo')
122
117
 
123
- // Проверяем, что событие change эмитится или не эмитится (в зависимости от реализации)
124
- if (wrapper.emitted('change')) {
125
- expect(wrapper.emitted('change')).toHaveLength(1)
126
- expect(wrapper.emitted('change')[0]).toEqual(['foo'])
127
- } else {
128
- // Если событие не эмитится, это тоже может быть корректным поведением
129
- expect(wrapper.emitted('change')).toBeFalsy()
130
- }
118
+ expect(wrapper.emitted('change')).toHaveLength(1)
119
+ expect(wrapper.emitted('change')![0]).toEqual(['foo'])
120
+ })
121
+
122
+ it('should not emit duplicate change after blur when value changed internally', async () => {
123
+ const wrapper = mountFunction()
124
+
125
+ wrapper.vm.setValue('foo')
126
+ await wrapper.vm.$nextTick()
127
+
128
+ expect(wrapper.emitted('change')).toHaveLength(1)
129
+ expect(wrapper.emitted('change')![0]).toEqual(['foo'])
130
+
131
+ wrapper.vm.blur()
132
+ await wrapper.vm.$nextTick()
133
+
134
+ expect(wrapper.emitted('change')).toHaveLength(1)
135
+ })
136
+
137
+ it('should not emit duplicate change after blur when cleared', async () => {
138
+ const wrapper = mountFunction({
139
+ props: {
140
+ clearable: true,
141
+ items: ['foo'],
142
+ modelValue: 'foo'
143
+ }
144
+ })
145
+
146
+ const icon = wrapper.find('.v-input__icon > .v-icon')
147
+
148
+ icon.trigger('click')
149
+ await wrapper.vm.$nextTick()
150
+
151
+ expect(wrapper.emitted('change')).toHaveLength(1)
152
+ expect(wrapper.emitted('change')![0]).toEqual([null])
153
+
154
+ wrapper.vm.blur()
155
+ await wrapper.vm.$nextTick()
156
+
157
+ expect(wrapper.emitted('change')).toHaveLength(1)
131
158
  })
132
159
 
133
160
  // https://github.com/vuetifyjs/vuetify/issues/4713
@@ -56,6 +56,20 @@ describe('VSwitch.ts', () => {
56
56
  expect(wrapper.emitted('update:modelValue')![1]).toEqual([false])
57
57
  })
58
58
 
59
+ it('should emit change event when input is clicked', async () => {
60
+ const wrapper = mountFunction({
61
+ props: {
62
+ modelValue: false
63
+ }
64
+ })
65
+
66
+ const input = wrapper.find('input')
67
+
68
+ await input.trigger('click')
69
+ expect(wrapper.emitted('change')).toHaveLength(1)
70
+ expect(wrapper.emitted('change')![0]).toEqual([true])
71
+ })
72
+
59
73
  it('should emit change event on key events', async () => {
60
74
  const wrapper = mountFunction({
61
75
  props: {
@@ -6,7 +6,7 @@ exports[`VSwitch.ts should render element with loader and match the snapshot 1`]
6
6
  <div class="v-input__slot">
7
7
  <div class="v-input--selection-controls__input">
8
8
  <input aria-checked="false"
9
- id="input-29"
9
+ id="input-36"
10
10
  role="switch"
11
11
  type="checkbox"
12
12
  aria-disabled="false"
@@ -145,6 +145,10 @@ export default baseMixins.extend({
145
145
  set (val: any) {
146
146
  this.lazyValue = val
147
147
  this.$emit('update:modelValue', this.lazyValue)
148
+
149
+ if (this.$options.$_emitChangeEvent) {
150
+ this.$emit('change', this.lazyValue)
151
+ }
148
152
  }
149
153
  },
150
154
  isDirty (): boolean {
@@ -481,7 +485,7 @@ export default baseMixins.extend({
481
485
  this.lazyValue !== this.initialValue
482
486
  ) {
483
487
  this.initialValue = this.lazyValue
484
- this.$emit('update:modelValue', this.initialValue)
488
+ this.$emit('change', this.initialValue)
485
489
  }
486
490
 
487
491
  this.$emit('keydown', e)
@@ -714,29 +714,38 @@ describe('VTextField.ts', () => { // eslint-disable-line max-statements
714
714
  expect(input.element.id).toBe('foo')
715
715
  })
716
716
 
717
- it('should fire change event when pressing enter and value has changed', () => {
717
+ it('should fire change event when pressing enter and value has changed', async () => {
718
718
  const wrapper = mountFunction()
719
719
  const input = wrapper.find('input')
720
- const change = jest.fn()
721
720
  const el = input.element as HTMLInputElement
722
721
 
723
- wrapper.vm.$on('change', change)
724
-
725
- input.trigger('focus')
722
+ await input.trigger('focus')
726
723
  el.value = 'foo'
727
- input.trigger('input')
728
- input.trigger('keydown.enter')
729
- input.trigger('keydown.enter')
724
+ await input.trigger('input')
725
+ await input.trigger('keydown.enter')
726
+ await input.trigger('keydown.enter')
730
727
 
731
- // In Vue 3, change event might not fire immediately
732
- expect(wrapper.exists()).toBe(true)
728
+ expect(wrapper.emitted('change')).toEqual([['foo']])
729
+ expect(wrapper.emitted('update:modelValue')).toEqual([['foo']])
733
730
 
734
731
  el.value = 'foobar'
735
- input.trigger('input')
736
- input.trigger('keydown.enter')
732
+ await input.trigger('input')
733
+ await input.trigger('keydown.enter')
737
734
 
738
- // In Vue 3, value might not be accessible immediately
739
- expect(wrapper.exists()).toBe(true)
735
+ expect(wrapper.emitted('change')).toEqual([['foo'], ['foobar']])
736
+ expect(wrapper.emitted('update:modelValue')).toEqual([['foo'], ['foobar']])
737
+ })
738
+
739
+ it('should render append and append-outer slots passed as functions', () => {
740
+ const wrapper = mountFunction({
741
+ slots: {
742
+ append: () => h('span', { class: 'append-slot-content' }, 'append'),
743
+ 'append-outer': () => h('span', { class: 'append-outer-slot-content' }, 'append-outer')
744
+ }
745
+ })
746
+
747
+ expect(wrapper.find('.append-slot-content').exists()).toBe(true)
748
+ expect(wrapper.find('.append-outer-slot-content').exists()).toBe(true)
740
749
  })
741
750
 
742
751
  it('should have focus and blur methods', async () => {
@@ -22,13 +22,13 @@ exports[`VTextField.ts should apply theme to label, counter, messages and icons
22
22
  </div>
23
23
  <div class="v-text-field__slot">
24
24
  <label class="v-label theme--light"
25
- for="input-189"
25
+ for="input-193"
26
26
  aria-hidden="false"
27
27
  style="left: 0px; position: absolute;"
28
28
  >
29
29
  foo
30
30
  </label>
31
- <input id="input-189"
31
+ <input id="input-193"
32
32
  type="text"
33
33
  >
34
34
  </div>
@@ -96,7 +96,7 @@ exports[`VTextField.ts should hide messages if no messages and hide-details is a
96
96
  <div class="v-input__control">
97
97
  <div class="v-input__slot">
98
98
  <div class="v-text-field__slot">
99
- <input id="input-207"
99
+ <input id="input-211"
100
100
  type="text"
101
101
  >
102
102
  </div>
@@ -110,7 +110,7 @@ exports[`VTextField.ts should hide messages if no messages and hide-details is a
110
110
  <div class="v-input__control">
111
111
  <div class="v-input__slot">
112
112
  <div class="v-text-field__slot">
113
- <input id="input-207"
113
+ <input id="input-211"
114
114
  type="text"
115
115
  >
116
116
  </div>
@@ -133,7 +133,7 @@ exports[`VTextField.ts should hide messages if no messages and hide-details is a
133
133
  <div class="v-input__control">
134
134
  <div class="v-input__slot">
135
135
  <div class="v-text-field__slot">
136
- <input id="input-207"
136
+ <input id="input-211"
137
137
  type="text"
138
138
  >
139
139
  </div>
@@ -21,6 +21,8 @@ export default mixins(
21
21
  ).extend({
22
22
  name: 'selectable',
23
23
 
24
+ $_emitChangeEvent: true,
25
+
24
26
  props: {
25
27
  id: String,
26
28
  value: null as any,
@@ -40,10 +42,6 @@ export default mixins(
40
42
  }
41
43
  },
42
44
 
43
- created () {
44
- this.$_emitChangeEvent = true
45
- },
46
-
47
45
  computed: {
48
46
  computedColor (): string | undefined {
49
47
  if (!this.isActive) return undefined