{"version":3,"sources":["webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///./src/views/dashboard/components/core/AppBar.vue?381e","webpack:///src/views/dashboard/components/core/AppBar.vue","webpack:///./src/views/dashboard/components/core/AppBar.vue?01db","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./src/views/dashboard/components/core/AppBar.vue","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///../../../src/directives/scroll/index.ts"],"names":["events","name","props","app","Boolean","computed","watch","prev","this","removeApplication","i","length","methods","force","updateApplication","directives","Scroll","scrollTarget","scrollThreshold","String","Number","data","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","target","window","document","console","Math","thresholdMet","baseMixins","mixins","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","value","type","default","VToolbar","collapse","threshold","min","dense","max","$vuetify","application","height","parseInt","computedOriginalHeight","bottom","computedTransform","fontSize","marginTop","transform","left","right","canScroll","val","render","_b","style","opacity","computedOpacity","computedHeight","arg","onScroll","absolute","extended","extensionHeight","flat","floating","prominent","short","src","tag","isExtended","isCollapsed","isNaN","isProminent","breakpoint","breakingProps","original","$attrs","hasOwnProperty","replacement","image","$scopedSlots","img","$createElement","staticClass","children","setBackgroundColor","class","on","$listeners","h","_vm","_h","_c","_self","attrs","$event","smAndDown","setDrawer","drawer","$emit","_v","domProps","_s","$route","logout","staticRenderFns","VToolbarTitle","VToolbarItems","component","VBtn","VIcon","VSpacer","isBooted","inserted","self","binding","options","passive","handler","el","undefined","unbind"],"mappings":"kHAAA,8DAMc,aAA8CA,EAA9C,IAEZ,OAAO,eAAO,eAAoB,CAAC,WAA5B,kBAA0D,CAC/DC,KAD+D,kBAG/DC,MAAO,CACLC,IAAKC,SAGPC,SAAU,CACR,sBACE,WAIJC,MAAO,CAGL,IAAG,KACDC,EACIC,KAAKC,mBADL,GAEAD,KAFJ,cAIF,oBAAmB,KACjBA,KAAA,gCAAqCA,KAArC,UAIJ,YACEA,KAAA,cAGF,UACE,IAAK,IAAIE,EAAJ,EAAWC,EAASX,EAAzB,OAAwCU,EAAxC,EAAoDA,IAClDF,KAAA,OAAYR,EAAZ,GAAuBQ,KAAvB,YAEFA,KAAA,cAGF,UACEA,KAAA,cAGF,cACEA,KAAA,qBAGF,YACEA,KAAA,qBAGFI,QAAS,CACP,aACOJ,KAAL,KAEAA,KAAA,8BACEA,KADF,KAEEA,KAFF,oBAGEA,KAHF,sBAMF,kBAAmBK,GAAF,IACVA,GAAUL,KAAf,MAEAA,KAAA,gCACEA,KADF,KAEEA,KAFF,sBAKFM,kBAAmB,IAAM,O,8GCzDhB,gBAAW,CACxBb,KADwB,aAGxBc,WAAY,CAAEC,OAAA,QAEdd,MAAO,CACLe,aADK,OAELC,gBAAiB,CAACC,OAAQC,SAG5BC,KAAM,KAAM,CACVC,cADW,EAEXC,iBAFW,EAGXC,UAHW,EAIXC,eAJW,EAKXC,eALW,EAMXC,YANW,EAOXC,OAAQ,OAGVvB,SAAU,CAMR,YACE,2BAAcwB,QAMhB,0BACE,OAAOrB,KAAKU,gBACRE,OAAOZ,KADJ,iBAAP,MAMJF,MAAO,CACL,gBACEE,KAAA,YAAmBA,KAAKmB,aAAenB,KAAvC,eAEF,WACEA,KAAA,gBAIJ,UACMA,KAAJ,eACEA,KAAA,OAAcsB,SAAA,cAAuBtB,KAArC,cAEKA,KAAL,QACE,OAAAuB,EAAA,MAAY,4CAA4CvB,KAAKS,aAA7D,QAKNL,QAAS,CACP,WACOJ,KAAL,YAEAA,KAAA,eAAsBA,KAAtB,cACAA,KAAA,cAAqBA,KAAKoB,OACtBpB,KAAKoB,OADY,UAEjBC,OAFJ,YAIArB,KAAA,cAAqBA,KAAKc,cAAgBd,KAA1C,eACAA,KAAA,iBAAwBwB,KAAA,IAASxB,KAAKc,cAAgBd,KAAtD,yBAEAA,KAAA,UAAe,KAEXwB,KAAA,IAASxB,KAAKc,cAAgBd,KAA9B,aACAA,KAFF,yBAGEA,KAAKyB,mBAQX,oB,gDC/EJ,MAAMC,EAAa,OAAAC,EAAA,MAAO,EAAD,qBAKvB,eAAgB,MAAO,CAAC,cAAD,4EALzB,WAiBe,OAAAD,EAAA,OAAkB,CAC/BjC,KAD+B,YAG/Bc,WAAY,CAAEC,OAAA,QAEd,UACE,MAAO,CAAEoB,QAAS5B,OAGpBN,MAAO,CACLmC,YADK,QAELC,aAFK,QAGLC,iBAHK,QAILC,gBAJK,QAKLC,gBALK,QAMLC,aANK,QAOLC,eAPK,QAQLC,gBARK,QASLC,eATK,QAULC,MAAO,CACLC,KADK,QAELC,SAAS,IAIb,OACE,MAAO,CACLxB,SAAUhB,KAAKsC,QAInBzC,SAAU,CACR,sBACE,OAAQG,KAAD,OAAP,SAAO,OAET,YACE,OACE,0CAEEA,KAAKmC,gBACLnC,KADA,iBAEAA,KAFA,cAGAA,KAHA,kBAIAA,KAJA,WAQCA,KAXL,QAeF,UACE,MAAO,IACFyC,EAAA,mCADE,MAEL,sBAAuBzC,KAAK0C,UAAY1C,KAFnC,iBAGL,aAHK,EAIL,qBAAsBA,KAAK6B,aAAe7B,KAJrC,aAKL,gCAAiCA,KAL5B,gBAML,+BAAgCA,KAN3B,gBAOL,oBAAqBA,KAAD,WAAmBA,KAAKL,KAAOK,KAP9C,OAQL,yBAA0BA,KARrB,WASL,yBAA0BA,KAAKc,cAT1B,EAUL,8BAA+Bd,KAAKqC,iBAGxC,cACE,MAAMM,EAAY3C,KAAlB,wBACA,OAAOwB,KAAA,KAAUmB,EAAY3C,KAAb,eAAT,EAAP,IAEF,wBACE,IAAKA,KAAL,eAA0B,OAAOyC,EAAA,iDAAP,MAE1B,MAAMG,EAAM5C,KAAK6C,MAAQ,GAAzB,GACMC,EAAM9C,KAAZ,uBAEA,OAAO4C,GAAOE,EAAD,GAAc9C,KAA3B,aAEF,mBACE,IAAKA,KAAL,YAAuB,OAEvB,MAAM4C,EAAN,KACME,EAAN,IAEA,OAAOF,GAAOE,EAAD,GAAc9C,KAA3B,aAEF,eACE,OAAKA,KAAD,KAAaA,KAAjB,YAA0C,EAEnCA,KAAK+C,SAASC,YAArB,MAEF,oBACE,OAAKhD,KAAL,IAEOA,KAAK+C,SAASC,YAArB,IAFsB,GAIxB,kBACE,GAAKhD,KAAL,gBAEA,OAAOA,KAAP,aAEF,yBACE,IAAIiD,EAASR,EAAA,iDAAb,MAEA,OADIzC,KAAJ,aAAqBiD,GAAUC,SAASlD,KAAnB,kBACrB,GAEF,gBACE,OAAKA,KAAD,KAAaA,KAAjB,aAA2C,EAEpCA,KAAK+C,SAASC,YAArB,OAEF,0BACE,OAAIhD,KAAJ,gBAAiCY,OAAOZ,KAAd,iBAEnBA,KAAKmD,wBAA0BnD,KAAK6C,MAAQ,GAAnD,KAEF,oBACE,IACG7C,KAAD,WACCA,KAAKgC,iBAAL,IAAwBhC,KAAKc,eAAuBd,KAFvD,SAGE,OAAO,EAET,GAAIA,KAAJ,SAAmB,OAAO,EAE1B,MAAMoC,EAAkBpC,KAAKoC,gBACzBpC,KADoB,eAEpBA,KAFJ,sBAIA,OAAOA,KAAKoD,OAAShB,GAArB,GAEF,aACE,OAAIpC,KAAKgC,iBAAmBhC,KAA5B,WACSA,KAAKc,cAAgBd,KAA5B,wBAGEA,KAAJ,gBACgC,IAAvBA,KAAKc,eACVd,KAAKqD,kBADP,IAKCrD,KAAD,YACAA,KAFK,kBAAP,IAGKA,KAAKqD,mBAEZ,cACE,OAAKrD,KAAL,iBAIOA,KAAKc,cAAZ,EAHS2B,EAAA,uCAAP,OAKJ,cACE,OACEA,EAAA,8CACAzC,KAFF,gBAKF,SACE,MAAO,IACFyC,EAAA,kCADE,MAELa,SAAU,eAActD,KAAD,iBAFlB,OAGLuD,UAAW,eAAcvD,KAHpB,mBAILwD,UAAW,cAAc,eAAcxD,KAAD,sBACtCyD,KAAM,eAAczD,KALf,cAML0D,MAAO,eAAc1D,KAAD,kBAK1BF,MAAO,CACL6D,UADK,WAEL,oBAQK3D,KAAD,YACEA,KAAD,aAAsBA,KAFzB,eAKAA,KAAA,cAEF,eAAc,GACZA,KAAA,UAAiB4D,GAAjB,IAAwB5D,KAAKc,gBAIjC,UACMd,KAAJ,iBAAyBA,KAAKgB,UAAW,IAG3CZ,QAAS,CACP,gBACE,MAAMyD,EAASpB,EAAA,wCAAf,MAMA,OAJAoB,EAAA,KAAc7D,KAAK8D,GAAGD,EAAA,MAAR,GAA2BA,EAA3B,IAAwC,CACpDE,MAAO,CAAEC,QAAShE,KAAKiE,mBAGzB,GAEF,oBACE,OAAOjE,KAAKmC,eAAL,EAEHnC,KAAKkE,eAAiBlE,KAF1B,mBAIF,eACMA,KAAJ,eACEA,KAAA,SAAgBA,KAAKc,cAAgBd,KAArC,yBAIEA,KAAJ,eACEA,KAAA,SAAgBA,KAAKiB,eACnBjB,KAAKc,cAAgBd,KADvB,yBAIEA,KAAKe,iBAAmBf,KAA5B,0BAEAA,KAAA,YAAmBA,KAAnB,kBAIJ,OAAM,GACJ,MAAM6D,EAASpB,EAAA,8BAAf,GAaA,OAXAoB,EAAA,KAAcA,EAAA,MAAd,GAEI7D,KAAJ,YACE6D,EAAA,gBAAyBA,EAAA,iBAAzB,GACAA,EAAA,qBAA4B,CAC1BM,IAAKnE,KADqB,aAE1BP,KAF0B,SAG1B6C,MAAOtC,KAAKoE,YAIhB,M,6DCvRJ,8DAiBe,qBAAc,CAC3B3E,KAD2B,YAG3BC,MAAO,CACL2E,SADK,QAELjB,OAFK,QAGLV,SAHK,QAILG,MAJK,QAKLyB,SALK,QAMLC,gBAAiB,CACf/B,QADe,GAEfD,KAAM,CAAC3B,OAAQD,SAEjB6D,KAVK,QAWLC,SAXK,QAYLC,UAZK,QAaLC,MAbK,QAcLC,IAAK,CACHrC,KAAM,CAAC5B,OADJ,QAEH6B,QAAS,IAEXqC,IAAK,CACHtC,KADG,OAEHC,QAAS,WAIb3B,KAAM,KAAM,CACViE,YAAY,IAGdjF,SAAU,CACR,iBACE,MAAMoD,EAASjD,KAAf,sBAEA,IAAKA,KAAL,WAAsB,OAAOiD,EAE7B,MAAMsB,EAAkBrB,SAASlD,KAAjC,iBAEA,OAAOA,KAAK+E,YAAL,EAEH9B,GAAW+B,MAAD,GAFd,EAEc,IAEhB,wBACE,OAAIhF,KAAJ,OAAwBkD,SAASlD,KAAhB,QACbA,KAAKiF,aAAejF,KAAxB,MAA2C,GACvCA,KAAKiF,aAAejF,KAAxB,MAA2C,IACvCA,KAAJ,YAA6B,IACzBA,KAAJ,MAAuB,GACnBA,KAAK2E,OAAS3E,KAAK+C,SAASmC,WAAhC,UAA6D,GAC7D,IAEF,UACE,MAAO,IACF,qCADE,MAEL,aAFK,EAGL,sBAAuBlF,KAHlB,SAIL,oBAAqBA,KAJhB,OAKL,sBAAuBA,KALlB,SAML,uBAAwBA,KANnB,YAOL,mBAAoBA,KAPf,MAQL,sBAAuBA,KARlB,WASL,kBAAmBA,KATd,KAUL,sBAAuBA,KAVlB,SAWL,uBAAwBA,KAAKiF,cAGjC,cACE,OAAOjF,KAAP,UAEF,cACE,OAAOA,KAAP,WAEF,SACE,MAAO,IACFA,KADE,iBAELiD,OAAQ,eAAcjD,KAAD,mBAK3B,UACE,MAAMmF,EAAgB,CACpB,CAAC,MADmB,mBAEpB,CAAC,gBAFmB,8BAGpB,CAAC,eAHmB,4BAIpB,CAAC,gBAJmB,6BAKpB,CAAC,kBALmB,+BAMpB,CAAC,oBANmB,iCAOpB,CAAC,gBAPmB,6BAQpB,CAAC,mBARmB,gCASpB,CAAC,OATH,qBAaAA,EAAA,QAAsB,EAAEC,EAAF,MAChBpF,KAAKqF,OAAOC,eAAhB,IAA0C,eAASF,EAAUG,EAAnB,SAI9CnF,QAAS,CACP,gBACE,MAAMV,EAAQ,CACZuD,OAAQ,eAAcjD,KADV,gBAEZ4E,IAAK5E,KAAK4E,KAGNY,EAAQxF,KAAKyF,aAAaC,IAC5B1F,KAAKyF,aAAaC,IAAI,CAAEhG,UACxBM,KAAK2F,eAAe,EAApB,KAA0B,CAAEjG,UAEhC,OAAOM,KAAK2F,eAAe,MAAO,CAChCC,YAAa,oBACZ,CAFH,KAIF,aACE,OAAO5F,KAAK2F,eAAe,MAAO,CAChCC,YADgC,qBAEhC7B,MAAO,CACLd,OAAQ,eAAcjD,KAAD,yBAEtB,eALH,QAOF,eACE,OAAOA,KAAK2F,eAAe,MAAO,CAChCC,YADgC,uBAEhC7B,MAAO,CACLd,OAAQ,eAAcjD,KAAD,mBAEtB,eAAQA,KALX,gBASJ,OAAM,GACJA,KAAA,WAAkBA,KAAKsE,YAActE,KAAKyF,aAA1C,UAEA,MAAMI,EAAW,CAAC7F,KAAlB,cACMa,EAAOb,KAAK8F,mBAAmB9F,KAAxB,MAAoC,CAC/C+F,MAAO/F,KADwC,QAE/C+D,MAAO/D,KAFwC,OAG/CgG,GAAIhG,KAAKiG,aAMX,OAHIjG,KAAJ,YAAqB6F,EAAA,KAAc7F,KAAd,iBACjBA,KAAK4E,KAAO5E,KAAKyF,aAArB,MAAuCI,EAAA,QAAiB7F,KAAjB,iBAEhCkG,EAAElG,KAAD,MAAR,O,oECnKJ,IAAI6D,EAAS,WAAa,IAAIsC,EAAInG,KAASoG,EAAGD,EAAIR,eAAmBU,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,YAAY,CAACE,MAAM,CAAC,GAAK,UAAU,SAAW,GAAG,IAAM,GAAG,MAAQ,cAAc,KAAO,GAAG,OAAS,OAAO,CAACF,EAAG,QAAQ,CAACT,YAAY,OAAOW,MAAM,CAAC,UAAY,IAAI,IAAM,GAAG,MAAQ,IAAIP,GAAG,CAAC,MAAQ,SAASQ,GAAQL,EAAIpD,SAASmC,WAAWuB,UAAYN,EAAIO,WAAWP,EAAIQ,QAAUR,EAAIS,MAAM,SAAUT,EAAI7D,UAAU,CAAE6D,EAAS,MAAEE,EAAG,SAAS,CAACF,EAAIU,GAAG,sBAAsBR,EAAG,SAAS,CAACF,EAAIU,GAAG,0BAA0B,GAAGR,EAAG,kBAAkB,CAACT,YAAY,uCAAuCkB,SAAS,CAAC,YAAcX,EAAIY,GAAGZ,EAAIa,OAAOvH,SAAS4G,EAAG,YAAYA,EAAG,MAAM,CAACT,YAAY,SAASS,EAAG,QAAQ,CAACT,YAAY,OAAOW,MAAM,CAAC,YAAY,IAAI,KAAO,GAAG,GAAK,MAAM,CAACF,EAAG,SAAS,CAACF,EAAIU,GAAG,yBAAyB,GAAGR,EAAG,QAAQ,CAACT,YAAY,OAAOW,MAAM,CAAC,GAAK,eAAe,YAAY,MAAM,KAAO,IAAIP,GAAG,CAAC,MAAQG,EAAIc,SAAS,CAACZ,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACJ,EAAIU,GAAG,+BAA+BR,EAAG,OAAO,CAACF,EAAIU,GAAG,cAAc,IAAI,IAChgCK,EAAkB,G,YC6DtB,GACE,KAAF,sBAEE,MAAF,CACI,MAAJ,CACM,KAAN,QACM,SAAN,IAIE,KAAF,MACI,QAAJ,CACA,CAAM,MAAN,UAAM,GAAN,QAIE,SAAF,IACA,2BAEI,YAAJ,WAEM,OAAN,oDAIE,QAAF,IACA,gBACM,UAAN,eAGI,OAAJ,WACM,KAAN,oCACQ,KAAR,kCC9F6X,I,yGCM7X,MAAMC,EAAgB,eAAtB,oBACMC,EAAgB,eAAtB,oBAS2B,OADZ,ICRXC,EAAY,eACd,EACAxD,EACAqD,GACA,EACA,KACA,KACA,MAIa,aAAAG,EAAiB,QAShC,IAAkBA,EAAW,CAACzF,UAAA,KAAQ0F,OAAA,KAAKC,QAAA,KAAMC,UAAA,KAAQL,mB,kCC3BzD,gBAUe,qBAAW,CACxB1H,KADwB,eAGxBoB,KAAM,KAAM,CACV4G,UAAU,IAGZ,UAIEpG,OAAA,sBAA6B,KAC3BrB,KAAA,uCACAA,KAAA,kB,kCCVN,SAAS0H,EAAT,KACE,MAAM,KAAEC,GAAO,GAAUC,EAAA,WAAzB,GACMtF,EAAQsF,EAAd,MACMC,EAA4B,kBAAVvF,GAAsBA,EAA9B,SAAgD,CAAEwF,SAAS,GACrEC,EAA2B,oBAAVzF,GAAwB,gBAA/B,IAAgEA,EAAhF,QAEMlB,EAASuG,EAAI,EAEfC,EAAA,IACEtG,SAAA,cAAuBsG,EADzB,KAFJ,OAMA,IAEAxG,EAAA,+BAEA4G,EAAA,UAAe,qBAIb5G,OAAQuG,OAAOM,EAAY7G,IAI/B,SAAS8G,EAAT,GACE,IAAKF,EAAL,UAAmB,OAEnB,MAAM,2BAAoB5G,EAAS4G,GAAOA,EAA1C,UAEA5G,EAAA,yCACO4G,EAAP,UA9BF,kCAiCO,MAAMxH,EAAS,YAEpB0H,UAGF","file":"js/chunk-365afdb6.37b8f545.js","sourcesContent":["import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app-bar',{attrs:{\"id\":\"app-bar\",\"absolute\":\"\",\"app\":\"\",\"color\":\"transparent\",\"flat\":\"\",\"height\":\"75\"}},[_c('v-btn',{staticClass:\"mr-3\",attrs:{\"elevation\":\"1\",\"fab\":\"\",\"small\":\"\"},on:{\"click\":function($event){_vm.$vuetify.breakpoint.smAndDown ? _vm.setDrawer(!_vm.drawer) : _vm.$emit('input', !_vm.value)}}},[(_vm.value)?_c('v-icon',[_vm._v(\" mdi-view-quilt \")]):_c('v-icon',[_vm._v(\" mdi-dots-vertical \")])],1),_c('v-toolbar-title',{staticClass:\"hidden-sm-and-down font-weight-light\",domProps:{\"textContent\":_vm._s(_vm.$route.name)}}),_c('v-spacer'),_c('div',{staticClass:\"mx-3\"}),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"min-width\":\"0\",\"text\":\"\",\"to\":\"/\"}},[_c('v-icon',[_vm._v(\"mdi-view-dashboard\")])],1),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"to\":\"/pages/login\",\"min-width\":\"100\",\"text\":\"\"},on:{\"click\":_vm.logout}},[_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-account-arrow-right \")]),_c('span',[_vm._v(\"Log out\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=460870c2&\"\nimport script from \"./AppBar.vue?vue&type=script&lang=js&\"\nexport * from \"./AppBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VBtn,VIcon,VSpacer,VToolbarTitle})\n","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":""}