{"version":3,"sources":["webpack:///../../../src/components/VToolbar/index.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///./src/layouts/default/AppBar.vue?4852","webpack:///src/layouts/default/AppBar.vue","webpack:///./src/layouts/default/AppBar.vue?dafe","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/layouts/default/AppBar.vue","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts"],"names":["VToolbarTitle","VToolbarItems","events","name","props","app","Boolean","computed","applicationProperty","watch","prev","this","removeApplication","activated","created","i","length","mounted","deactivated","destroyed","methods","callUpdate","force","updateApplication","_vm","_h","$createElement","_c","_self","staticClass","attrs","$vuetify","rtl","on","$event","drawer","domProps","_s","staticRenderFns","inserted","binding","self","value","options","passive","handler","target","document","el","undefined","unbind","Scroll","directives","scrollTarget","scrollThreshold","String","Number","data","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","canScroll","window","computedScrollThreshold","console","onScroll","Math","thresholdMet","baseMixins","mixins","provide","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","type","default","classes","VToolbar","collapse","scrollRatio","threshold","computedContentHeight","min","dense","max","computedFontSize","computedLeft","application","computedMarginTop","computedOpacity","computedOriginalHeight","height","parseInt","computedRight","computedTransform","bottom","hideShadow","isCollapsed","isProminent","styles","fontSize","marginTop","transform","left","right","val","genBackground","render","_b","style","opacity","computedHeight","arg","functional","d","Object","icon","listeners","defaultSlot","slots","h","VBtn","VIcon","component","VAppBarNavIcon","VSpacer","absolute","extended","extensionHeight","flat","floating","prominent","short","src","tag","isExtended","isNaN","breakpoint","breakingProps","original","replacement","image","$scopedSlots","img","genContent","genExtension","children","setBackgroundColor","class","$listeners","hasIntersect","intersect","alt","contain","eager","gradient","lazySrc","root","rootMargin","position","sizes","srcset","transition","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","computedAspectRatio","normalisedSrc","aspect","aspectRatio","__cachedImage","backgroundImage","backgroundPosition","key","mode","loadImage","init","lazyImg","onLoad","endsWith","startsWith","naturalHeight","onError","getSrc","err","pollForSize","timeout","poll","setTimeout","content","width","__genPlaceholder","$slots","placeholder","appear","node","role","modifiers","once"],"mappings":"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","file":"js/chunk-56f1abdf.c35c97f2.js","sourcesContent":["// 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 { 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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app-bar',{staticClass:\"v-bar--underline\",attrs:{\"id\":\"default-app-bar\",\"app\":\"\",\"absolute\":\"\",\"color\":\"transparent\",\"clipped-left\":_vm.$vuetify.rtl,\"clipped-right\":!_vm.$vuetify.rtl,\"height\":\"70\",\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{staticClass:\"hidden-md-and-up\",on:{\"click\":function($event){_vm.drawer = !_vm.drawer}}}),_c('default-drawer-toggle',{staticClass:\"hidden-sm-and-down\"}),_c('v-toolbar-title',{staticClass:\"font-weight-light text-h5\",domProps:{\"textContent\":_vm._s(_vm.name)}}),_c('v-spacer'),_c('default-go-home')],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&\"","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","// 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","// 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=d061afd4&\"\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 { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VAppBarNavIcon,VSpacer,VToolbarTitle})\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","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n if (this.$slots.placeholder) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, this.$slots.placeholder)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n"],"sourceRoot":""}