{"version":3,"sources":["../../../src/components/VTabs/VTab.js"],"names":[],"mappings":";;;;;;;;AAKA;;;AAJA;;AACA;;;;AACA;;;;AAGA;;;;AAEA;kBACe;AACb,UAAM,OADO;AAGb,YAAQ,CACN,kBADM;AAEN;AACA;AACA,4BAAiB,UAAjB,CAJM,EAKN,mBALM,CAHK;AAWb,WAAO;AACL,gBAAQ;AACN,kBAAM,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,qBAAS;AAFH;AADH,KAXM;AAkBb,cAAU;AACR,eADQ,qBACD;AACL;AACE,gCAAgB,IADlB;AAEE,0CAA0B,KAAK;AAFjC,eAGK,KAAK,YAHV;AAKD,SAPO;AAQR,aARQ,mBAQH;AACH,gBAAI,KAAK,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,EAAjC;AAEA,gBAAI,KAAK,OAAL,IACF,KAAK,EAAL,KAAY,OAAO,KAAK,EAAZ,CADd,EAEE;AACA,oBAAM,UAAU,KAAK,OAAL,CAAa,OAAb,CACd,KAAK,EADS,EAEd,KAAK,MAFS,EAGd,KAAK,MAHS,CAAhB;AAMA,qBAAK,QAAQ,IAAb;AACD;AAED,mBAAO,GAAG,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAP;AACD;AAxBO,KAlBG;AA6Cb,WAAO;AACL,gBAAQ;AADH,KA7CM;AAiDb,WAjDa,qBAiDN;AACL,aAAK,aAAL;AACD,KAnDY;;AAqDb,aAAS;AACP,aADO,iBACA,CADA,EACC;AACN;AACA;AACA;AACA,gBAAI,KAAK,IAAL,IACF,KAAK,IAAL,CAAU,OAAV,CAAkB,GAAlB,IAAyB,CAAC,CAD5B,EAEE,EAAE,cAAF;AAEF,iBAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,iBAAK,EAAL,IAAW,KAAK,MAAL,EAAX;AACD,SAZM;AAaP,qBAbO,2BAaM;AAAA;;AACX,gBAAI,CAAC,KAAK,EAAN,IAAY,CAAC,KAAK,KAAL,CAAW,IAA5B,EAAkC;AAElC,gBAAM,8BAA4B,KAAK,WAAvC;AAEA,iBAAK,SAAL,CAAe,YAAK;AAClB,oBAAI,mCAAqB,MAAK,KAAL,CAAW,IAAhC,EAAsC,IAAtC,CAAJ,EAAiD;AAC/C,0BAAK,MAAL;AACD;AACF,aAJD;AAKD;AAvBM,KArDI;AA+Eb,UA/Ea,kBA+EL,CA/EK,EA+EJ;AACP,YAAM,OAAO,KAAK,iBAAL,CAAuB,KAAK,OAA5B,CAAb;AADO,YAEC,IAFD,GAEU,IAFV,CAEC,IAFD;AAIP;AACA;;AACA,YAAM,MAAM,KAAK,QAAL,GAAgB,KAAhB,GAAwB,KAAK,GAAzC;AAEA,aAAK,GAAL,GAAW,MAAX;AAEA,eAAO,EAAE,KAAF,EAAS;AACd,yBAAa;AADC,SAAT,EAEJ,CAAC,EAAE,GAAF,EAAO,IAAP,EAAa,KAAK,MAAL,CAAY,OAAzB,CAAD,CAFI,CAAP;AAGD;AA5FY,C","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\n/* @vue/component */\nexport default {\n  name: 'v-tab',\n\n  mixins: [\n    Routable,\n    // Must be after routable\n    // to overwrite activeClass\n    GroupableFactory('tabGroup'),\n    Themeable\n  ],\n\n  props: {\n    ripple: {\n      type: [Boolean, Object],\n      default: true\n    }\n  },\n\n  computed: {\n    classes () {\n      return {\n        'v-tabs__item': true,\n        'v-tabs__item--disabled': this.disabled,\n        ...this.groupClasses\n      }\n    },\n    value () {\n      let to = this.to || this.href || ''\n\n      if (this.$router &&\n        this.to === Object(this.to)\n      ) {\n        const resolve = this.$router.resolve(\n          this.to,\n          this.$route,\n          this.append\n        )\n\n        to = resolve.href\n      }\n\n      return to.replace('#', '')\n    }\n  },\n\n  watch: {\n    $route: 'onRouteChange'\n  },\n\n  mounted () {\n    this.onRouteChange()\n  },\n\n  methods: {\n    click (e) {\n      // If user provides an\n      // actual link, do not\n      // prevent default\n      if (this.href &&\n        this.href.indexOf('#') > -1\n      ) e.preventDefault()\n\n      this.$emit('click', e)\n\n      this.to || this.toggle()\n    },\n    onRouteChange () {\n      if (!this.to || !this.$refs.link) return\n\n      const path = `_vnode.data.class.${this.activeClass}`\n\n      this.$nextTick(() => {\n        if (getObjectValueByPath(this.$refs.link, path)) {\n          this.toggle()\n        }\n      })\n    }\n  },\n\n  render (h) {\n    const link = this.generateRouteLink(this.classes)\n    const { data } = link\n\n    // If disabled, use div as anchor tags do not support\n    // being disabled\n    const tag = this.disabled ? 'div' : link.tag\n\n    data.ref = 'link'\n\n    return h('div', {\n      staticClass: 'v-tabs__div'\n    }, [h(tag, data, this.$slots.default)])\n  }\n}\n"],"sourceRoot":""}