{"version":3,"sources":["webpack:///./src/core/Configuration.ts","webpack:///./src/views/Subscribe.vue?e1c5","webpack:///./node_modules/@frontiers-vue/common/dist/vue-common.esm.js","webpack:///./src/views/Subscribe.vue?9fee","webpack:///./src/views/Subscribe.vue?030a","webpack:///./src/views/Subscribe.vue"],"names":["Configuration","this","subscriptionType","urlKey","urlReason","subscriptionTypeId","resourceId","resourceValue","email","errorMessage","loggedIn","brandName","wasGloballyUnsubscribed","instance","hdnUrlKey","document","getElementById","value","remove","hdnUrlReason","hdnSubscriptionType","hdnSubscriptionTypeId","hdnResourceId","hdnResourceValue","hdnResourceEmail","hdnResourceErrorMessage","hdnLoggedIn","JSON","parse","toLowerCase","hdnBrandName","hdnWasGloballyUnsubscribed","undefined","loadDataFromDOM","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","_e","inputsDisabled","directives","name","rawName","expression","modifiers","validate","isValidForm","attrs","domProps","on","$event","target","composing","firstName","lastName","class","buttonDisabled","style","validateForm","messageClass","message","staticRenderFns","LockScroll","getShadowDomRoot","el","isShadowDom","lastParent","parentElement","tagName","getScrollbarWidth","outer","createElement","visibility","overflow","msOverflowStyle","body","appendChild","inner","scrollbarWidth","offsetWidth","parentNode","removeChild","isThereScrollbar","documentHeight","documentElement","scrollHeight","windowHeight","window","innerHeight","checkBindingValue","binding","Error","lockBodyScroll","html","wrap","isScroll","pageYOffset","scrollTop","top","setAttribute","toString","display","height","width","position","unlockBodyScroll","dataScrollTopValue","getAttribute","DATA_SCROLL_TOP_ATTR","scrollTo","parseInt","setTimeout","isValidContext","siblings","firstChild","length","console","warn","getComputedStyle","prototype","update","vnode","oldValue","getElementsByTagName","bodyChildren","querySelectorAll","delayUnlockScroll","bind","ClickOutside","staticAccessors","CALLBACK_FUNC","configurable","get","isVisible","getClientRects","context","e","stopPropagation","contains","inserted","shadowRoot","addEventListener","unbind","removeEventListener","Object","defineProperties","CheckPosition","clearInlinePosition","bottom","left","right","isOverflownVertically","offset","getBoundingClientRect","offsetHeight","margin","isOverflownHorizontally","innerWidth","EscapePress","staticAccessors$1","ESCAPE_KEY","onKeyUp","callbackFunc","keyCode","arg","Validators","isNullOrEmpty","trim","checkMinimumLength","min","checkMaximumLength","max","isValidEmail","test","isValidURL","isValidDate","d","Date","isNaN","isValidNumber","match","ElementType","FieldValidator","staticAccessors$2","ERROR_MSG_ELEMENTS","MSG_REQUIRED","MSG_MIN","MSG_MAX","MSG_EMAIL","MSG_DATE","MSG_URL","MSG_REQUIRED_ATTR","MSG_MIN_ATTR","MSG_MAX_ATTR","MSG_EMAIL_ATTR","MSG_DATE_ATTR","MSG_URL_ATTR","validate_onInput","validateHTMLInput","funcList","errorMsgDiv","i","list","f","errorMsg","innerText","$data","checkTheRestOfFields","formName","element","checkRequired","getAttributeValue","checkMinimum","replace","checkMaximum","checkEmail","checkURL","checkDate","attrName","defaultValue","attr","insertAfter","referenceNode","insertBefore","nextSibling","type","getElmentType","HTMLInputElement","__vue__","fieldValidatorBinding","DropDown","dropDown_selectedItem","selectedItem","selectedIndex","DatePicker","datePicker_apply","selectedDate","DateRangePicker","selectedPresetIndex","selectedPreset","presets","dateRangePicker_apply","from","to","MultiSelect","multiSelect_apply","selectedItemsApplied","NumberRange","numberRange_apply","minValue","maxValue","Unknown","classList","add","componentInstance","$el","required","push","date","url","customValidator","cvf","data","errorMsgEl","$on","datePicker_clear","dateRangePicker_clear","multiSelect_clear","numberRange_clear","errMessageList","splice","tag","componentOptions","indexOf","sender","option","index","setVueComponentStatus","items","hasValue","CheckOverflowFiltersContainer","staticAccessors$3","CALLBACK_RESIZE_FUNC","createCommonjsModule","fn","module","exports","setPositionFixed","mainContainer","$refs","positionTop","positionLeft","clientWidth","elHeight","clientHeight","filtersContainer","isOverflowScroll","closeFunc","close","isOpen","topPosition","oldPosition","callbackResizeFunc","newPosition","isDesktop","global","locales","plugins","lang","_res","MMMM","MMM","dddd","ddd","dd","A","_formatter","YYYY","getFullYear","slice","YY","Y","res","getMonth","MM","M","DD","getDate","D","HH","getHours","H","hh","h","mm","getMinutes","m","ss","getSeconds","s","SSS","getMilliseconds","SS","S","getDay","Z","utc","exec","toTimeString","post","str","_parser","result","find","h12","a","re","array","item","len","pre","customize","code","base","locale","extend","proto","props","Locale","r","constructor","newLocale","key","loc","formatter","parser","compile","formatString","keys","pattern","format","dateObj","addMinutes","getTimezoneOffset","token","preparse","dateString","dt","_index","_length","_match","charAt","isValid","arg1","arg2","last","isLeapYear","UTC","NaN","addYears","years","addMonths","months","getTime","setMonth","addDays","days","setDate","addHours","hours","minutes","addSeconds","seconds","addMilliseconds","milliseconds","subtract","date1","date2","delta","toMilliseconds","toSeconds","toMinutes","toHours","toDays","y","isSameDay","toDateString","extension","extender","plugin","Directives","Instance","LoggedIn","SubscriptionTypeId","SubscriptionType","ResourceId","ResourceValue","BrandName","showError","$nextTick","apiCall","Email","FirstName","LastName","then","response","confirmPending","catch","error","components","Button","component"],"mappings":"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","file":"js/chunk-fafceac4.a9cc7363.js","sourcesContent":["export default class Configuration {\r\n\r\n public static get Instance(): Configuration {\r\n if (Configuration.instance === undefined) {\r\n Configuration.instance = new Configuration();\r\n Configuration.loadDataFromDOM(Configuration.instance);\r\n }\r\n return Configuration.instance;\r\n }\r\n\r\n public get SubscriptionType(): string { return this.subscriptionType; }\r\n public get UrlKey(): string { return this.urlKey; }\r\n public get UrlReason(): string { return this.urlReason; }\r\n public get SubscriptionTypeId(): string { return this.subscriptionTypeId; }\r\n public get ResourceId(): string { return this.resourceId; }\r\n public get ResourceValue(): string { return this.resourceValue; }\r\n public get Email(): string { return this.email; }\r\n public get ErrorMessage(): string { return this.errorMessage; }\r\n\r\n public get LoggedIn(): boolean { return this.loggedIn; }\r\n public get BrandName(): string { return this.brandName; }\r\n\r\n public get WasGloballyUnsubscribed(): boolean { return this.wasGloballyUnsubscribed; }\r\n\r\n private static instance: Configuration;\r\n\r\n private static loadDataFromDOM(instance: Configuration): void {\r\n const hdnUrlKey = document.getElementById('hdn-url-key') as HTMLInputElement;\r\n if (hdnUrlKey) {\r\n instance.urlKey = hdnUrlKey.value;\r\n hdnUrlKey.remove();\r\n }\r\n\r\n const hdnUrlReason = document.getElementById('hdn-url-reason') as HTMLInputElement;\r\n if (hdnUrlReason) {\r\n instance.urlReason = hdnUrlReason.value;\r\n hdnUrlReason.remove();\r\n }\r\n\r\n const hdnSubscriptionType = document.getElementById('hdn-subscription-type') as HTMLInputElement;\r\n if (hdnSubscriptionType) {\r\n instance.subscriptionType = hdnSubscriptionType.value;\r\n hdnSubscriptionType.remove();\r\n }\r\n\r\n const hdnSubscriptionTypeId = document.getElementById('hdn-subscription-type-id') as HTMLInputElement;\r\n if (hdnSubscriptionTypeId) {\r\n instance.subscriptionTypeId = hdnSubscriptionTypeId.value;\r\n hdnSubscriptionTypeId.remove();\r\n }\r\n\r\n const hdnResourceId = document.getElementById('hdn-resource-id') as HTMLInputElement;\r\n if (hdnResourceId) {\r\n instance.resourceId = hdnResourceId.value;\r\n hdnResourceId.remove();\r\n }\r\n\r\n const hdnResourceValue = document.getElementById('hdn-resource-value') as HTMLInputElement;\r\n if (hdnResourceValue) {\r\n instance.resourceValue = hdnResourceValue.value;\r\n hdnResourceValue.remove();\r\n }\r\n\r\n const hdnResourceEmail = document.getElementById('hdn-email') as HTMLInputElement;\r\n if (hdnResourceEmail) {\r\n instance.email = hdnResourceEmail.value;\r\n hdnResourceEmail.remove();\r\n }\r\n\r\n const hdnResourceErrorMessage = document.getElementById('hdn-error-message') as HTMLInputElement;\r\n if (hdnResourceErrorMessage) {\r\n instance.errorMessage = hdnResourceErrorMessage.value;\r\n hdnResourceErrorMessage.remove();\r\n }\r\n\r\n const hdnLoggedIn = document.getElementById('hdn-logged-in') as HTMLInputElement;\r\n if (hdnLoggedIn) {\r\n instance.loggedIn = JSON.parse(hdnLoggedIn.value.toLowerCase());\r\n hdnLoggedIn.remove();\r\n }\r\n\r\n const hdnBrandName = document.getElementById('hdn-brand-name') as HTMLInputElement;\r\n if (hdnBrandName) {\r\n instance.brandName = hdnBrandName.value;\r\n hdnBrandName.remove();\r\n }\r\n\r\n const hdnWasGloballyUnsubscribed = document.getElementById('hdn-was-globally-unsubscribed') as HTMLInputElement;\r\n if (hdnWasGloballyUnsubscribed) {\r\n instance.wasGloballyUnsubscribed = JSON.parse(hdnWasGloballyUnsubscribed.value.toLowerCase());\r\n hdnWasGloballyUnsubscribed.remove();\r\n }\r\n }\r\n\r\n private subscriptionType!: string;\r\n private urlKey!: string;\r\n private urlReason!: string;\r\n private subscriptionTypeId!: string;\r\n private resourceId!: string;\r\n private resourceValue!: string;\r\n private email!: string;\r\n private errorMessage!: string;\r\n\r\n private loggedIn!: boolean;\r\n private brandName!: string;\r\n private wasGloballyUnsubscribed!: boolean;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"subscribe-page\"},[_c('div',{staticClass:\"FormPage\"},[_c('div',{staticClass:\"FormPage__iconSubscribe\"}),_c('div',{staticClass:\"FormPage__title\"},[_vm._v(\" You are about to subscribe \")]),_c('div',{staticClass:\"FormPage__text\"},[_vm._v(\" Please subscribe to start receiving \"+_vm._s(_vm.subscriptionType)+\" \"),(_vm.resourceId !== '')?[_vm._v(\" for \"+_vm._s(_vm.resourceValue)+\" \")]:_vm._e(),_c('br'),_vm._v(\" Note: if you previously decided not to receive any email from \"+_vm._s(_vm.brandName)+\", subscribing will change that behaviour. \")],2),(!_vm.inputsDisabled)?_c('div',{staticClass:\"FormPage__block\"},[_c('div',{staticClass:\"FormPage__block__wrapper\"},[_c('div',{staticClass:\"FormPage__block__title\"},[_vm._v(\"First name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.firstName),expression:\"firstName\"},{name:\"field-validator\",rawName:\"v-field-validator.required\",value:(_vm.formModel),expression:\"formModel\",modifiers:{\"required\":true}},{name:\"field-validator\",rawName:\"v-field-validator.required.max\",value:({ validate: _vm.validate, isValidForm: 'isValidForm' }),expression:\"{ validate, isValidForm: 'isValidForm' }\",modifiers:{\"required\":true,\"max\":true}}],staticClass:\"Input\",attrs:{\"type\":\"text\",\"placeholder\":\"First name\",\"required-error-message\":\"Please fill in this field.\",\"max\":\"150\",\"max-error-message\":\"A maximum of 150 characters is allowed.\"},domProps:{\"value\":(_vm.firstName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.firstName=$event.target.value}}}),_c('div',{staticClass:\"FormPage__block__title\"},[_vm._v(\" Last name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastName),expression:\"lastName\"},{name:\"field-validator\",rawName:\"v-field-validator.required\",value:(_vm.formModel),expression:\"formModel\",modifiers:{\"required\":true}},{name:\"field-validator\",rawName:\"v-field-validator.required.max\",value:({ validate: _vm.validate, isValidForm: 'isValidForm' }),expression:\"{ validate, isValidForm: 'isValidForm' }\",modifiers:{\"required\":true,\"max\":true}}],staticClass:\"Input\",attrs:{\"type\":\"text\",\"placeholder\":\"Last name\",\"required-error-message\":\"Please fill in this field.\",\"max\":\"150\",\"max-error-message\":\"A maximum of 150 characters is allowed.\"},domProps:{\"value\":(_vm.lastName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.lastName=$event.target.value}}}),_c('div',{staticClass:\"FormPage__block__title\"},[_vm._v(\"Email\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"},{name:\"field-validator\",rawName:\"v-field-validator.required.email\",value:(_vm.formModel),expression:\"formModel\",modifiers:{\"required\":true,\"email\":true}},{name:\"field-validator\",rawName:\"v-field-validator.required.email.max\",value:({ validate: _vm.validate, isValidForm: 'isValidForm' }),expression:\"{ validate, isValidForm: 'isValidForm' }\",modifiers:{\"required\":true,\"email\":true,\"max\":true}}],staticClass:\"Input\",attrs:{\"type\":\"text\",\"placeholder\":\"Email\",\"required-error-message\":\"Please fill in this field.\",\"max\":\"150\",\"max-error-message\":\"A maximum of 150 characters is allowed.\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})])]):_vm._e(),_c('Button',{class:{ 'is-disabled' : _vm.buttonDisabled },style:([_vm.inputsDisabled ? {'margin-top': '25px'} : {'margin-top': '0px'}]),attrs:{\"id\":\"subscribeBtn\",\"text\":\"Subscribe\",\"is-disabled\":_vm.isValidForm === false},on:{\"click\":_vm.validateForm}}),(_vm.showMessage)?_c('div',{staticClass:\"Messaging\",class:_vm.messageClass},[_vm._v(_vm._s(_vm.message))]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function ___$insertStyle(css) {\n if (!css) {\n return;\n }\n if (typeof window === 'undefined') {\n return;\n }\n\n var style = document.createElement('style');\n\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n document.head.appendChild(style);\n return css;\n}\n\nvar LockScroll = function LockScroll () {};\n\nLockScroll.getScrollbarWidth = function getScrollbarWidth () {\r\n var outer = document.createElement('div');\r\n outer.style.visibility = 'hidden';\r\n outer.style.overflow = 'scroll';\r\n outer.style.msOverflowStyle = 'scrollbar';\r\n document.body.appendChild(outer);\r\n var inner = document.createElement('div');\r\n outer.appendChild(inner);\r\n var scrollbarWidth = outer.offsetWidth - inner.offsetWidth;\r\n if (outer.parentNode !== null) {\r\n outer.parentNode.removeChild(outer);\r\n }\r\n return scrollbarWidth;\r\n};\r\nLockScroll.isThereScrollbar = function isThereScrollbar () {\r\n var documentHeight = document.documentElement.scrollHeight;\r\n var windowHeight = window.innerHeight;\r\n if (documentHeight > windowHeight) {\r\n return true;\r\n }\r\n return false;\r\n};\r\nLockScroll.checkBindingValue = function checkBindingValue (binding) {\r\n if (typeof binding.value !== 'boolean') {\r\n throw new Error('The binding of lock-scroll directive must be a boolean value.');\r\n }\r\n};\r\n/**\r\n * This function saves the current position of the scroll in an attribute in body tag and remove the scroll\r\n */\r\nLockScroll.lockBodyScroll = function lockBodyScroll (html, body, wrap) {\r\n var isScroll = this.isThereScrollbar();\r\n if (window.pageYOffset) {\r\n var scrollTop = window.pageYOffset;\r\n wrap.style.top = (-scrollTop) + \"px\";\r\n body.setAttribute('data-scroll-top', scrollTop.toString());\r\n }\r\n else {\r\n body.setAttribute('data-scroll-top', '');\r\n }\r\n wrap.style.display = 'block';\r\n body.style.height = '100%';\r\n body.style.width = '100%';\r\n body.style.overflow = 'hidden';\r\n body.style.position = 'fixed';\r\n if (isScroll) {\r\n body.style.width = \"calc(100% - \" + (this.getScrollbarWidth()) + \"px\";\r\n }\r\n html.style.height = '100%';\r\n html.style.overflow = 'hidden';\r\n};\r\n/**\r\n * This function unlock the scroll and gets the scroll back to its previous position before it was locked\r\n */\r\nLockScroll.unlockBodyScroll = function unlockBodyScroll (html, body, wrap) {\r\n var dataScrollTopValue = body.getAttribute(LockScroll.DATA_SCROLL_TOP_ATTR);\r\n body.style.height = '';\r\n body.style.width = '';\r\n body.style.overflow = '';\r\n body.style.position = '';\r\n html.style.height = '';\r\n html.style.overflow = '';\r\n wrap.style.top = '';\r\n wrap.style.display = '';\r\n if (dataScrollTopValue) {\r\n window.scrollTo(0, parseInt(dataScrollTopValue, 10));\r\n window.setTimeout(function () {\r\n body.setAttribute('data-scroll-top', '');\r\n }, 0);\r\n }\r\n};\r\nLockScroll.isValidContext = function isValidContext (siblings, firstChild) {\r\n if (siblings.length === 0) {\r\n throw new Error('[directive:lock-scroll] no valid siblings of body have been found');\r\n }\r\n if (siblings.length > 1) {\r\n console.warn('[directive:lock-scroll] the body must only contain one div element');\r\n }\r\n if (firstChild) {\r\n if (getComputedStyle(firstChild).position !== 'relative') {\r\n console.warn('[directive:lock-scroll] the sibling element must have position relative');\r\n }\r\n }\r\n};\r\nLockScroll.prototype.update = function update (el, binding, vnode) {\r\n if (binding.oldValue === binding.value) {\r\n return;\r\n }\r\n var body = document.getElementsByTagName('body')[0];\r\n var html = document.getElementsByTagName('html')[0];\r\n var bodyChildren = document.querySelectorAll('body > *:not(script):not(noscript)');\r\n var firstChild = (bodyChildren.length > 0 ? bodyChildren[0] : null);\r\n var delayUnlockScroll = 400;\r\n LockScroll.isValidContext(bodyChildren, firstChild);\r\n if (binding.value === true) {\r\n LockScroll.lockBodyScroll(html, body, firstChild);\r\n }\r\n else {\r\n setTimeout(function () {\r\n LockScroll.unlockBodyScroll(html, body, firstChild);\r\n }, delayUnlockScroll);\r\n }\r\n};\r\nLockScroll.prototype.bind = function bind (el, binding, vnode) {\r\n LockScroll.checkBindingValue(binding);\r\n};\r\nLockScroll.DATA_SCROLL_TOP_ATTR = 'data-scroll-top';\n\n/*\r\n * This function checks if the element is in Shadow DOM and returns its root element\r\n * Othewise it returns null\r\n * @param {HTMLElement} el Element to check if it is in a Shadow DOM\r\n * @returns {HTMLElement | null} Root element of the shadow DOM or null\r\n */\r\nfunction getShadowDomRoot(el) {\r\n var isShadowDom = true;\r\n var lastParent = el;\r\n while (lastParent.parentElement != null) {\r\n lastParent = lastParent.parentElement;\r\n if (lastParent.tagName === 'BODY') {\r\n isShadowDom = false;\r\n break;\r\n }\r\n }\r\n return isShadowDom ? lastParent : null;\r\n}\n\nvar ClickOutside = function ClickOutside () {};\n\nvar staticAccessors = { CALLBACK_FUNC: { configurable: true } };\n\nstaticAccessors.CALLBACK_FUNC.get = function () { return 'ClickOutsideFunc'; };\r\nClickOutside.isVisible = function isVisible (el) {\r\n if (el !== null) {\r\n return el.getClientRects().length !== 0;\r\n }\r\n else {\r\n return false;\r\n }\r\n};\r\nClickOutside.prototype.bind = function bind (el, binding, vnode) {\r\n vnode.context[ClickOutside.CALLBACK_FUNC] = function (e) {\r\n e.stopPropagation();\r\n // @ts-ignore\r\n if (ClickOutside.isVisible(el) && !el.contains(e.target)) {\r\n binding.value();\r\n }\r\n };\r\n};\r\nClickOutside.prototype.inserted = function inserted (el, binding, vnode) {\r\n var shadowRoot = getShadowDomRoot(el);\r\n if (shadowRoot !== null) {\r\n shadowRoot.addEventListener('click', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n shadowRoot.addEventListener('touchstart', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n }\r\n document.addEventListener('click', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n document.addEventListener('touchstart', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n};\r\nClickOutside.prototype.unbind = function unbind (el, binding, vnode) {\r\n var shadowRoot = getShadowDomRoot(el);\r\n if (shadowRoot !== null) {\r\n shadowRoot.removeEventListener('click', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n shadowRoot.removeEventListener('touchstart', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n }\r\n document.removeEventListener('click', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n document.removeEventListener('touchstart', vnode.context[ClickOutside.CALLBACK_FUNC]);\r\n};\n\nObject.defineProperties( ClickOutside, staticAccessors );\n\nvar CheckPosition = function CheckPosition () {};\n\nCheckPosition.clearInlinePosition = function clearInlinePosition (el) {\r\n el.style.top = '';\r\n el.style.bottom = '';\r\n el.style.left = '';\r\n el.style.right = '';\r\n};\r\nCheckPosition.isOverflownVertically = function isOverflownVertically (el) {\r\n var offset = el.getBoundingClientRect().top;\r\n var height = el.offsetHeight;\r\n var margin = 10;\r\n if (offset + height + margin > window.innerHeight) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n};\r\nCheckPosition.isOverflownHorizontally = function isOverflownHorizontally (el) {\r\n var offset = el.getBoundingClientRect().left;\r\n var width = el.offsetWidth;\r\n var margin = 20;\r\n if (offset + width + margin > window.innerWidth) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n};\r\nCheckPosition.checkBindingValue = function checkBindingValue (binding) {\r\n if (typeof binding.value !== 'boolean') {\r\n throw new Error('The binding of check-position directive must be a boolean value.');\r\n }\r\n};\r\nCheckPosition.prototype.update = function update (el, binding, vnode) {\r\n if (binding.oldValue === binding.value) {\r\n return;\r\n }\r\n if (binding.value === false) {\r\n CheckPosition.clearInlinePosition(el);\r\n }\r\n else {\r\n if (CheckPosition.isOverflownVertically(el)) {\r\n el.style.top = 'auto';\r\n el.style.bottom = '100%';\r\n }\r\n if (CheckPosition.isOverflownHorizontally(el)) {\r\n el.style.left = 'auto';\r\n el.style.right = '0';\r\n }\r\n }\r\n};\r\nCheckPosition.prototype.bind = function bind (el, binding, vnode) {\r\n CheckPosition.checkBindingValue(binding);\r\n};\n\nvar EscapePress = function EscapePress () {};\n\nvar staticAccessors$1 = { ESCAPE_KEY: { configurable: true },CALLBACK_FUNC: { configurable: true } };\n\nstaticAccessors$1.ESCAPE_KEY.get = function () { return 27; };\r\nstaticAccessors$1.CALLBACK_FUNC.get = function () { return 'EscapePressFunc'; };\r\nEscapePress.onKeyUp = function onKeyUp (callbackFunc, $event) {\r\n if ($event.keyCode === EscapePress.ESCAPE_KEY && callbackFunc != null) {\r\n callbackFunc();\r\n }\r\n};\r\nEscapePress.prototype.update = function update (el, binding, vnode) {\r\n if (binding.arg === false) {\r\n document.removeEventListener('keyup', vnode.context[EscapePress.CALLBACK_FUNC]);\r\n }\r\n else {\r\n document.addEventListener('keyup', vnode.context[EscapePress.CALLBACK_FUNC]);\r\n }\r\n};\r\nEscapePress.prototype.bind = function bind (el, binding, vnode) {\r\n if (typeof binding.value !== 'function') {\r\n throw new Error('[directive:on-escape] The binding value must be a function');\r\n }\r\n vnode.context[EscapePress.CALLBACK_FUNC] = EscapePress.onKeyUp.bind(this, binding.value);\r\n};\r\nEscapePress.prototype.unbind = function unbind (el, binding, vnode) {\r\n document.removeEventListener('keyup', vnode.context[EscapePress.CALLBACK_FUNC]);\r\n};\n\nObject.defineProperties( EscapePress, staticAccessors$1 );\n\nvar Validators = function Validators () {};\n\nValidators.isNullOrEmpty = function isNullOrEmpty (value) {\r\n if (value === undefined || value === null || value.trim().length === 0) {\r\n return true;\r\n }\r\n return false;\r\n};\r\nValidators.checkMinimumLength = function checkMinimumLength (value, min) {\r\n if (value && min) {\r\n return value.length >= +min;\r\n }\r\n return true;\r\n};\r\nValidators.checkMaximumLength = function checkMaximumLength (value, max) {\r\n if (value && max) {\r\n return value.length <= +max;\r\n }\r\n return true;\r\n};\r\nValidators.isValidEmail = function isValidEmail (value) {\r\n if (value) {\r\n return /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i.test(value);\r\n }\r\n return true;\r\n};\r\nValidators.isValidURL = function isValidURL (value) {\r\n if (value) {\r\n return /^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/.test(value);\r\n }\r\n return true;\r\n};\r\nValidators.isValidDate = function isValidDate (value) {\r\n var d = Date.parse(value);\r\n if (isNaN(d)) {\r\n return false;\r\n }\r\n return true;\r\n};\r\nValidators.isValidNumber = function isValidNumber (value) {\r\n if (value === null || value === undefined) {\r\n return false;\r\n }\r\n value.toString().match(/^\\d+$/);\r\n return value.toString().match(/^[-+]?\\d+$/) !== null;\r\n};\n\nvar FieldValidator = function FieldValidator () {};\n\nvar staticAccessors$2 = { ERROR_MSG_ELEMENTS: { configurable: true },MSG_REQUIRED: { configurable: true },MSG_MIN: { configurable: true },MSG_MAX: { configurable: true },MSG_EMAIL: { configurable: true },MSG_DATE: { configurable: true },MSG_URL: { configurable: true },MSG_REQUIRED_ATTR: { configurable: true },MSG_MIN_ATTR: { configurable: true },MSG_MAX_ATTR: { configurable: true },MSG_EMAIL_ATTR: { configurable: true },MSG_DATE_ATTR: { configurable: true },MSG_URL_ATTR: { configurable: true } };\n\nstaticAccessors$2.ERROR_MSG_ELEMENTS.get = function () { return 'err-msg-els'; };\r\nstaticAccessors$2.MSG_REQUIRED.get = function () { return 'Field required'; };\r\nstaticAccessors$2.MSG_MIN.get = function () { return 'Min length {0}'; };\r\nstaticAccessors$2.MSG_MAX.get = function () { return 'Max length {0}'; };\r\nstaticAccessors$2.MSG_EMAIL.get = function () { return 'Invalid email'; };\r\nstaticAccessors$2.MSG_DATE.get = function () { return 'Invalid date'; };\r\nstaticAccessors$2.MSG_URL.get = function () { return 'Invalid URL'; };\r\nstaticAccessors$2.MSG_REQUIRED_ATTR.get = function () { return 'required-error-message'; };\r\nstaticAccessors$2.MSG_MIN_ATTR.get = function () { return 'min-error-message'; };\r\nstaticAccessors$2.MSG_MAX_ATTR.get = function () { return 'max-error-message'; };\r\nstaticAccessors$2.MSG_EMAIL_ATTR.get = function () { return 'email-error-message'; };\r\nstaticAccessors$2.MSG_DATE_ATTR.get = function () { return 'date-error-message'; };\r\nstaticAccessors$2.MSG_URL_ATTR.get = function () { return 'url-error-message'; };\r\nFieldValidator.validate_onInput = function validate_onInput (e) {\r\n FieldValidator.validateHTMLInput(e.target);\r\n};\r\nFieldValidator.validateHTMLInput = function validateHTMLInput (el) {\r\n // @ts-ignore\r\n var funcList = el.funcList;\r\n // @ts-ignore\r\n var errorMsgDiv = el.errorMsgDiv;\r\n // @ts-ignore\r\n var vnode = el.vnode;\r\n // @ts-ignore\r\n var binding = el.binding;\r\n for (var i = 0, list = funcList; i < list.length; i += 1) {\r\n var f = list[i];\n\n var errorMsg = f(el.value, el);\r\n if (errorMsg) {\r\n errorMsgDiv.innerText = errorMsg;\r\n errorMsgDiv.style.display = 'block';\r\n vnode.context.$data[binding.value.isValidForm] = false;\r\n return;\r\n }\r\n }\r\n errorMsgDiv.style.display = 'none';\r\n FieldValidator.checkTheRestOfFields(binding, vnode);\r\n};\r\nFieldValidator.checkTheRestOfFields = function checkTheRestOfFields (binding, vnode) {\r\n for (var i = 0, list = vnode.context[binding.value.formName][FieldValidator.ERROR_MSG_ELEMENTS]; i < list.length; i += 1) {\r\n var element = list[i];\n\n if (element.style.display === 'block') {\r\n vnode.context.$data[binding.value.isValidForm] = false;\r\n return;\r\n }\r\n }\r\n vnode.context.$data[binding.value.isValidForm] = true;\r\n};\r\nFieldValidator.checkRequired = function checkRequired (value, el) {\r\n if (Validators.isNullOrEmpty(value)) {\r\n return FieldValidator.getAttributeValue(el, FieldValidator.MSG_REQUIRED_ATTR, FieldValidator.MSG_REQUIRED);\r\n }\r\n return null;\r\n};\r\nFieldValidator.checkMinimum = function checkMinimum (value, el) {\r\n var min = el.getAttribute('min');\r\n if (value && min) {\r\n return Validators.checkMinimumLength(value, +min) ? null : FieldValidator.getAttributeValue(el, FieldValidator.MSG_MIN_ATTR, FieldValidator.MSG_MIN.replace('{0}', min));\r\n }\r\n return null;\r\n};\r\nFieldValidator.checkMaximum = function checkMaximum (value, el) {\r\n var max = el.getAttribute('max');\r\n if (value && max) {\r\n return Validators.checkMaximumLength(value, +max) ? null : FieldValidator.getAttributeValue(el, FieldValidator.MSG_MAX_ATTR, FieldValidator.MSG_MAX.replace('{0}', max));\r\n }\r\n return null;\r\n};\r\nFieldValidator.checkEmail = function checkEmail (value, el) {\r\n if (value) {\r\n return Validators.isValidEmail(value) ? null : FieldValidator.getAttributeValue(el, FieldValidator.MSG_EMAIL_ATTR, FieldValidator.MSG_EMAIL);\r\n }\r\n return null;\r\n};\r\nFieldValidator.checkURL = function checkURL (value, el) {\r\n if (value) {\r\n return Validators.isValidURL(value) ? null : FieldValidator.getAttributeValue(el, FieldValidator.MSG_URL_ATTR, FieldValidator.MSG_URL);\r\n }\r\n return null;\r\n};\r\nFieldValidator.checkDate = function checkDate (value, el) {\r\n return Validators.isValidDate(value) ? null : FieldValidator.getAttributeValue(el, FieldValidator.MSG_DATE_ATTR, FieldValidator.MSG_DATE);\r\n};\r\nFieldValidator.getAttributeValue = function getAttributeValue (el, attrName, defaultValue) {\r\n var attr = el.getAttribute(attrName);\r\n return attr ? attr : defaultValue;\r\n};\r\nFieldValidator.insertAfter = function insertAfter (el, referenceNode) {\r\n if (referenceNode.parentNode && referenceNode.parentNode.insertBefore) {\r\n referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\r\n }\r\n};\r\nFieldValidator.prototype.update = function update (el, binding, vnode) {\r\n var type = FieldValidator.getElmentType(el, vnode);\r\n if (type === ElementType.HTMLInputElement) {\r\n if (binding.value.validate === true) {\r\n FieldValidator.validateHTMLInput(el);\r\n el.addEventListener('input', FieldValidator.validate_onInput);\r\n }\r\n else {\r\n el.removeEventListener('input', FieldValidator.validate_onInput);\r\n // @ts-ignore\r\n el.errorMsgDiv.style.display = 'none';\r\n vnode.context.$data[binding.value.isValidForm] = true;\r\n }\r\n }\r\n else {\r\n el.__vue__.fieldValidatorBinding = binding;\r\n switch (type) {\r\n case ElementType.DropDown:\r\n FieldValidator.dropDown_selectedItem(el, vnode, el.__vue__.selectedItem, el.__vue__.selectedIndex);\r\n break;\r\n case ElementType.DatePicker:\r\n FieldValidator.datePicker_apply(el, vnode, el.__vue__.selectedDate);\r\n break;\r\n case ElementType.DateRangePicker:\r\n if (el.__vue__.selectedPresetIndex > -1) {\r\n var selectedPreset = el.__vue__.presets[el.__vue__.selectedPresetIndex];\r\n FieldValidator.dateRangePicker_apply(el, vnode, selectedPreset.from, selectedPreset.to);\r\n }\r\n else {\r\n FieldValidator.dateRangePicker_apply(el, vnode, el.__vue__.from, el.__vue__.to);\r\n }\r\n break;\r\n case ElementType.MultiSelect:\r\n FieldValidator.multiSelect_apply(el, vnode, el.__vue__.selectedItemsApplied);\r\n break;\r\n case ElementType.NumberRange:\r\n FieldValidator.numberRange_apply(el, vnode, el.__vue__.minValue, el.__vue__.maxValue);\r\n break;\r\n }\r\n }\r\n};\r\nFieldValidator.prototype.inserted = function inserted (el, binding, vnode) {\r\n var type = FieldValidator.getElmentType(el, vnode);\r\n if (type === ElementType.Unknown) {\r\n throw new Error('The field-required directive only works with HTMLInputElement elements or valid Vue components');\r\n }\r\n if (binding === null || !binding.value || typeof binding.value.validate !== 'boolean' || typeof vnode.context.$data[binding.value.isValidForm] !== 'boolean') {\r\n throw new Error('binding.value must implement interface IFieldValidatorModel');\r\n }\r\n if (!binding.value.formName) {\r\n binding.value.formName = 'DefaultForm';\r\n }\r\n var errorMsgDiv = document.createElement('div');\r\n errorMsgDiv.classList.add('Messaging');\r\n errorMsgDiv.classList.add('Messaging__error');\r\n errorMsgDiv.style.display = 'none';\r\n if (type === ElementType.HTMLInputElement) {\r\n FieldValidator.insertAfter(errorMsgDiv, el);\r\n }\r\n else {\r\n FieldValidator.insertAfter(errorMsgDiv, vnode.componentInstance.$el);\r\n }\r\n var funcList = [];\r\n if (type === ElementType.HTMLInputElement) {\r\n if (binding.modifiers.required === true) {\r\n funcList.push(FieldValidator.checkRequired);\r\n }\r\n if (binding.modifiers.min === true) {\r\n if (Validators.isValidNumber(el.getAttribute('min'))) {\r\n funcList.push(FieldValidator.checkMinimum);\r\n }\r\n else {\r\n throw new Error('In order to use the modifier min in field-validator, please fill up the min attribute for minimum chars.');\r\n }\r\n }\r\n if (binding.modifiers.max === true) {\r\n if (Validators.isValidNumber(el.getAttribute('max'))) {\r\n funcList.push(FieldValidator.checkMaximum);\r\n }\r\n else {\r\n throw new Error('In order to use the modifier min in field-validator, please fill up the max attribute for maximum chars.');\r\n }\r\n }\r\n if (binding.modifiers.email === true) {\r\n funcList.push(FieldValidator.checkEmail);\r\n }\r\n if (binding.modifiers.date === true) {\r\n funcList.push(FieldValidator.checkDate);\r\n }\r\n if (binding.modifiers.url === true) {\r\n funcList.push(FieldValidator.checkURL);\r\n }\r\n if (binding.modifiers.customValidator === true) {\r\n var cvf = vnode.data.attrs['custom-validator-func'];\r\n if (typeof cvf !== 'function') {\r\n throw new Error('\"custom-validator-func\" must be a valid function');\r\n }\r\n funcList.push(cvf);\r\n }\r\n }\r\n else {\r\n funcList.push(FieldValidator.checkRequired);\r\n }\r\n // @ts-ignore\r\n el.vnode = vnode;\r\n // @ts-ignore\r\n el.binding = binding;\r\n // @ts-ignore\r\n el.funcList = funcList;\r\n // @ts-ignore\r\n el.errorMsgDiv = errorMsgDiv;\r\n if (type === ElementType.HTMLInputElement) {\r\n if (binding.value.validate === true) {\r\n el.addEventListener('input', FieldValidator.validate_onInput);\r\n }\r\n }\r\n else {\r\n el.__vue__.fieldValidatorBinding = binding;\r\n el.__vue__.errorMsgEl = errorMsgDiv;\r\n switch (type) {\r\n case ElementType.DropDown:\r\n vnode.componentInstance.$on('selected-item', FieldValidator.dropDown_selectedItem.bind(this, el, vnode));\r\n break;\r\n case ElementType.DatePicker:\r\n vnode.componentInstance.$on('apply', FieldValidator.datePicker_apply.bind(this, el, vnode));\r\n vnode.componentInstance.$on('clear', FieldValidator.datePicker_clear.bind(this, el, vnode));\r\n break;\r\n case ElementType.DateRangePicker:\r\n vnode.componentInstance.$on('apply', FieldValidator.dateRangePicker_apply.bind(this, el, vnode));\r\n vnode.componentInstance.$on('clear', FieldValidator.dateRangePicker_clear.bind(this, el, vnode));\r\n break;\r\n case ElementType.MultiSelect:\r\n vnode.componentInstance.$on('apply', FieldValidator.multiSelect_apply.bind(this, el, vnode));\r\n vnode.componentInstance.$on('clear', FieldValidator.multiSelect_clear.bind(this, el, vnode));\r\n break;\r\n case ElementType.NumberRange:\r\n vnode.componentInstance.$on('apply', FieldValidator.numberRange_apply.bind(this, el, vnode));\r\n vnode.componentInstance.$on('clear', FieldValidator.numberRange_clear.bind(this, el, vnode));\r\n break;\r\n }\r\n }\r\n if (!vnode.context[binding.value.formName]) {\r\n vnode.context[binding.value.formName] = {};\r\n vnode.context[binding.value.formName][FieldValidator.ERROR_MSG_ELEMENTS] = [];\r\n }\r\n vnode.context[binding.value.formName][FieldValidator.ERROR_MSG_ELEMENTS].push(errorMsgDiv);\r\n};\r\nFieldValidator.prototype.unbind = function unbind (el, binding, vnode) {\r\n var type = FieldValidator.getElmentType(el, vnode);\r\n if (type === ElementType.HTMLInputElement) {\r\n el.removeEventListener('input', FieldValidator.validate_onInput);\r\n }\r\n var errMessageList = vnode.context[binding.value.formName][FieldValidator.ERROR_MSG_ELEMENTS];\r\n for (var i = 0; i < errMessageList.length; i++) {\r\n if (errMessageList[i] === el.errorMsgDiv) {\r\n errMessageList.splice(i, 1);\r\n FieldValidator.checkTheRestOfFields(binding, vnode);\r\n break;\r\n }\r\n }\r\n};\r\nFieldValidator.getElmentType = function getElmentType (el, vnode) {\r\n if (el instanceof HTMLInputElement) {\r\n return ElementType.HTMLInputElement;\r\n }\r\n var tag = vnode.componentOptions.tag;\r\n if (tag.indexOf('drop-down') > -1) {\r\n return ElementType.DropDown;\r\n }\r\n if (tag.indexOf('date-picker') > -1) {\r\n return ElementType.DatePicker;\r\n }\r\n if (tag.indexOf('date-range-picker') > -1) {\r\n return ElementType.DateRangePicker;\r\n }\r\n if (tag.indexOf('multi-select') > -1) {\r\n return ElementType.MultiSelect;\r\n }\r\n if (tag.indexOf('number-range') > -1) {\r\n return ElementType.NumberRange;\r\n }\r\n return ElementType.Unknown;\r\n};\r\nFieldValidator.dropDown_selectedItem = function dropDown_selectedItem (sender, vnode, option, index) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, option !== null);\r\n};\r\nFieldValidator.datePicker_apply = function datePicker_apply (sender, vnode, date) {\r\n try {\r\n new Date(date.toString());\r\n FieldValidator.setVueComponentStatus(sender, vnode, true);\r\n }\r\n catch (e) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, false);\r\n }\r\n};\r\nFieldValidator.datePicker_clear = function datePicker_clear (sender, vnode) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, false);\r\n};\r\nFieldValidator.dateRangePicker_apply = function dateRangePicker_apply (sender, vnode, from, to) {\r\n try {\r\n new Date(from.toString());\r\n new Date(to.toString());\r\n FieldValidator.setVueComponentStatus(sender, vnode, true);\r\n }\r\n catch (e) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, false);\r\n }\r\n};\r\nFieldValidator.dateRangePicker_clear = function dateRangePicker_clear (sender, vnode) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, false);\r\n};\r\nFieldValidator.multiSelect_apply = function multiSelect_apply (sender, vnode, items) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, items.length > 0);\r\n};\r\nFieldValidator.multiSelect_clear = function multiSelect_clear (sender, vnode) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, false);\r\n};\r\nFieldValidator.numberRange_apply = function numberRange_apply (sender, vnode, min, max) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, !!min || !!max);\r\n};\r\nFieldValidator.numberRange_clear = function numberRange_clear (sender, vnode) {\r\n FieldValidator.setVueComponentStatus(sender, vnode, false);\r\n};\r\nFieldValidator.setVueComponentStatus = function setVueComponentStatus (sender, vnode, hasValue) {\r\n var binding = sender.__vue__.fieldValidatorBinding;\r\n var errorMsgDiv = sender.__vue__.errorMsgEl;\r\n if (binding.value.validate === true && hasValue === false) {\r\n errorMsgDiv.innerText = 'Field required';\r\n errorMsgDiv.style.display = 'block';\r\n vnode.context.$data[binding.value.isValidForm] = false;\r\n }\r\n else {\r\n errorMsgDiv.innerText = '';\r\n errorMsgDiv.style.display = 'none';\r\n FieldValidator.checkTheRestOfFields(binding, vnode);\r\n }\r\n};\n\nObject.defineProperties( FieldValidator, staticAccessors$2 );\r\nvar ElementType;\r\n(function (ElementType) {\r\n ElementType[ElementType[\"HTMLInputElement\"] = 0] = \"HTMLInputElement\";\r\n ElementType[ElementType[\"Unknown\"] = 1] = \"Unknown\";\r\n ElementType[ElementType[\"DropDown\"] = 2] = \"DropDown\";\r\n ElementType[ElementType[\"DatePicker\"] = 3] = \"DatePicker\";\r\n ElementType[ElementType[\"DateRangePicker\"] = 4] = \"DateRangePicker\";\r\n ElementType[ElementType[\"MultiSelect\"] = 5] = \"MultiSelect\";\r\n ElementType[ElementType[\"NumberRange\"] = 6] = \"NumberRange\";\r\n})(ElementType || (ElementType = {}));\n\nvar CheckOverflowFiltersContainer = function CheckOverflowFiltersContainer () {};\n\nvar staticAccessors$3 = { CALLBACK_FUNC: { configurable: true },CALLBACK_RESIZE_FUNC: { configurable: true } };\n\nstaticAccessors$3.CALLBACK_FUNC.get = function () { return 'CheckScrollPositionFunc'; };\r\nstaticAccessors$3.CALLBACK_RESIZE_FUNC.get = function () { return 'SetPosition'; };\r\nCheckOverflowFiltersContainer.clearInlinePosition = function clearInlinePosition (el) {\r\n el.style.position = '';\r\n el.style.top = '';\r\n el.style.bottom = '';\r\n el.style.left = '';\r\n el.style.right = '';\r\n el.style.height = '';\r\n};\r\nCheckOverflowFiltersContainer.setPositionFixed = function setPositionFixed (el, binding, vnode) {\r\n var mainContainer = vnode.context.$refs[binding.value.mainContainer];\r\n var positionTop = mainContainer.getBoundingClientRect().top - 5; // margin adjusment = -5;\r\n var positionLeft = mainContainer.getBoundingClientRect().left - el.clientWidth + 4; // margin adjusment = 4;\r\n var elHeight = el.clientHeight;\r\n el.style.position = 'fixed';\r\n el.style.top = positionTop + 'px';\r\n el.style.left = positionLeft + 'px';\r\n el.style.right = 'auto';\r\n el.style.bottom = 'auto';\r\n el.style.height = 'fit-content';\r\n if (CheckOverflowFiltersContainer.isOverflownVertically(el)) {\r\n el.style.top = positionTop - elHeight + 45 + 'px';\r\n }\r\n};\r\nCheckOverflowFiltersContainer.isOverflownVertically = function isOverflownVertically (el) {\r\n var offset = el.getBoundingClientRect().top;\r\n var height = el.offsetHeight;\r\n var margin = 10;\r\n if (offset + height + margin > window.innerHeight) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n};\r\nCheckOverflowFiltersContainer.prototype.update = function update (el, binding, vnode) {\r\n var mainContainer = vnode.context.$refs[binding.value.mainContainer];\r\n var filtersContainer = mainContainer.parentNode;\r\n if (filtersContainer === null) {\r\n return;\r\n }\r\n if (!filtersContainer.classList.contains('FiltersContainer')) {\r\n filtersContainer = filtersContainer.parentNode;\r\n }\r\n if (!filtersContainer.classList.contains('FiltersContainer--column')) {\r\n return;\r\n }\r\n var isOverflowScroll = filtersContainer.style.overflow === 'scroll' || filtersContainer.style.overflow === 'auto';\r\n if (!isOverflowScroll) {\r\n return;\r\n }\r\n var closeFunc = binding.value.close;\r\n var isOpen = binding.value.isOpen;\r\n var topPosition = mainContainer.getBoundingClientRect().top;\r\n vnode.context.$data.oldPosition = topPosition;\r\n var callbackFunc = vnode.context[CheckOverflowFiltersContainer.CALLBACK_FUNC];\r\n var callbackResizeFunc = vnode.context[CheckOverflowFiltersContainer.CALLBACK_RESIZE_FUNC];\r\n if (isOpen) {\r\n CheckOverflowFiltersContainer.setPositionFixed(el, binding, vnode);\r\n window.addEventListener('scroll', callbackFunc);\r\n filtersContainer.addEventListener('scroll', closeFunc);\r\n window.addEventListener('resize', callbackResizeFunc);\r\n }\r\n else {\r\n CheckOverflowFiltersContainer.clearInlinePosition(el);\r\n window.removeEventListener('scroll', callbackFunc);\r\n filtersContainer.removeEventListener('scroll', closeFunc);\r\n window.removeEventListener('resize', callbackResizeFunc);\r\n }\r\n};\r\nCheckOverflowFiltersContainer.prototype.inserted = function inserted (el, binding, vnode) {\r\n var closeFunc = binding.value.close;\r\n var mainContainer = vnode.context.$refs[binding.value.mainContainer];\r\n vnode.context[CheckOverflowFiltersContainer.CALLBACK_FUNC] = function () {\r\n var oldPosition = vnode.context.$data.oldPosition;\r\n var newPosition = mainContainer.getBoundingClientRect().top;\r\n if (newPosition !== oldPosition) {\r\n closeFunc();\r\n }\r\n };\r\n vnode.context[CheckOverflowFiltersContainer.CALLBACK_RESIZE_FUNC] = function () {\r\n CheckOverflowFiltersContainer.setPositionFixed(el, binding, vnode);\r\n var isDesktop = window.innerWidth > 1024;\r\n if (!isDesktop) {\r\n CheckOverflowFiltersContainer.clearInlinePosition(el);\r\n }\r\n };\r\n};\r\nCheckOverflowFiltersContainer.prototype.unbind = function unbind (el, binding, vnode) {\r\n window.removeEventListener('scroll', vnode.context[CheckOverflowFiltersContainer.CALLBACK_FUNC]);\r\n vnode.context[CheckOverflowFiltersContainer.CALLBACK_FUNC] = null;\r\n};\n\nObject.defineProperties( CheckOverflowFiltersContainer, staticAccessors$3 );\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar dateAndTime = createCommonjsModule(function (module) {\n/**\n * @preserve date-and-time.js (c) KNOWLEDGECODE | MIT\n */\n(function (global) {\n\n var date = {},\n locales = {},\n plugins = {},\n lang = 'en',\n _res = {\n MMMM: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n MMM: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dddd: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n ddd: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dd: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n A: ['AM', 'PM']\n },\n _formatter = {\n YYYY: function (d/*, formatString*/) { return ('000' + d.getFullYear()).slice(-4); },\n YY: function (d/*, formatString*/) { return ('0' + d.getFullYear()).slice(-2); },\n Y: function (d/*, formatString*/) { return '' + d.getFullYear(); },\n MMMM: function (d/*, formatString*/) { return this.res.MMMM[d.getMonth()]; },\n MMM: function (d/*, formatString*/) { return this.res.MMM[d.getMonth()]; },\n MM: function (d/*, formatString*/) { return ('0' + (d.getMonth() + 1)).slice(-2); },\n M: function (d/*, formatString*/) { return '' + (d.getMonth() + 1); },\n DD: function (d/*, formatString*/) { return ('0' + d.getDate()).slice(-2); },\n D: function (d/*, formatString*/) { return '' + d.getDate(); },\n HH: function (d/*, formatString*/) { return ('0' + d.getHours()).slice(-2); },\n H: function (d/*, formatString*/) { return '' + d.getHours(); },\n A: function (d/*, formatString*/) { return this.res.A[d.getHours() > 11 | 0]; },\n hh: function (d/*, formatString*/) { return ('0' + (d.getHours() % 12 || 12)).slice(-2); },\n h: function (d/*, formatString*/) { return '' + (d.getHours() % 12 || 12); },\n mm: function (d/*, formatString*/) { return ('0' + d.getMinutes()).slice(-2); },\n m: function (d/*, formatString*/) { return '' + d.getMinutes(); },\n ss: function (d/*, formatString*/) { return ('0' + d.getSeconds()).slice(-2); },\n s: function (d/*, formatString*/) { return '' + d.getSeconds(); },\n SSS: function (d/*, formatString*/) { return ('00' + d.getMilliseconds()).slice(-3); },\n SS: function (d/*, formatString*/) { return ('0' + (d.getMilliseconds() / 10 | 0)).slice(-2); },\n S: function (d/*, formatString*/) { return '' + (d.getMilliseconds() / 100 | 0); },\n dddd: function (d/*, formatString*/) { return this.res.dddd[d.getDay()]; },\n ddd: function (d/*, formatString*/) { return this.res.ddd[d.getDay()]; },\n dd: function (d/*, formatString*/) { return this.res.dd[d.getDay()]; },\n Z: function (d/*, formatString*/) { return d.utc ? '+0000' : /[\\+-]\\d{4}/.exec(d.toTimeString())[0]; },\n post: function (str) { return str; }\n },\n _parser = {\n YYYY: function (str/*, formatString */) { return this.exec(/^\\d{4}/, str); },\n Y: function (str/*, formatString */) { return this.exec(/^\\d{1,4}/, str); },\n MMMM: function (str/*, formatString */) {\n var result = this.find(this.res.MMMM, str);\n result.value++;\n return result;\n },\n MMM: function (str/*, formatString */) {\n var result = this.find(this.res.MMM, str);\n result.value++;\n return result;\n },\n MM: function (str/*, formatString */) { return this.exec(/^\\d\\d/, str); },\n M: function (str/*, formatString */) { return this.exec(/^\\d\\d?/, str); },\n DD: function (str/*, formatString */) { return this.exec(/^\\d\\d/, str); },\n D: function (str/*, formatString */) { return this.exec(/^\\d\\d?/, str); },\n HH: function (str/*, formatString */) { return this.exec(/^\\d\\d/, str); },\n H: function (str/*, formatString */) { return this.exec(/^\\d\\d?/, str); },\n A: function (str/*, formatString */) { return this.find(this.res.A, str); },\n hh: function (str/*, formatString */) { return this.exec(/^\\d\\d/, str); },\n h: function (str/*, formatString */) { return this.exec(/^\\d\\d?/, str); },\n mm: function (str/*, formatString */) { return this.exec(/^\\d\\d/, str); },\n m: function (str/*, formatString */) { return this.exec(/^\\d\\d?/, str); },\n ss: function (str/*, formatString */) { return this.exec(/^\\d\\d/, str); },\n s: function (str/*, formatString */) { return this.exec(/^\\d\\d?/, str); },\n SSS: function (str/*, formatString */) { return this.exec(/^\\d{1,3}/, str); },\n SS: function (str/*, formatString */) {\n var result = this.exec(/^\\d\\d?/, str);\n result.value *= 10;\n return result;\n },\n S: function (str/*, formatString */) {\n var result = this.exec(/^\\d/, str);\n result.value *= 100;\n return result;\n },\n Z: function (str/*, formatString */) {\n var result = this.exec(/^[\\+-]\\d{2}[0-5]\\d/, str);\n result.value = (result.value / 100 | 0) * -60 - result.value % 100;\n return result;\n },\n h12: function (h, a) { return (h === 12 ? 0 : h) + a * 12; },\n exec: function (re, str) {\n var result = (re.exec(str) || [''])[0];\n return { value: result | 0, length: result.length };\n },\n find: function (array, str) {\n var index = -1, length = 0;\n\n for (var i = 0, len = array.length, item; i < len; i++) {\n item = array[i];\n if (!str.indexOf(item) && item.length > length) {\n index = i;\n length = item.length;\n }\n }\n return { value: index, length: length };\n },\n pre: function (str) { return str; }\n },\n customize = function (code, base, locale) {\n var extend = function (proto, props, res) {\n var Locale = function (r) {\n if (r) { this.res = r; }\n };\n\n Locale.prototype = proto;\n Locale.prototype.constructor = Locale;\n\n var newLocale = new Locale(res),\n value;\n\n for (var key in props || {}) {\n value = props[key];\n newLocale[key] = value.slice ? value.slice() : value;\n }\n return newLocale;\n },\n loc = { res: extend(base.res, locale.res) };\n\n loc.formatter = extend(base.formatter, locale.formatter, loc.res);\n loc.parser = extend(base.parser, locale.parser, loc.res);\n locales[code] = loc;\n };\n\n /**\n * compiling a format string\n * @param {string} formatString - a format string\n * @returns {Array.} a compiled object\n */\n date.compile = function (formatString) {\n var re = /\\[([^\\[\\]]*|\\[[^\\[\\]]*\\])*\\]|([A-Za-z])\\2+|\\.{3}|./g, keys, pattern = [formatString];\n\n while ((keys = re.exec(formatString))) {\n pattern[pattern.length] = keys[0];\n }\n return pattern;\n };\n\n /**\n * formatting a date\n * @param {Date} dateObj - a Date object\n * @param {string|Array.} arg - a format string or a compiled object\n * @param {boolean} [utc] - output as UTC\n * @returns {string} a formatted string\n */\n date.format = function (dateObj, arg, utc) {\n var pattern = typeof arg === 'string' ? date.compile(arg) : arg,\n d = date.addMinutes(dateObj, utc ? dateObj.getTimezoneOffset() : 0),\n formatter = locales[lang].formatter, str = '';\n\n d.utc = utc || false;\n for (var i = 1, len = pattern.length, token; i < len; i++) {\n token = pattern[i];\n str += formatter[token] ? formatter.post(formatter[token](d, pattern[0])) : token.replace(/\\[(.*)]/, '$1');\n }\n return str;\n };\n\n /**\n * pre-parsing a date string\n * @param {string} dateString - a date string\n * @param {string|Array.} arg - a format string or a compiled object\n * @returns {Object} a date structure\n */\n date.preparse = function (dateString, arg) {\n var pattern = typeof arg === 'string' ? date.compile(arg) : arg,\n dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 0, _match: 0 },\n parser = locales[lang].parser, offset = 0;\n\n dateString = parser.pre(dateString);\n for (var i = 1, len = pattern.length, token, result; i < len; i++) {\n token = pattern[i];\n if (parser[token]) {\n result = parser[token](dateString.slice(offset), pattern[0]);\n if (!result.length) {\n break;\n }\n offset += result.length;\n dt[token.charAt(0)] = result.value;\n dt._match++;\n } else if (token === dateString.charAt(offset) || token === ' ') {\n offset++;\n } else if (/\\[.*]/.test(token)) {\n offset += token.length - 2;\n } else if (token === '...') {\n offset = dateString.length;\n break;\n } else {\n break;\n }\n }\n dt.H = dt.H || parser.h12(dt.h, dt.A);\n dt._index = offset;\n dt._length = dateString.length;\n return dt;\n };\n\n /**\n * validation\n * @param {Object|string} arg1 - a date structure or a date string\n * @param {string|Array.} [arg2] - a format string or a compiled object\n * @returns {boolean} whether the date string is a valid date\n */\n date.isValid = function (arg1, arg2) {\n var dt = typeof arg1 === 'string' ? date.preparse(arg1, arg2) : arg1,\n last = [31, 28 + date.isLeapYear(dt.Y) | 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][dt.M - 1];\n\n return !(\n dt._index < 1 || dt._length < 1 || dt._index - dt._length || dt._match < 1 ||\n dt.Y < 1 || dt.Y > 9999 || dt.M < 1 || dt.M > 12 || dt.D < 1 || dt.D > last ||\n dt.H < 0 || dt.H > 23 || dt.m < 0 || dt.m > 59 || dt.s < 0 || dt.s > 59 || dt.S < 0 || dt.S > 999 ||\n dt.Z < -720 || dt.Z > 840\n );\n };\n\n /**\n * parsing a date string\n * @param {string} dateString - a date string\n * @param {string|Array.} arg - a format string or a compiled object\n * @param {boolean} [utc] - input as UTC\n * @returns {Date} a constructed date\n */\n date.parse = function (dateString, arg, utc) {\n var dt = date.preparse(dateString, arg);\n\n if (date.isValid(dt)) {\n dt.M -= dt.Y < 100 ? 22801 : 1; // 22801 = 1900 * 12 + 1\n if (utc || dt.Z) {\n return new Date(Date.UTC(dt.Y, dt.M, dt.D, dt.H, dt.m + dt.Z, dt.s, dt.S));\n }\n return new Date(dt.Y, dt.M, dt.D, dt.H, dt.m, dt.s, dt.S);\n }\n return new Date(NaN);\n };\n\n /**\n * adding years\n * @param {Date} dateObj - a date object\n * @param {number} years - number of years to add\n * @returns {Date} a date after adding the value\n */\n date.addYears = function (dateObj, years) {\n return date.addMonths(dateObj, years * 12);\n };\n\n /**\n * adding months\n * @param {Date} dateObj - a date object\n * @param {number} months - number of months to add\n * @returns {Date} a date after adding the value\n */\n date.addMonths = function (dateObj, months) {\n var d = new Date(dateObj.getTime());\n\n d.setMonth(d.getMonth() + months);\n return d;\n };\n\n /**\n * adding days\n * @param {Date} dateObj - a date object\n * @param {number} days - number of days to add\n * @returns {Date} a date after adding the value\n */\n date.addDays = function (dateObj, days) {\n var d = new Date(dateObj.getTime());\n\n d.setDate(d.getDate() + days);\n return d;\n };\n\n /**\n * adding hours\n * @param {Date} dateObj - a date object\n * @param {number} hours - number of hours to add\n * @returns {Date} a date after adding the value\n */\n date.addHours = function (dateObj, hours) {\n return date.addMinutes(dateObj, hours * 60);\n };\n\n /**\n * adding minutes\n * @param {Date} dateObj - a date object\n * @param {number} minutes - number of minutes to add\n * @returns {Date} a date after adding the value\n */\n date.addMinutes = function (dateObj, minutes) {\n return date.addSeconds(dateObj, minutes * 60);\n };\n\n /**\n * adding seconds\n * @param {Date} dateObj - a date object\n * @param {number} seconds - number of seconds to add\n * @returns {Date} a date after adding the value\n */\n date.addSeconds = function (dateObj, seconds) {\n return date.addMilliseconds(dateObj, seconds * 1000);\n };\n\n /**\n * adding milliseconds\n * @param {Date} dateObj - a date object\n * @param {number} milliseconds - number of milliseconds to add\n * @returns {Date} a date after adding the value\n */\n date.addMilliseconds = function (dateObj, milliseconds) {\n return new Date(dateObj.getTime() + milliseconds);\n };\n\n /**\n * subtracting\n * @param {Date} date1 - a Date object\n * @param {Date} date2 - a Date object\n * @returns {Object} a result object subtracting date2 from date1\n */\n date.subtract = function (date1, date2) {\n var delta = date1.getTime() - date2.getTime();\n\n return {\n toMilliseconds: function () {\n return delta;\n },\n toSeconds: function () {\n return delta / 1000;\n },\n toMinutes: function () {\n return delta / 60000;\n },\n toHours: function () {\n return delta / 3600000;\n },\n toDays: function () {\n return delta / 86400000;\n }\n };\n };\n\n /**\n * leap year\n * @param {number} y - year\n * @returns {boolean} whether the year is a leap year\n */\n date.isLeapYear = function (y) {\n return (!(y % 4) && !!(y % 100)) || !(y % 400);\n };\n\n /**\n * comparison of two dates\n * @param {Date} date1 - a Date object\n * @param {Date} date2 - a Date object\n * @returns {boolean} whether the dates are the same day (times are ignored)\n */\n date.isSameDay = function (date1, date2) {\n return date1.toDateString() === date2.toDateString();\n };\n\n /**\n * change locale or setting a new locale definition\n * @param {string} [code] - language code\n * @param {Object} [locale] - locale definition\n * @returns {string} current language code\n */\n date.locale = function (code, locale) {\n if (locale) {\n customize(code, { res: _res, formatter: _formatter, parser: _parser }, locale);\n } else if (code) {\n lang = code;\n }\n return lang;\n };\n\n /**\n * locale extension\n * @param {Object} extension - locale extension\n * @returns {void}\n */\n date.extend = function (extension) {\n var extender = extension.extender || {};\n\n for (var key in extender) {\n if (!date[key]) {\n date[key] = extender[key];\n }\n }\n if (extension.formatter || extension.parser || extension.res) {\n customize(lang, locales[lang], extension);\n }\n };\n\n /**\n * plugin import or definition\n * @param {string} name - plugin name\n * @param {Object} [extension] - locale extension\n * @returns {void}\n */\n date.plugin = function (name, extension) {\n plugins[name] = plugins[name] || extension;\n if (!extension && plugins[name]) {\n date.extend(plugins[name]);\n }\n };\n\n // Create default locale (English)\n date.locale(lang, {});\n\n {\n module.exports = date;\n }\n\n}());\n});\n\n// @ts-ignore\r\nfunction formatDate(value, pattern) {\n if ( pattern === void 0 ) pattern = 'DD-MM-YYYY HH:mm';\n\r\n var d = new Date(value);\r\n return dateAndTime.format(d, pattern);\r\n}\r\nfunction addThousands(value) {\r\n if (value === null) {\r\n return '';\r\n }\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n}\n\nvar Directives = {\r\n LockScroll: LockScroll,\r\n ClickOutside: ClickOutside,\r\n CheckPosition: CheckPosition,\r\n EscapePress: EscapePress,\r\n FieldValidator: FieldValidator,\r\n CheckOverflowFiltersContainer: CheckOverflowFiltersContainer,\r\n};\r\nvar Helpers = {\r\n getShadowDomRoot: getShadowDomRoot,\r\n};\r\nvar Filters = {\r\n addThousands: addThousands,\r\n formatDate: formatDate\r\n};\n\nexport { Directives, Filters, Helpers, Validators };\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n import '../scss/index.scss';\nimport Configuration from '../core/Configuration';\nimport { Vue, Component } from 'vue-property-decorator';\nimport { Button } from '@frontiers-vue/button';\nimport { Directives, IFieldValidatorModel } from '@frontiers-vue/common';\nimport axios, { AxiosResponse, AxiosError } from 'axios';\nimport { ISubscribeData } from '../core/models';\n\n@Component({\n components: { Button },\n directives: {\n 'field-validator': new Directives.FieldValidator(),\n },\n})\nexport default class Subscribe extends Vue {\n\n get showMessage(): boolean {\n return this.message.length > 0;\n }\n\n get messageClass(): string {\n return this.showError ? 'Messaging__error' : 'Messaging__success';\n }\n\n get formModel(): IFieldValidatorModel {\n return {\n formName: 'form',\n validate: this.validate,\n isValidForm: 'isValidForm',\n } as IFieldValidatorModel;\n }\n\n private validate: boolean = false;\n private isValidForm: boolean = true;\n private inputsDisabled: boolean = Configuration.Instance.LoggedIn;\n private buttonDisabled: boolean = false;\n private subscriptionTypeId: number = parseInt(Configuration.Instance.SubscriptionTypeId, 10);\n private subscriptionType: string = Configuration.Instance.SubscriptionType;\n private resourceId: string = Configuration.Instance.ResourceId;\n private resourceValue: string = Configuration.Instance.ResourceValue;\n private brandName: string = Configuration.Instance.BrandName;\n\n private email: string = '';\n private firstName: string = '';\n private lastName: string = '';\n\n private message: string = '';\n private showError: boolean = false;\n\n private validateForm(): void {\n this.message = '';\n this.validate = true;\n\n this.$nextTick(this.apiCall);\n }\n\n private apiCall(): void {\n if (this.isValidForm) {\n\n this.buttonDisabled = true;\n\n const data = {\n SubscriptionTypeId: this.subscriptionTypeId,\n ResourceId: this.resourceId,\n ResourceValue: this.resourceValue,\n Email: this.email,\n FirstName: this.firstName,\n LastName: this.lastName\n };\n\n axios\n .post(`/emails/api/v1/subscribeForm`,\n data,\n )\n .then((response: AxiosResponse) => {\n if (response.data.confirmPending) {\n this.showError = false;\n this.message = 'Almost done! Please check your inbox to confirm your subscription.';\n }\n else {\n this.showError = false;\n this.message = 'You have been successfully subscribed!';\n }\n })\n .catch((error: AxiosError) => {\n this.showError = true;\n this.message = 'Something went wrong, please retry';\n\n this.buttonDisabled = false;\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Subscribe.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Subscribe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Subscribe.vue?vue&type=template&id=46e70532&\"\nimport script from \"./Subscribe.vue?vue&type=script&lang=ts&\"\nexport * from \"./Subscribe.vue?vue&type=script&lang=ts&\"\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"],"sourceRoot":""}