{"version":3,"sources":["../../../src/components/VSnackbar/VSnackbar.ts"],"names":[],"mappings":";;;;;;;;AAEA;;;;AACA;;;;AACA;;AAEA;;;;;;kBAGe,sBACb,mBADa,EAEb,oBAFa,EAGb,2BAAoB,CAAC,UAAD,EAAa,KAAb,EAAoB,QAApB,EAA8B,MAA9B,EAAsC,OAAtC,CAApB;AACF;AAJe,EAKb,MALa,CAKN;AACP,UAAM,YADC;AAGP,WAAO;AACL,oBAAY,OADP;AAEL,mBAAW,OAFN;AAGL;AACA,iBAAS;AACP,kBAAM,MADC;AAEP,qBAAS;AAFF,SAJJ;AAQL,kBAAU;AARL,KAHA;AAcP,QAdO,kBAcH;AACF,eAAO;AACL,2BAAe,CAAC;AADX,SAAP;AAGD,KAlBM;;AAoBP,cAAU;AACR,eADQ,qBACD;AACL,mBAAO;AACL,mCAAmB,KAAK,QADnB;AAEL,qCAAqB,KAAK,QAFrB;AAGL,wCAAwB,KAAK,UAHxB;AAIL,mCAAmB,KAAK,MAAL,IAAe,CAAC,KAAK,GAJnC;AAKL,iCAAiB,KAAK,IALjB;AAML,uCAAuB,KAAK,SAAL,IAAkB,CAAC,KAAK,QAN1C;AAOL,kCAAkB,KAAK,KAPlB;AAQL,gCAAgB,KAAK,GARhB;AASL,qCAAqB,KAAK;AATrB,aAAP;AAWD;AAbO,KApBH;AAoCP,WAAO;AACL,gBADK,sBACG;AACN,iBAAK,UAAL;AACD;AAHI,KApCA;AA0CP,WA1CO,qBA0CA;AACL,aAAK,UAAL;AACD,KA5CM;;AA8CP,aAAS;AACP,kBADO,wBACG;AAAA;;AACR,mBAAO,YAAP,CAAoB,KAAK,aAAzB;AAEA,gBAAI,KAAK,QAAL,IAAiB,KAAK,OAA1B,EAAmC;AACjC,qBAAK,aAAL,GAAqB,OAAO,UAAP,CAAkB,YAAK;AAC1C,0BAAK,QAAL,GAAgB,KAAhB;AACD,iBAFoB,EAElB,KAAK,OAFa,CAArB;AAGD;AACF;AATM,KA9CF;AA0DP,UA1DO,kBA0DC,CA1DD,EA0DE;AACP,eAAO,EAAE,YAAF,EAAgB;AACrB,mBAAO,EAAE,MAAM,oBAAR;AADc,SAAhB,EAEJ,KAAK,QAAL,IAAiB,CAClB,EAAE,KAAF,EAAS;AACP,yBAAa,SADN;AAEP,mBAAO,KAAK,OAFL;AAGP,gBAAI,KAAK;AAHF,SAAT,EAIG,CACD,EAAE,KAAF,EAAS,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC3C,yBAAa;AAD8B,SAApC,CAAT,EAEI,CACF,EAAE,KAAF,EAAS;AACP,yBAAa;AADN,SAAT,EAEG,KAAK,MAAL,CAAY,OAFf,CADE,CAFJ,CADC,CAJH,CADkB,CAFb,CAAP;AAiBD;AA5EM,CALM,C","sourcesContent":["import '../../stylus/components/_snackbars.styl'\n\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(\n  Colorable,\n  Toggleable,\n  PositionableFactory(['absolute', 'top', 'bottom', 'left', 'right'])\n/* @vue/component */\n).extend({\n  name: 'v-snackbar',\n\n  props: {\n    autoHeight: Boolean,\n    multiLine: Boolean,\n    // TODO: change this to closeDelay to match other API in delayable.js\n    timeout: {\n      type: Number,\n      default: 6000\n    },\n    vertical: Boolean\n  },\n\n  data () {\n    return {\n      activeTimeout: -1\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-snack--active': this.isActive,\n        'v-snack--absolute': this.absolute,\n        'v-snack--auto-height': this.autoHeight,\n        'v-snack--bottom': this.bottom || !this.top,\n        'v-snack--left': this.left,\n        'v-snack--multi-line': this.multiLine && !this.vertical,\n        'v-snack--right': this.right,\n        'v-snack--top': this.top,\n        'v-snack--vertical': this.vertical\n      }\n    }\n  },\n\n  watch: {\n    isActive () {\n      this.setTimeout()\n    }\n  },\n\n  mounted () {\n    this.setTimeout()\n  },\n\n  methods: {\n    setTimeout () {\n      window.clearTimeout(this.activeTimeout)\n\n      if (this.isActive && this.timeout) {\n        this.activeTimeout = window.setTimeout(() => {\n          this.isActive = false\n        }, this.timeout)\n      }\n    }\n  },\n\n  render (h): VNode {\n    return h('transition', {\n      attrs: { name: 'v-snack-transition' }\n    }, this.isActive && [\n      h('div', {\n        staticClass: 'v-snack',\n        class: this.classes,\n        on: this.$listeners\n      }, [\n        h('div', this.setBackgroundColor(this.color, {\n          staticClass: 'v-snack__wrapper'\n        }), [\n          h('div', {\n            staticClass: 'v-snack__content'\n          }, this.$slots.default)\n        ])\n      ])\n    ])\n  }\n})\n"],"sourceRoot":""}