{"version":3,"file":"portal/layouts/AV9HE/layout.3031653cef5f5e6fabdb.bundle.js","mappings":"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","sources":["webpack://portal/./implementation/api/announcement-api.js","webpack://portal/./implementation/common/js/plugins/plugins.js","webpack://portal/./implementation/common/js/referer/referer.js","webpack://portal/./implementation/common/js/campaign/campaign.js","webpack://portal/./implementation/common/js/before-directive/before-directive.js","webpack://portal/./implementation/common/js/android-phone-href/android-phone-href.js","webpack://portal/./implementation/common/js/iphone-href/iphone-href.js","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker.js","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button.vue","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button.vue?1b57","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button.vue?f354","webpack://portal/./implementation/api/slayer-api.js","webpack://portal/./implementation/common/components/slayer/composables/layers.js","webpack://portal/./implementation/common/components/slayer/components/technical-error.vue","webpack://portal/./implementation/common/components/slayer/components/technical-error.vue?62c6","webpack://portal/./implementation/common/components/slayer/components/technical-error.vue?b5fc","webpack://portal/./implementation/common/components/slayer/slayer.vue","webpack://portal/./implementation/common/components/slayer/slayer.vue?f042","webpack://portal/./implementation/common/components/slayer/composables/gtm.js","webpack://portal/./implementation/common/components/slayer/slayer.vue?11b6","webpack://portal/./implementation/common/js/common.js","webpack://portal/./implementation/common/js/currency-filter/currency-filter.js","webpack://portal/./implementation/common/js/number-filter/number-filter.js","webpack://portal/./implementation/common/js/date-filter/date-filter.js","webpack://portal/./implementation/common/js/zero-fill-filter/zero-fill-filter.js","webpack://portal/./implementation/common/js/capitalize/capitalize.js","webpack://portal/./implementation/api/personalization-api.js","webpack://portal/./implementation/common/js/composables/personalization.js","webpack://portal/./implementation/common/js/lang/i18n.js","webpack://portal/./implementation/common/js/media-query/media-query.js","webpack://portal/./implementation/common/js/svg-contains-polyfill/svg-contains-polyfill.js","webpack://portal/./implementation/modules/MHHR/mhhr.js","webpack://portal/./implementation/modules/MHEK/mhek.js","webpack://portal/./implementation/layouts/AV9HE/layout.js","webpack://portal/./implementation/common/js/get-exchange-marzs/get-exchange-marzs.js","webpack://portal/./implementation/common/components/exchange-marzs/exchange-marzs.vue","webpack://portal/./implementation/common/components/exchange-marzs/exchange-marzs.vue?3085","webpack://portal/./implementation/common/components/exchange-marzs/exchange-marzs.vue?1bef","webpack://portal/./implementation/common/components/announcement/announcement-vuex.js","webpack://portal/./implementation/common/components/announcement/announcement.vue","webpack://portal/./implementation/common/components/announcement/announcement.vue?178e","webpack://portal/./implementation/common/components/announcement/announcement.vue?1267","webpack://portal/./implementation/common/components/visibility-container/visibility-container.js","webpack://portal/./implementation/modules/MHER/mher.vue","webpack://portal/./implementation/modules/MHER/mher.vue?d89b","webpack://portal/./implementation/modules/MHER/mher.vue?86d4","webpack://portal/./implementation/layouts/layout-base.js","webpack://portal/./implementation/modules/MSTB/mstb.js","webpack://portal/./node_modules/@ui-common/vue-call-request-modal-glue/dist/vue-call-request-modal-glue.umd.js","webpack://portal/./node_modules/@ui-common/vue-live-announcer/dist/vue-live-announcer.umd.js","webpack://portal/./node_modules/hammerjs/hammer.js","webpack://portal/./node_modules/left-pad/index.js","webpack://portal/./node_modules/portal-vue/dist/portal-vue.common.js","webpack://portal/./node_modules/tiny-cookie/tiny-cookie.js","webpack://portal/./node_modules/vue-cookie/src/vue-cookie.js","webpack://portal/./node_modules/vue-dom-portal/dist/vue-dom-portal.common.js","webpack://portal/./node_modules/vue-gtm/dist/vue-gtm.min.js","webpack://portal/./node_modules/vue-media-queries/dist/vue-media-queries.js","webpack://portal/./node_modules/vue-router/dist/vue-router.esm.js","webpack://portal/./node_modules/vue-scrollto/vue-scrollto.js","webpack://portal/./node_modules/vue-touch/dist/vue-touch.js","webpack://portal/./node_modules/wicg-inert/dist/inert.js","webpack://portal/./node_modules/moment/locale/ sync en%7Chu","webpack://portal/./implementation/common/components/accept-pdf-modal/accept-pdf-modal.vue","webpack://portal/./implementation/common/components/accept-pdf-modal/accept-pdf-modal.vue?1044","webpack://portal/./implementation/common/components/accept-pdf-modal/accept-pdf-modal.vue?f51b","webpack://portal/./implementation/common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button.vue","webpack://portal/./implementation/common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button.vue?b084","webpack://portal/./implementation/common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button.vue?8e7a","webpack://portal/./node_modules/vue-i18n-composable/dist/index.mjs"],"sourcesContent":["import axios from 'axios';\r\nexport default {\r\n\tgetAnnouncements(params) {\r\n\t\treturn axios.post('/announcement/api/query', params);\r\n\t}\r\n};\r\n","import Vue from 'vue';\r\n\r\nimport VueScrollTo from 'vue-scrollto';\r\nimport Vuelidate from 'vuelidate';\r\nimport VueGtm from 'vue-gtm';\r\nimport { mediaQueries } from '../media-query/media-query';\r\nimport VueCookie from 'vue-cookie';\r\nimport VueModal from '@ui-common/vue-modal';\r\nimport VueLiveAnnouncerPlugin from '@ui-common/vue-live-announcer';\r\nimport Vuex from 'vuex';\r\nimport DomPortal from 'vue-dom-portal';\r\n\r\nVue.use(VueModal);\r\nVue.use(VueScrollTo);\r\nVue.use(VueGtm, {\r\n\t// debug: true\r\n});\r\nVue.use(Vuelidate);\r\nVue.use(VueCookie);\r\nVue.use(mediaQueries);\r\nVue.use(DomPortal);\r\nVue.use(Vuex);\r\nVue.use(VueLiveAnnouncerPlugin);\r\n","import Vue from 'vue';\r\nimport { COOKIE_GDPR_LEVEL, GDPR_LEVELS } from '../constants/constants';\r\nconst COOKIE_PORTAL_REFERER = 'portal_referer';\r\n\r\nexport const initReferer = () => {\r\n\tlet gdprLevel = Vue.cookie.get(COOKIE_GDPR_LEVEL);\r\n\tif (gdprLevel == GDPR_LEVELS.HIGH) {\r\n\t\tlet refererCookie = Vue.cookie.get(COOKIE_PORTAL_REFERER);\r\n\t\tif (!refererCookie && document.referrer) {\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_REFERER, document.referrer, { path: '/' });\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport const deleteReferer = () => {\r\n\tVue.cookie.delete(COOKIE_PORTAL_REFERER);\r\n};\r\n","import queryString from 'query-string';\r\nimport Vue from 'vue';\r\nconst COOKIE_PORTAL_KAMPANY_SOURCE = 'portal_kampany_source';\r\nconst COOKIE_PORTAL_KAMPANY_MEDIUM = 'portal_kampany_medium';\r\nconst COOKIE_PORTAL_KAMPANY_CAMPAIGN = 'portal_kampany_campaign';\r\nconst COOKIE_PORTAL_KAMPANY_TERM = 'portal_kampany_term';\r\nconst COOKIE_PORTAL_KAMPANY_CONTENT = 'portal_kampany_content';\r\nexport const initCampaign = () => {\r\n\tlet isUtm = true;\r\n\tlet parsed = queryString.parse(location.search);\r\n\tlet campaign = parsed.utm_source;\r\n\tif (!campaign) {\r\n\t\tcampaign = parsed.otpkampany_source;\r\n\t\tisUtm = false;\r\n\t}\r\n\tif (campaign) {\r\n\t\tif (isUtm) {\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_SOURCE, parsed.utm_source?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_MEDIUM, parsed.utm_medium?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_CAMPAIGN, parsed.utm_campaign?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_TERM, parsed.utm_term?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_CONTENT, parsed.utm_content?.substring(0, 255), { path: '/' });\r\n\t\t} else {\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_SOURCE, parsed.otpkampany_source?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_MEDIUM, parsed.otpkampany_medium?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_CAMPAIGN, parsed.otpkampany_campaign?.substring(0, 255), { path: '/' });\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport const deleteCampaign = () => {\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_SOURCE);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_MEDIUM);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_CAMPAIGN);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_TERM);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_CONTENT);\r\n};\r\n","export default {\r\n\tbind(el, binding) {\r\n\t\tconst redirect = () => {\r\n\t\t\tlet url = el.getAttribute('href');\r\n\t\t\twindow.location.href = url;\r\n\t\t};\r\n\t\tel.addEventListener('click', (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tbinding\r\n\t\t\t\t.value()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tredirect();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tredirect();\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n};\r\n","import { ANDROID_PHONE_REGEX } from '../constants/constants';\r\n\r\nexport default {\r\n\tbind: function (el, binding) {\r\n\t\tif (ANDROID_PHONE_REGEX.test(navigator.userAgent)) {\r\n\t\t\tel.setAttribute('href', binding.value);\r\n\t\t}\r\n\t}\r\n};\r\n","import { IPHONE_REGEX } from '../constants/constants';\r\n\r\nexport default {\r\n\tbind: function (el, binding) {\r\n\t\tif (IPHONE_REGEX.test(navigator.userAgent)) {\r\n\t\t\tel.setAttribute('href', binding.value);\r\n\t\t}\r\n\t}\r\n};\r\n","import EventBus from '../../../common/js/event-bus/event-bus';\r\nimport rcoApi from '../../../api/rco-api';\r\nexport default {\r\n\tname: 'rcoSingleCardSelector',\r\n\tprops: {\r\n\t\tpackageId: {\r\n\t\t\ttype: String,\r\n\t\t\trequired: true\r\n\t\t}\r\n\t},\r\n\tdata: () => ({\r\n\t\tmodel: {\r\n\t\t\tcardLimit: null,\r\n\t\t\tcardShoppingLimit: null,\r\n\t\t\tcardVirtualShoppingLimit: null,\r\n\t\t\tpackageId: null,\r\n\t\t\twithoutCard: false,\r\n\t\t\tchoosedCardId: null,\r\n\t\t\tfromLanding: true\r\n\t\t}\r\n\t}),\r\n\tcreated() {\r\n\t\tthis.init();\r\n\t\tEventBus.$on('singleCardData', () => {\r\n\t\t\tthis.sendData();\r\n\t\t});\r\n\t},\r\n\tmethods: {\r\n\t\tasync sendData() {\r\n\t\t\ttry {\r\n\t\t\t\tlet packageData = Object.assign({}, this.model);\r\n\t\t\t\tif (this.model.withoutCard) {\r\n\t\t\t\t\tdelete packageData.choosedCardId;\r\n\t\t\t\t}\r\n\t\t\t\tconst response = await rcoApi.sendPackageData(packageData);\r\n\t\t\t\tconst url = response.data.url;\r\n\t\t\t\twindow.location.href = url;\r\n\t\t\t\tconsole.log(url);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tEventBus.$emit('technicalError');\r\n\t\t\t}\r\n\t\t},\r\n\t\tasync init() {\r\n\t\t\tconst chosenCard = window.context.rcoSingleCardPickerData.packages[this.packageId].availableCards[0];\r\n\t\t\tconst cards = window.context.rcoSingleCardPickerData.cards[chosenCard];\r\n\t\t\tthis.model = { ...this.model, ...cards, packageId: this.packageId, choosedCardId: chosenCard };\r\n\t\t\ttry {\r\n\t\t\t\tawait rcoApi.getWebsalesId();\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"rco-single-card-selector-button\"},[_c('vue-button',{attrs:{\"id\":_vm.buttonId,\"aria-labelledby\":_vm.buttonLabelledBy,\"disabled\":_vm.sending},on:{\"click\":_vm.getCookie}},[_vm._t(\"default\")],2),(_vm.technicalError)?_c('vue-error-message',[_vm._v(\"Technikai hiba történt, kérjük próbálja újra később!\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rco-single-package-picker-button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rco-single-package-picker-button.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./rco-single-package-picker-button.vue?vue&type=template&id=3a9ce934&lang=pug\"\nimport script from \"./rco-single-package-picker-button.vue?vue&type=script&lang=js\"\nexport * from \"./rco-single-package-picker-button.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 axios from 'axios';\r\n\r\nexport default {\r\n\tgetSlayer() {\r\n\t\treturn axios.get('/static/portal/sw/json/sales-layer.json');\r\n\t}\r\n};\r\n","import { computed, ref, readonly } from 'vue';\r\nimport slayerApi from '../../../../api/slayer-api';\r\n\r\nconst STATES = {\r\n\tINIT: Symbol('INIT'),\r\n\tSUCCESS: Symbol('SUCCESS'),\r\n\tERROR: Symbol('ERROR')\r\n};\r\nexport const useLayers = () => {\r\n\tconst state = ref(STATES.INIT);\r\n\tconst layers = ref(null);\r\n\tconst layer = ref(null);\r\n\tconst getLayers = async () => {\r\n\t\ttry {\r\n\t\t\tconst { data } = await slayerApi.getSlayer();\r\n\t\t\tlayers.value = data;\r\n\t\t} catch (err) {\r\n\t\t\tthrow new Error('Could not get layers.json!');\r\n\t\t}\r\n\t};\r\n\tconst getLayer = async (id) => {\r\n\t\ttry {\r\n\t\t\tif (!layers.value) {\r\n\t\t\t\tawait getLayers();\r\n\t\t\t}\r\n\t\t\tstate.value = STATES.SUCCESS;\r\n\t\t\tif (!layers.value[id]) {\r\n\t\t\t\tthrow new Error('Layer not found!');\r\n\t\t\t} else {\r\n\t\t\t\tlayer.value = layers.value[id];\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tstate.value = STATES.ERROR;\r\n\t\t\tthrow err;\r\n\t\t}\r\n\t};\r\n\tconst resetLayer = () => {\r\n\t\tlayer.value = null;\r\n\t};\r\n\tconst technicalError = computed(() => state.value == STATES.ERROR);\r\n\treturn {\r\n\t\tlayer: readonly(layer),\r\n\t\ttechnicalError: readonly(technicalError),\r\n\t\tgetLayer,\r\n\t\tresetLayer\r\n\t};\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('VueFeedback',{attrs:{\"type\":\"error\"}},[_c('template',{slot:\"feedback-title\"},[_vm._v(\"Hoppá!\")]),_c('template',{slot:\"feedback-content\"},[_c('p',{staticClass:\"sf-text\"},[_vm._v(\"Technikai hiba történt!\")])])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./technical-error.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./technical-error.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./technical-error.vue?vue&type=template&id=0e1327af&scoped=true&lang=pug\"\nimport script from \"./technical-error.vue?vue&type=script&lang=js\"\nexport * from \"./technical-error.vue?vue&type=script&lang=js\"\nimport style0 from \"./technical-error.vue?vue&type=style&index=0&id=0e1327af&prod&lang=scss&scoped=true\"\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 \"0e1327af\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('vue-modal',{attrs:{\"modal-id\":_vm.MODAL_ID,\"width\":\"narrow\"}},[_c('template',{slot:\"modal-header\"},[_c('div',{staticClass:\"sales-layer__header\"},[(_vm.layer)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.layer.header)}}):_vm._e()])]),_c('template',{slot:\"modal-body\"},[(_vm.technicalError)?_c('TechnicalError'):_vm._e(),(_vm.layer)?_c('div',{staticClass:\"sales-layer__body\",domProps:{\"innerHTML\":_vm._s(_vm.layer.body)}}):_vm._e()],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./slayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./slayer.vue?vue&type=script&lang=js\"","import { getCurrentInstance, ref } from 'vue';\r\n\r\nexport const useGtm = () => {\r\n\tconst vm = getCurrentInstance().proxy;\r\n\tconst modalId = ref(null);\r\n\tconst openLayerGtm = (id) => {\r\n\t\tmodalId.value = id;\r\n\t\tvm.$gtm.trackEvent({\r\n\t\t\tevent: 'popupShown',\r\n\t\t\tpopupName: id\r\n\t\t});\r\n\t};\r\n\tconst closeLayerGtm = () => {\r\n\t\tvm.$gtm.trackEvent({\r\n\t\t\tevent: 'popupClosed',\r\n\t\t\tpopupName: modalId.value\r\n\t\t});\r\n\t\tmodalId.value = null;\r\n\t};\r\n\treturn {\r\n\t\topenLayerGtm,\r\n\t\tcloseLayerGtm\r\n\t};\r\n};\r\n","import { render, staticRenderFns } from \"./slayer.vue?vue&type=template&id=b15441c0&lang=pug\"\nimport script from \"./slayer.vue?vue&type=script&lang=js\"\nexport * from \"./slayer.vue?vue&type=script&lang=js\"\nimport style0 from \"./slayer.vue?vue&type=style&index=0&id=b15441c0&prod&lang=scss\"\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 Vue from 'vue';\r\nimport './plugins/plugins';\r\nimport axios from 'axios';\r\nimport 'moment';\r\nimport 'wicg-inert';\r\nimport currencyFilter from './currency-filter/currency-filter';\r\nimport numberFilter from './number-filter/number-filter';\r\nimport eventBus from './event-bus/event-bus';\r\nimport zeroFillFilter from './zero-fill-filter/zero-fill-filter';\r\nimport dateFilter from './date-filter/date-filter';\r\nimport capitalize from './capitalize/capitalize';\r\nimport { initReferer } from './referer/referer';\r\nimport { initCampaign } from './campaign/campaign';\r\nimport before from './before-directive/before-directive';\r\nimport VueCallRequestModalGlue from '@ui-common/vue-call-request-modal-glue';\r\nimport VueFormInfo from '@ui-common/vue-form-info';\r\nimport VueFormNotification from '@ui-common/vue-form-notification';\r\nimport VueTooltip from '@ui-common/vue-tooltip';\r\nimport VueButton from '@ui-common/vue-button';\r\nimport './svg-contains-polyfill/svg-contains-polyfill';\r\nimport androidPhoneHref from './android-phone-href/android-phone-href';\r\nimport iphoneHref from './iphone-href/iphone-href';\r\nimport rcoSinglePackagePicker from '../../common/components/rco-single-package-picker/rco-single-package-picker';\r\nimport rcoSinglePackagePickerButton from '../../common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button';\r\nimport rcoForeignCurrencyAccountPickerButton from '../../common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button';\r\nimport Slayer from '../components/slayer/slayer.vue';\r\n\r\nVue.prototype.env = window.env;\r\nVue.component('Slayer', Slayer);\r\nVue.component('vue-form-info', VueFormInfo);\r\nVue.component('vue-form-notification', VueFormNotification);\r\nVue.component('vue-tooltip', VueTooltip);\r\nVue.component('VueButton', VueButton);\r\nVue.component('rco-single-package-picker', rcoSinglePackagePicker);\r\nVue.component('rco-single-card-selector-button', rcoSinglePackagePickerButton);\r\nVue.component('rco-foreign-currency-account-picker-button', rcoForeignCurrencyAccountPickerButton);\r\n\r\nVue.prototype.openModal = (e, modalId, options) => {\r\n\teventBus.$emit('openModal', e, modalId, options);\r\n};\r\nVue.prototype.closeModal = (modalId, options) => {\r\n\teventBus.$emit('closeModal', modalId, options);\r\n};\r\nVue.prototype.openOrsi = (orsiFeature) => {\r\n\teventBus.$emit('openOrsi', orsiFeature);\r\n};\r\nVue.prototype.sendEvent = (event, options) => {\r\n\teventBus.$emit(event, options);\r\n};\r\naxios.defaults.headers.common['Cache-Control'] = 'no-store';\r\naxios.defaults.headers.common.Pragma = 'no-cache';\r\naxios.defaults.headers.common.Expires = 0;\r\nVue.prototype.$http = axios;\r\nVue.filter('currency', currencyFilter);\r\nVue.filter('number', numberFilter);\r\nVue.filter('date', dateFilter);\r\nVue.filter('zero', zeroFillFilter);\r\nVue.filter('capitalize', capitalize);\r\ninitReferer();\r\ninitCampaign();\r\nVue.component('vue-call-request-modal-glue', VueCallRequestModalGlue);\r\nVue.directive('before', before);\r\nVue.directive('android-phone-href', androidPhoneHref);\r\nVue.directive('iphone-href', iphoneHref);\r\nVue.config.ignoredElements = [\r\n\t'picture',\r\n\t/^call-request-component-/,\r\n\t/^call-request-business/,\r\n\t'app-webrtc-rco',\r\n\t'otp-adatbiztonsagi-kviz',\r\n\t'branch-atm-widget-wc',\r\n\t'branch-atm-locator-wc'\r\n];\r\n","import i18n from '../lang/i18n';\r\nexport default function (value, currency) {\r\n\tlet fixed = currency == 'HUF' ? 0 : 2;\r\n\tvalue = parseFloat(value);\r\n\tif (typeof value != 'undefined' && value != null) {\r\n\t\treturn new Intl.NumberFormat(i18n.locale, { minimumFractionDigits: fixed, maximumFractionDigits: fixed }).format(value);\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import i18n from '../lang/i18n';\r\nexport default function (value, maxDigits = 2, minDigits = 0) {\r\n\tvalue = parseFloat(value);\r\n\tif (typeof value != 'undefined' && value != null) {\r\n\t\treturn new Intl.NumberFormat(i18n.locale, { minimumFractionDigits: minDigits, maximumFractionDigits: maxDigits, useGrouping: false }).format(value);\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import moment from 'moment';\r\nexport default function (value, format) {\r\n\tif (value) {\r\n\t\treturn moment(value).format(format);\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import leftPad from 'left-pad';\r\nexport default function (value, length) {\r\n\tif (value) {\r\n\t\treturn leftPad(value, length, '0');\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","export default function (value) {\r\n\tlet capStr = '';\r\n\tif (value) {\r\n\t\tcapStr = value.charAt(0) + value.slice(1).toLowerCase();\r\n\t}\r\n\treturn capStr;\r\n}\r\n","import axios from 'axios';\r\n\r\nconst httpClient = axios.create({\r\n\tbaseURL: window.context.recommUrl\r\n});\r\n\r\nexport default {\r\n\tgetRecommendations(portalId) {\r\n\t\treturn httpClient.get('', {\r\n\t\t\theaders: {\r\n\t\t\t\t'X-Request-ID': window.crypto.randomUUID(),\r\n\t\t\t\t'X-Log-Parameters': '{\"channel\": \"PORTAL\"}',\r\n\t\t\t\t...(portalId && { portalId })\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\n","import Vue, { getCurrentInstance, nextTick, watch } from 'vue';\r\nimport { computed, ref } from 'vue';\r\nimport personalizationApi from '../../../api/personalization-api';\r\nimport { COOKIE_PORTAL_ID_NAME } from '../constants/constants';\r\n\r\nconst PERSONALIZATION_STATE = {\r\n\tINIT: 'INIT',\r\n\tSUCCESS: 'SUCCESS',\r\n\tERROR: 'ERROR'\r\n};\r\n\r\nconst STATUSES = {\r\n\tHIDDEN: 'hidden',\r\n\tERROR: 'error'\r\n};\r\n\r\nconst fragments = { ...window.context.defaultFragments, ...window.context.personalizedFragments };\r\n\r\nconst personalizationState = ref(PERSONALIZATION_STATE.INIT);\r\nconst isSuccess = computed(() => personalizationState.value == PERSONALIZATION_STATE.SUCCESS);\r\nconst isError = computed(() => personalizationState.value == PERSONALIZATION_STATE.ERROR);\r\nconst portalId = Vue.cookie.get(COOKIE_PORTAL_ID_NAME);\r\nconst recommData = ref(null);\r\n\r\nconst getDataAttributes = (moduleId) => {\r\n\tconst attributes = recommData.value[moduleId].map((data, index) => ({\r\n\t\t'data-item_id': data.recommId,\r\n\t\t'data-item_model': data.model,\r\n\t\t'data-item_position': index,\r\n\t\t'data-item_module': moduleId\r\n\t}));\r\n\treturn attributes;\r\n};\r\n\r\nconst initPersonalization = async () => {\r\n\ttry {\r\n\t\tif (window.context.hasPersonalization) {\r\n\t\t\tconst { data } = await personalizationApi.getRecommendations(portalId);\r\n\t\t\trecommData.value = data;\r\n\t\t}\r\n\t\tpersonalizationState.value = PERSONALIZATION_STATE.SUCCESS;\r\n\t} catch {\r\n\t\tpersonalizationState.value = PERSONALIZATION_STATE.ERROR;\r\n\t}\r\n};\r\n\r\nexport const useMherPersonalization = (params) => {\r\n\tconst mherFragment = ref(null);\r\n\tconst needsMherPlaceholder = ref(true);\r\n\tconst dataAttributes = ref(null);\r\n\r\n\tconst setPersonalizedMher = () => {\r\n\t\ttry {\r\n\t\t\tconst mher = recommData.value[params.moduleId][0];\r\n\t\t\tmherFragment.value = fragments[mher.recommId].mher;\r\n\t\t\tdataAttributes.value = getDataAttributes(params.moduleId)[0];\r\n\t\t\tif (!mherFragment.value) {\r\n\t\t\t\tsetDefaultMher();\r\n\t\t\t} else {\r\n\t\t\t\thideMherPlaceholder();\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tsetDefaultMher();\r\n\t\t}\r\n\t};\r\n\r\n\tconst setDefaultMher = () => {\r\n\t\tmherFragment.value = fragments[params.defaultId].mher;\r\n\t\tif (mherFragment.value) {\r\n\t\t\thideMherPlaceholder();\r\n\t\t}\r\n\t};\r\n\r\n\tconst hideMherPlaceholder = () => {\r\n\t\tnextTick(() => {\r\n\t\t\tneedsMherPlaceholder.value = false;\r\n\t\t\tdocument.querySelector('#mher-placeholder').style.display = 'none';\r\n\t\t});\r\n\t};\r\n\r\n\twatch(\r\n\t\tpersonalizationState,\r\n\t\t() => {\r\n\t\t\tif (isSuccess.value && params.personalized) {\r\n\t\t\t\tsetPersonalizedMher();\r\n\t\t\t} else if (isError.value || !params.personalized) {\r\n\t\t\t\tsetDefaultMher();\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ immediate: true }\r\n\t);\r\n\r\n\treturn {\r\n\t\tmherFragment,\r\n\t\tneedsMherPlaceholder,\r\n\t\tdataAttributes\r\n\t};\r\n};\r\n\r\nexport const useMhapPersonalization = (params) => {\r\n\tconst mhapFragments = ref(null);\r\n\tconst needsMhapPlaceholder = ref(true);\r\n\tconst dataAttributes = ref([null, null, null]);\r\n\r\n\tconst mhap = ref([null, null, null]);\r\n\r\n\tconst setPersonalizedMhap = () => {\r\n\t\ttry {\r\n\t\t\tmhap.value = recommData.value[params.moduleId];\r\n\t\t\tmhapFragments.value = mhap.value.map((_fragment, index) => fragments[mhap.value[index].recommId].mhap);\r\n\t\t\tdataAttributes.value = getDataAttributes(params.moduleId);\r\n\t\t\tif (!mhapFragments.value) {\r\n\t\t\t\tsetDefaultMhap();\r\n\t\t\t} else {\r\n\t\t\t\thideMhapPlaceholder();\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tsetDefaultMhap();\r\n\t\t}\r\n\t};\r\n\r\n\tconst setDefaultMhap = () => {\r\n\t\tmhapFragments.value = mhap.value.map((_fragment, index) => fragments[params.defaultIds[index]].mhap);\r\n\t\tif (mhapFragments.value) {\r\n\t\t\thideMhapPlaceholder();\r\n\t\t}\r\n\t};\r\n\r\n\tconst hideMhapPlaceholder = () => {\r\n\t\tnextTick(() => {\r\n\t\t\tneedsMhapPlaceholder.value = false;\r\n\t\t\tdocument.querySelector('#mhap-placeholder').style.display = 'none';\r\n\t\t});\r\n\t};\r\n\r\n\twatch(\r\n\t\tpersonalizationState,\r\n\t\t() => {\r\n\t\t\tif (isSuccess.value && params.personalized) {\r\n\t\t\t\tsetPersonalizedMhap();\r\n\t\t\t} else if (isError.value || !params.personalized) {\r\n\t\t\t\tsetDefaultMhap();\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ immediate: true }\r\n\t);\r\n\r\n\treturn {\r\n\t\tmhapFragments,\r\n\t\tneedsMhapPlaceholder,\r\n\t\tdataAttributes\r\n\t};\r\n};\r\n\r\nexport const useMasdPersonalization = (params) => {\r\n\tconst vm = getCurrentInstance().proxy;\r\n\r\n\tconst masdFragments = ref(null);\r\n\tconst needsMasdPlaceholder = ref(true);\r\n\tconst dataAttributes = ref(null);\r\n\r\n\tconst setPersonalizedMasd = () => {\r\n\t\ttry {\r\n\t\t\tconst masd = recommData.value[params.moduleId];\r\n\t\t\tif (masd?.visibility == STATUSES.HIDDEN) {\r\n\t\t\t\tsendGtm(STATUSES.HIDDEN);\r\n\t\t\t\tneedsMasdPlaceholder.value = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tmasdFragments.value = masd.map((masdIds) => fragments[masdIds.recommId].masd);\r\n\t\t\tdataAttributes.value = getDataAttributes(params.moduleId);\r\n\t\t\tif (!masdFragments.value) {\r\n\t\t\t\tsetDefaultMasd();\r\n\t\t\t} else {\r\n\t\t\t\tneedsMasdPlaceholder.value = false;\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tsendGtm(STATUSES.ERROR);\r\n\t\t\tsetDefaultMasd();\r\n\t\t}\r\n\t};\r\n\r\n\tconst setDefaultMasd = () => {\r\n\t\ttry {\r\n\t\t\tmasdFragments.value = [fragments[params.defaultId].masd];\r\n\t\t} catch {\r\n\t\t\tconsole.warn('defaultId for masd module is not available');\r\n\t\t} finally {\r\n\t\t\tneedsMasdPlaceholder.value = false;\r\n\t\t}\r\n\t};\r\n\r\n\tconst sendGtm = (status) => {\r\n\t\tvm.$gtm.trackEvent({\r\n\t\t\tevent: 'recom_failed',\r\n\t\t\trecom_status: status,\r\n\t\t\tmodul: params.moduleId\r\n\t\t});\r\n\t};\r\n\r\n\twatch(\r\n\t\tpersonalizationState,\r\n\t\t() => {\r\n\t\t\tif (isSuccess.value && params.personalized) {\r\n\t\t\t\tsetPersonalizedMasd();\r\n\t\t\t} else if (isError.value || !params.personalized) {\r\n\t\t\t\tsetDefaultMasd();\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ immediate: true }\r\n\t);\r\n\r\n\treturn {\r\n\t\tmasdFragments,\r\n\t\tneedsMasdPlaceholder,\r\n\t\tdataAttributes\r\n\t};\r\n};\r\n\r\nexport const usePersonalization = () => {\r\n\tinitPersonalization();\r\n};\r\n","import VueI18n from 'vue-i18n';\r\nimport { createI18n } from 'vue-i18n-composable';\r\nimport moment from 'moment';\r\nimport Vue from 'vue';\r\nVue.use(VueI18n);\r\nmoment.locale(document.documentElement.lang);\r\nconst i18n = createI18n({\r\n\tlocale: document.documentElement.lang\r\n});\r\n\r\nexport default i18n;\r\n","import { MediaQueries } from 'vue-media-queries';\r\nexport const mediaQueries = new MediaQueries();\r\n","SVGElement.prototype.contains = function contains(node) {\r\n\tif (!(0 in arguments)) {\r\n\t\tthrow new TypeError('1 argument is required');\r\n\t}\r\n\r\n\tdo {\r\n\t\tif (this === node) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t} while ((node = node && node.parentNode));\r\n\r\n\treturn false;\r\n};\r\n","import { mapState } from 'vuex';\r\n\r\nexport default {\r\n\tcomputed: {\r\n\t\t...mapState('newsModule', ['currentPage'])\r\n\t}\r\n};\r\n","import { mapState } from 'vuex';\r\nimport mhhr from '../MHHR/mhhr';\r\nexport default {\r\n\tcomputed: {\r\n\t\t...mapState('newsModule', ['currentPage'])\r\n\t},\r\n\tcomponents: {\r\n\t\tmhhr\r\n\t},\r\n\tmounted() {\r\n\t\tthis.$scrollTo(this.$refs['highlighted-news-top']);\r\n\t}\r\n};\r\n","import './layout.scss';\r\nimport Vue from 'vue';\r\nimport VueRouter from 'vue-router';\r\nimport eventBus from '../../common/js/event-bus/event-bus';\r\nimport mstb from '../../modules/MSTB/mstb';\r\nimport mhek from '../../modules/MHEK/mhek';\r\nimport mhhr from '../../modules/MHHR/mhhr';\r\nimport layoutBase from '../layout-base';\r\n\r\nVue.use(VueRouter);\r\nVue.component('mstb', mstb);\r\nVue.component('mhek', mhek);\r\nVue.component('mhhr', mhhr);\r\n/* eslint-disable no-new*/\r\nnew Vue({\r\n\textends: layoutBase,\r\n\tel: '[data-layout-id=AV9HE-app]',\r\n\tmounted() {\r\n\t\teventBus.$on('openOrsi', (orsiFeature) => {\r\n\t\t\tif (window.ORSI) {\r\n\t\t\t\tswitch (orsiFeature) {\r\n\t\t\t\t\tcase 'chat':\r\n\t\t\t\t\t\twindow.ORSI.chat.openChat();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'callrequest':\r\n\t\t\t\t\t\twindow.ORSI.callrequest.openCallrequest();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'writetous':\r\n\t\t\t\t\t\twindow.ORSI.writetous.openWritetous();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\r\n/* eslint-enable*/\r\n","import exchangeApi from '../../../api/exchange-api';\r\nlet exchangeMarzs;\r\nlet callDispatched;\r\nconst getExchangeMarzs = async () => {\r\n\ttry {\r\n\t\tif (!callDispatched) {\r\n\t\t\tconst response = await exchangeApi.getEcbDifference();\r\n\t\t\tif (response && response.data && response.data.ecbDifference) {\r\n\t\t\t\texchangeMarzs = response.data.ecbDifference;\r\n\t\t\t}\r\n\t\t}\r\n\t\tcallDispatched = true;\r\n\t\tif (!exchangeMarzs && callDispatched) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tgetExchangeMarzs();\r\n\t\t\t}, 500);\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tconsole.error(error);\r\n\t}\r\n\treturn exchangeMarzs;\r\n};\r\n\r\nexport default getExchangeMarzs;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"exchange-marzs\"},[_c('strong',[(_vm.ecbDifference)?[_vm._v(_vm._s(_vm._f(\"number\")(_vm.ecbDifference))+\"%\")]:[_vm._v(\"N/A\")]],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exchange-marzs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exchange-marzs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./exchange-marzs.vue?vue&type=template&id=39211324&lang=pug\"\nimport script from \"./exchange-marzs.vue?vue&type=script&lang=js\"\nexport * from \"./exchange-marzs.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 announcementApi from '../../../api/announcement-api';\r\nconst ANNOUNCEMENT_SET_ANNOUNCEMENTS = 'ANNOUNCEMENT_SET_ANNOUNCEMENTS';\r\nconst ANNOUNCEMENT_SET_TECHNICAL_ERROR = 'ANNOUNCEMENT_SET_TECHNICAL_ERROR';\r\n\r\nconst announcementState = {\r\n\ttechnicalError: false,\r\n\tannouncements: []\r\n};\r\n\r\nconst announcementActions = {\r\n\tasync getAnnouncements({ commit }, params) {\r\n\t\ttry {\r\n\t\t\tlet { data } = await announcementApi.getAnnouncements(params);\r\n\t\t\tcommit(ANNOUNCEMENT_SET_ANNOUNCEMENTS, data);\r\n\t\t} catch (err) {\r\n\t\t\tcommit(ANNOUNCEMENT_SET_TECHNICAL_ERROR);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nconst announcementMutations = {\r\n\t[ANNOUNCEMENT_SET_ANNOUNCEMENTS](state, announcements) {\r\n\t\tstate.announcements = announcements;\r\n\t},\r\n\t[ANNOUNCEMENT_SET_TECHNICAL_ERROR](state) {\r\n\t\tstate.technicalError = true;\r\n\t}\r\n};\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate: announcementState,\r\n\tmutations: announcementMutations,\r\n\tactions: announcementActions\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"announcement-wrap\",class:{ 'content-placeholder-active': !_vm.loaded }},[_c('div',{staticClass:\"announcement\",class:{ 'announcement--inline': _vm.inline, 'announcement--hide-bullet': _vm.hideBullet, 'announcement--accept-pdf': _vm.acceptanceNeeded }},[(_vm.inline)?[(_vm.loaded)?[_vm._l((_vm.filteredAnnouncements),function(announcement){return [(_vm.acceptanceNeeded)?_c('AcceptPdfModal',{attrs:{\"id\":`${announcement.announcementSelection}-${announcement.documentId}`,\"pdf-url\":announcement.url},model:{value:(_vm.modelValue),callback:function ($$v) {_vm.modelValue=$$v},expression:\"modelValue\"}},[_c('template',{slot:\"title\"},[_vm._v(_vm._s(_vm.text || announcement.selection.longname))])],2):[_c('a',{staticClass:\"announcement__item announcement__item--inline\",attrs:{\"href\":announcement.url,\"aria-label\":announcement.selection.longname + ' hirdetmény',\"target\":_vm.target,\"rel\":\"nofollow\"}},[_vm._v(_vm._s(_vm.text || announcement.selection.longname))]),(announcement.validityStart && !_vm.hideDate)?_c('span',{staticClass:\"item-date\"},[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityStart,_vm.displayDateFormat))+\". - \"),(announcement.validityEnd)?[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityEnd,_vm.displayDateFormat))+\".\")]:_vm._e()],2):_vm._e()]]})]:[(_vm.acceptanceNeeded)?_c('div',{staticClass:\"announcement-placeholder content-placeholder-content\"},[_c('div',{staticClass:\"announcement-placeholder-item sf-btn\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"10\",\"height\":\"18\",\"viewbox\":\"0 0 10 18\",\"fill\":\"none\",\"aria-hidden\":\"true\"}},[_c('path',{attrs:{\"d\":\"M1 1L9 9L0.999997 17\",\"stroke\":\"#ababab\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})]),_c('div',{staticClass:\"announcement-placeholder-text content-placeholder-animated-background content-placeholder-animated-background--gray\"}),_c('div',{staticClass:\"announcement-placeholder-link content-placeholder-animated-background content-placeholder-animated-background--gray\"})])]):_c('span',{staticClass:\"announcement-placeholder content-placeholder-content\"},[_vm._m(0)])]]:[(_vm.loaded)?[_c('p',{staticClass:\"sr-only\"},[_vm._v(\"Hirdetmények listája\")]),_c('ul',{staticClass:\"list list--primary\"},_vm._l((_vm.filteredAnnouncements),function(announcement){return _c('li',{staticClass:\"announcement__item list-item list-item--primary\"},[_c('a',{attrs:{\"href\":announcement.url,\"aria-label\":announcement.selection.longname + ' hirdetmény',\"target\":\"_blank\",\"rel\":\"nofollow\"}},[_vm._v(_vm._s(announcement.selection.longname))]),_c('span',[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityStart,_vm.displayDateFormat))+\". - \"),(announcement.validityEnd)?[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityEnd,_vm.displayDateFormat))+\".\")]:_vm._e()],2)])}),0)]:_c('div',{staticClass:\"announcement-placeholder content-placeholder-content\"},_vm._l((3),function(n){return _c('div',{staticClass:\"announcement-placeholder-item\"},[_c('div',{staticClass:\"announcement-placeholder-link content-placeholder-animated-background content-placeholder-animated-background--green\"}),_c('div',{staticClass:\"announcement-placeholder-date content-placeholder-animated-background content-placeholder-animated-background--gray\"})])}),0)]],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"announcement-placeholder-item\"},[_c('span',{staticClass:\"announcement-placeholder-link content-placeholder-animated-background content-placeholder-animated-background--green\"}),_c('span',{staticClass:\"announcement-placeholder-date content-placeholder-animated-background content-placeholder-animated-background--gray\"})])\n}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./announcement.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./announcement.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./announcement.vue?vue&type=template&id=504c9af9&scoped=true&lang=pug\"\nimport script from \"./announcement.vue?vue&type=script&lang=js\"\nexport * from \"./announcement.vue?vue&type=script&lang=js\"\nimport style0 from \"./announcement.vue?vue&type=style&index=0&id=504c9af9&prod&lang=scss&scoped=true\"\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 \"504c9af9\",\n null\n \n)\n\nexport default component.exports","export default {\r\n\tdata: () => ({\r\n\t\tisVisible: true\r\n\t}),\r\n\tcomputed: {\r\n\t\tisMobile() {\r\n\t\t\treturn this.$resize && this.$mq.below(767);\r\n\t\t},\r\n\t\tisTablet() {\r\n\t\t\treturn this.$resize && this.$mq.above(768);\r\n\t\t}\r\n\t},\r\n\trender() {\r\n\t\treturn this.$scopedSlots.default({\r\n\t\t\tisMobile: this.isMobile,\r\n\t\t\tisTablet: this.isTablet\r\n\t\t});\r\n\t}\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.needsMherPlaceholder)?_c('div',{staticClass:\"mher-container\"},[_c('div',_vm._b({staticClass:\"mher-wrapper\",domProps:{\"innerHTML\":_vm._s(_setup.mherFragment)}},'div',_setup.dataAttributes,false))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mher.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mher.vue?vue&type=script&setup=true&lang=js\"","import { render, staticRenderFns } from \"./mher.vue?vue&type=template&id=23ffe7f5&lang=pug\"\nimport script from \"./mher.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./mher.vue?vue&type=script&setup=true&lang=js\"\nimport style0 from \"./mher.vue?vue&type=style&index=0&id=23ffe7f5&prod&lang=scss\"\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 '../common/js/common';\r\nimport eventBus from '../common/js/event-bus/event-bus';\r\nimport { mediaQueries } from '../common/js/media-query/media-query';\r\nimport exchangeMarzs from '../common/components/exchange-marzs/exchange-marzs.vue';\r\nimport Vue from 'vue';\r\nimport store from '../common/js/vuex/store';\r\nimport announcementStore from '../common/components/announcement/announcement-vuex';\r\nimport announcement from '../common/components/announcement/announcement.vue';\r\nimport VisibilityContainer from '../common/components/visibility-container/visibility-container';\r\nimport mher from '../modules/MHER/mher.vue';\r\nimport i18n from '../common/js/lang/i18n';\r\nimport { useDirektIbCookieHandler } from '../common/js/composables/direkt-ib-cookie-handler';\r\nimport { usePersonalization } from '../common/js/composables/personalization';\r\nimport PortalVue from 'portal-vue';\r\n\r\nVue.use(PortalVue);\r\nVue.component('exchange-marzs', exchangeMarzs);\r\nVue.component('visibility-container', VisibilityContainer);\r\nVue.component('mher', mher);\r\nif (!store.hasModule(['announcements'])) {\r\n\tstore.registerModule('announcements', announcementStore);\r\n}\r\nif (window.context?.announcements?.length) {\r\n\tstore.dispatch('announcements/getAnnouncements', window.context.announcements);\r\n\tVue.component('announcement', announcement);\r\n}\r\nexport default {\r\n\ti18n,\r\n\tmediaQueries,\r\n\tdata: {\r\n\t\tariaHide: false,\r\n\t\tmodalVisible: null,\r\n\t\tallowAnchor: true,\r\n\t\theroTitle: null\r\n\t},\r\n\tsetup() {\r\n\t\tconst { provideDirektEbValues } = useDirektIbCookieHandler();\r\n\t\tusePersonalization();\r\n\t\tprovideDirektEbValues();\r\n\t},\r\n\tstore,\r\n\tcomputed: {\r\n\t\tisMobile() {\r\n\t\t\treturn this.$resize && this.$mq.below(767);\r\n\t\t}\r\n\t},\r\n\tmethods: {\r\n\t\twaitForFonts() {\r\n\t\t\tif (location.hash) {\r\n\t\t\t\tlet wait = setInterval(() => {\r\n\t\t\t\t\tif (document.documentElement.classList.contains('wf-active')) {\r\n\t\t\t\t\t\tvar elId = location.hash.replace('#', '');\r\n\t\t\t\t\t\tvar scrollToEl = document.getElementById(elId) || document.querySelector(`a[name=\"${elId}]\"`);\r\n\t\t\t\t\t\tif (scrollToEl) {\r\n\t\t\t\t\t\t\tscrollToEl.scrollIntoView(true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tclearInterval(wait);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 500);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tclearInterval(wait);\r\n\t\t\t\t}, 5000);\r\n\t\t\t}\r\n\t\t},\r\n\t\tinitVhk() {\r\n\t\t\t// Inicializalja az osszes VHK webkomponenst\r\n\t\t\tconst event = new CustomEvent('call-request-init');\r\n\t\t\twindow.dispatchEvent(event);\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tthis.$nextTick(() => {\r\n\t\t\tthis.allowAnchor && this.waitForFonts();\r\n\t\t});\r\n\t\teventBus.$on('toggleAriaHidden', (hide) => {\r\n\t\t\tthis.ariaHide = hide;\r\n\t\t});\r\n\t\teventBus.$on('openOrsi', (orsiFeature) => {\r\n\t\t\tif (window.ORSI) {\r\n\t\t\t\tswitch (orsiFeature) {\r\n\t\t\t\t\tcase 'chat':\r\n\t\t\t\t\t\twindow.ORSI.chat.openChat();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'callrequest':\r\n\t\t\t\t\t\twindow.ORSI.callrequest.openCallrequest();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'writetous':\r\n\t\t\t\t\t\twindow.ORSI.writetous.openWritetous();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tdocument.addEventListener('tooltip-toggle', this.handleTooltipToggle);\r\n\t\tdocument.addEventListener('select-value-change', this.handleSelectValueChange);\r\n\t\tthis.initVhk();\r\n\t},\r\n\tcreated() {\r\n\t\teventBus.$on('heroTitleChange', (heroTitle) => {\r\n\t\t\tthis.heroTitle = heroTitle;\r\n\t\t});\r\n\t},\r\n\tbeforeDestroy() {\r\n\t\tdocument.removeEventListener('tooltip-toggle', this.handleTooltipToggle);\r\n\t\tdocument.removeEventListener('select-value-change', this.handleSelectValueChange);\r\n\t}\r\n};\r\n","import Vue from 'vue';\r\nimport VueTouch from 'vue-touch';\r\nVue.use(VueTouch);\r\nexport default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tcurrentColumn: 0,\r\n\t\t\tcardWidth: null,\r\n\t\t\tdeviceWidth: null\r\n\t\t};\r\n\t},\r\n\tprops: {\r\n\t\tmodalId: {\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\topenedTab: {\r\n\t\t\trequired: false\r\n\t\t}\r\n\t},\r\n\tcomputed: {\r\n\t\tisMobile() {\r\n\t\t\treturn this.$resize && this.$mq.below(767);\r\n\t\t},\r\n\t\tisTablet() {\r\n\t\t\treturn this.$resize && this.$mq.above(768) && this.$mq.below(959);\r\n\t\t},\r\n\t\tisDesktop() {\r\n\t\t\treturn this.$resize && this.$mq.above(960) && this.$mq.below(1279);\r\n\t\t},\r\n\t\tisLargeDesktop() {\r\n\t\t\treturn this.$resize && this.$mq.above(1280);\r\n\t\t}\r\n\t}\r\n};\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-call-request-modal-glue\"] = factory();\n\telse\n\t\troot[\"vue-call-request-modal-glue\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \t// The require scope\n/******/ \tvar __webpack_require__ = {};\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/publicPath */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ entry_lib)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (false) { var getCurrentScript; }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_require__.p = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ const setPublicPath = (null);\n\n;// CONCATENATED MODULE: ./src/components/VueCallRequestModalGlue.js\n/* harmony default export */ const VueCallRequestModalGlue = ({\n\tdata: () => ({\n\t\tformState: null\n\t}),\n\tprops: {\n\t\tmodalId: {\n\t\t\trequired: true\n\t\t},\n\t\tcallRequestId: {\n\t\t\trequired: true\n\t\t}\n\t},\n\trender() {\n\t\treturn this.$scopedSlots.default({\n\t\t\tformState: this.formState\n\t\t});\n\t},\n\tcreated() {\n\t\twindow.addEventListener('call-request-state-change', ({ detail: { state, id } }) => {\n\t\t\tif (this.callRequestId == id) {\n\t\t\t\tthis.formState = state;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('call-request-close-modal', ({ detail: { id } }) => {\n\t\t\tif (this.callRequestId == id) {\n\t\t\t\tthis.$closeModal(this.modalId);\n\t\t\t}\n\t\t});\n\t\tthis.$modalEventBus.$on('modal-opened', (modalId) => {\n\t\t\tif (modalId == this.modalId) {\n\t\t\t\tconst event = new CustomEvent('call-request-init-form', { detail: { id: this.callRequestId } });\n\t\t\t\twindow.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t\tthis.$modalEventBus.$on('modal-closed', (modalId) => {\n\t\t\tif (modalId == this.modalId) {\n\t\t\t\tconst event = new CustomEvent('call-request-reset-form', { detail: { id: this.callRequestId } });\n\t\t\t\twindow.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t}\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (VueCallRequestModalGlue);\n\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-call-request-modal-glue.umd.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-live-announcer\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-live-announcer\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), (__WEBPACK_EXTERNAL_MODULE__203__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 203:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__203__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/publicPath */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ entry_lib)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (false) { var getCurrentScript; }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_require__.p = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ const setPublicPath = (null);\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueLiveAnnouncer.vue?vue&type=template&id=abb58478&scoped=true&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"root\",staticClass:\"sr-only\"},[_c('div',{attrs:{\"id\":`v-announcer-assertive-${_vm._uid}`,\"aria-live\":\"assertive\",\"aria-atomic\":\"true\"}},[_vm._v(_vm._s(_vm.assertiveContent))]),_c('div',{attrs:{\"id\":`v-announcer-polite-${_vm._uid}`,\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[_vm._v(_vm._s(_vm.politeContent))])])\n}\nvar staticRenderFns = []\n\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.constants.js\nconst OPTIONS = {\n\tcomplementRoute: 'has loaded'\n};\nconst POLITENESS_SETTINGS = {\n\tASSERTIVE: 'assertive',\n\tPOLITE: 'polite'\n};\n\nconst EVENTS = {\n\tSET_MESSAGE: 'vue-live-announcer-set-message'\n};\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueLiveAnnouncer.vue?vue&type=script&lang=js&\n\n\n/* harmony default export */ const VueLiveAnnouncervue_type_script_lang_js_ = ({\n\tname: 'VueLiveAnnouncer',\n\tdata() {\n\t\treturn {\n\t\t\tpoliteContent: '',\n\t\t\tassertiveContent: ''\n\t\t};\n\t},\n\tmethods: {\n\t\tsetAnnouncerMessage(payload) {\n\t\t\tconst { message, options } = payload;\n\t\t\tif (options && options.politeness === POLITENESS_SETTINGS.ASSERTIVE) {\n\t\t\t\tthis.assertiveContent = message;\n\t\t\t} else {\n\t\t\t\tthis.politeContent = message;\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$VueLiveAnnouncerEventBus.$on(EVENTS.SET_MESSAGE, this.setAnnouncerMessage);\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueLiveAnnouncervue_type_script_lang_js_ = (VueLiveAnnouncervue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-52.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-52.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-52.use[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueLiveAnnouncer.vue?vue&type=style&index=0&id=abb58478&prod&scoped=true&lang=css&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.vue?vue&type=style&index=0&id=abb58478&prod&scoped=true&lang=css&\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueLiveAnnouncervue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n \"abb58478\",\n null\n \n)\n\n/* harmony default export */ const VueLiveAnnouncer = (component.exports);\n// EXTERNAL MODULE: external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}\nvar external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(203);\nvar external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.EventBus.js\n\n/* harmony default export */ const VueLiveAnnouncer_EventBus = (new (external_commonjs_vue_commonjs2_vue_root_Vue_default())());\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.plugin.js\n\n\n\n\nfunction install(Vue, options = {}, router = null) {\n\toptions = { ...OPTIONS, ...options };\n\n\tVue.component('VueLiveAnnouncer', VueLiveAnnouncer);\n\tVue.prototype.$VueLiveAnnouncerEventBus = VueLiveAnnouncer_EventBus;\n\tVue.prototype.$VueLiveAnnouncer = {\n\t\tset(message, messageOptions) {\n\t\t\toptions = messageOptions || { politeness: POLITENESS_SETTINGS.POLITE };\n\t\t\tconst politenessValues = Object.values(POLITENESS_SETTINGS);\n\t\t\tif (options && options.politeness && !politenessValues.includes(options.politeness)) {\n\t\t\t\tthrow new Error(`Politeness level must be one of the following: ${politenessValues.join(', ')}`);\n\t\t\t}\n\t\t\tVueLiveAnnouncer_EventBus.$emit(EVENTS.SET_MESSAGE, { message, options });\n\t\t},\n\n\t\tsetComplementRoute(complementRoute) {\n\t\t\tif (typeof complementRoute !== 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\toptions.COMPLEMENT_ROUTE = complementRoute;\n\t\t}\n\t};\n\n\t// If set the router, will be announced the change of route\n\tif (router) {\n\t\trouter.afterEach((to) => {\n\t\t\tVue.prototype.$VueLiveAnnouncer.set(`${to.meta.announcer || document.title.trim()} ${options.COMPLEMENT_ROUTE}`);\n\t\t});\n\t}\n}\n\n// auto install\nif (typeof window !== 'undefined' && typeof window.Vue !== 'undefined') {\n\twindow.Vue.use(install);\n}\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (install);\n\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-live-announcer.umd.js.map","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","/* This program is free software. It comes without any warranty, to\n * the extent permitted by applicable law. You can redistribute it\n * and/or modify it under the terms of the Do What The Fuck You Want\n * To Public License, Version 2, as published by Sam Hocevar. See\n * http://www.wtfpl.net/ for more details. */\n'use strict';\nmodule.exports = leftPad;\n\nvar cache = [\n '',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' '\n];\n\nfunction leftPad (str, len, ch) {\n // convert `str` to a `string`\n str = str + '';\n // `len` is the `pad`'s length now\n len = len - str.length;\n // doesn't need to pad\n if (len <= 0) return str;\n // `ch` defaults to `' '`\n if (!ch && ch !== 0) ch = ' ';\n // convert `ch` to a `string` cuz it could be a number\n ch = ch + '';\n // cache common use cases\n if (ch === ' ' && len < 10) return cache[len] + str;\n // `pad` starts with an empty string\n var pad = '';\n // loop\n while (true) {\n // add `ch` to `pad` if `len` is odd\n if (len & 1) pad += ch;\n // divide `len` by 2, ditch the remainder\n len >>= 1;\n // \"double\" the `ch` so this operation count grows logarithmically on `len`\n // each time `ch` is \"doubled\", the `len` would need to be \"doubled\" too\n // similar to finding a value in binary search tree, hence O(log(n))\n if (len) ch += ch;\n // `len` is 0, exit the loop\n else break;\n }\n // pad `str`!\n return pad + str;\n}\n","\n /*! \n * portal-vue © Thorsten Lünborg, 2019 \n * \n * Version: 2.1.7\n * \n * LICENCE: MIT \n * \n * https://github.com/linusborg/portal-vue\n * \n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar inBrowser = typeof window !== 'undefined';\nfunction freeze(item) {\n if (Array.isArray(item) || _typeof(item) === 'object') {\n return Object.freeze(item);\n }\n\n return item;\n}\nfunction combinePassengers(transports) {\n var slotProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return transports.reduce(function (passengers, transport) {\n var temp = transport.passengers[0];\n var newPassengers = typeof temp === 'function' ? temp(slotProps) : transport.passengers;\n return passengers.concat(newPassengers);\n }, []);\n}\nfunction stableSort(array, compareFn) {\n return array.map(function (v, idx) {\n return [idx, v];\n }).sort(function (a, b) {\n return compareFn(a[1], b[1]) || a[0] - b[0];\n }).map(function (c) {\n return c[1];\n });\n}\nfunction pick(obj, keys) {\n return keys.reduce(function (acc, key) {\n if (obj.hasOwnProperty(key)) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nvar transports = {};\nvar targets = {};\nvar sources = {};\nvar Wormhole = Vue.extend({\n data: function data() {\n return {\n transports: transports,\n targets: targets,\n sources: sources,\n trackInstances: inBrowser\n };\n },\n methods: {\n open: function open(transport) {\n if (!inBrowser) return;\n var to = transport.to,\n from = transport.from,\n passengers = transport.passengers,\n _transport$order = transport.order,\n order = _transport$order === void 0 ? Infinity : _transport$order;\n if (!to || !from || !passengers) return;\n var newTransport = {\n to: to,\n from: from,\n passengers: freeze(passengers),\n order: order\n };\n var keys = Object.keys(this.transports);\n\n if (keys.indexOf(to) === -1) {\n Vue.set(this.transports, to, []);\n }\n\n var currentIndex = this.$_getTransportIndex(newTransport); // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n\n var newTransports = this.transports[to].slice(0);\n\n if (currentIndex === -1) {\n newTransports.push(newTransport);\n } else {\n newTransports[currentIndex] = newTransport;\n }\n\n this.transports[to] = stableSort(newTransports, function (a, b) {\n return a.order - b.order;\n });\n },\n close: function close(transport) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var to = transport.to,\n from = transport.from;\n if (!to || !from && force === false) return;\n\n if (!this.transports[to]) {\n return;\n }\n\n if (force) {\n this.transports[to] = [];\n } else {\n var index = this.$_getTransportIndex(transport);\n\n if (index >= 0) {\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n var newTransports = this.transports[to].slice(0);\n newTransports.splice(index, 1);\n this.transports[to] = newTransports;\n }\n }\n },\n registerTarget: function registerTarget(target, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.targets[target]) {\n console.warn(\"[portal-vue]: Target \".concat(target, \" already exists\"));\n }\n\n this.$set(this.targets, target, Object.freeze([vm]));\n },\n unregisterTarget: function unregisterTarget(target) {\n this.$delete(this.targets, target);\n },\n registerSource: function registerSource(source, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.sources[source]) {\n console.warn(\"[portal-vue]: source \".concat(source, \" already exists\"));\n }\n\n this.$set(this.sources, source, Object.freeze([vm]));\n },\n unregisterSource: function unregisterSource(source) {\n this.$delete(this.sources, source);\n },\n hasTarget: function hasTarget(to) {\n return !!(this.targets[to] && this.targets[to][0]);\n },\n hasSource: function hasSource(to) {\n return !!(this.sources[to] && this.sources[to][0]);\n },\n hasContentFor: function hasContentFor(to) {\n return !!this.transports[to] && !!this.transports[to].length;\n },\n // Internal\n $_getTransportIndex: function $_getTransportIndex(_ref) {\n var to = _ref.to,\n from = _ref.from;\n\n for (var i in this.transports[to]) {\n if (this.transports[to][i].from === from) {\n return +i;\n }\n }\n\n return -1;\n }\n }\n});\nvar wormhole = new Wormhole(transports);\n\nvar _id = 1;\nvar Portal = Vue.extend({\n name: 'portal',\n props: {\n disabled: {\n type: Boolean\n },\n name: {\n type: String,\n default: function _default() {\n return String(_id++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerSource(_this.name, _this);\n });\n },\n mounted: function mounted() {\n if (!this.disabled) {\n this.sendUpdate();\n }\n },\n updated: function updated() {\n if (this.disabled) {\n this.clear();\n } else {\n this.sendUpdate();\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterSource(this.name);\n this.clear();\n },\n watch: {\n to: function to(newValue, oldValue) {\n oldValue && oldValue !== newValue && this.clear(oldValue);\n this.sendUpdate();\n }\n },\n methods: {\n clear: function clear(target) {\n var closer = {\n from: this.name,\n to: target || this.to\n };\n wormhole.close(closer);\n },\n normalizeSlots: function normalizeSlots() {\n return this.$scopedSlots.default ? [this.$scopedSlots.default] : this.$slots.default;\n },\n normalizeOwnChildren: function normalizeOwnChildren(children) {\n return typeof children === 'function' ? children(this.slotProps) : children;\n },\n sendUpdate: function sendUpdate() {\n var slotContent = this.normalizeSlots();\n\n if (slotContent) {\n var transport = {\n from: this.name,\n to: this.to,\n passengers: _toConsumableArray(slotContent),\n order: this.order\n };\n wormhole.open(transport);\n } else {\n this.clear();\n }\n }\n },\n render: function render(h) {\n var children = this.$slots.default || this.$scopedSlots.default || [];\n var Tag = this.tag;\n\n if (children && this.disabled) {\n return children.length <= 1 && this.slim ? this.normalizeOwnChildren(children)[0] : h(Tag, [this.normalizeOwnChildren(children)]);\n } else {\n return this.slim ? h() : h(Tag, {\n class: {\n 'v-portal': true\n },\n style: {\n display: 'none'\n },\n key: 'v-portal-placeholder'\n });\n }\n }\n});\n\nvar PortalTarget = Vue.extend({\n name: 'portalTarget',\n props: {\n multiple: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n required: true\n },\n slim: {\n type: Boolean,\n default: false\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n data: function data() {\n return {\n transports: wormhole.transports,\n firstRender: true\n };\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerTarget(_this.name, _this);\n });\n },\n watch: {\n ownTransports: function ownTransports() {\n this.$emit('change', this.children().length > 0);\n },\n name: function name(newVal, oldVal) {\n /**\r\n * TODO\r\n * This should warn as well ...\r\n */\n wormhole.unregisterTarget(oldVal);\n wormhole.registerTarget(newVal, this);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.transition) {\n this.$nextTick(function () {\n // only when we have a transition, because it causes a re-render\n _this2.firstRender = false;\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterTarget(this.name);\n },\n computed: {\n ownTransports: function ownTransports() {\n var transports = this.transports[this.name] || [];\n\n if (this.multiple) {\n return transports;\n }\n\n return transports.length === 0 ? [] : [transports[transports.length - 1]];\n },\n passengers: function passengers() {\n return combinePassengers(this.ownTransports, this.slotProps);\n }\n },\n methods: {\n // can't be a computed prop because it has to \"react\" to $slot changes.\n children: function children() {\n return this.passengers.length !== 0 ? this.passengers : this.$scopedSlots.default ? this.$scopedSlots.default(this.slotProps) : this.$slots.default || [];\n },\n // can't be a computed prop because it has to \"react\" to this.children().\n noWrapper: function noWrapper() {\n var noWrapper = this.slim && !this.transition;\n\n if (noWrapper && this.children().length > 1) {\n console.warn('[portal-vue]: PortalTarget with `slim` option received more than one child element.');\n }\n\n return noWrapper;\n }\n },\n render: function render(h) {\n var noWrapper = this.noWrapper();\n var children = this.children();\n var Tag = this.transition || this.tag;\n return noWrapper ? children[0] : this.slim && !Tag ? h() : h(Tag, {\n props: {\n // if we have a transition component, pass the tag if it exists\n tag: this.transition && this.tag ? this.tag : undefined\n },\n class: {\n 'vue-portal-target': true\n }\n }, children);\n }\n});\n\nvar _id$1 = 0;\nvar portalProps = ['disabled', 'name', 'order', 'slim', 'slotProps', 'tag', 'to'];\nvar targetProps = ['multiple', 'transition'];\nvar MountingPortal = Vue.extend({\n name: 'MountingPortal',\n inheritAttrs: false,\n props: {\n append: {\n type: [Boolean, String]\n },\n bail: {\n type: Boolean\n },\n mountTo: {\n type: String,\n required: true\n },\n // Portal\n disabled: {\n type: Boolean\n },\n // name for the portal\n name: {\n type: String,\n default: function _default() {\n return 'mounted_' + String(_id$1++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n // name for the target\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n },\n // Target\n multiple: {\n type: Boolean,\n default: false\n },\n targetSlim: {\n type: Boolean\n },\n targetSlotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n targetTag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n created: function created() {\n if (typeof document === 'undefined') return;\n var el = document.querySelector(this.mountTo);\n\n if (!el) {\n console.error(\"[portal-vue]: Mount Point '\".concat(this.mountTo, \"' not found in document\"));\n return;\n }\n\n var props = this.$props; // Target already exists\n\n if (wormhole.targets[props.name]) {\n if (props.bail) {\n console.warn(\"[portal-vue]: Target \".concat(props.name, \" is already mounted.\\n Aborting because 'bail: true' is set\"));\n } else {\n this.portalTarget = wormhole.targets[props.name];\n }\n\n return;\n }\n\n var append = props.append;\n\n if (append) {\n var type = typeof append === 'string' ? append : 'DIV';\n var mountEl = document.createElement(type);\n el.appendChild(mountEl);\n el = mountEl;\n } // get props for target from $props\n // we have to rename a few of them\n\n\n var _props = pick(this.$props, targetProps);\n\n _props.slim = this.targetSlim;\n _props.tag = this.targetTag;\n _props.slotProps = this.targetSlotProps;\n _props.name = this.to;\n this.portalTarget = new PortalTarget({\n el: el,\n parent: this.$parent || this,\n propsData: _props\n });\n },\n beforeDestroy: function beforeDestroy() {\n var target = this.portalTarget;\n\n if (this.append) {\n var el = target.$el;\n el.parentNode.removeChild(el);\n }\n\n target.$destroy();\n },\n render: function render(h) {\n if (!this.portalTarget) {\n console.warn(\"[portal-vue] Target wasn't mounted\");\n return h();\n } // if there's no \"manual\" scoped slot, so we create a ourselves\n\n\n if (!this.$scopedSlots.manual) {\n var props = pick(this.$props, portalProps);\n return h(Portal, {\n props: props,\n attrs: this.$attrs,\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }, this.$slots.default);\n } // else, we render the scoped slot\n\n\n var content = this.$scopedSlots.manual({\n to: this.to\n }); // if user used