This repository has been archived on 2024-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
keksAccountGUI/node_modulesOLD/vuetify/lib/components/VHover/VHover.js
2019-08-11 20:48:02 +02:00

69 lines
No EOL
1.4 KiB
JavaScript

// Mixins
import Delayable from '../../mixins/delayable';
import Toggleable from '../../mixins/toggleable'; // Utilities
import mixins from '../../util/mixins';
import { consoleWarn } from '../../util/console';
export default mixins(Delayable, Toggleable
/* @vue/component */
).extend({
name: 'v-hover',
props: {
disabled: {
type: Boolean,
default: false
},
value: {
type: Boolean,
default: undefined
}
},
methods: {
onMouseEnter() {
this.runDelay('open');
},
onMouseLeave() {
this.runDelay('close');
}
},
render() {
if (!this.$scopedSlots.default && this.value === undefined) {
consoleWarn('v-hover is missing a default scopedSlot or bound value', this);
return null;
}
let element;
/* istanbul ignore else */
if (this.$scopedSlots.default) {
element = this.$scopedSlots.default({
hover: this.isActive
});
}
if (Array.isArray(element) && element.length === 1) {
element = element[0];
}
if (!element || Array.isArray(element) || !element.tag) {
consoleWarn('v-hover should only contain a single element', this);
return element;
}
if (!this.disabled) {
element.data = element.data || {};
this._g(element.data, {
mouseenter: this.onMouseEnter,
mouseleave: this.onMouseLeave
});
}
return element;
}
});
//# sourceMappingURL=VHover.js.map