123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _delayable = require('../../mixins/delayable');
-
- var _delayable2 = _interopRequireDefault(_delayable);
-
- var _toggleable = require('../../mixins/toggleable');
-
- var _toggleable2 = _interopRequireDefault(_toggleable);
-
- var _mixins = require('../../util/mixins');
-
- var _mixins2 = _interopRequireDefault(_mixins);
-
- var _console = require('../../util/console');
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- // Utilities
- // Mixins
- exports.default = (0, _mixins2.default)(_delayable2.default, _toggleable2.default
- /* @vue/component */
- ).extend({
- name: 'v-hover',
- props: {
- disabled: {
- type: Boolean,
- default: false
- },
- value: {
- type: Boolean,
- default: undefined
- }
- },
- methods: {
- onMouseEnter: function onMouseEnter() {
- this.runDelay('open');
- },
- onMouseLeave: function onMouseLeave() {
- this.runDelay('close');
- }
- },
- render: function render() {
- if (!this.$scopedSlots.default && this.value === undefined) {
- (0, _console.consoleWarn)('v-hover is missing a default scopedSlot or bound value', this);
- return null;
- }
- var element = void 0;
- if (this.$scopedSlots.default) {
- element = this.$scopedSlots.default({ hover: this.isActive });
- } else if (this.$slots.default && this.$slots.default.length === 1) {
- element = this.$slots.default[0];
- }
- if (Array.isArray(element) && element.length === 1) {
- element = element[0];
- }
- if (!element || Array.isArray(element) || !element.tag) {
- (0, _console.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
|