{"version":3,"sources":["webpack:///./src/assets/Logo_Altenheim_lang_5cm.png","webpack:///./src/components/core/AppBar.vue?1a6b","webpack:///src/components/core/AppBar.vue","webpack:///./src/components/core/AppBar.vue?09eb","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack:///./src/components/core/AppBar.vue"],"names":["module","exports","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","on","toggleDrawer","_l","$store","state","item","key","_uuid","_e","dropdown","staticRenderFns","components","VSheet","name","props","absolute","bottom","collapse","dense","extended","extensionHeight","default","type","Number","String","flat","floating","prominent","short","src","tag","tile","data","isExtended","computed","computedHeight","height","parseInt","isCollapsed","isNaN","computedContentHeight","isProminent","$vuetify","breakpoint","classes","styles","created","breakingProps","original","replacement","methods","genBackground","image","$scopedSlots","img","VImg","genContent","style","genExtension","render","children","setBackgroundColor","class","$listeners","h","inserted","callback","binding","options","passive","target","document","el","unbind","Scroll","directives","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","canScroll","window","computedScrollThreshold","watch","mounted","console","onScroll","Math","thresholdMet","baseMixins","mixins","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","value","applicationProperty","app","min","max","difference","iteration","offset","computedFontSize","increment","computedLeft","application","computedMarginTop","computedOpacity","opacity","parseFloat","computedOriginalHeight","computedRight","computedTransform","hideShadow","fontSize","marginTop","transform","left","right","val","_b","updateApplication","arg","functional","d","Object","icon","listeners","defaultSlot","slots","VBtn","VIcon","component","VAppBar","VAppBarNavIcon","VContainer","VRow"],"mappings":"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","file":"js/chunk-1199b1ce.589256fb.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/Logo_Altenheim_lang_5cm.7639336b.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app-bar',{attrs:{\"app\":\"\",\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{staticClass:\"hidden-md-and-up\",on:{\"click\":_vm.toggleDrawer}}),_c('v-container',{staticClass:\"mx-auto py-0\"},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('v-img',{staticClass:\"mr-5\",attrs:{\"src\":require('@/assets/Logo_Altenheim_lang_5cm.png'),\"contain\":\"\",\"height\":\"48\",\"max-height\":\"48\",\"max-width\":\"200\"}})],1),_c('v-row',{staticClass:\"hidden-sm-and-down\"},[_vm._l((this.$store.state.menuItems),function(item){return [(item.dropdown)?_c('AppBarDropdown',{key:item._uuid,attrs:{\"tab\":item}}):_vm._e(),(!item.dropdown)?_c('AppBarButton',{key:item._uuid,attrs:{\"tab\":item}}):_vm._e()]})],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\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/vuetify-loader/lib/loader.js??ref--17-0!../../../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/vuetify-loader/lib/loader.js??ref--17-0!../../../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&\"","// 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 tile: {\n type: Boolean,\n default: true,\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","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends VNodeDirective {\n arg: string\n value: EventListenerOrEventListenerObject\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const callback = binding.value\n const options = binding.options || { passive: true }\n const target = binding.arg ? document.querySelector(binding.arg) : window\n if (!target) return\n\n target.addEventListener('scroll', callback, options)\n\n el._onScroll = {\n callback,\n options,\n target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { callback, options, target } = el._onScroll\n\n target.removeEventListener('scroll', callback, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\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 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 falsey, 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 computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const height = this.computedOriginalHeight\n\n const min = this.dense ? 48 : 56\n const max = height\n const difference = max - min\n const iteration = difference / this.computedScrollThreshold\n const offset = this.currentScroll * iteration\n\n return Math.max(min, max - offset)\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const max = this.dense ? 96 : 128\n const difference = max - this.computedContentHeight\n const increment = 0.00347\n\n // 1.5rem to a minimum of 1.25rem\n return Number((1.50 - difference * increment).toFixed(2))\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 const opacity = Math.max(\n (this.computedScrollThreshold - this.currentScroll) / this.computedScrollThreshold,\n 0\n )\n\n return Number(parseFloat(opacity).toFixed(2))\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","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=04fa1ea6&\"\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 { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAppBar,VAppBarNavIcon,VContainer,VImg,VRow})\n"],"sourceRoot":""}