{"version":3,"sources":["webpack:///./src/assets/Nuvolos-transparent.svg","webpack:///./src/views/TheFullScreenLoader.vue?4212","webpack:///./src/views/TheFullScreenLoader.vue","webpack:///./src/views/TheFullScreenLoader.vue?bf4f","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts"],"names":["module","exports","staticClass","attrs","require","_c","script","component","staticRenderFns","mixins","Measurable","extend","name","props","aspectRatio","String","Number","contentClass","computed","computedAspectRatio","this","aspectStyle","paddingBottom","undefined","__cachedSizer","$createElement","style","methods","genContent","class","getSlot","render","h","measurableStyles","on","$listeners","VResponsive","hasIntersect","window","Themeable","directives","intersect","alt","contain","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","rootMargin","threshold","position","sizes","src","srcset","transition","data","currentSrc","image","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","push","join","backgroundPosition","key","mode","watch","loadImage","init","mounted","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","$emit","endsWith","startsWith","naturalHeight","onError","onload","decode","catch","err","consoleWarn","message","then","onerror","img","timeout","poll","complete","setTimeout","content","call","_b","width","__genPlaceholder","slot","placeholder","appear","node","mergeData","role","themeClasses","modifiers","once","value","handler","children","tag"],"mappings":"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","file":"static/js/chunk-587b0e9c.ca65dc27.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/img/Nuvolos-transparent.cf1c3b99.svg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheFullScreenLoader.vue?vue&type=style&index=0&id=f73d8a6c&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"nv-fs-overlay d-flex align-center justify-center\"},[_c('div',{staticClass:\"d-flex flex-column align-center justify-center\"},[_c('v-img',{attrs:{\"src\":require(\"@/assets/Nuvolos-transparent.svg\"),\"alt\":\"Loading Nuvolos\",\"width\":\"150\"}}),_c('v-progress-circular',{staticClass:\"mt-5\",attrs:{\"indeterminate\":\"\",\"color\":\"primary\",\"size\":\"24\",\"width\":\"2\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./TheFullScreenLoader.vue?vue&type=template&id=f73d8a6c&scoped=true&\"\nvar script = {}\nimport style0 from \"./TheFullScreenLoader.vue?vue&type=style&index=0&id=f73d8a6c&prod&scoped=true&lang=css&\"\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 \"f73d8a6c\",\n null\n \n)\n\nexport default component.exports","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\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'\nimport { getSlot } from '../../util/helpers'\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 const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\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":""}