{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./src/components/Intro.vue","webpack:///src/components/Intro.vue","webpack:///./src/components/Intro.vue?a3f1","webpack:///./src/components/Intro.vue?538e","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts"],"names":["$","uncurryThis","getOwnPropertyDescriptor","f","toLength","toString","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","nativeEndsWith","endsWith","slice","min","Math","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","String","prototype","writable","target","proto","forced","searchString","that","this","endPosition","arguments","length","undefined","len","end","search","attrs","_c","staticClass","_v","class","preventDefault","_vm","staticRenderFns","computed","namespace","$route","name","component","mixins","Measurable","extend","props","aspectRatio","Number","contentClass","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","$createElement","style","methods","genContent","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","_typeof","__cachedImage","backgroundImage","push","concat","join","backgroundPosition","key","mode","watch","loadImage","init","mounted","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","$emit","startsWith","naturalHeight","onError","_this","onload","decode","catch","err","consoleWarn","message","then","onerror","img","_this2","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":"js/chunk-222d46e4.1421e8b0.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar nativeEndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return nativeEndsWith\n ? nativeEndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.namespace)?_c('v-img',{staticClass:\"white--text\",attrs:{\"height\":\"100vh\",\"src\":\"/static/peapilt_1500_1000.jpg\",\"gradient\":\"to top, rgba(13, 3, 29, .60), rgba(25, 25, 38, .25)\"}},[_c('v-container',{attrs:{\"fill-height\":\"\"}},[_c('v-row',{staticClass:\"pt-5 px-3\",attrs:{\"align\":\"center\"}},[_c('v-sheet',{attrs:{\"color\":\"transparent\",\"dark\":\"\"}},[_c('p',{staticClass:\"title font-weight-light\"},[_vm._v(\" Ruumi \"),_c('strong',[_vm._v(\"vähe\")]),_vm._v(\", pole \"),_c('strong',[_vm._v(\"aega\")]),_vm._v(\", ära näe \"),_c('strong',[_vm._v(\"vaeva\")]),_vm._v(\", \")]),_c('h1',{staticClass:\"mb-4 text-uppercase font-weight-black\",class:_vm.$vuetify.breakpoint.smAndUp ? 'display-3' : 'display-1'},[_vm._v(\" Usalda asjatundjaid \")]),_c('div',{staticClass:\"py-4\"}),_c('v-row',{staticClass:\"ma-0\",attrs:{\"justify\":\"center\",\"justify-md\":\"start\"}},[_c('v-btn',{staticClass:\"mr-md-3 my-2\",attrs:{\"color\":\"white\",\"href\":\"#services-info\",\"large\":\"\",\"min-width\":\"175\",\"outlined\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.$vuetify.goTo('#welcome')}}},[_vm._v(\" Uuri lähemalt \")]),_c('v-btn',{staticClass:\"text--primary my-2\",attrs:{\"color\":\"white\",\"href\":\"https://diga.ee/#/login\",\"large\":\"\",\"min-width\":\"175\",\"rounded\":\"\"}},[_vm._v(\" Sisene kliendikeskkonda \")])],1)],1)],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n\n \n Ruumi vähe, pole aega, ära näe vaeva,\n \n \n Usalda asjatundjaid\n \n\n \n\n \n \n Uuri lähemalt\n \n\n \n Sisene kliendikeskkonda\n \n \n \n \n \n \n\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!./Intro.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!./Intro.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Intro.vue?vue&type=template&id=16181144\"\nimport script from \"./Intro.vue?vue&type=script&lang=js\"\nexport * from \"./Intro.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","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":""}
\n Ruumi vähe, pole aega, ära näe vaeva,\n