{"version":3,"sources":["../../../src/components/VHover/VHover.ts"],"names":[],"mappings":";;;;;;AACA;;;;AACA;;;;AAGA;;;;AACA;;;;AAFA;;kBAOe,sBACb,mBADa,EAEb;AACA;AAHa,EAIb,MAJa,CAIN;AACP,UAAM,SADC;AAGP,WAAO;AACL,kBAAU;AACR,kBAAM,OADE;AAER,qBAAS;AAFD,SADL;AAKL,eAAO;AACL,kBAAM,OADD;AAEL,qBAAS;AAFJ;AALF,KAHA;AAcP,aAAS;AACP,oBADO,0BACK;AACV,iBAAK,QAAL,CAAc,MAAd;AACD,SAHM;AAIP,oBAJO,0BAIK;AACV,iBAAK,QAAL,CAAc,OAAd;AACD;AANM,KAdF;AAuBP,UAvBO,oBAuBD;AACJ,YAAI,CAAC,KAAK,YAAL,CAAkB,OAAnB,IAA8B,KAAK,KAAL,KAAe,SAAjD,EAA4D;AAC1D,sCAAY,wDAAZ,EAAsE,IAAtE;AAEA,mBAAO,IAAP;AACD;AAED,YAAI,gBAAJ;AAEA,YAAI,KAAK,YAAL,CAAkB,OAAtB,EAA+B;AAC7B,sBAAU,KAAK,YAAL,CAAkB,OAAlB,CAA0B,EAAE,OAAO,KAAK,QAAd,EAA1B,CAAV;AACD,SAFD,MAEO,IAAI,KAAK,MAAL,CAAY,OAAZ,IAAuB,KAAK,MAAL,CAAY,OAAZ,CAAoB,MAApB,KAA+B,CAA1D,EAA6D;AAClE,sBAAU,KAAK,MAAL,CAAY,OAAZ,CAAoB,CAApB,CAAV;AACD;AAED,YAAI,MAAM,OAAN,CAAc,OAAd,KAA0B,QAAQ,MAAR,KAAmB,CAAjD,EAAoD;AAClD,sBAAU,QAAQ,CAAR,CAAV;AACD;AAED,YAAI,CAAC,OAAD,IAAY,MAAM,OAAN,CAAc,OAAd,CAAZ,IAAsC,CAAC,QAAQ,GAAnD,EAAwD;AACtD,sCAAY,8CAAZ,EAA4D,IAA5D;AAEA,mBAAO,OAAP;AACD;AAED,YAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,oBAAQ,IAAR,GAAe,QAAQ,IAAR,IAAgB,EAA/B;AACA,iBAAK,EAAL,CAAQ,QAAQ,IAAhB,EAAsB;AACpB,4BAAY,KAAK,YADG;AAEpB,4BAAY,KAAK;AAFG,aAAtB;AAID;AAED,eAAO,OAAP;AACD;AAzDM,CAJM,C","sourcesContent":["// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\nexport default mixins(\n  Delayable,\n  Toggleable\n  /* @vue/component */\n).extend({\n  name: 'v-hover',\n\n  props: {\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    value: {\n      type: Boolean,\n      default: undefined\n    }\n  },\n\n  methods: {\n    onMouseEnter () {\n      this.runDelay('open')\n    },\n    onMouseLeave () {\n      this.runDelay('close')\n    }\n  },\n\n  render (): VNode {\n    if (!this.$scopedSlots.default && this.value === undefined) {\n      consoleWarn('v-hover is missing a default scopedSlot or bound value', this)\n\n      return null as any\n    }\n\n    let element: VNode | ScopedSlotChildren\n\n    if (this.$scopedSlots.default) {\n      element = this.$scopedSlots.default({ hover: this.isActive })\n    } else if (this.$slots.default && this.$slots.default.length === 1) {\n      element = this.$slots.default[0]\n    }\n\n    if (Array.isArray(element) && element.length === 1) {\n      element = element[0]\n    }\n\n    if (!element || Array.isArray(element) || !element.tag) {\n      consoleWarn('v-hover should only contain a single element', this)\n\n      return element as any\n    }\n\n    if (!this.disabled) {\n      element.data = element.data || {}\n      this._g(element.data, {\n        mouseenter: this.onMouseEnter,\n        mouseleave: this.onMouseLeave\n      })\n    }\n\n    return element\n  }\n})\n"],"sourceRoot":""}