{"version":3,"sources":["webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./node_modules/vuetify-loader/lib/runtime/installDirectives.js","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///./node_modules/vuetify-loader/lib/runtime/installComponents.js","webpack:///../../../src/components/VApp/VApp.ts"],"names":["name","props","border","type","validator","closeLabel","default","coloredBorder","dense","dismissible","closeIcon","icon","Boolean","val","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","$createElement","__cachedDismissible","color","small","attrs","$vuetify","lang","t","on","click","__cachedIcon","iconColor","classes","computedColor","computedIcon","includes","hasColoredIcon","hasText","isDark","created","$attrs","hasOwnProperty","methods","genWrapper","children","$slots","prepend","$scopedSlots","close","toggle","genContent","genAlert","role","style","directives","isActive","setColor","render","h","origin","mode","module","exports","component","options","extendOptions","i","baseMixins","Scroll","provide","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","applicationProperty","canScroll","collapse","app","currentScroll","scrollRatio","threshold","Math","computedContentHeight","min","max","computedFontSize","computedLeft","application","computedMarginTop","computedOpacity","computedOriginalHeight","height","parseInt","computedRight","computedScrollThreshold","Number","computedTransform","bottom","hideShadow","isCollapsed","isProminent","styles","fontSize","marginTop","transform","left","right","watch","genBackground","_b","opacity","updateApplication","computedHeight","thresholdMet","isScrollingUp","currentThreshold","arg","onScroll","components","dark","undefined","id","light","theme","beforeCreate","Error","wrapper","themeClasses","domProps"],"mappings":"4QAwBe,sBAAO,EAAD,YAAN,eAIN,CACPA,KADO,UAGPC,MAAO,CACLC,OAAQ,CACNC,KADM,OAENC,UAFM,SAEG,GACP,MAAO,CAAC,MAAD,kCAAP,KAQJC,WAAY,CACVF,KADU,OAEVG,QAAS,kBAEXC,cAhBK,QAiBLC,MAjBK,QAkBLC,YAlBK,QAmBLC,UAAW,CACTP,KADS,OAETG,QAAS,WAEXK,KAAM,CACJL,QADI,GAEJH,KAAM,CAACS,QAFH,QAGJR,UAHI,SAGK,GACP,MAAsB,kBAARS,IAAd,IAAkCA,IAGtCC,SA9BK,QA+BLC,UA/BK,QAgCLC,KAhCK,QAiCLb,KAAM,CACJA,KADI,OAEJC,UAFI,SAEK,GACP,MAAO,CAAC,OAAD,sCAAP,KAQJa,MAAO,CACLd,KADK,QAELG,SAAS,IAIbY,SAAU,CACRC,eADQ,WAEN,IAAKC,KAAL,OAAkB,OAAO,KAEzB,IAAIC,EAAkB,CACpBC,YADoB,kBAEpBC,MAAO,6CACgBH,KAArB,SAAqC,IASzC,OALIA,KAAJ,gBACEC,EAAOD,KAAKI,mBAAmBJ,KAAxB,cAAPC,GACAA,EAAA,wCAGKD,KAAKK,eAAe,MAA3B,IAEFC,oBAlBQ,WAkBW,WACjB,IAAKN,KAAL,YAAuB,OAAO,KAE9B,IAAMO,EAAQP,KAAd,UAEA,OAAOA,KAAKK,eAAe,EAApB,KAA0B,CAC/BH,YAD+B,uBAE/BrB,MAAO,CACL0B,QACAhB,MAFK,EAGLiB,OAAO,GAETC,MAAO,CACL,aAAcT,KAAKU,SAASC,KAAKC,EAAEZ,KAArB,aAEhBa,GAAI,CACFC,MAAO,kBAAO,YAAgB,KAE/B,CACDd,KAAKK,eAAe,EAApB,KAA2B,CACzBxB,MAAO,CAAE0B,UACRP,KAhBL,cAmBFe,aA1CQ,WA2CN,OAAKf,KAAL,aAEOA,KAAKK,eAAe,EAApB,KAA2B,CAChCH,YADgC,gBAEhCrB,MAAO,CAAE0B,MAAOP,KAAKgB,YACpBhB,KAHH,cAF+B,MAOjCiB,QAlDQ,WAmDN,IAAMA,EAAO,iCACR,qCADoC,OAA5B,IAEX,kBAAmBzB,QAAQQ,KAFY,QAGvC,iBAAkBA,KAHqB,MAIvC,oBAAqBA,KAJkB,SAKvC,qBAAsBA,KALiB,UAMvC,gBAAiBA,KAAKJ,OAOxB,OAJII,KAAJ,SACEiB,EAAQ,mBAAD,OAAoBjB,KAA3B,aAGF,GAEFkB,cAlEQ,WAmEN,OAAOlB,KAAKO,OAASP,KAArB,MAEFmB,aArEQ,WAsEN,WAAInB,KAAKT,OACL,kBAAOS,KAAP,MAAiCA,KAArC,KAAuDA,KAAP,OAC3C,CAAC,QAAS,OAAQ,UAAW,WAAWoB,SAASpB,KAAtD,OAEA,WAAWA,KAAX,QAEFqB,eA5EQ,WA6EN,OACErB,KAAKsB,SACJ9B,QAAQQ,KAAR,SAAwBA,KAF3B,eAKFsB,QAlFQ,WAmFN,OAAOtB,KAAKJ,MAAQI,KAApB,UAEFgB,UArFQ,WAsFN,OAAOhB,KAAKqB,eAAiBrB,KAAtB,mBAAP,GAEFuB,OAxFQ,WAyFN,SACEvB,KAAKjB,MACJiB,KADD,eAECA,KAHH,WAMO,oCAAP,QAIJwB,QAxJO,WA0JDxB,KAAKyB,OAAOC,eAAhB,YACE,eAAS,UAAW,WAApB,OAIJC,QAAS,CACPC,WADO,WAEL,IAAMC,EAAW,CACf7B,KAAK8B,OAAOC,SAAW/B,KADR,aAEfA,KAFe,aAGfA,KAHe,eAIfA,KAAK8B,OAJU,OAKf9B,KAAKgC,aAAaC,MACdjC,KAAKgC,aAAaC,MAAM,CAAEC,OAAQlC,KAAKkC,SACvClC,KAPN,qBAUMC,EAAkB,CACtBC,YAAa,oBAGf,OAAOF,KAAKK,eAAe,MAAOJ,EAAlC,IAEFkC,WAlBO,WAmBL,OAAOnC,KAAKK,eAAe,MAAO,CAChCH,YAAa,oBACZF,KAAK8B,OAFR,UAIFM,SAvBO,WAwBL,IAAInC,EAAkB,CACpBC,YADoB,UAEpBO,MAAO,CACL4B,KAAM,SAERxB,GAAIb,KALgB,WAMpBG,MAAOH,KANa,QAOpBsC,MAAOtC,KAPa,OAQpBuC,WAAY,CAAC,CACX3D,KADW,OAEXiB,MAAOG,KAAKwC,YAIhB,IAAKxC,KAAL,cAAyB,CACvB,IAAMyC,EAAWzC,KAAKsB,QAAUtB,KAAf,aAAmCA,KAApD,mBACAC,EAAOwC,EAASzC,KAAD,cAAfC,GAGF,OAAOD,KAAKK,eAAe,MAAOJ,EAAM,CAACD,KAAzC,gBAGFkC,OA9CO,WA+CLlC,KAAA,UAAiBA,KAAjB,WAIJ0C,OAlNO,SAkND,GACJ,IAAMA,EAAS1C,KAAf,WAEA,OAAKA,KAAL,WAEO2C,EAAE,aAAc,CACrB9D,MAAO,CACLD,KAAMoB,KADD,WAEL4C,OAAQ5C,KAFH,OAGL6C,KAAM7C,KAAK6C,OAEZ,CANH,IAF6BH,M,qBC7OjCI,EAAOC,QAAU,SAA4BC,EAAWT,GACtD,IAAIU,EAAuC,oBAAtBD,EAAUD,QAC3BC,EAAUD,QAAQG,cAClBF,EAAUC,QAQd,IAAK,IAAIE,IANwB,oBAAtBH,EAAUD,UACnBE,EAAQV,WAAaS,EAAUD,QAAQE,QAAQV,YAGjDU,EAAQV,WAAaU,EAAQV,YAAc,GAE7BA,EACZU,EAAQV,WAAWY,GAAKF,EAAQV,WAAWY,IAAMZ,EAAWY,K,oLCM1DC,EAAa,eAAO,EAAD,0BAKvB,eAAgB,MAAO,CAAC,cAAD,4EALzB,WAiBe,OAAAA,EAAA,OAAkB,CAC/BxE,KAD+B,YAG/B2D,WAAY,CAAEc,OAAA,QAEdC,QAL+B,WAM7B,MAAO,CAAEC,QAASvD,OAGpBnB,MAAO,CACL2E,YADK,QAELC,aAFK,QAGLC,iBAHK,QAILC,gBAJK,QAKLC,gBALK,QAMLC,aANK,QAOLC,eAPK,QAQLC,gBARK,QASLC,eATK,QAULnE,MAAO,CACLd,KADK,QAELG,SAAS,IAIbe,KAzB+B,WA0B7B,MAAO,CACLuC,SAAUxC,KAAKH,QAInBC,SAAU,CACRmE,oBADQ,WAEN,OAAQjE,KAAD,OAAP,SAAO,OAETkE,UAJQ,WAKN,OACE,+CAEElE,KAAK8D,gBACL9D,KADA,iBAEAA,KAFA,cAGAA,KAHA,kBAIAA,KAJA,WAQCA,KAXL,QAeFiB,QApBQ,WAqBN,wCACK,qCADE,OAAP,IAEE,sBAAuBjB,KAAKmE,UAAYnE,KAFnC,iBAGL,aAHK,EAIL,qBAAsBA,KAAKwD,aAAexD,KAJrC,aAKL,gCAAiCA,KAL5B,gBAML,+BAAgCA,KAN3B,gBAOL,oBAAqBA,KAAD,WAAmBA,KAAKoE,KAAOpE,KAP9C,OAQL,yBAA0BA,KARrB,WASL,yBAA0BA,KAAKqE,cAT1B,EAUL,8BAA+BrE,KAAKgE,kBAGxCM,YAlCQ,WAmCN,IAAMC,EAAYvE,KAAlB,wBACA,OAAOwE,KAAA,KAAUD,EAAYvE,KAAb,eAAT,EAAP,IAEFyE,sBAtCQ,WAuCN,IAAKzE,KAAL,eAA0B,OAAO,mDAAP,MAE1B,IAAM0E,EAAM1E,KAAKZ,MAAQ,GAAzB,GACMuF,EAAM3E,KAAZ,uBAEA,OAAO0E,GAAOC,EAAD,GAAc3E,KAA3B,aAEF4E,iBA9CQ,WA+CN,GAAK5E,KAAL,aAEA,IAAM0E,EAAN,KACMC,EAAN,IAEA,OAAOD,GAAOC,EAAD,GAAc3E,KAA3B,cAEF6E,aAtDQ,WAuDN,OAAK7E,KAAD,KAAaA,KAAjB,YAA0C,EAEnCA,KAAKU,SAASoE,YAArB,MAEFC,kBA3DQ,WA4DN,OAAK/E,KAAL,IAEOA,KAAKU,SAASoE,YAArB,IAFsB,GAIxBE,gBAhEQ,WAiEN,GAAKhF,KAAL,gBAEA,OAAOA,KAAP,aAEFiF,uBArEQ,WAsEN,IAAIC,EAAS,mDAAb,MAEA,OADIlF,KAAJ,aAAqBkF,GAAUC,SAASnF,KAAnB,kBACrB,GAEFoF,cA1EQ,WA2EN,OAAKpF,KAAD,KAAaA,KAAjB,aAA2C,EAEpCA,KAAKU,SAASoE,YAArB,OAEFO,wBA/EQ,WAgFN,OAAIrF,KAAJ,gBAAiCsF,OAAOtF,KAAd,iBAEnBA,KAAKiF,wBAA0BjF,KAAKZ,MAAQ,GAAnD,KAEFmG,kBApFQ,WAqFN,IACGvF,KAAD,WACCA,KAAK2D,iBAAL,IAAwB3D,KAAKqE,eAAuBrE,KAFvD,SAGE,OAAO,EAET,GAAIA,KAAJ,SAAmB,OAAO,EAE1B,IAAM+D,EAAkB/D,KAAK+D,gBACzB/D,KADoB,eAEpBA,KAFJ,sBAIA,OAAOA,KAAKwF,OAASzB,GAArB,GAEF0B,WAlGQ,WAmGN,OAAIzF,KAAK2D,iBAAmB3D,KAA5B,WACSA,KAAKqE,cAAgBrE,KAA5B,wBAGEA,KAAJ,gBACgC,IAAvBA,KAAKqE,eACVrE,KAAKuF,kBADP,IAKCvF,KAAD,YACAA,KAFK,kBAAP,IAGKA,KAAKuF,mBAEZG,YAjHQ,WAkHN,OAAK1F,KAAL,iBAIOA,KAAKqE,cAAZ,EAHS,yCAAP,OAKJsB,YAxHQ,WAyHN,OACE,gDACA3F,KAFF,gBAKF4F,OA9HQ,WA+HN,wCACK,oCADE,OAAP,IAEEC,SAAU,eAAc7F,KAAD,iBAFlB,OAGL8F,UAAW,eAAc9F,KAHpB,mBAIL+F,UAAW,cAAF,OAAgB,eAAc/F,KAJlC,mBAII,KACTgG,KAAM,eAAchG,KALf,cAMLiG,MAAO,eAAcjG,KAAD,mBAK1BkG,MAAO,CACLhC,UADK,WAELqB,kBAFK,WAUAvF,KAAD,YACEA,KAAD,aAAsBA,KAFzB,eAKAA,KAAA,cAEF8D,eAhBK,SAgBS,GACZ9D,KAAA,UAAiBP,GAAjB,IAAwBO,KAAKqE,gBAIjC7C,QA9L+B,WA+LzBxB,KAAJ,iBAAyBA,KAAKwC,UAAW,IAG3Cb,QAAS,CACPwE,cADO,WAEL,IAAMzD,EAAS,0CAAf,MAMA,OAJAA,EAAA,KAAc1C,KAAKoG,GAAG1D,EAAA,MAAR,GAA2BA,EAA3B,IAAwC,CACpDJ,MAAO,CAAE+D,QAASrG,KAAKgF,mBAGzB,GAEFsB,kBAVO,WAWL,OAAOtG,KAAK8D,eAAL,EAEH9D,KAAKuG,eAAiBvG,KAF1B,mBAIFwG,aAfO,WAgBDxG,KAAJ,eACEA,KAAA,SAAgBA,KAAKqE,cAAgBrE,KAArC,yBAIEA,KAAJ,eACEA,KAAA,SAAgBA,KAAKyG,eACnBzG,KAAKqE,cAAgBrE,KADvB,yBAIEA,KAAK0G,iBAAmB1G,KAA5B,0BAEAA,KAAA,YAAmBA,KAAnB,kBAIJ0C,OAlO+B,SAkOzB,GACJ,IAAMA,EAAS,gCAAf,GAaA,OAXAA,EAAA,KAAcA,EAAA,MAAd,GAEI1C,KAAJ,YACE0C,EAAA,gBAAyBA,EAAA,iBAAzB,GACAA,EAAA,qBAA4B,CAC1BiE,IAAK3G,KADqB,aAE1BpB,KAF0B,SAG1BiB,MAAOG,KAAK4G,YAIhB,M,mBCnRJ9D,EAAOC,QAAU,SAA4BC,EAAW6D,GACtD,IAAI5D,EAAuC,oBAAtBD,EAAUD,QAC3BC,EAAUD,QAAQG,cAClBF,EAAUC,QAQd,IAAK,IAAIE,IANwB,oBAAtBH,EAAUD,UACnBE,EAAQ4D,WAAa7D,EAAUD,QAAQE,QAAQ4D,YAGjD5D,EAAQ4D,WAAa5D,EAAQ4D,YAAc,GAE7BA,EACZ5D,EAAQ4D,WAAW1D,GAAKF,EAAQ4D,WAAW1D,IAAM0D,EAAW1D,K,sFCNjD,qCAEN,CACPvE,KADO,QAGPC,MAAO,CACLiI,KAAM,CACJ/H,KADI,QAEJG,aAAS6H,GAEXC,GAAI,CACFjI,KADE,OAEFG,QAAS,OAEX+H,MAAO,CACLlI,KADK,QAELG,aAAS6H,IAIbjH,SAAU,CACRyB,OADQ,WAEN,OAAOvB,KAAKU,SAASwG,MAArB,OAIJC,aAxBO,WAyBL,IAAKnH,KAAD,UAAmBA,KAAKU,WAAaV,KAAzC,MACE,MAAM,IAAIoH,MAAV,gIAIJ1E,OA9BO,SA8BD,GACJ,IAAM2E,EAAU1E,EAAE,MAAO,CAAEzC,YAAa,uBAAyBF,KAAK8B,OAAtE,SAEA,OAAOa,EAAE,MAAO,CACdzC,YADc,gBAEdC,MAAO,gBACL,wBAAyBH,KAAKU,SADzB,IAEL,yBAA0BV,KAAKU,SAF1B,KAGFV,KAAKsH,cAEV7G,MAAO,CAAE,YAAY,GACrB8G,SAAU,CAAEP,GAAIhH,KAAKgH,KACpB,CATH","file":"js/chunk-vendors~4a7e9e0b-legacy.a3ab52bc.js","sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function installDirectives (component, directives) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.directives = component.exports.options.directives\n }\n\n options.directives = options.directives || {}\n\n for (var i in directives) {\n options.directives[i] = options.directives[i] || directives[i]\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","// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function installComponents (component, components) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.components = component.exports.options.components\n }\n\n options.components = options.components || {}\n\n for (var i in components) {\n options.components[i] = options.components[i] || components[i]\n }\n}\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n"],"sourceRoot":""}