{"version":3,"sources":["webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///./src/views/pages/components/core/AppBar.vue?d32b","webpack:///src/views/pages/components/core/AppBar.vue","webpack:///./src/views/pages/components/core/AppBar.vue?d101","webpack:///./src/views/pages/components/core/AppBar.vue","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/directives/scroll/index.ts"],"names":["applicationable","value","events","mixins","PositionableFactory","extend","name","props","app","Boolean","computed","applicationProperty","watch","x","prev","this","removeApplication","callUpdate","newVal","oldVal","$vuetify","application","unregister","_uid","activated","created","i","length","$watch","mounted","deactivated","destroyed","methods","register","updateApplication","force","Vue","directives","Scroll","scrollTarget","String","scrollThreshold","Number","data","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","target","canScroll","window","computedScrollThreshold","document","querySelector","consoleWarn","onScroll","scrollTop","pageYOffset","Math","abs","$nextTick","thresholdMet","baseMixins","VToolbar","Scrollable","SSRBootable","Toggleable","Applicationable","provide","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","type","default","bottom","options","call","isBooted","classes","collapse","absolute","fixed","hideShadow","scrollRatio","threshold","max","computedContentHeight","min","dense","computedOriginalHeight","computedFontSize","isProminent","computedLeft","left","computedMarginTop","bar","computedOpacity","height","isExtended","parseInt","extensionHeight","computedRight","right","computedTransform","computedHeight","isCollapsed","styles","fontSize","convertToUnit","marginTop","transform","val","genBackground","render","_b","tag","style","opacity","h","push","arg","_vm","_h","$createElement","_c","_self","attrs","staticClass","domProps","_s","title","_l","item","key","to","hidden","breakpoint","mdAndUp","icon","text","staticRenderFns","items","hiddenWhenLoggedIn","hiddenWhenLoggedOut","titles","mapGetters","isAuthenticated","computedItems","mapItem","component","VBtn","VContainer","VIcon","VSpacer","VToolbarTitle","VGrid","functional","id","children","trim","Object","keys","filter","startsWith","join","Grid","fluid","mergeData","class","Array","concat","inserted","el","binding","vnode","modifiers","self","passive","handler","addEventListener","_onScroll","context","undefined","unbind","_el$_onScroll","removeEventListener"],"mappings":"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","file":"js/chunk-4a7d512c.df80c23e.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 hideOnScroll (val: boolean) {\n this.isActive = !val || this.currentScroll < this.computedScrollThreshold\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app-bar',{attrs:{\"absolute\":\"\",\"color\":\"transparent\",\"flat\":\"\",\"height\":\"85\"}},[_c('v-container',{staticClass:\"px-0 text-right d-flex align-center\"},[_c('v-toolbar-title',{staticClass:\"font-weight-light hidden-xs-only\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('v-spacer'),_vm._l((_vm.computedItems),function(item,i){return _c('v-btn',{key:i,attrs:{\"to\":item.to,\"hidden\":item.hidden,\"min-height\":\"48\",\"min-width\":\"40\",\"text\":\"\"}},[_c('v-icon',{attrs:{\"left\":_vm.$vuetify.breakpoint.mdAndUp,\"size\":\"20\"},domProps:{\"textContent\":_vm._s(item.icon)}}),_c('span',{staticClass:\"hidden-sm-and-down\",domProps:{\"textContent\":_vm._s(item.text)}})],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=ed061a98&\"\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 { VContainer } from 'vuetify/lib/components/VGrid';\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,VContainer,VIcon,VSpacer,VToolbarTitle})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } 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, vnode: VNode) {\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 = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":""}