{"version":3,"file":"js/229.5745aa4f.js","mappings":"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","sources":["webpack://search-receipt/../../../src/components/VResponsive/VResponsive.ts","webpack://search-receipt/../../../src/components/VResponsive/index.ts","webpack://search-receipt/../../../src/components/VImg/VImg.ts","webpack://search-receipt/./src/views/SearchReceiptV2.vue","webpack://search-receipt/src/views/SearchReceiptV2.vue","webpack://search-receipt/./src/views/SearchReceiptV2.vue?f8d8","webpack://search-receipt/./src/views/SearchReceiptV2.vue?88fc","webpack://search-receipt/./src/utils/util.js"],"sourcesContent":["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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"fill-height\",attrs:{\"fluid\":\"\",\"pa-0\":\"\"}},[_c('v-responsive',{staticClass:\"bg text-center fill-height secondary\"}),_c('v-responsive',{staticClass:\"text-center fill-height\"},[_c('div',{staticClass:\"parking-values\"},[_c('v-container',{staticClass:\"text-center\",attrs:{\"pa-0\":\"\"}},[_c('v-row',{staticClass:\"pa-0 text-center\",staticStyle:{\"padding-top\":\"20px\",\"max-width\":\"fit-content\",\"font-size\":\"35px\"},attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"py-3\",attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"ignore-p-breakpoint\",attrs:{\"pa-0\":\"\",\"pl-8\":\"\"}},[_c('p',{staticClass:\"text-start ma-0 pa-0 white--text\",staticStyle:{\"font-size\":\"40px\",\"font-weight\":\"700\"}},[_vm._v(\"FIND \")]),_c('p',{staticClass:\"text-start ma-0 pa-0 white--text\",staticStyle:{\"font-size\":\"35px\"}},[_vm._v(\"MY\")]),_c('p',{staticClass:\"text-start ma-0 pa-0 white--text\",staticStyle:{\"font-size\":\"40px\",\"font-weight\":\"700\"}},[_vm._v(\" RECEIPT\")])])],1)],1)],1)],1),(!_vm.isMobileOrTabDevice())?_c('v-row',{staticClass:\"text-center parking.com py-4\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-img',{staticStyle:{\"z-index\":\"1\"},attrs:{\"alt\":\"PARKING.COM\",\"height\":\"42\",\"contain\":\"\",\"src\":require(\"@/assets/logo_white.png\")}})],1)],1):_vm._e(),_c('v-slide-x-transition',{attrs:{\"mode\":\"out-in\"}},[_c('keep-alive',[_c('router-view')],1)],1),_c('v-row',{staticClass:\"my-4\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"mt-3 text-center color-black px-2\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"info-text\"},[(_vm.showInfoText)?_c('p',{staticClass:\"p-breakpoint mb-0 grey--text\"},[_vm._v(\" Complete this form to search for your latest parking transaction. We'll give you the option to download or print it. \")]):_vm._e(),_c('p',{staticClass:\"p-breakpoint mb-0 mt-4 grey--text\"},[_vm._v(\" If you're having trouble finding your receipt, tap \"),_c('a',{staticStyle:{\"font-weight\":\"bold\",\"color\":\"\"},attrs:{\"href\":\"mailto:customercare@spplus.com?subject=Request for receipt&body=\"}},[_vm._v(\"here\")]),_vm._v(\" or send us an email at customercare@spplus.com \")])])])],1),(_vm.isMobileOrTabDevice())?_c('footer',[_c('v-row',{staticClass:\"text-center parking.com pb-6\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-img',{attrs:{\"alt\":\"PARKING.COM\",\"height\":\"42\",\"contain\":\"\",\"src\":require(\"@/assets/logo_huge_drk.png\")}})],1)],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n\n ","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchReceiptV2.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchReceiptV2.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchReceiptV2.vue?vue&type=template&id=1f515829\"\nimport script from \"./SearchReceiptV2.vue?vue&type=script&lang=js\"\nexport * from \"./SearchReceiptV2.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchReceiptV2.vue?vue&type=style&index=0&id=1f515829&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","const isMobileOrTabDevice = () => {\n let iOS =\n [\n \"Android\",\n \"webOS\",\n \"iPad Simulator\",\n \"iPhone Simulator\",\n \"iPod Simulator\",\n \"iPad\",\n \"iPhone\",\n \"iPod\",\n ].includes(navigator.platform) ||\n (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document);\n return iOS;\n}\nconst getMobileOperatingSystem = () => {\n var userAgent = navigator.userAgent || navigator.vendor || window.opera;\n\n // Windows Phone must come first because its UA also contains \"Android\"\n if (/windows phone/i.test(userAgent)) {\n return \"Windows Phone\";\n }\n\n if (/android/i.test(userAgent)) {\n return \"Android\";\n }\n\n // iOS detection from: http://stackoverflow.com/a/9039885/177710\n if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {\n return \"iOS\";\n }\n return \"unknown\";\n}\nconst shareBlob = (doc, receiptName) => {\n if (navigator.share) {\n const pdfBlob = doc.output(\"blob\");\n // const file = new File(['hello'], 'hello.png', { type: 'image/png' });\n console.log(receiptName)\n const shareData = {\n files: [new File([pdfBlob], receiptName, { type: \"application/pdf\" })]\n };\n console.log(shareData);\n console.log(navigator.canShare(shareData));\n let permissionStatus = askWritePermission();\n console.log(\"permissionStatus\", permissionStatus)\n if (navigator.canShare(shareData)) {\n navigator.share(shareData)\n .then(() => {\n console.log(\"PDF shared successfully\");\n })\n .catch((error) => {\n console.error(\"Error sharing PDF:\", error);\n });\n }\n } else {\n // Fallback if the browser doesn't support the share API\n alert(\"Your browser does not support the share API.\");\n }\n}\nconst askWritePermission = async() => {\n try {\n const { state } = await navigator.permissions.query({ name: 'web-share' })\n return state === 'granted'\n } catch (error) {\n return false\n }\n}\nexport { isMobileOrTabDevice, getMobileOperatingSystem, shareBlob, askWritePermission }\n"],"names":["mixins","Measurable","extend","name","props","aspectRatio","String","Number","contentClass","computed","computedAspectRatio","this","aspectStyle","paddingBottom","undefined","__cachedSizer","$createElement","style","staticClass","methods","genContent","class","getSlot","render","h","measurableStyles","on","$listeners","hasIntersect","window","VResponsive","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","attrs","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","_c","staticStyle","_vm","require","showInfoText","_v","staticRenderFns","components","isMobileOrTabDevice","noReceiptFoundDialog","mapGetters","receipt","to","self","toPage","component","iOS","includes","navigator","platform","userAgent","document","getMobileOperatingSystem","vendor","opera","test","MSStream","shareBlob","doc","receiptName","share","pdfBlob","output","console","log","shareData","files","File","canShare","permissionStatus","askWritePermission","error","alert","async","state","permissions","query"],"sourceRoot":""}