{"version":3,"file":"portal/layouts/AV9IT/layout.1bb7c9d6cac38c8a731b.bundle.js","mappings":"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I,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACzF,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,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","sources":["webpack://portal/./implementation/api/announcement-api.js","webpack://portal/./node_modules/vue-youtube-embed/lib/vue-youtube-embed.js","webpack://portal/./implementation/common/js/add-youtube-plugin.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/common/js/composables/is-mobile.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/layouts/AV9IT/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/./node_modules/swiper/shared/create-element-if-not-defined.mjs","webpack://portal/./node_modules/swiper/shared/classes-to-selector.mjs","webpack://portal/./node_modules/swiper/modules/manipulation.mjs","webpack://portal/./node_modules/swiper/shared/effect-init.mjs","webpack://portal/./node_modules/swiper/shared/effect-target.mjs","webpack://portal/./node_modules/swiper/shared/effect-virtual-transition-end.mjs","webpack://portal/./node_modules/swiper/shared/create-shadow.mjs","webpack://portal/./node_modules/swiper/swiper-bundle.mjs","webpack://portal/./node_modules/swiper/modules/virtual.mjs","webpack://portal/./node_modules/swiper/modules/keyboard.mjs","webpack://portal/./node_modules/swiper/modules/mousewheel.mjs","webpack://portal/./node_modules/swiper/modules/navigation.mjs","webpack://portal/./node_modules/swiper/modules/pagination.mjs","webpack://portal/./node_modules/swiper/modules/scrollbar.mjs","webpack://portal/./node_modules/swiper/modules/parallax.mjs","webpack://portal/./node_modules/swiper/modules/zoom.mjs","webpack://portal/./node_modules/swiper/modules/controller.mjs","webpack://portal/./node_modules/swiper/modules/a11y.mjs","webpack://portal/./node_modules/swiper/modules/history.mjs","webpack://portal/./node_modules/swiper/modules/hash-navigation.mjs","webpack://portal/./node_modules/swiper/modules/autoplay.mjs","webpack://portal/./node_modules/swiper/modules/thumbs.mjs","webpack://portal/./node_modules/swiper/modules/free-mode.mjs","webpack://portal/./node_modules/swiper/modules/grid.mjs","webpack://portal/./node_modules/swiper/modules/effect-fade.mjs","webpack://portal/./node_modules/swiper/modules/effect-cube.mjs","webpack://portal/./node_modules/swiper/modules/effect-flip.mjs","webpack://portal/./node_modules/swiper/modules/effect-coverflow.mjs","webpack://portal/./node_modules/swiper/modules/effect-creative.mjs","webpack://portal/./node_modules/swiper/modules/effect-cards.mjs","webpack://portal/./node_modules/swiper/shared/update-swiper.mjs","webpack://portal/./node_modules/swiper/shared/get-element-params.mjs","webpack://portal/./node_modules/swiper/swiper-element-bundle.mjs","webpack://portal/./implementation/layouts/layout-base.js","webpack://portal/./implementation/modules/MACC/macc.js","webpack://portal/./implementation/modules/MEDA/meda.js","webpack://portal/./implementation/modules/MEOK/meok.js","webpack://portal/./implementation/common/components/qr-code/qr-code.vue","webpack://portal/./implementation/common/components/qr-code/qr-code.vue?de08","webpack://portal/./implementation/common/components/qr-code/qr-code.vue?96fc","webpack://portal/./implementation/modules/MEVP/mevp.js","webpack://portal/./implementation/modules/MFCH/mfch.js","webpack://portal/./implementation/modules/MLTL/mltl.js","webpack://portal/./implementation/modules/MNIB/mnib.js","webpack://portal/./implementation/modules/MSLC/mslc.js","webpack://portal/./implementation/modules/MSTB/mstb.js","webpack://portal/./implementation/modules/MSUP/msup.js","webpack://portal/./implementation/modules/MTAB/mtab.js","webpack://portal/./node_modules/@ui-common/vue-accordion/dist/vue-accordion.umd.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/@ui-common/vue-tab/dist/vue-tab.umd.js","webpack://portal/./node_modules/@ui-common/vue-table-of-content/dist/vue-table-of-content.umd.js","webpack://portal/./node_modules/define-data-property/index.js","webpack://portal/./node_modules/es-define-property/index.js","webpack://portal/./node_modules/es-errors/eval.js","webpack://portal/./node_modules/es-errors/index.js","webpack://portal/./node_modules/es-errors/range.js","webpack://portal/./node_modules/es-errors/ref.js","webpack://portal/./node_modules/es-errors/syntax.js","webpack://portal/./node_modules/es-errors/type.js","webpack://portal/./node_modules/es-errors/uri.js","webpack://portal/./node_modules/function-bind/implementation.js","webpack://portal/./node_modules/function-bind/index.js","webpack://portal/./node_modules/get-intrinsic/index.js","webpack://portal/./node_modules/get-query-param/index.js","webpack://portal/./node_modules/gopd/index.js","webpack://portal/./node_modules/hammerjs/hammer.js","webpack://portal/./node_modules/has-property-descriptors/index.js","webpack://portal/./node_modules/has-proto/index.js","webpack://portal/./node_modules/has-symbols/index.js","webpack://portal/./node_modules/has-symbols/shams.js","webpack://portal/./node_modules/hasown/index.js","webpack://portal/./node_modules/is-plain-obj/index.js","webpack://portal/./node_modules/is-url/index.js","webpack://portal/./node_modules/left-pad/index.js","webpack://portal/./node_modules/normalize-url/index.js","webpack://portal/./node_modules/normalize-url/node_modules/query-string/index.js","webpack://portal/./node_modules/portal-vue/dist/portal-vue.common.js","webpack://portal/./node_modules/prepend-http/index.js","webpack://portal/./node_modules/qrcode.vue/dist/qrcode.vue.js","webpack://portal/./node_modules/set-function-length/index.js","webpack://portal/./node_modules/sort-keys/index.js","webpack://portal/./node_modules/tiny-cookie/tiny-cookie.js","webpack://portal/./node_modules/url/node_modules/call-bind/callBound.js","webpack://portal/./node_modules/url/node_modules/call-bind/index.js","webpack://portal/./node_modules/url/node_modules/object-inspect/index.js","webpack://portal/./node_modules/url/node_modules/qs/lib/formats.js","webpack://portal/./node_modules/url/node_modules/qs/lib/index.js","webpack://portal/./node_modules/url/node_modules/qs/lib/parse.js","webpack://portal/./node_modules/url/node_modules/qs/lib/stringify.js","webpack://portal/./node_modules/url/node_modules/qs/lib/utils.js","webpack://portal/./node_modules/url/node_modules/side-channel/index.js","webpack://portal/./node_modules/url/url.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-focus/dist/vue-focus.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-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/applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue","webpack://portal/./implementation/applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue?81d8","webpack://portal/./implementation/applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue?c1a8","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/./implementation/common/components/tabs/tabs.js","webpack://portal/./implementation/common/components/tabs/tabs.js?0d2c","webpack://portal/./implementation/common/components/tabs/tabs.vue","webpack://portal/./implementation/common/components/video-player/video-player.vue","webpack://portal/./implementation/common/components/video-player/video-player-youtube/video-player-youtube.vue","webpack://portal/./implementation/common/components/video-player/video-player-youtube/video-player-youtube.vue?a657","webpack://portal/./implementation/common/components/video-player/video-player-youtube/video-player-youtube.vue?39cb","webpack://portal/./implementation/common/components/video-player/video-player-playlist/video-player-playlist.vue","webpack://portal/./implementation/common/components/video-player/video-player-playlist/video-player-playlist.vue?60ee","webpack://portal/./implementation/common/components/video-player/video-player-playlist/video-player-playlist.vue?32af","webpack://portal/./implementation/common/components/video-player/video-player-recommended/video-player-recommended.vue","webpack://portal/./implementation/common/components/video-player/video-player-recommended/video-player-recommended.vue?6be3","webpack://portal/./implementation/common/components/video-player/video-player-recommended/video-player-recommended.vue?2c6d","webpack://portal/./implementation/common/components/video-player/video-player-full-text/video-player-full-text.vue?efb6","webpack://portal/./implementation/common/components/video-player/video-player-full-text/video-player-full-text.vue","webpack://portal/./implementation/common/components/video-player/video-player.vue?94b4","webpack://portal/./implementation/common/components/video-player/video-player.vue?316c","webpack://portal/./implementation/common/components/video-preview/video-preview.vue","webpack://portal/./implementation/common/components/video-preview/video-preview.vue?e000","webpack://portal/./implementation/common/components/video-preview/video-preview.vue?55bd","webpack://portal/./implementation/modules/MASD/masd.vue","webpack://portal/./implementation/modules/MASD/masd.vue?315d","webpack://portal/./implementation/modules/MASD/masd.vue?1624","webpack://portal/./implementation/modules/MJBL/mjbl.pug","webpack://portal/./implementation/modules/MJBL/mjbl.js","webpack://portal/./implementation/modules/MJBL/mjbl.js?f29b","webpack://portal/./implementation/modules/MJBL/mjbl.vue","webpack://portal/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://portal/./node_modules/swiper/shared/ssr-window.esm.mjs","webpack://portal/./node_modules/swiper/shared/swiper-core.mjs","webpack://portal/./node_modules/swiper/shared/utils.mjs","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","/*!\n * Vue YouTube Embed version 2.2.1\n * under MIT License copyright 2018 kaorun343\n */\n// fork from https://github.com/brandly/angular-youtube-embed\n\nif (!String.prototype.includes) {\n String.prototype.includes = function () {\n return String.prototype.indexOf.apply(this, arguments) !== -1\n };\n}\n\nvar youtubeRegexp = /https?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:youtu\\.be\\/|youtube(?:-nocookie)?\\.com\\S*[^\\w\\s-])([\\w-]{11})(?=[^\\w-]|$)(?![?=&+%\\w.-]*(?:['\"][^<>]*>|<\\/a>))[?=&+%\\w.-]*/ig;\nvar timeRegexp = /t=(\\d+)[ms]?(\\d+)?s?/;\n\n/**\n * get id from url\n * @param {string} url url\n * @return {string} id\n */\nfunction getIdFromURL (url) {\n var id = url.replace(youtubeRegexp, '$1');\n\n if (id.includes(';')) {\n var pieces = id.split(';');\n\n if (pieces[1].includes('%')) {\n var uriComponent = decodeURIComponent(pieces[1]);\n id = (\"http://youtube.com\" + uriComponent).replace(youtubeRegexp, '$1');\n } else {\n id = pieces[0];\n }\n } else if (id.includes('#')) {\n id = id.split('#')[0];\n }\n\n return id\n}\n\n/**\n * get time from url\n * @param {string} url url\n * @return {number} time\n */\nfunction getTimeFromURL (url) {\n if ( url === void 0 ) url = '';\n\n var times = url.match(timeRegexp);\n\n if (!times) {\n return 0\n }\n\n var full = times[0];\n var minutes = times[1];\n var seconds = times[2];\n\n if (typeof seconds !== 'undefined') {\n seconds = parseInt(seconds, 10);\n minutes = parseInt(minutes, 10);\n } else if (full.includes('m')) {\n minutes = parseInt(minutes, 10);\n seconds = 0;\n } else {\n seconds = parseInt(minutes, 10);\n minutes = 0;\n }\n\n return seconds + (minutes * 60)\n}\n\nvar container = {\n scripts: [],\n events: {},\n\n run: function run () {\n var this$1 = this;\n\n this.scripts.forEach(function (callback) {\n callback(this$1.YT);\n });\n this.scripts = [];\n },\n\n register: function register (callback) {\n var this$1 = this;\n\n if (this.YT) {\n this.Vue.nextTick(function () {\n callback(this$1.YT);\n });\n } else {\n this.scripts.push(callback);\n }\n }\n};\n\nvar pid = 0;\n\nvar YouTubePlayer = {\n props: {\n playerHeight: {\n type: [String, Number],\n default: '390'\n },\n playerWidth: {\n type: [String, Number],\n default: '640'\n },\n playerVars: {\n type: Object,\n default: function () { return ({ autoplay: 0, time: 0 }); }\n },\n videoId: {\n type: String\n },\n mute: {\n type: Boolean,\n default: false\n }\n },\n render: function render (h) {\n return h('div', [\n h('div', { attrs: { id: this.elementId }})\n ])\n },\n template: '
',\n watch: {\n playerWidth: 'setSize',\n playerHeight: 'setSize',\n videoId: 'update',\n mute: 'setMute'\n },\n data: function data () {\n pid += 1;\n return {\n elementId: (\"youtube-player-\" + pid),\n player: {}\n }\n },\n methods: {\n setSize: function setSize () {\n this.player.setSize(this.playerWidth, this.playerHeight);\n },\n setMute: function setMute (value) {\n if (value) {\n this.player.mute();\n } else {\n this.player.unMute();\n }\n },\n update: function update (videoId) {\n var name = (this.playerVars.autoplay ? 'load' : 'cue') + \"VideoById\";\n if (this.player.hasOwnProperty(name)) {\n this.player[name](videoId);\n } else {\n setTimeout(function () {\n this.update(videoId);\n }.bind(this), 100);\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n container.register(function (YouTube) {\n var ref = this$1;\n var playerHeight = ref.playerHeight;\n var playerWidth = ref.playerWidth;\n var playerVars = ref.playerVars;\n var videoId = ref.videoId;\n\n this$1.player = new YouTube.Player(this$1.elementId, {\n height: playerHeight,\n width: playerWidth,\n playerVars: playerVars,\n videoId: videoId,\n events: {\n onReady: function (event) {\n this$1.setMute(this$1.mute);\n this$1.$emit('ready', event);\n },\n onStateChange: function (event) {\n if (event.data !== -1) {\n this$1.$emit(container.events[event.data], event);\n }\n },\n onError: function (event) {\n this$1.$emit('error', event);\n }\n }\n });\n });\n },\n beforeDestroy: function beforeDestroy () {\n if (this.player !== null && this.player.destroy) {\n this.player.destroy();\n }\n delete this.player;\n }\n};\n\nvar index = {\n install: function install (Vue, options) {\n if ( options === void 0 ) options = {};\n\n container.Vue = Vue;\n YouTubePlayer.ready = YouTubePlayer.mounted;\n var global = options.global; if ( global === void 0 ) global = true;\n var componentId = options.componentId; if ( componentId === void 0 ) componentId = 'youtube';\n\n if (global) {\n // if there is a global component with \"youtube\" identifier already taken\n // then we should let user to pass a new identifier.\n Vue.component(componentId, YouTubePlayer);\n }\n Vue.prototype.$youtube = { getIdFromURL: getIdFromURL, getTimeFromURL: getTimeFromURL };\n\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n var tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/player_api';\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n window.onYouTubeIframeAPIReady = function () {\n container.YT = YT;\n var PlayerState = YT.PlayerState;\n\n container.events[PlayerState.ENDED] = 'ended';\n container.events[PlayerState.PLAYING] = 'playing';\n container.events[PlayerState.PAUSED] = 'paused';\n container.events[PlayerState.BUFFERING] = 'buffering';\n container.events[PlayerState.CUED] = 'cued';\n\n container.Vue.nextTick(function () {\n container.run();\n });\n };\n }\n }\n};\n\nexport default index;\nexport { YouTubePlayer, getIdFromURL, getTimeFromURL };\n","import Vue from 'vue';\r\nimport VueYouTubeEmbed from 'vue-youtube-embed';\r\nexport const addYoutubePlugin = () => {\r\n\tVue.use(VueYouTubeEmbed);\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 { ref, computed, onUnmounted } from 'vue';\r\n\r\nconst BREAKPOINTS = {\r\n\tMOBILE: 767,\r\n\tTABLET: 995,\r\n\tDESKTOP: 1135\r\n};\r\nexport const useIsMobile = () => {\r\n\tconst viewportWidth = ref(null);\r\n\r\n\tconst setViewportWidth = () => {\r\n\t\tviewportWidth.value = window.innerWidth;\r\n\t};\r\n\r\n\tconst isMobile = computed(() => viewportWidth.value <= BREAKPOINTS.MOBILE);\r\n\tconst isTablet = computed(() => viewportWidth.value > BREAKPOINTS.MOBILE && viewportWidth.value <= BREAKPOINTS.TABLET);\r\n\tconst isDesktop = computed(() => viewportWidth.value > BREAKPOINTS.TABLET && viewportWidth.value <= BREAKPOINTS.DESKTOP);\r\n\tconst isLargeDesktop = computed(() => viewportWidth.value > BREAKPOINTS.DESKTOP);\r\n\r\n\twindow.addEventListener('resize', setViewportWidth);\r\n\tsetViewportWidth();\r\n\r\n\tonUnmounted(() => {\r\n\t\twindow.removeEventListener('resize', setViewportWidth);\r\n\t});\r\n\r\n\treturn {\r\n\t\tisMobile,\r\n\t\tisTablet,\r\n\t\tisDesktop,\r\n\t\tisLargeDesktop\r\n\t};\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 './layout.scss';\r\nimport Vue from 'vue';\r\nimport VueTableOfContent from '@ui-common/vue-table-of-content';\r\nimport macc from '../../modules/MACC/macc';\r\nimport mjbl from '../../modules/MJBL/mjbl.vue';\r\nimport mstb from '../../modules/MSTB/mstb';\r\nimport meda from '../../modules/MEDA/meda';\r\nimport mevp from '../../modules/MEVP/mevp';\r\nimport mnib from '../../modules/MNIB/mnib';\r\nimport msup from '../../modules/MSUP/msup';\r\nimport mfch from '../../modules/MFCH/mfch';\r\nimport meok from '../../modules/MEOK/meok';\r\nimport mltl from '../../modules/MLTL/mltl';\r\nimport mtab from '../../modules/MTAB/mtab';\r\nimport mslc from '../../modules/MSLC/mslc';\r\nimport masd from '../../modules/MASD/masd.vue';\r\nimport videoPreview from '../../common/components/video-preview/video-preview.vue';\r\nimport videoPlayer from '../../common/components/video-player/video-player.vue';\r\nimport BranchAtmWidgetWrapper from '../../applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue';\r\nimport layoutBase from '../layout-base';\r\n\r\nVue.component('macc', macc);\r\nVue.component('mstb', mstb);\r\nVue.component('mslc', mslc);\r\nVue.component('mjbl', mjbl);\r\nVue.component('meda', meda);\r\nVue.component('mevp', mevp);\r\nVue.component('mnib', mnib);\r\nVue.component('msup', msup);\r\nVue.component('mfch', mfch);\r\nVue.component('meok', meok);\r\nVue.component('mltl', mltl);\r\nVue.component('mtab', mtab);\r\nVue.component('masd', masd);\r\nVue.component('video-player', videoPlayer);\r\nVue.component('video-preview', videoPreview);\r\nVue.component('branch-atm-widget-wrapper', BranchAtmWidgetWrapper);\r\nVue.component('vue-table-of-content', VueTableOfContent);\r\n\r\n/* eslint-disable no-new*/\r\nnew Vue({\r\n\textends: layoutBase,\r\n\tel: '[data-layout-id=AV9IT-app]'\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 { e as elementChildren, c as createElement } from './utils.mjs';\n\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n\nexport { createElementIfNotDefined as c };\n","function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return `.${classes.trim().replace(/([\\.:!+\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}\n\nexport { classesToSelector as c };\n","function appendSlide(slides) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n const appendElement = slideEl => {\n if (typeof slideEl === 'string') {\n const tempDOM = document.createElement('div');\n tempDOM.innerHTML = slideEl;\n slidesEl.append(tempDOM.children[0]);\n tempDOM.innerHTML = '';\n } else {\n slidesEl.append(slideEl);\n }\n };\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) appendElement(slides[i]);\n }\n } else {\n appendElement(slides);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n}\n\nfunction prependSlide(slides) {\n const swiper = this;\n const {\n params,\n activeIndex,\n slidesEl\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndex + 1;\n const prependElement = slideEl => {\n if (typeof slideEl === 'string') {\n const tempDOM = document.createElement('div');\n tempDOM.innerHTML = slideEl;\n slidesEl.prepend(tempDOM.children[0]);\n tempDOM.innerHTML = '';\n } else {\n slidesEl.prepend(slideEl);\n }\n };\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) prependElement(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n } else {\n prependElement(slides);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n swiper.slideTo(newActiveIndex, 0, false);\n}\n\nfunction addSlide(index, slides) {\n const swiper = this;\n const {\n params,\n activeIndex,\n slidesEl\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.recalcSlides();\n }\n const baseLength = swiper.slides.length;\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n const slidesBuffer = [];\n for (let i = baseLength - 1; i >= index; i -= 1) {\n const currentSlide = swiper.slides[i];\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) slidesEl.append(slides[i]);\n }\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n slidesEl.append(slides);\n }\n for (let i = 0; i < slidesBuffer.length; i += 1) {\n slidesEl.append(slidesBuffer[i]);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeSlide(slidesIndexes) {\n const swiper = this;\n const {\n params,\n activeIndex\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndexBuffer;\n let indexToRemove;\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (let i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeAllSlides() {\n const swiper = this;\n const slidesIndexes = [];\n for (let i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n swiper.removeSlide(slidesIndexes);\n}\n\nfunction Manipulation(_ref) {\n let {\n swiper\n } = _ref;\n Object.assign(swiper, {\n appendSlide: appendSlide.bind(swiper),\n prependSlide: prependSlide.bind(swiper),\n addSlide: addSlide.bind(swiper),\n removeSlide: removeSlide.bind(swiper),\n removeAllSlides: removeAllSlides.bind(swiper)\n });\n}\n\nexport { Manipulation as default };\n","function effectInit(params) {\n const {\n effect,\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams\n } = params;\n on('beforeInit', () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', () => {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n on('transitionEnd', () => {\n if (swiper.params.effect !== effect) return;\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return;\n // remove shadows\n swiper.slides.forEach(slideEl => {\n slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove());\n });\n // create new one\n recreateShadows();\n }\n });\n let requireUpdateOnVirtual;\n on('virtualUpdate', () => {\n if (swiper.params.effect !== effect) return;\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}\n\nexport { effectInit as e };\n","import { g as getSlideTransformEl } from './utils.mjs';\n\nfunction effectTarget(effectParams, slideEl) {\n const transformEl = getSlideTransformEl(slideEl);\n if (transformEl !== slideEl) {\n transformEl.style.backfaceVisibility = 'hidden';\n transformEl.style['-webkit-backface-visibility'] = 'hidden';\n }\n return transformEl;\n}\n\nexport { effectTarget as e };\n","import { k as elementTransitionEnd } from './utils.mjs';\n\nfunction effectVirtualTransitionEnd(_ref) {\n let {\n swiper,\n duration,\n transformElements,\n allSlides\n } = _ref;\n const {\n activeIndex\n } = swiper;\n const getSlide = el => {\n if (!el.parentElement) {\n // assume shadow root\n const slide = swiper.slides.find(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode);\n return slide;\n }\n return el.parentElement;\n };\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let transitionEndTarget;\n if (allSlides) {\n transitionEndTarget = transformElements;\n } else {\n transitionEndTarget = transformElements.filter(transformEl => {\n const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;\n return swiper.getSlideIndex(el) === activeIndex;\n });\n }\n transitionEndTarget.forEach(el => {\n elementTransitionEnd(el, () => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n });\n });\n }\n}\n\nexport { effectVirtualTransitionEnd as e };\n","import { g as getSlideTransformEl, c as createElement } from './utils.mjs';\n\nfunction createShadow(suffix, slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`;\n const shadowContainer = getSlideTransformEl(slideEl);\n let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`);\n if (!shadowEl) {\n shadowEl = createElement('div', shadowClass.split(' '));\n shadowContainer.append(shadowEl);\n }\n return shadowEl;\n}\n\nexport { createShadow as c };\n","/**\n * Swiper 11.2.0\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2025 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 2, 2025\n */\n\nimport { S as Swiper } from './shared/swiper-core.mjs';\nimport Virtual from './modules/virtual.mjs';\nimport Keyboard from './modules/keyboard.mjs';\nimport Mousewheel from './modules/mousewheel.mjs';\nimport Navigation from './modules/navigation.mjs';\nimport Pagination from './modules/pagination.mjs';\nimport Scrollbar from './modules/scrollbar.mjs';\nimport Parallax from './modules/parallax.mjs';\nimport Zoom from './modules/zoom.mjs';\nimport Controller from './modules/controller.mjs';\nimport A11y from './modules/a11y.mjs';\nimport History from './modules/history.mjs';\nimport HashNavigation from './modules/hash-navigation.mjs';\nimport Autoplay from './modules/autoplay.mjs';\nimport Thumb from './modules/thumbs.mjs';\nimport freeMode from './modules/free-mode.mjs';\nimport Grid from './modules/grid.mjs';\nimport Manipulation from './modules/manipulation.mjs';\nimport EffectFade from './modules/effect-fade.mjs';\nimport EffectCube from './modules/effect-cube.mjs';\nimport EffectFlip from './modules/effect-flip.mjs';\nimport EffectCoverflow from './modules/effect-coverflow.mjs';\nimport EffectCreative from './modules/effect-creative.mjs';\nimport EffectCards from './modules/effect-cards.mjs';\n\n// Swiper Class\nconst modules = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards];\nSwiper.use(modules);\n\nexport { Swiper, Swiper as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { s as setCSSProperty, e as elementChildren, c as createElement } from '../shared/utils.mjs';\n\nfunction Virtual(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n });\n let cssModeTimeout;\n const document = getDocument();\n swiper.virtual = {\n cache: {},\n from: undefined,\n to: undefined,\n slides: [],\n offset: 0,\n slidesGrid: []\n };\n const tempDOM = document.createElement('div');\n function renderSlide(slide, index) {\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n // eslint-disable-next-line\n let slideEl;\n if (params.renderSlide) {\n slideEl = params.renderSlide.call(swiper, slide, index);\n if (typeof slideEl === 'string') {\n tempDOM.innerHTML = slideEl;\n slideEl = tempDOM.children[0];\n }\n } else if (swiper.isElement) {\n slideEl = createElement('swiper-slide');\n } else {\n slideEl = createElement('div', swiper.params.slideClass);\n }\n slideEl.setAttribute('data-swiper-slide-index', index);\n if (!params.renderSlide) {\n slideEl.innerHTML = slide;\n }\n if (params.cache) {\n swiper.virtual.cache[index] = slideEl;\n }\n return slideEl;\n }\n function update(force, beforeInit) {\n const {\n slidesPerView,\n slidesPerGroup,\n centeredSlides,\n loop: isLoop,\n initialSlide\n } = swiper.params;\n if (beforeInit && !isLoop && initialSlide > 0) {\n return;\n }\n const {\n addSlidesBefore,\n addSlidesAfter\n } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n offset: previousOffset\n } = swiper.virtual;\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n const activeIndex = swiper.activeIndex || 0;\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;\n }\n let from = activeIndex - slidesBefore;\n let to = activeIndex + slidesAfter;\n if (!isLoop) {\n from = Math.max(from, 0);\n to = Math.min(to, slides.length - 1);\n }\n let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n if (isLoop && activeIndex >= slidesBefore) {\n from -= slidesBefore;\n if (!centeredSlides) offset += swiper.slidesGrid[0];\n } else if (isLoop && activeIndex < slidesBefore) {\n from = -slidesBefore;\n if (centeredSlides) offset += swiper.slidesGrid[0];\n }\n Object.assign(swiper.virtual, {\n from,\n to,\n offset,\n slidesGrid: swiper.slidesGrid,\n slidesBefore,\n slidesAfter\n });\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n emit('virtualUpdate');\n }\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n }\n swiper.updateProgress();\n emit('virtualUpdate');\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset,\n from,\n to,\n slides: function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n }()\n });\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit('virtualUpdate');\n }\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n if (force) {\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => {\n slideEl.remove();\n });\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n const slideIndex = getSlideIndex(i);\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${slideIndex}\"], swiper-slide[data-swiper-slide-index=\"${slideIndex}\"]`)).forEach(slideEl => {\n slideEl.remove();\n });\n }\n }\n }\n const loopFrom = isLoop ? -slides.length : 0;\n const loopTo = isLoop ? slides.length * 2 : slides.length;\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to) {\n const slideIndex = getSlideIndex(i);\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(slideIndex);\n } else {\n if (i > previousTo) appendIndexes.push(slideIndex);\n if (i < previousFrom) prependIndexes.push(slideIndex);\n }\n }\n }\n appendIndexes.forEach(index => {\n swiper.slidesEl.append(renderSlide(slides[index], index));\n });\n if (isLoop) {\n for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {\n const index = prependIndexes[i];\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n }\n } else {\n prependIndexes.sort((a, b) => b - a);\n prependIndexes.forEach(index => {\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n });\n }\n elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n onRendered();\n }\n function appendSlide(slides) {\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n update(true);\n }\n function prependSlide(slides) {\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach(cachedIndex => {\n const cachedEl = cache[cachedIndex];\n const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');\n if (cachedElIndex) {\n cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);\n }\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n function removeSlide(slidesIndexes) {\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n function removeAllSlides() {\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n update(true);\n swiper.slideTo(0, 0);\n }\n on('beforeInit', () => {\n if (!swiper.params.virtual.enabled) return;\n let domSlidesAssigned;\n if (typeof swiper.passedParams.virtual.slides === 'undefined') {\n const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));\n if (slides && slides.length) {\n swiper.virtual.slides = [...slides];\n domSlidesAssigned = true;\n slides.forEach((slideEl, slideIndex) => {\n slideEl.setAttribute('data-swiper-slide-index', slideIndex);\n swiper.virtual.cache[slideIndex] = slideEl;\n slideEl.remove();\n });\n }\n }\n if (!domSlidesAssigned) {\n swiper.virtual.slides = swiper.params.virtual.slides;\n }\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n update(false, true);\n });\n on('setTranslate', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(() => {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on('init update resize', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);\n }\n });\n Object.assign(swiper.virtual, {\n appendSlide,\n prependSlide,\n removeSlide,\n removeAllSlides,\n update\n });\n}\n\nexport { Virtual as default };\n","import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { a as elementParents, b as elementOffset } from '../shared/utils.mjs';\n\n/* eslint-disable consistent-return */\nfunction Keyboard(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n const window = getWindow();\n swiper.keyboard = {\n enabled: false\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n });\n function handle(event) {\n if (!swiper.enabled) return;\n const {\n rtlTranslate: rtl\n } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40;\n // Directions locks\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n let inView = false;\n // Check that swiper should be inside of visible area of window\n if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {\n return undefined;\n }\n const el = swiper.el;\n const swiperWidth = el.clientWidth;\n const swiperHeight = el.clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = elementOffset(el);\n if (rtl) swiperOffset.left -= el.scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n if (!inView) return undefined;\n }\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n emit('keyPress', kc);\n return undefined;\n }\n function enable() {\n if (swiper.keyboard.enabled) return;\n document.addEventListener('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n function disable() {\n if (!swiper.keyboard.enabled) return;\n document.removeEventListener('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n on('init', () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n Object.assign(swiper.keyboard, {\n enable,\n disable\n });\n}\n\nexport { Keyboard as default };\n","import { a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { n as nextTick, d as now } from '../shared/utils.mjs';\n\n/* eslint-disable consistent-return */\nfunction Mousewheel(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const window = getWindow();\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null,\n noMousewheelClass: 'swiper-no-mousewheel'\n }\n });\n swiper.mousewheel = {\n enabled: false\n };\n let timeout;\n let lastScrollTime = now();\n let lastEventBeforeSnap;\n const recentWheelEvents = [];\n function normalize(e) {\n // Reasonable defaults\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n let sX = 0;\n let sY = 0; // spinX, spinY\n let pX = 0;\n let pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in e) {\n sY = e.detail;\n }\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n }\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n function animateSlider(newEvent) {\n if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n }\n\n // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n // Return false as a default\n return true;\n }\n // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit('scroll', newEvent.raw);\n }\n // If you got here is because an animation has been triggered so store the current time\n lastScrollTime = new window.Date().getTime();\n // Return false as a default\n return false;\n }\n function releaseScroll(newEvent) {\n const params = swiper.params.mousewheel;\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n return false;\n }\n function handle(event) {\n let e = event;\n let disableParentSwiper = true;\n if (!swiper.enabled) return;\n\n // Ignore event if the target or its parents have the swiper-no-mousewheel class\n if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;\n const params = swiper.params.mousewheel;\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n let targetEl = swiper.el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n }\n const targetElContainsTarget = targetEl && targetEl.contains(e.target);\n if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n const data = normalize(e);\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n if (delta === 0) return true;\n if (params.invert) delta = -delta;\n\n // Get the scroll positions\n let positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();\n\n // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n // Register the new event in a variable which stores the relevant data\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event\n };\n\n // Keep the most recent events\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n recentWheelEvents.push(newEvent);\n\n // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n }\n\n // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = undefined;\n let position = swiper.getTranslate() + delta * params.sensitivity;\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n if (swiper.params.loop) {\n swiper.loopFix({\n direction: newEvent.direction < 0 ? 'next' : 'prev',\n byMousewheel: true\n });\n }\n if (swiper.params.freeMode.sticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(timeout);\n timeout = undefined;\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n const firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(newEvent);\n if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n recentWheelEvents.splice(0);\n } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(() => {\n if (swiper.destroyed || !swiper.params) return;\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n\n if (!timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n timeout = nextTick(() => {\n if (swiper.destroyed || !swiper.params) return;\n const snapToThreshold = 0.5;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n }\n\n // Emit event\n if (!ignoreWheelEvents) emit('scroll', e);\n\n // Stop autoplay\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();\n // Return page scroll on edge positions\n if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) {\n return true;\n }\n }\n }\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n return false;\n }\n function events(method) {\n let targetEl = swiper.el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n }\n targetEl[method]('mouseenter', handleMouseEnter);\n targetEl[method]('mouseleave', handleMouseLeave);\n targetEl[method]('wheel', handle);\n }\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener('wheel', handle);\n return true;\n }\n if (swiper.mousewheel.enabled) return false;\n events('addEventListener');\n swiper.mousewheel.enabled = true;\n return true;\n }\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n if (!swiper.mousewheel.enabled) return false;\n events('removeEventListener');\n swiper.mousewheel.enabled = false;\n return true;\n }\n on('init', () => {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n if (swiper.params.mousewheel.enabled) enable();\n });\n on('destroy', () => {\n if (swiper.params.cssMode) {\n enable();\n }\n if (swiper.mousewheel.enabled) disable();\n });\n Object.assign(swiper.mousewheel, {\n enable,\n disable\n });\n}\n\nexport { Mousewheel as default };\n","import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n } else if (res && res.length === 1) {\n res = res[0];\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (swiper.enabled) {\n update();\n return;\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);\n if (swiper.isElement && !targetIsButton) {\n const path = e.path || e.composedPath && e.composedPath();\n if (path) {\n targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl));\n }\n }\n if (swiper.params.navigation.hideOnClick && !targetIsButton) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\nexport { Navigation as default };\n","import { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray, f as elementOuterSize, h as elementIndex, a as elementParents } from '../shared/utils.mjs';\n\nfunction Pagination(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function getMoveDirection(prevIndex, nextIndex, length) {\n prevIndex = prevIndex % length;\n nextIndex = nextIndex % length;\n if (nextIndex === prevIndex + 1) {\n return 'next';\n } else if (nextIndex === prevIndex - 1) {\n return 'previous';\n }\n return;\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n if (swiper.realIndex === index) return;\n const moveDirection = getMoveDirection(swiper.realIndex, index, swiper.slides.length);\n if (moveDirection === 'next') {\n swiper.slideNext();\n } else if (moveDirection === 'previous') {\n swiper.slidePrev();\n } else {\n swiper.slideToLoop(index);\n }\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n let previousIndex;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n previousIndex = swiper.previousRealIndex || 0;\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n previousIndex = swiper.previousSnapIndex;\n } else {\n previousIndex = swiper.previousIndex || 0;\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {\n dynamicBulletIndex += current - (previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();\n bulletEl.classList.remove(...classesToRemove);\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n } else if (swiper.isElement) {\n bullet.setAttribute('part', 'bullet');\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n }\n if (swiper.isElement) {\n bullets.forEach((bulletEl, bulletIndex) => {\n bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet');\n });\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n if (bullets[i]) {\n bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n // prettier-ignore\n paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part=\"bullet\"' : ''} class=\"${params.bulletClass}\">`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n }\n swiper.pagination.bullets = [];\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n subEl.innerHTML = paginationHTML || '';\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.find(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(...(params.clickableClass || '').split(' '));\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.classList.remove(...(params.clickableClass || '').split(' '));\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));\n }\n on('changeDirection', () => {\n if (!swiper.pagination || !swiper.pagination.el) return;\n const params = swiper.params.pagination;\n let {\n el\n } = swiper.pagination;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const el = makeElementsArray(swiper.pagination.el);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}\n\nexport { Pagination as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { m as makeElementsArray, i as classesToTokens, c as createElement, n as nextTick, b as elementOffset } from '../shared/utils.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\n\nfunction Scrollbar(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null\n };\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;\n dragEl.style.width = `${newSize}px`;\n } else {\n dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;\n dragEl.style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n el.style.opacity = 1;\n timeout = setTimeout(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n dragEl.style.width = '';\n dragEl.style.height = '';\n trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n if (swiper.isHorizontal()) {\n dragEl.style.width = `${dragSize}px`;\n } else {\n dragEl.style.height = `${dragSize}px`;\n }\n if (divider >= 1) {\n el.style.display = 'none';\n } else {\n el.style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n el.style.opacity = 0;\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);\n }\n }\n function getPointerPosition(e) {\n return swiper.isHorizontal() ? e.clientX : e.clientY;\n }\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n wrapperEl.style.transitionDuration = '100ms';\n dragEl.style.transitionDuration = '100ms';\n setDragPosition(e);\n clearTimeout(dragTimeout);\n el.style.transitionDuration = '0ms';\n if (params.hide) {\n el.style.opacity = 1;\n }\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = 'none';\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n wrapperEl.style.transitionDuration = '0ms';\n el.style.transitionDuration = '0ms';\n dragEl.style.transitionDuration = '0ms';\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = '';\n wrapperEl.style.transitionDuration = '';\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n function events(method) {\n const {\n scrollbar,\n params\n } = swiper;\n const el = scrollbar.el;\n if (!el) return;\n const target = el;\n const activeListener = params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n target[eventMethod]('pointerdown', onDragStart, activeListener);\n document[eventMethod]('pointermove', onDragMove, activeListener);\n document[eventMethod]('pointerup', onDragEnd, passiveListener);\n }\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const {\n scrollbar,\n el: swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = document.querySelectorAll(params.el);\n if (!el.length) return;\n } else if (!el) {\n el = params.el;\n }\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {\n el = swiperEl.querySelector(params.el);\n }\n if (el.length > 0) el = el[0];\n el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let dragEl;\n if (el) {\n dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));\n if (!dragEl) {\n dragEl = createElement('div', swiper.params.scrollbar.dragClass);\n el.append(dragEl);\n }\n }\n Object.assign(scrollbar, {\n el,\n dragEl\n });\n if (params.draggable) {\n enableDraggable();\n }\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const el = swiper.scrollbar.el;\n if (el) {\n el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass));\n }\n disableDraggable();\n }\n on('changeDirection', () => {\n if (!swiper.scrollbar || !swiper.scrollbar.el) return;\n const params = swiper.params.scrollbar;\n let {\n el\n } = swiper.scrollbar;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock changeDirection', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const {\n el\n } = swiper.scrollbar;\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n });\n on('destroy', () => {\n destroy();\n });\n const enable = () => {\n swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n init();\n updateSize();\n setTranslate();\n };\n const disable = () => {\n swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy\n });\n}\n\nexport { Scrollbar as default };\n","import { e as elementChildren } from '../shared/utils.mjs';\n\nfunction Parallax(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n parallax: {\n enabled: false\n }\n });\n const elementsSelector = '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]';\n const setTransform = (el, progress) => {\n const {\n rtl\n } = swiper;\n const rtlFactor = rtl ? -1 : 1;\n const p = el.getAttribute('data-swiper-parallax') || '0';\n let x = el.getAttribute('data-swiper-parallax-x');\n let y = el.getAttribute('data-swiper-parallax-y');\n const scale = el.getAttribute('data-swiper-parallax-scale');\n const opacity = el.getAttribute('data-swiper-parallax-opacity');\n const rotate = el.getAttribute('data-swiper-parallax-rotate');\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n if (x.indexOf('%') >= 0) {\n x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n } else {\n x = `${x * progress * rtlFactor}px`;\n }\n if (y.indexOf('%') >= 0) {\n y = `${parseInt(y, 10) * progress}%`;\n } else {\n y = `${y * progress}px`;\n }\n if (typeof opacity !== 'undefined' && opacity !== null) {\n const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n el.style.opacity = currentOpacity;\n }\n let transform = `translate3d(${x}, ${y}, 0px)`;\n if (typeof scale !== 'undefined' && scale !== null) {\n const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n transform += ` scale(${currentScale})`;\n }\n if (rotate && typeof rotate !== 'undefined' && rotate !== null) {\n const currentRotate = rotate * progress * -1;\n transform += ` rotate(${currentRotate}deg)`;\n }\n el.style.transform = transform;\n };\n const setTranslate = () => {\n const {\n el,\n slides,\n progress,\n snapGrid,\n isElement\n } = swiper;\n const elements = elementChildren(el, elementsSelector);\n if (swiper.isElement) {\n elements.push(...elementChildren(swiper.hostEl, elementsSelector));\n }\n elements.forEach(subEl => {\n setTransform(subEl, progress);\n });\n slides.forEach((slideEl, slideIndex) => {\n let slideProgress = slideEl.progress;\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl => {\n setTransform(subEl, slideProgress);\n });\n });\n };\n const setTransition = function (duration) {\n if (duration === void 0) {\n duration = swiper.params.speed;\n }\n const {\n el,\n hostEl\n } = swiper;\n const elements = [...el.querySelectorAll(elementsSelector)];\n if (swiper.isElement) {\n elements.push(...hostEl.querySelectorAll(elementsSelector));\n }\n elements.forEach(parallaxEl => {\n let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n parallaxEl.style.transitionDuration = `${parallaxDuration}ms`;\n });\n };\n on('beforeInit', () => {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n });\n on('init', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTranslate', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTransition', (_swiper, duration) => {\n if (!swiper.params.parallax.enabled) return;\n setTransition(duration);\n });\n}\n\nexport { Parallax as default };\n","import { a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { e as elementChildren, a as elementParents, b as elementOffset, j as getTranslate } from '../shared/utils.mjs';\n\nfunction Zoom(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const window = getWindow();\n extendParams({\n zoom: {\n enabled: false,\n limitToOriginalSize: false,\n maxRatio: 3,\n minRatio: 1,\n panOnMouseMove: false,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n });\n swiper.zoom = {\n enabled: false\n };\n let currentScale = 1;\n let isScaling = false;\n let isPanningWithMouse = false;\n let mousePanStart = {\n x: 0,\n y: 0\n };\n const mousePanSensitivity = -3; // Negative to invert pan direction\n let fakeGestureTouched;\n let fakeGestureMoved;\n const evCache = [];\n const gesture = {\n originX: 0,\n originY: 0,\n slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n imageEl: undefined,\n imageWrapEl: undefined,\n maxRatio: 3\n };\n const image = {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n };\n const velocity = {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n };\n let scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get() {\n return scale;\n },\n set(value) {\n if (scale !== value) {\n const imageEl = gesture.imageEl;\n const slideEl = gesture.slideEl;\n emit('zoomChange', value, imageEl, slideEl);\n }\n scale = value;\n }\n });\n function getDistanceBetweenTouches() {\n if (evCache.length < 2) return 1;\n const x1 = evCache[0].pageX;\n const y1 = evCache[0].pageY;\n const x2 = evCache[1].pageX;\n const y2 = evCache[1].pageY;\n const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n return distance;\n }\n function getMaxRatio() {\n const params = swiper.params.zoom;\n const maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;\n if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) {\n const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth;\n return Math.min(imageMaxRatio, maxRatio);\n }\n return maxRatio;\n }\n function getScaleOrigin() {\n if (evCache.length < 2) return {\n x: null,\n y: null\n };\n const box = gesture.imageEl.getBoundingClientRect();\n return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale];\n }\n function getSlideSelector() {\n return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n }\n function eventWithinSlide(e) {\n const slideSelector = getSlideSelector();\n if (e.target.matches(slideSelector)) return true;\n if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true;\n return false;\n }\n function eventWithinZoomContainer(e) {\n const selector = `.${swiper.params.zoom.containerClass}`;\n if (e.target.matches(selector)) return true;\n if ([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true;\n return false;\n }\n\n // Events\n function onGestureStart(e) {\n if (e.pointerType === 'mouse') {\n evCache.splice(0, evCache.length);\n }\n if (!eventWithinSlide(e)) return;\n const params = swiper.params.zoom;\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n evCache.push(e);\n if (evCache.length < 2) {\n return;\n }\n fakeGestureTouched = true;\n gesture.scaleStart = getDistanceBetweenTouches();\n if (!gesture.slideEl) {\n gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex];\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n if (!gesture.imageWrapEl) {\n gesture.imageEl = undefined;\n return;\n }\n gesture.maxRatio = getMaxRatio();\n }\n if (gesture.imageEl) {\n const [originX, originY] = getScaleOrigin();\n gesture.originX = originX;\n gesture.originY = originY;\n gesture.imageEl.style.transitionDuration = '0ms';\n }\n isScaling = true;\n }\n function onGestureChange(e) {\n if (!eventWithinSlide(e)) return;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) evCache[pointerIndex] = e;\n if (evCache.length < 2) {\n return;\n }\n fakeGestureMoved = true;\n gesture.scaleMove = getDistanceBetweenTouches();\n if (!gesture.imageEl) {\n return;\n }\n zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;\n }\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;\n }\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n }\n function onGestureEnd(e) {\n if (!eventWithinSlide(e)) return;\n if (e.pointerType === 'mouse' && e.type === 'pointerout') return;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) evCache.splice(pointerIndex, 1);\n if (!fakeGestureTouched || !fakeGestureMoved) {\n return;\n }\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n if (!gesture.imageEl) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n currentScale = zoom.scale;\n isScaling = false;\n if (zoom.scale > 1 && gesture.slideEl) {\n gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n } else if (zoom.scale <= 1 && gesture.slideEl) {\n gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n }\n if (zoom.scale === 1) {\n gesture.originX = 0;\n gesture.originY = 0;\n gesture.slideEl = undefined;\n }\n }\n let allowTouchMoveTimeout;\n function allowTouchMove() {\n swiper.touchEventsData.preventTouchMoveFromPointerMove = false;\n }\n function preventTouchMove() {\n clearTimeout(allowTouchMoveTimeout);\n swiper.touchEventsData.preventTouchMoveFromPointerMove = true;\n allowTouchMoveTimeout = setTimeout(() => {\n if (swiper.destroyed) return;\n allowTouchMove();\n });\n }\n function onTouchStart(e) {\n const device = swiper.device;\n if (!gesture.imageEl) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n const event = evCache.length > 0 ? evCache[0] : e;\n image.touchesStart.x = event.pageX;\n image.touchesStart.y = event.pageY;\n }\n function onTouchMove(e) {\n const isMouseEvent = e.pointerType === 'mouse';\n const isMousePan = isMouseEvent && swiper.params.zoom.panOnMouseMove;\n if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) {\n return;\n }\n const zoom = swiper.zoom;\n if (!gesture.imageEl) {\n return;\n }\n if (!image.isTouched || !gesture.slideEl) {\n if (isMousePan) onMouseMove(e);\n return;\n }\n if (isMousePan) {\n onMouseMove(e);\n return;\n }\n if (!image.isMoved) {\n image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n image.startX = getTranslate(gesture.imageWrapEl, 'x') || 0;\n image.startY = getTranslate(gesture.imageWrapEl, 'y') || 0;\n gesture.slideWidth = gesture.slideEl.offsetWidth;\n gesture.slideHeight = gesture.slideEl.offsetHeight;\n gesture.imageWrapEl.style.transitionDuration = '0ms';\n }\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;\n image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;\n const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));\n if (touchesDiff > 5) {\n swiper.allowClick = false;\n }\n if (!image.isMoved && !isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n allowTouchMove();\n return;\n }\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n allowTouchMove();\n return;\n }\n }\n if (e.cancelable) {\n e.preventDefault();\n }\n e.stopPropagation();\n preventTouchMove();\n image.isMoved = true;\n const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);\n const {\n originX,\n originY\n } = gesture;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;\n }\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;\n }\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;\n }\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;\n }\n\n // Velocity\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n }\n function onTouchEnd() {\n const zoom = swiper.zoom;\n evCache.length = 0;\n if (!gesture.imageEl) return;\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n image.isTouched = false;\n image.isMoved = false;\n let momentumDurationX = 300;\n let momentumDurationY = 300;\n const momentumDistanceX = velocity.x * momentumDurationX;\n const newPositionX = image.currentX + momentumDistanceX;\n const momentumDistanceY = velocity.y * momentumDurationY;\n const newPositionY = image.currentY + momentumDistanceY;\n\n // Fix duration\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY;\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`;\n gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n }\n function onTransitionEnd() {\n const zoom = swiper.zoom;\n if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {\n if (gesture.imageEl) {\n gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n }\n if (gesture.imageWrapEl) {\n gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n }\n gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);\n zoom.scale = 1;\n currentScale = 1;\n gesture.slideEl = undefined;\n gesture.imageEl = undefined;\n gesture.imageWrapEl = undefined;\n gesture.originX = 0;\n gesture.originY = 0;\n }\n }\n function onMouseMove(e) {\n // Only pan if zoomed in and mouse panning is enabled\n if (currentScale <= 1 || !gesture.imageWrapEl) return;\n if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;\n const currentTransform = window.getComputedStyle(gesture.imageWrapEl).transform;\n const matrix = new window.DOMMatrix(currentTransform);\n if (!isPanningWithMouse) {\n isPanningWithMouse = true;\n mousePanStart.x = e.clientX;\n mousePanStart.y = e.clientY;\n image.startX = matrix.e;\n image.startY = matrix.f;\n image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n gesture.slideWidth = gesture.slideEl.offsetWidth;\n gesture.slideHeight = gesture.slideEl.offsetHeight;\n return;\n }\n const deltaX = (e.clientX - mousePanStart.x) * mousePanSensitivity;\n const deltaY = (e.clientY - mousePanStart.y) * mousePanSensitivity;\n const scaledWidth = image.width * currentScale;\n const scaledHeight = image.height * currentScale;\n const slideWidth = gesture.slideWidth;\n const slideHeight = gesture.slideHeight;\n const minX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n const maxX = -minX;\n const minY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n const maxY = -minY;\n const newX = Math.max(Math.min(image.startX + deltaX, maxX), minX);\n const newY = Math.max(Math.min(image.startY + deltaY, maxY), minY);\n gesture.imageWrapEl.style.transitionDuration = '0ms';\n gesture.imageWrapEl.style.transform = `translate3d(${newX}px, ${newY}px, 0)`;\n mousePanStart.x = e.clientX;\n mousePanStart.y = e.clientY;\n image.startX = newX;\n image.startY = newY;\n }\n function zoomIn(e) {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.slideEl) {\n if (e && e.target) {\n gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n }\n if (!gesture.slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n } else {\n gesture.slideEl = swiper.slides[swiper.activeIndex];\n }\n }\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n }\n if (!gesture.imageEl || !gesture.imageWrapEl) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.touchAction = 'none';\n }\n gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n let touchX;\n let touchY;\n let offsetX;\n let offsetY;\n let diffX;\n let diffY;\n let translateX;\n let translateY;\n let imageWidth;\n let imageHeight;\n let scaledWidth;\n let scaledHeight;\n let translateMinX;\n let translateMinY;\n let translateMaxX;\n let translateMaxY;\n let slideWidth;\n let slideHeight;\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.pageX;\n touchY = e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n const forceZoomRatio = typeof e === 'number' ? e : null;\n if (currentScale === 1 && forceZoomRatio) {\n touchX = undefined;\n touchY = undefined;\n image.touchesStart.x = undefined;\n image.touchesStart.y = undefined;\n }\n const maxRatio = getMaxRatio();\n zoom.scale = forceZoomRatio || maxRatio;\n currentScale = forceZoomRatio || maxRatio;\n if (e && !(currentScale === 1 && forceZoomRatio)) {\n slideWidth = gesture.slideEl.offsetWidth;\n slideHeight = gesture.slideEl.offsetHeight;\n offsetX = elementOffset(gesture.slideEl).left + window.scrollX;\n offsetY = elementOffset(gesture.slideEl).top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n if (forceZoomRatio && zoom.scale === 1) {\n gesture.originX = 0;\n gesture.originY = 0;\n }\n gesture.imageWrapEl.style.transitionDuration = '300ms';\n gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;\n gesture.imageEl.style.transitionDuration = '300ms';\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n }\n function zoomOut() {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n } else {\n gesture.slideEl = swiper.slides[swiper.activeIndex];\n }\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n }\n if (!gesture.imageEl || !gesture.imageWrapEl) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.style.touchAction = '';\n }\n zoom.scale = 1;\n currentScale = 1;\n image.touchesStart.x = undefined;\n image.touchesStart.y = undefined;\n gesture.imageWrapEl.style.transitionDuration = '300ms';\n gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n gesture.imageEl.style.transitionDuration = '300ms';\n gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n gesture.slideEl = undefined;\n gesture.originX = 0;\n gesture.originY = 0;\n if (swiper.params.zoom.panOnMouseMove) {\n mousePanStart = {\n x: 0,\n y: 0\n };\n if (isPanningWithMouse) {\n isPanningWithMouse = false;\n image.startX = 0;\n image.startY = 0;\n }\n }\n }\n\n // Toggle Zoom\n function zoomToggle(e) {\n const zoom = swiper.zoom;\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoomOut();\n } else {\n // Zoom In\n zoomIn(e);\n }\n }\n function getListeners() {\n const passiveListener = swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n const activeListenerWithCapture = swiper.params.passiveListeners ? {\n passive: false,\n capture: true\n } : true;\n return {\n passiveListener,\n activeListenerWithCapture\n };\n }\n\n // Attach/Detach Events\n function enable() {\n const zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n\n // Scale image\n swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);\n swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);\n });\n\n // Move image\n swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n }\n function disable() {\n const zoom = swiper.zoom;\n if (!zoom.enabled) return;\n zoom.enabled = false;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n\n // Scale image\n swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);\n swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);\n });\n\n // Move image\n swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n }\n on('init', () => {\n if (swiper.params.zoom.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n disable();\n });\n on('touchStart', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchStart(e);\n });\n on('touchEnd', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchEnd();\n });\n on('doubleTap', (_s, e) => {\n if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n zoomToggle(e);\n }\n });\n on('transitionEnd', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n onTransitionEnd();\n }\n });\n on('slideChange', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n onTransitionEnd();\n }\n });\n Object.assign(swiper.zoom, {\n enable,\n disable,\n in: zoomIn,\n out: zoomOut,\n toggle: zoomToggle\n });\n}\n\nexport { Zoom as default };\n","import { n as nextTick, k as elementTransitionEnd } from '../shared/utils.mjs';\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\nfunction Controller(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n }\n });\n\n swiper.controller = {\n control: undefined\n };\n function LinearSpline(x, y) {\n const binarySearch = function search() {\n let maxIndex;\n let minIndex;\n let guess;\n return (array, val) => {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n return maxIndex;\n };\n }();\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n let i1;\n let i3;\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0;\n\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n\n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n return this;\n }\n function getInterpolateFunction(c) {\n swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n function setTranslate(_t, byController) {\n const controlled = swiper.controller.control;\n let multiplier;\n let controlledTranslate;\n const Swiper = swiper.constructor;\n function setControlledTranslate(c) {\n if (c.destroyed) return;\n\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n if (swiper.params.controller.by === 'slide') {\n getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {\n multiplier = 1;\n }\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n if (Array.isArray(controlled)) {\n for (let i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n }\n function setTransition(duration, byController) {\n const Swiper = swiper.constructor;\n const controlled = swiper.controller.control;\n let i;\n function setControlledTransition(c) {\n if (c.destroyed) return;\n c.setTransition(duration, swiper);\n if (duration !== 0) {\n c.transitionStart();\n if (c.params.autoHeight) {\n nextTick(() => {\n c.updateAutoHeight();\n });\n }\n elementTransitionEnd(c.wrapperEl, () => {\n if (!controlled) return;\n c.transitionEnd();\n });\n }\n }\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n function removeSpline() {\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n }\n on('beforeInit', () => {\n if (typeof window !== 'undefined' && (\n // eslint-disable-line\n typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) {\n const controlElements = typeof swiper.params.controller.control === 'string' ? [...document.querySelectorAll(swiper.params.controller.control)] : [swiper.params.controller.control];\n controlElements.forEach(controlElement => {\n if (!swiper.controller.control) swiper.controller.control = [];\n if (controlElement && controlElement.swiper) {\n swiper.controller.control.push(controlElement.swiper);\n } else if (controlElement) {\n const eventName = `${swiper.params.eventsPrefix}init`;\n const onControllerSwiper = e => {\n swiper.controller.control.push(e.detail[0]);\n swiper.update();\n controlElement.removeEventListener(eventName, onControllerSwiper);\n };\n controlElement.addEventListener(eventName, onControllerSwiper);\n }\n });\n return;\n }\n swiper.controller.control = swiper.params.controller.control;\n });\n on('update', () => {\n removeSpline();\n });\n on('resize', () => {\n removeSpline();\n });\n on('observerUpdate', () => {\n removeSpline();\n });\n on('setTranslate', (_s, translate, byController) => {\n if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n swiper.controller.setTranslate(translate, byController);\n });\n on('setTransition', (_s, duration, byController) => {\n if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n swiper.controller.setTransition(duration, byController);\n });\n Object.assign(swiper.controller, {\n setTranslate,\n setTransition\n });\n}\n\nexport { Controller as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElement, h as elementIndex, m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction A11y(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n containerRole: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null,\n scrollOnFocus: true\n }\n });\n swiper.a11y = {\n clicked: false\n };\n let liveRegion = null;\n let preventFocusHandler;\n let focusTargetSlideEl;\n let visibilityChangedTimestamp = new Date().getTime();\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.innerHTML = '';\n notification.innerHTML = message;\n }\n function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '0');\n });\n }\n function makeElNotFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '-1');\n });\n }\n function addElRole(el, role) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('role', role);\n });\n }\n function addElRoleDescription(el, description) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-roledescription', description);\n });\n }\n function addElControls(el, controls) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-controls', controls);\n });\n }\n function addElLabel(el, label) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-label', label);\n });\n }\n function addElId(el, id) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('id', id);\n });\n }\n function addElLive(el, live) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-live', live);\n });\n }\n function disableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', true);\n });\n }\n function enableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', false);\n });\n }\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const targetEl = e.target;\n if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {\n if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return;\n }\n if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) {\n const prevEls = makeElementsArray(swiper.navigation.prevEl);\n const nextEls = makeElementsArray(swiper.navigation.nextEl);\n if (nextEls.includes(targetEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (prevEls.includes(targetEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n }\n if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) {\n targetEl.click();\n }\n }\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (prevEl) {\n if (swiper.isBeginning) {\n disableEl(prevEl);\n makeElNotFocusable(prevEl);\n } else {\n enableEl(prevEl);\n makeElFocusable(prevEl);\n }\n }\n if (nextEl) {\n if (swiper.isEnd) {\n disableEl(nextEl);\n makeElNotFocusable(nextEl);\n } else {\n enableEl(nextEl);\n makeElFocusable(nextEl);\n }\n }\n }\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.forEach(bulletEl => {\n if (swiper.params.pagination.clickable) {\n makeElFocusable(bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole(bulletEl, 'button');\n addElLabel(bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, elementIndex(bulletEl) + 1));\n }\n }\n if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) {\n bulletEl.setAttribute('aria-current', 'true');\n } else {\n bulletEl.removeAttribute('aria-current');\n }\n });\n }\n const initNavEl = (el, wrapperId, message) => {\n makeElFocusable(el);\n if (el.tagName !== 'BUTTON') {\n addElRole(el, 'button');\n el.addEventListener('keydown', onEnterOrSpaceKey);\n }\n addElLabel(el, message);\n addElControls(el, wrapperId);\n };\n const handlePointerDown = e => {\n if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) {\n preventFocusHandler = true;\n }\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n preventFocusHandler = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n const onVisibilityChange = e => {\n visibilityChangedTimestamp = new Date().getTime();\n };\n const handleFocus = e => {\n if (swiper.a11y.clicked || !swiper.params.a11y.scrollOnFocus) return;\n if (new Date().getTime() - visibilityChangedTimestamp < 100) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n focusTargetSlideEl = slideEl;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n requestAnimationFrame(() => {\n if (preventFocusHandler) return;\n if (swiper.params.loop) {\n swiper.slideToLoop(parseInt(slideEl.getAttribute('data-swiper-slide-index')), 0);\n } else {\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n }\n preventFocusHandler = false;\n });\n };\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole(swiper.slides, params.slideRole);\n }\n const slidesLength = swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.forEach((slideEl, index) => {\n const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;\n const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel(slideEl, ariaLabelMessage);\n });\n }\n };\n const init = () => {\n const params = swiper.params.a11y;\n swiper.el.append(liveRegion);\n\n // Container\n const containerEl = swiper.el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel(containerEl, params.containerMessage);\n }\n if (params.containerRole) {\n addElRole(containerEl, params.containerRole);\n }\n\n // Wrapper\n const wrapperEl = swiper.wrapperEl;\n const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId(wrapperEl, wrapperId);\n addElLive(wrapperEl, live);\n\n // Slide\n initSlides();\n\n // Navigation\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));\n }\n if (prevEl) {\n prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.addEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n\n // Tab focus\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('pointerdown', handlePointerDown, true);\n swiper.el.addEventListener('pointerup', handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion) liveRegion.remove();\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n if (prevEl) {\n prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.removeEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n // Tab focus\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('focus', handleFocus, true);\n swiper.el.removeEventListener('pointerdown', handlePointerDown, true);\n swiper.el.removeEventListener('pointerup', handlePointerUp, true);\n }\n }\n on('beforeInit', () => {\n liveRegion = createElement('span', swiper.params.a11y.notificationClass);\n liveRegion.setAttribute('aria-live', 'assertive');\n liveRegion.setAttribute('aria-atomic', 'true');\n });\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}\n\nexport { A11y as default };\n","import { a as getWindow } from '../shared/ssr-window.esm.mjs';\n\nfunction History(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides',\n keepQuery: false\n }\n });\n let initialized = false;\n let paths = {};\n const slugify = text => {\n return text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n };\n const getPathValues = urlOverride => {\n const window = getWindow();\n let location;\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');\n const total = pathArray.length;\n const key = pathArray[total - 2];\n const value = pathArray[total - 1];\n return {\n key,\n value\n };\n };\n const setHistory = (key, index) => {\n const window = getWindow();\n if (!initialized || !swiper.params.history.enabled) return;\n let location;\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${index}\"]`) : swiper.slides[index];\n let value = slugify(slide.getAttribute('data-history'));\n if (swiper.params.history.root.length > 0) {\n let root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = `${root}/${key ? `${key}/` : ''}${value}`;\n } else if (!location.pathname.includes(key)) {\n value = `${key ? `${key}/` : ''}${value}`;\n }\n if (swiper.params.history.keepQuery) {\n value += location.search;\n }\n const currentState = window.history.state;\n if (currentState && currentState.value === value) {\n return;\n }\n if (swiper.params.history.replaceState) {\n window.history.replaceState({\n value\n }, null, value);\n } else {\n window.history.pushState({\n value\n }, null, value);\n }\n };\n const scrollToSlide = (speed, value, runCallbacks) => {\n if (value) {\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides[i];\n const slideHistory = slugify(slide.getAttribute('data-history'));\n if (slideHistory === value) {\n const index = swiper.getSlideIndex(slide);\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n };\n const setHistoryPopState = () => {\n paths = getPathValues(swiper.params.url);\n scrollToSlide(swiper.params.speed, paths.value, false);\n };\n const init = () => {\n const window = getWindow();\n if (!swiper.params.history) return;\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n initialized = true;\n paths = getPathValues(swiper.params.url);\n if (!paths.key && !paths.value) {\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n return;\n }\n scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n };\n const destroy = () => {\n const window = getWindow();\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', setHistoryPopState);\n }\n };\n on('init', () => {\n if (swiper.params.history.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.history.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n}\n\nexport { History as default };\n","import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { e as elementChildren } from '../shared/utils.mjs';\n\nfunction HashNavigation(_ref) {\n let {\n swiper,\n extendParams,\n emit,\n on\n } = _ref;\n let initialized = false;\n const document = getDocument();\n const window = getWindow();\n extendParams({\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false,\n getSlideIndex(_s, hash) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n const slideWithHash = swiper.slides.find(slideEl => slideEl.getAttribute('data-hash') === hash);\n if (!slideWithHash) return 0;\n const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10);\n return index;\n }\n return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash=\"${hash}\"], swiper-slide[data-hash=\"${hash}\"]`)[0]);\n }\n }\n });\n const onHashChange = () => {\n emit('hashChange');\n const newHash = document.location.hash.replace('#', '');\n const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : '';\n if (newHash !== activeSlideHash) {\n const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash);\n if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return;\n swiper.slideTo(newIndex);\n }\n };\n const setHash = () => {\n if (!initialized || !swiper.params.hashNavigation.enabled) return;\n const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : '';\n if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n window.history.replaceState(null, null, `#${activeSlideHash}` || '');\n emit('hashSet');\n } else {\n document.location.hash = activeSlideHash || '';\n emit('hashSet');\n }\n };\n const init = () => {\n if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n initialized = true;\n const hash = document.location.hash.replace('#', '');\n if (hash) {\n const speed = 0;\n const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash);\n swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true);\n }\n if (swiper.params.hashNavigation.watchState) {\n window.addEventListener('hashchange', onHashChange);\n }\n };\n const destroy = () => {\n if (swiper.params.hashNavigation.watchState) {\n window.removeEventListener('hashchange', onHashChange);\n }\n };\n on('init', () => {\n if (swiper.params.hashNavigation.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.hashNavigation.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHash();\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHash();\n }\n });\n}\n\nexport { HashNavigation as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\n\n/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nfunction Autoplay(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit,\n params\n } = _ref;\n swiper.autoplay = {\n running: false,\n paused: false,\n timeLeft: 0\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: false,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n let timeout;\n let raf;\n let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayTimeLeft;\n let autoplayStartTime = new Date().getTime();\n let wasPaused;\n let isTouched;\n let pausedByTouch;\n let touchStartTimeout;\n let slideChanged;\n let pausedByInteraction;\n let pausedByPointerEnter;\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;\n if (e.target !== swiper.wrapperEl) return;\n swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);\n if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) {\n return;\n }\n resume();\n }\n const calcTimeLeft = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.autoplay.paused) {\n wasPaused = true;\n } else if (wasPaused) {\n autoplayDelayCurrent = autoplayTimeLeft;\n wasPaused = false;\n }\n const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();\n swiper.autoplay.timeLeft = timeLeft;\n emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);\n raf = requestAnimationFrame(() => {\n calcTimeLeft();\n });\n };\n const getSlideDelay = () => {\n let activeSlideEl;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n activeSlideEl = swiper.slides.find(slideEl => slideEl.classList.contains('swiper-slide-active'));\n } else {\n activeSlideEl = swiper.slides[swiper.activeIndex];\n }\n if (!activeSlideEl) return undefined;\n const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);\n return currentSlideDelay;\n };\n const run = delayForce => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n cancelAnimationFrame(raf);\n calcTimeLeft();\n let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;\n autoplayDelayTotal = swiper.params.autoplay.delay;\n autoplayDelayCurrent = swiper.params.autoplay.delay;\n const currentSlideDelay = getSlideDelay();\n if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {\n delay = currentSlideDelay;\n autoplayDelayTotal = currentSlideDelay;\n autoplayDelayCurrent = currentSlideDelay;\n }\n autoplayTimeLeft = delay;\n const speed = swiper.params.speed;\n const proceed = () => {\n if (!swiper || swiper.destroyed) return;\n if (swiper.params.autoplay.reverseDirection) {\n if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {\n swiper.slidePrev(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, speed, true, true);\n emit('autoplay');\n }\n } else {\n if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {\n swiper.slideNext(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, speed, true, true);\n emit('autoplay');\n }\n }\n if (swiper.params.cssMode) {\n autoplayStartTime = new Date().getTime();\n requestAnimationFrame(() => {\n run();\n });\n }\n };\n if (delay > 0) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n proceed();\n }, delay);\n } else {\n requestAnimationFrame(() => {\n proceed();\n });\n }\n\n // eslint-disable-next-line\n return delay;\n };\n const start = () => {\n autoplayStartTime = new Date().getTime();\n swiper.autoplay.running = true;\n run();\n emit('autoplayStart');\n };\n const stop = () => {\n swiper.autoplay.running = false;\n clearTimeout(timeout);\n cancelAnimationFrame(raf);\n emit('autoplayStop');\n };\n const pause = (internal, reset) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n clearTimeout(timeout);\n if (!internal) {\n pausedByInteraction = true;\n }\n const proceed = () => {\n emit('autoplayPause');\n if (swiper.params.autoplay.waitForTransition) {\n swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);\n } else {\n resume();\n }\n };\n swiper.autoplay.paused = true;\n if (reset) {\n if (slideChanged) {\n autoplayTimeLeft = swiper.params.autoplay.delay;\n }\n slideChanged = false;\n proceed();\n return;\n }\n const delay = autoplayTimeLeft || swiper.params.autoplay.delay;\n autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;\n if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;\n proceed();\n };\n const resume = () => {\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;\n autoplayStartTime = new Date().getTime();\n if (pausedByInteraction) {\n pausedByInteraction = false;\n run(autoplayTimeLeft);\n } else {\n run();\n }\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n };\n const onVisibilityChange = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n const document = getDocument();\n if (document.visibilityState === 'hidden') {\n pausedByInteraction = true;\n pause(true);\n }\n if (document.visibilityState === 'visible') {\n resume();\n }\n };\n const onPointerEnter = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByInteraction = true;\n pausedByPointerEnter = true;\n if (swiper.animating || swiper.autoplay.paused) return;\n pause(true);\n };\n const onPointerLeave = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByPointerEnter = false;\n if (swiper.autoplay.paused) {\n resume();\n }\n };\n const attachMouseEvents = () => {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.el.addEventListener('pointerenter', onPointerEnter);\n swiper.el.addEventListener('pointerleave', onPointerLeave);\n }\n };\n const detachMouseEvents = () => {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('pointerenter', onPointerEnter);\n swiper.el.removeEventListener('pointerleave', onPointerLeave);\n }\n };\n const attachDocumentEvents = () => {\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n };\n const detachDocumentEvents = () => {\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n };\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n attachMouseEvents();\n attachDocumentEvents();\n start();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n detachDocumentEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n });\n on('_freeModeStaticRelease', () => {\n if (pausedByTouch || pausedByInteraction) {\n resume();\n }\n });\n on('_freeModeNoMomentumRelease', () => {\n if (!swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n return;\n }\n isTouched = true;\n pausedByTouch = false;\n pausedByInteraction = false;\n touchStartTimeout = setTimeout(() => {\n pausedByInteraction = true;\n pausedByTouch = true;\n pause(true);\n }, 200);\n });\n on('touchEnd', () => {\n if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;\n clearTimeout(touchStartTimeout);\n clearTimeout(timeout);\n if (swiper.params.autoplay.disableOnInteraction) {\n pausedByTouch = false;\n isTouched = false;\n return;\n }\n if (pausedByTouch && swiper.params.cssMode) resume();\n pausedByTouch = false;\n isTouched = false;\n });\n on('slideChange', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n slideChanged = true;\n });\n Object.assign(swiper.autoplay, {\n start,\n stop,\n pause,\n resume\n });\n}\n\nexport { Autoplay as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { l as isObject, e as elementChildren } from '../shared/utils.mjs';\n\nfunction Thumb(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-thumbs'\n }\n });\n let initialized = false;\n let swiperCreated = false;\n swiper.thumbs = {\n swiper: null\n };\n function onThumbClick() {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n swiper.slideToLoop(slideToIndex);\n } else {\n swiper.slideTo(slideToIndex);\n }\n }\n function init() {\n const {\n thumbs: thumbsParams\n } = swiper.params;\n if (initialized) return false;\n initialized = true;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper.update();\n } else if (isObject(thumbsParams.swiper)) {\n const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', onThumbClick);\n return true;\n }\n function update(initial) {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n\n // Activate thumbs\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`).forEach(slideEl => {\n slideEl.classList.add(thumbActiveClass);\n });\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n if (thumbsSwiper.slides[swiper.realIndex + i]) {\n thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);\n }\n }\n }\n const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n const currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n let direction;\n if (thumbsSwiper.params.loop) {\n const newThumbsSlide = thumbsSwiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`);\n newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ;\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n }\n on('beforeInit', () => {\n const {\n thumbs\n } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) {\n const document = getDocument();\n const getThumbsElementAndInit = () => {\n const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper;\n if (thumbsElement && thumbsElement.swiper) {\n thumbs.swiper = thumbsElement.swiper;\n init();\n update(true);\n } else if (thumbsElement) {\n const eventName = `${swiper.params.eventsPrefix}init`;\n const onThumbsSwiper = e => {\n thumbs.swiper = e.detail[0];\n thumbsElement.removeEventListener(eventName, onThumbsSwiper);\n init();\n update(true);\n thumbs.swiper.update();\n swiper.update();\n };\n thumbsElement.addEventListener(eventName, onThumbsSwiper);\n }\n return thumbsElement;\n };\n const watchForThumbsToAppear = () => {\n if (swiper.destroyed) return;\n const thumbsElement = getThumbsElementAndInit();\n if (!thumbsElement) {\n requestAnimationFrame(watchForThumbsToAppear);\n }\n };\n requestAnimationFrame(watchForThumbsToAppear);\n } else {\n init();\n update(true);\n }\n });\n on('slideChange update resize observerUpdate', () => {\n update();\n });\n on('setTransition', (_s, duration) => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on('beforeDestroy', () => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n Object.assign(swiper.thumbs, {\n init,\n update\n });\n}\n\nexport { Thumb as default };\n","import { d as now, k as elementTransitionEnd } from '../shared/utils.mjs';\n\nfunction freeMode(_ref) {\n let {\n swiper,\n extendParams,\n emit,\n once\n } = _ref;\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02\n }\n });\n function onTouchStart() {\n if (swiper.params.cssMode) return;\n const translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({\n currentPos: swiper.rtl ? swiper.translate : -swiper.translate\n });\n }\n function onTouchMove() {\n if (swiper.params.cssMode) return;\n const {\n touchEventsData: data,\n touches\n } = swiper;\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n }\n function onTouchEnd(_ref2) {\n let {\n currentPos\n } = _ref2;\n if (swiper.params.cssMode) return;\n const {\n params,\n wrapperEl,\n rtlTranslate: rtl,\n snapGrid,\n touchEventsData: data\n } = swiper;\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n data.velocities.length = 0;\n let momentumDuration = 1000 * params.freeMode.momentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n once('transitionEnd', () => {\n swiper.loopFix();\n });\n }\n // Fix duration\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n if (params.freeMode.sticky) {\n // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(() => {\n swiper.setTranslate(afterBouncePosition);\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit('_freeModeNoMomentumRelease');\n }\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n emit('_freeModeStaticRelease');\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n Object.assign(swiper, {\n freeMode: {\n onTouchStart,\n onTouchMove,\n onTouchEnd\n }\n });\n}\n\nexport { freeMode as default };\n","function Grid(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n grid: {\n rows: 1,\n fill: 'column'\n }\n });\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n let wasMultiRow;\n const getSpaceBetween = () => {\n let spaceBetween = swiper.params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n return spaceBetween;\n };\n const initSlides = slides => {\n const {\n slidesPerView\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n slidesPerRow = slidesNumberEvenToRows / rows;\n };\n const unsetSlides = () => {\n if (swiper.slides) {\n swiper.slides.forEach(slide => {\n if (slide.swiperSlideGridSet) {\n slide.style.height = '';\n slide.style[swiper.getDirectionLabel('margin-top')] = '';\n }\n });\n }\n };\n const updateSlide = (i, slide, slides) => {\n const {\n slidesPerGroup\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === 'row' && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n slide.style.order = newSlideOrderIndex;\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.row = row;\n slide.column = column;\n slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;\n slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';\n slide.swiperSlideGridSet = true;\n };\n const updateWrapperSize = (slideSize, snapGrid) => {\n const {\n centeredSlides,\n roundLengths\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows\n } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.splice(0, snapGrid.length);\n snapGrid.push(...newSlidesGrid);\n }\n };\n const onInit = () => {\n wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1;\n };\n const onUpdate = () => {\n const {\n params,\n el\n } = swiper;\n const isMultiRow = params.grid && params.grid.rows > 1;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n numFullColumns = 1;\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n wasMultiRow = isMultiRow;\n };\n on('init', onInit);\n on('update', onUpdate);\n swiper.grid = {\n initSlides,\n unsetSlides,\n updateSlide,\n updateWrapperSize\n };\n}\n\nexport { Grid as default };\n","import { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl } from '../shared/utils.mjs';\n\nfunction EffectFade(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n fadeEffect: {\n crossFade: false\n }\n });\n const setTranslate = () => {\n const {\n slides\n } = swiper;\n const params = swiper.params.fadeEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = swiper.slides[i];\n const offset = slideEl.swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.opacity = slideOpacity;\n targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides: true\n });\n };\n effectInit({\n effect: 'fade',\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectFade as default };\n","import { e as effectInit } from '../shared/effect-init.mjs';\nimport { c as createElement, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCube(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n });\n const createSlideShadows = (slideEl, progress, isHorizontal) => {\n let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBefore) {\n shadowBefore = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' '));\n slideEl.append(shadowBefore);\n }\n if (!shadowAfter) {\n shadowAfter = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' '));\n slideEl.append(shadowAfter);\n }\n if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n // create new ones\n const isHorizontal = swiper.isHorizontal();\n swiper.slides.forEach(slideEl => {\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n createSlideShadows(slideEl, progress, isHorizontal);\n });\n };\n const setTranslate = () => {\n const {\n el,\n wrapperEl,\n slides,\n width: swiperWidth,\n height: swiperHeight,\n rtlTranslate: rtl,\n size: swiperSize,\n browser\n } = swiper;\n const r = getRotateFix(swiper);\n const params = swiper.params.cubeEffect;\n const isHorizontal = swiper.isHorizontal();\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let wrapperRotate = 0;\n let cubeShadowEl;\n if (params.shadow) {\n if (isHorizontal) {\n cubeShadowEl = swiper.wrapperEl.querySelector('.swiper-cube-shadow');\n if (!cubeShadowEl) {\n cubeShadowEl = createElement('div', 'swiper-cube-shadow');\n swiper.wrapperEl.append(cubeShadowEl);\n }\n cubeShadowEl.style.height = `${swiperWidth}px`;\n } else {\n cubeShadowEl = el.querySelector('.swiper-cube-shadow');\n if (!cubeShadowEl) {\n cubeShadowEl = createElement('div', 'swiper-cube-shadow');\n el.append(cubeShadowEl);\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n let slideIndex = i;\n if (isVirtual) {\n slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10);\n }\n let slideAngle = slideIndex * 90;\n let round = Math.floor(slideAngle / 360);\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n let tx = 0;\n let ty = 0;\n let tz = 0;\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n if (rtl) {\n tx = -tx;\n }\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n const transform = `rotateX(${r(isHorizontal ? 0 : -slideAngle)}deg) rotateY(${r(isHorizontal ? slideAngle : 0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n slideEl.style.transform = transform;\n if (params.slideShadows) {\n createSlideShadows(slideEl, progress, isHorizontal);\n }\n }\n wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`;\n wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`;\n if (params.shadow) {\n if (isHorizontal) {\n cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`;\n } else {\n const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n const scale1 = params.shadowScale;\n const scale2 = params.shadowScale / multiplier;\n const offset = params.shadowOffset;\n cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`;\n }\n }\n const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0;\n wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${r(swiper.isHorizontal() ? 0 : wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal() ? -wrapperRotate : 0)}deg)`;\n wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);\n };\n const setTransition = duration => {\n const {\n el,\n slides\n } = swiper;\n slides.forEach(slideEl => {\n slideEl.style.transitionDuration = `${duration}ms`;\n slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => {\n subEl.style.transitionDuration = `${duration}ms`;\n });\n });\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n const shadowEl = el.querySelector('.swiper-cube-shadow');\n if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`;\n }\n };\n effectInit({\n effect: 'cube',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.cubeEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n })\n });\n}\n\nexport { EffectCube as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectFlip(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n }\n });\n const createSlideShadows = (slideEl, progress) => {\n let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBefore) {\n shadowBefore = createShadow('flip', slideEl, swiper.isHorizontal() ? 'left' : 'top');\n }\n if (!shadowAfter) {\n shadowAfter = createShadow('flip', slideEl, swiper.isHorizontal() ? 'right' : 'bottom');\n }\n if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n // Set shadows\n swiper.params.flipEffect;\n swiper.slides.forEach(slideEl => {\n let progress = slideEl.progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n createSlideShadows(slideEl, progress);\n });\n };\n const setTranslate = () => {\n const {\n slides,\n rtlTranslate: rtl\n } = swiper;\n const params = swiper.params.flipEffect;\n const rotateFix = getRotateFix(swiper);\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n let progress = slideEl.progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n const offset = slideEl.swiperSlideOffset;\n const rotate = -180 * progress;\n let rotateY = rotate;\n let rotateX = 0;\n let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n if (params.slideShadows) {\n createSlideShadows(slideEl, progress);\n }\n const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements\n });\n };\n effectInit({\n effect: 'flip',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.flipEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectFlip as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCoverflow(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n });\n const setTranslate = () => {\n const {\n width: swiperWidth,\n height: swiperHeight,\n slides,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n const r = getRotateFix(swiper);\n // Each slide offset from center\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const slideEl = slides[i];\n const slideSize = slidesSizesGrid[i];\n const slideOffset = slideEl.swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n let translateZ = -translate * Math.abs(offsetMultiplier);\n let stretch = params.stretch;\n // Allow percentage to make a relative stretch for responsive sliders\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n\n // Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = slideTransform;\n slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (params.slideShadows) {\n // Set shadows\n let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBeforeEl) {\n shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top');\n }\n if (!shadowAfterEl) {\n shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom');\n }\n if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n };\n effectInit({\n effect: 'coverflow',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true\n })\n });\n}\n\nexport { EffectCoverflow as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCreative(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n creativeEffect: {\n limitProgress: 1,\n shadowPerProgress: false,\n progressMultiplier: 1,\n perspective: true,\n prev: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n },\n next: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n }\n }\n });\n const getTranslateValue = value => {\n if (typeof value === 'string') return value;\n return `${value}px`;\n };\n const setTranslate = () => {\n const {\n slides,\n wrapperEl,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.creativeEffect;\n const {\n progressMultiplier: multiplier\n } = params;\n const isCenteredSlides = swiper.params.centeredSlides;\n const rotateFix = getRotateFix(swiper);\n if (isCenteredSlides) {\n const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`;\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n const slideProgress = slideEl.progress;\n const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);\n let originalProgress = progress;\n if (!isCenteredSlides) {\n originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);\n }\n const offset = slideEl.swiperSlideOffset;\n const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];\n const r = [0, 0, 0];\n let custom = false;\n if (!swiper.isHorizontal()) {\n t[1] = t[0];\n t[0] = 0;\n }\n let data = {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n scale: 1,\n opacity: 1\n };\n if (progress < 0) {\n data = params.next;\n custom = true;\n } else if (progress > 0) {\n data = params.prev;\n custom = true;\n }\n // set translate\n t.forEach((value, index) => {\n t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;\n });\n // set rotates\n r.forEach((value, index) => {\n let val = data.rotate[index] * Math.abs(progress * multiplier);\n r[index] = val;\n });\n slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const translateString = t.join(', ');\n const rotateString = `rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`;\n const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;\n const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;\n const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;\n\n // Set shadows\n if (custom && data.shadow || !custom) {\n let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n if (!shadowEl && data.shadow) {\n shadowEl = createShadow('creative', slideEl);\n }\n if (shadowEl) {\n const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;\n shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n }\n }\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n targetEl.style.opacity = opacityString;\n if (data.origin) {\n targetEl.style.transformOrigin = data.origin;\n }\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides: true\n });\n };\n effectInit({\n effect: 'creative',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => swiper.params.creativeEffect.perspective,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectCreative as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl } from '../shared/utils.mjs';\n\nfunction EffectCards(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n cardsEffect: {\n slideShadows: true,\n rotate: true,\n perSlideRotate: 2,\n perSlideOffset: 8\n }\n });\n const setTranslate = () => {\n const {\n slides,\n activeIndex,\n rtlTranslate: rtl\n } = swiper;\n const params = swiper.params.cardsEffect;\n const {\n startTranslate,\n isTouched\n } = swiper.touchEventsData;\n const currentTranslate = rtl ? -swiper.translate : swiper.translate;\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n const slideProgress = slideEl.progress;\n const progress = Math.min(Math.max(slideProgress, -4), 4);\n let offset = slideEl.swiperSlideOffset;\n if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`;\n }\n if (swiper.params.centeredSlides && swiper.params.cssMode) {\n offset -= slides[0].swiperSlideOffset;\n }\n let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let tY = 0;\n const tZ = -100 * Math.abs(progress);\n let scale = 1;\n let rotate = -params.perSlideRotate * progress;\n let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;\n const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;\n if (isSwipeToNext || isSwipeToPrev) {\n const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;\n rotate += -28 * progress * subProgress;\n scale += -0.5 * subProgress;\n tXAdd += 96 * subProgress;\n tY = `${-25 * subProgress * Math.abs(progress)}%`;\n }\n if (progress < 0) {\n // next\n tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`;\n } else if (progress > 0) {\n // prev\n tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`;\n } else {\n tX = `${tX}px`;\n }\n if (!swiper.isHorizontal()) {\n const prevY = tY;\n tY = tX;\n tX = prevY;\n }\n const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;\n\n /* eslint-disable */\n const transform = `\n translate3d(${tX}, ${tY}, ${tZ}px)\n rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg)\n scale(${scaleString})\n `;\n /* eslint-enable */\n\n if (params.slideShadows) {\n // Set shadows\n let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n if (!shadowEl) {\n shadowEl = createShadow('cards', slideEl);\n }\n if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n }\n slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements\n });\n };\n effectInit({\n effect: 'cards',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectCards as default };\n","/* underscore in name -> watch for changes */\nconst paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', 'swiperElementNodeName', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', 'breakpointsBase', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopAdditionalSlides', 'loopAddBlankSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideFullyVisibleClass', 'slideNextClass', 'slidePrevClass', 'slideBlankClass', 'wrapperClass', 'lazyPreloaderClass', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',\n// modules\n'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control'];\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__;\n}\nfunction extend(target, src) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\nfunction needsNavigation(params) {\n if (params === void 0) {\n params = {};\n }\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\nfunction needsPagination(params) {\n if (params === void 0) {\n params = {};\n }\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\nfunction needsScrollbar(params) {\n if (params === void 0) {\n params = {};\n }\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c);\n const unique = [];\n classes.forEach(c => {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\nfunction attrToProp(attrName) {\n if (attrName === void 0) {\n attrName = '';\n }\n return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', ''));\n}\nfunction wrapperClass(className) {\n if (className === void 0) {\n className = '';\n }\n if (!className) return 'swiper-wrapper';\n if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`;\n return className;\n}\n\nfunction updateSwiper(_ref) {\n let {\n swiper,\n slides,\n passedParams,\n changedParams,\n nextEl,\n prevEl,\n scrollbarEl,\n paginationEl\n } = _ref;\n const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass');\n const {\n params: currentParams,\n pagination,\n navigation,\n scrollbar,\n virtual,\n thumbs\n } = swiper;\n let needThumbsInit;\n let needControllerInit;\n let needPaginationInit;\n let needScrollbarInit;\n let needNavigationInit;\n let loopNeedDestroy;\n let loopNeedEnable;\n let loopNeedReloop;\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && !passedParams.thumbs.swiper.destroyed && currentParams.thumbs && (!currentParams.thumbs.swiper || currentParams.thumbs.swiper.destroyed)) {\n needThumbsInit = true;\n }\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n const destroyModule = mod => {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n if (mod === 'navigation') {\n if (swiper.isElement) {\n swiper[mod].prevEl.remove();\n swiper[mod].nextEl.remove();\n }\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n if (swiper.isElement) {\n swiper[mod].el.remove();\n }\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n if (changedParams.includes('loop') && swiper.isElement) {\n if (currentParams.loop && !passedParams.loop) {\n loopNeedDestroy = true;\n } else if (!currentParams.loop && passedParams.loop) {\n loopNeedEnable = true;\n } else {\n loopNeedReloop = true;\n }\n }\n updateParams.forEach(key => {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n Object.assign(currentParams[key], passedParams[key]);\n if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) {\n destroyModule(key);\n }\n } else {\n const newValue = passedParams[key];\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) {\n if (slides) virtual.slides = slides;\n virtual.update(true);\n }\n if (changedParams.includes('children') && slides && currentParams.loop) {\n loopNeedReloop = true;\n }\n if (needThumbsInit) {\n const initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (needPaginationInit) {\n if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) {\n paginationEl = document.createElement('div');\n paginationEl.classList.add('swiper-pagination');\n paginationEl.part.add('pagination');\n swiper.el.appendChild(paginationEl);\n }\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n if (needScrollbarInit) {\n if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) {\n scrollbarEl = document.createElement('div');\n scrollbarEl.classList.add('swiper-scrollbar');\n scrollbarEl.part.add('scrollbar');\n swiper.el.appendChild(scrollbarEl);\n }\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n if (needNavigationInit) {\n if (swiper.isElement) {\n if (!nextEl || typeof nextEl === 'string') {\n nextEl = document.createElement('div');\n nextEl.classList.add('swiper-button-next');\n nextEl.innerHTML = swiper.hostEl.constructor.nextButtonSvg;\n nextEl.part.add('button-next');\n swiper.el.appendChild(nextEl);\n }\n if (!prevEl || typeof prevEl === 'string') {\n prevEl = document.createElement('div');\n prevEl.classList.add('swiper-button-prev');\n prevEl.innerHTML = swiper.hostEl.constructor.prevButtonSvg;\n prevEl.part.add('button-prev');\n swiper.el.appendChild(prevEl);\n }\n }\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n if (loopNeedDestroy || loopNeedReloop) {\n swiper.loopDestroy();\n }\n if (loopNeedEnable || loopNeedReloop) {\n swiper.loopCreate();\n }\n swiper.update();\n}\n\nexport { needsPagination as a, needsScrollbar as b, attrToProp as c, uniqueClasses as d, extend as e, isObject as i, needsNavigation as n, paramsList as p, updateSwiper as u, wrapperClass as w };\n","import { e as extend, i as isObject, c as attrToProp, p as paramsList } from './update-swiper.mjs';\nimport { d as defaults } from './swiper-core.mjs';\n\nconst formatValue = val => {\n if (parseFloat(val) === Number(val)) return Number(val);\n if (val === 'true') return true;\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'null') return null;\n if (val === 'undefined') return undefined;\n if (typeof val === 'string' && val.includes('{') && val.includes('}') && val.includes('\"')) {\n let v;\n try {\n v = JSON.parse(val);\n } catch (err) {\n v = val;\n }\n return v;\n }\n return val;\n};\nconst modulesParamsList = ['a11y', 'autoplay', 'controller', 'cards-effect', 'coverflow-effect', 'creative-effect', 'cube-effect', 'fade-effect', 'flip-effect', 'free-mode', 'grid', 'hash-navigation', 'history', 'keyboard', 'mousewheel', 'navigation', 'pagination', 'parallax', 'scrollbar', 'thumbs', 'virtual', 'zoom'];\nfunction getParams(element, propName, propValue) {\n const params = {};\n const passedParams = {};\n extend(params, defaults);\n const localParamsList = [...paramsList, 'on'];\n const allowedParams = localParamsList.map(key => key.replace(/_/, ''));\n\n // First check props\n localParamsList.forEach(paramName => {\n paramName = paramName.replace('_', '');\n if (typeof element[paramName] !== 'undefined') {\n passedParams[paramName] = element[paramName];\n }\n });\n\n // Attributes\n const attrsList = [...element.attributes];\n if (typeof propName === 'string' && typeof propValue !== 'undefined') {\n attrsList.push({\n name: propName,\n value: isObject(propValue) ? {\n ...propValue\n } : propValue\n });\n }\n attrsList.forEach(attr => {\n const moduleParam = modulesParamsList.find(mParam => attr.name.startsWith(`${mParam}-`));\n if (moduleParam) {\n const parentObjName = attrToProp(moduleParam);\n const subObjName = attrToProp(attr.name.split(`${moduleParam}-`)[1]);\n if (typeof passedParams[parentObjName] === 'undefined') passedParams[parentObjName] = {};\n if (passedParams[parentObjName] === true) {\n passedParams[parentObjName] = {\n enabled: true\n };\n }\n passedParams[parentObjName][subObjName] = formatValue(attr.value);\n } else {\n const name = attrToProp(attr.name);\n if (!allowedParams.includes(name)) return;\n const value = formatValue(attr.value);\n if (passedParams[name] && modulesParamsList.includes(attr.name) && !isObject(value)) {\n if (passedParams[name].constructor !== Object) {\n passedParams[name] = {};\n }\n passedParams[name].enabled = !!value;\n } else {\n passedParams[name] = value;\n }\n }\n });\n extend(params, passedParams);\n if (params.navigation) {\n params.navigation = {\n prevEl: '.swiper-button-prev',\n nextEl: '.swiper-button-next',\n ...(params.navigation !== true ? params.navigation : {})\n };\n } else if (params.navigation === false) {\n delete params.navigation;\n }\n if (params.scrollbar) {\n params.scrollbar = {\n el: '.swiper-scrollbar',\n ...(params.scrollbar !== true ? params.scrollbar : {})\n };\n } else if (params.scrollbar === false) {\n delete params.scrollbar;\n }\n if (params.pagination) {\n params.pagination = {\n el: '.swiper-pagination',\n ...(params.pagination !== true ? params.pagination : {})\n };\n } else if (params.pagination === false) {\n delete params.pagination;\n }\n return {\n params,\n passedParams\n };\n}\n\nexport { getParams as g };\n","/**\n * Swiper Custom Element 11.2.0\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2025 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 2, 2025\n */\n\nimport './swiper-bundle.mjs';\nimport { p as paramsList, n as needsNavigation, a as needsPagination, b as needsScrollbar, u as updateSwiper, c as attrToProp } from './shared/update-swiper.mjs';\nimport { g as getParams } from './shared/get-element-params.mjs';\nimport { S as Swiper } from './shared/swiper-core.mjs';\n\n/* eslint-disable spaced-comment */\n\nconst SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}`\nconst SwiperSlideCSS = `::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}`\n\nclass DummyHTMLElement {}\nconst ClassToExtend = typeof window === 'undefined' || typeof HTMLElement === 'undefined' ? DummyHTMLElement : HTMLElement;\nconst arrowSvg = `\n `;\nconst addStyle = (shadowRoot, styles) => {\n if (typeof CSSStyleSheet !== 'undefined' && shadowRoot.adoptedStyleSheets) {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(styles);\n shadowRoot.adoptedStyleSheets = [styleSheet];\n } else {\n const style = document.createElement('style');\n style.rel = 'stylesheet';\n style.textContent = styles;\n shadowRoot.appendChild(style);\n }\n};\nclass SwiperContainer extends ClassToExtend {\n constructor() {\n super();\n this.attachShadow({\n mode: 'open'\n });\n }\n static get nextButtonSvg() {\n return arrowSvg;\n }\n static get prevButtonSvg() {\n return arrowSvg.replace('/>', ' transform-origin=\"center\" transform=\"rotate(180)\"/>');\n }\n cssStyles() {\n return [SwiperCSS,\n // eslint-disable-line\n ...(this.injectStyles && Array.isArray(this.injectStyles) ? this.injectStyles : [])].join('\\n');\n }\n cssLinks() {\n return this.injectStylesUrls || [];\n }\n calcSlideSlots() {\n const currentSideSlots = this.slideSlots || 0;\n // slide slots\n const slideSlotChildren = [...this.querySelectorAll(`[slot^=slide-]`)].map(child => {\n return parseInt(child.getAttribute('slot').split('slide-')[1], 10);\n });\n this.slideSlots = slideSlotChildren.length ? Math.max(...slideSlotChildren) + 1 : 0;\n if (!this.rendered) return;\n if (this.slideSlots > currentSideSlots) {\n for (let i = currentSideSlots; i < this.slideSlots; i += 1) {\n const slideEl = document.createElement('swiper-slide');\n slideEl.setAttribute('part', `slide slide-${i + 1}`);\n const slotEl = document.createElement('slot');\n slotEl.setAttribute('name', `slide-${i + 1}`);\n slideEl.appendChild(slotEl);\n this.shadowRoot.querySelector('.swiper-wrapper').appendChild(slideEl);\n }\n } else if (this.slideSlots < currentSideSlots) {\n const slides = this.swiper.slides;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (i > this.slideSlots) {\n slides[i].remove();\n }\n }\n }\n }\n render() {\n if (this.rendered) return;\n this.calcSlideSlots();\n\n // local styles\n let localStyles = this.cssStyles();\n if (this.slideSlots > 0) {\n localStyles = localStyles.replace(/::slotted\\(([a-z-0-9.]*)\\)/g, '$1');\n }\n if (localStyles.length) {\n addStyle(this.shadowRoot, localStyles);\n }\n this.cssLinks().forEach(url => {\n const linkExists = this.shadowRoot.querySelector(`link[href=\"${url}\"]`);\n if (linkExists) return;\n const linkEl = document.createElement('link');\n linkEl.rel = 'stylesheet';\n linkEl.href = url;\n this.shadowRoot.appendChild(linkEl);\n });\n // prettier-ignore\n const el = document.createElement('div');\n el.classList.add('swiper');\n el.part = 'container';\n\n // prettier-ignore\n el.innerHTML = `\n \n
\n \n ${Array.from({\n length: this.slideSlots\n }).map((_, index) => `\n \n \n \n `).join('')}\n
\n \n ${needsNavigation(this.passedParams) ? `\n
${this.constructor.prevButtonSvg}
\n
${this.constructor.nextButtonSvg}
\n ` : ''}\n ${needsPagination(this.passedParams) ? `\n
\n ` : ''}\n ${needsScrollbar(this.passedParams) ? `\n
\n ` : ''}\n `;\n this.shadowRoot.appendChild(el);\n this.rendered = true;\n }\n initialize() {\n var _this = this;\n if (this.initialized) return;\n this.initialized = true;\n const {\n params: swiperParams,\n passedParams\n } = getParams(this);\n this.swiperParams = swiperParams;\n this.passedParams = passedParams;\n delete this.swiperParams.init;\n this.render();\n\n // eslint-disable-next-line\n this.swiper = new Swiper(this.shadowRoot.querySelector('.swiper'), {\n ...(swiperParams.virtual ? {} : {\n observer: true\n }),\n ...swiperParams,\n touchEventsTarget: 'container',\n onAny: function (name) {\n if (name === 'observerUpdate') {\n _this.calcSlideSlots();\n }\n const eventName = swiperParams.eventsPrefix ? `${swiperParams.eventsPrefix}${name.toLowerCase()}` : name.toLowerCase();\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n const event = new CustomEvent(eventName, {\n detail: args,\n bubbles: name !== 'hashChange',\n cancelable: true\n });\n _this.dispatchEvent(event);\n }\n });\n }\n connectedCallback() {\n if (this.initialized && this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) {\n return;\n }\n if (this.init === false || this.getAttribute('init') === 'false') {\n return;\n }\n this.initialize();\n }\n disconnectedCallback() {\n if (this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) {\n return;\n }\n if (this.swiper && this.swiper.destroy) {\n this.swiper.destroy();\n }\n this.initialized = false;\n }\n updateSwiperOnPropChange(propName, propValue) {\n const {\n params: swiperParams,\n passedParams\n } = getParams(this, propName, propValue);\n this.passedParams = passedParams;\n this.swiperParams = swiperParams;\n if (this.swiper && this.swiper.params[propName] === propValue) {\n return;\n }\n updateSwiper({\n swiper: this.swiper,\n passedParams: this.passedParams,\n changedParams: [attrToProp(propName)],\n ...(propName === 'navigation' && passedParams[propName] ? {\n prevEl: '.swiper-button-prev',\n nextEl: '.swiper-button-next'\n } : {}),\n ...(propName === 'pagination' && passedParams[propName] ? {\n paginationEl: '.swiper-pagination'\n } : {}),\n ...(propName === 'scrollbar' && passedParams[propName] ? {\n scrollbarEl: '.swiper-scrollbar'\n } : {})\n });\n }\n attributeChangedCallback(attr, prevValue, newValue) {\n if (!this.initialized) return;\n if (prevValue === 'true' && newValue === null) {\n newValue = false;\n }\n this.updateSwiperOnPropChange(attr, newValue);\n }\n static get observedAttributes() {\n const attrs = paramsList.filter(param => param.includes('_')).map(param => param.replace(/[A-Z]/g, v => `-${v}`).replace('_', '').toLowerCase());\n return attrs;\n }\n}\nparamsList.forEach(paramName => {\n if (paramName === 'init') return;\n paramName = paramName.replace('_', '');\n Object.defineProperty(SwiperContainer.prototype, paramName, {\n configurable: true,\n get() {\n return (this.passedParams || {})[paramName];\n },\n set(value) {\n if (!this.passedParams) this.passedParams = {};\n this.passedParams[paramName] = value;\n if (!this.initialized) return;\n this.updateSwiperOnPropChange(paramName, value);\n }\n });\n});\nclass SwiperSlide extends ClassToExtend {\n constructor() {\n super();\n this.attachShadow({\n mode: 'open'\n });\n }\n render() {\n const lazy = this.lazy || this.getAttribute('lazy') === '' || this.getAttribute('lazy') === 'true';\n addStyle(this.shadowRoot, SwiperSlideCSS);\n this.shadowRoot.appendChild(document.createElement('slot'));\n if (lazy) {\n const lazyDiv = document.createElement('div');\n lazyDiv.classList.add('swiper-lazy-preloader');\n lazyDiv.part.add('preloader');\n this.shadowRoot.appendChild(lazyDiv);\n }\n }\n initialize() {\n this.render();\n }\n connectedCallback() {\n this.initialize();\n }\n}\n\n// eslint-disable-next-line\nconst register = () => {\n if (typeof window === 'undefined') return;\n if (!window.customElements.get('swiper-container')) window.customElements.define('swiper-container', SwiperContainer);\n if (!window.customElements.get('swiper-slide')) window.customElements.define('swiper-slide', SwiperSlide);\n};\nif (typeof window !== 'undefined') {\n window.SwiperElementRegisterParams = params => {\n paramsList.push(...params);\n };\n}\n\nexport { SwiperContainer, SwiperSlide, register };\n","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\nimport { register } from 'swiper/element/bundle';\r\nregister();\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 { VueAccordion, VueAccordionItem } from '@ui-common/vue-accordion';\r\nexport default {\r\n\tdata: () => ({\r\n\t\tisOpen: null\r\n\t}),\r\n\tprops: {\r\n\t\tautoScroll: {\r\n\t\t\tdefault: false\r\n\t\t},\r\n\t\topened: {\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\tinverse: {\r\n\t\t\trequired: false\r\n\t\t}\r\n\t},\r\n\tcomponents: {\r\n\t\tVueAccordion,\r\n\t\tVueAccordionItem\r\n\t},\r\n\tmounted() {\r\n\t\tthis.isOpen = this.opened;\r\n\t\tif (this.autoScroll) {\r\n\t\t\tthis.$scrollTo(this.$el);\r\n\t\t}\r\n\t}\r\n};\r\n","import tabs from '../../common/components/tabs/tabs.vue';\r\nimport videoPreview from '../../common/components/video-preview/video-preview.vue';\r\nimport mevp from '../../modules/MEVP/mevp';\r\n\r\nexport default {\r\n\textends: tabs,\r\n\tcomponents: {\r\n\t\tvideoPreview,\r\n\t\tmevp\r\n\t}\r\n};\r\n","const MEOK_TABLE_ROW_PATTERN = /meok-table-row-\\d+/;\r\nconst MEOK_TABLE_ROW_PATTERN_GRAY = /meok-table-row-gray-\\d+/;\r\nconst CONTAINER_SELECTORS = {\r\n\tTITLE_CONTAINER: '.meok-card-container-title',\r\n\tIMAGE_CONTAINER: '.meok-card-container-1',\r\n\tSUBTITLE_CONTAINER: '.meok-card-container-2',\r\n\tTEXT_CONTAINER: '.meok-card-container-3',\r\n\tEDU_CONTAINER: '.meok-card-container-4',\r\n\tLIST_CONTAINER: '.meok-card-container-5'\r\n};\r\nconst MEOK_CARD_SELECTOR = '.meok-card';\r\nconst MEOK_CARD_SELECTOR_GRAY_BACKGROUND = '.meok__card-wrap';\r\nexport default {\r\n\tmethods: {\r\n\t\tcalculateAllCardsHeights(cardSelector) {\r\n\t\t\tfor (let key in this.$refs) {\r\n\t\t\t\tif (this.isMeokTableRow(key)) {\r\n\t\t\t\t\tlet cardsInOneRow = this.$refs[key].querySelectorAll(cardSelector);\r\n\t\t\t\t\tlet numberOfCardsInOneRow = cardsInOneRow.length;\r\n\t\t\t\t\tif (numberOfCardsInOneRow > 1) {\r\n\t\t\t\t\t\tthis.calculateCardHeights(cardsInOneRow);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tcalculateCardHeights(cardsNodeList) {\r\n\t\t\tfor (let containerSelector in CONTAINER_SELECTORS) {\r\n\t\t\t\tthis.applyHighestValue(cardsNodeList, CONTAINER_SELECTORS[containerSelector], 'auto');\r\n\t\t\t}\r\n\t\t\tif (!this.isMobile) {\r\n\t\t\t\tfor (let containerSelector in CONTAINER_SELECTORS) {\r\n\t\t\t\t\tlet highestValue = this.getHighestValue(cardsNodeList, CONTAINER_SELECTORS[containerSelector]);\r\n\t\t\t\t\tthis.applyHighestValue(cardsNodeList, CONTAINER_SELECTORS[containerSelector], highestValue);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tapplyHighestValue(cardsNodeList, containerSelector, value) {\r\n\t\t\t[...cardsNodeList].forEach((item) => {\r\n\t\t\t\tlet elem = item.querySelector(containerSelector);\r\n\t\t\t\tif (elem) {\r\n\t\t\t\t\telem.style.height = Number.isFinite(value) ? value + 'px' : value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tisMeokTableRow(refString) {\r\n\t\t\treturn (\r\n\t\t\t\tthis.$refs.hasOwnProperty(refString) &&\r\n\t\t\t\tthis.$refs[refString] &&\r\n\t\t\t\t(MEOK_TABLE_ROW_PATTERN.test(refString) || MEOK_TABLE_ROW_PATTERN_GRAY.test(refString))\r\n\t\t\t);\r\n\t\t},\r\n\t\tgetHighestValue(cardsNodeList, selector) {\r\n\t\t\tlet heights = [...cardsNodeList].map((cardNode) => {\r\n\t\t\t\tlet elem = cardNode.querySelector(selector);\r\n\t\t\t\treturn elem ? this.getElementsHeight(elem) : 0;\r\n\t\t\t});\r\n\t\t\treturn Math.max(...heights);\r\n\t\t},\r\n\t\tgetElementsHeight(element) {\r\n\t\t\tlet elementHeight = getComputedStyle(element).height;\r\n\t\t\tif (isNaN(parseInt(elementHeight, 10))) {\r\n\t\t\t\treturn element.offsetHeight;\r\n\t\t\t} else {\r\n\t\t\t\treturn parseInt(elementHeight, 10);\r\n\t\t\t}\r\n\t\t},\r\n\t\tcalculateMeokCardsHeight() {\r\n\t\t\tthis.calculateAllCardsHeights(MEOK_CARD_SELECTOR);\r\n\t\t\tthis.calculateAllCardsHeights(MEOK_CARD_SELECTOR_GRAY_BACKGROUND);\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},\r\n\tmounted() {\r\n\t\tthis.$nextTick(() => {\r\n\t\t\tthis.calculateMeokCardsHeight();\r\n\t\t});\r\n\t\twindow.addEventListener('resize', this.calculateMeokCardsHeight);\r\n\t},\r\n\tbeforeDestroy() {\r\n\t\twindow.removeEventListener('resize', this.calculateMeokCardsHeight);\r\n\t}\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.isMobile)?_c(_setup.QrcodeVue,{attrs:{\"value\":_setup.qrCodeLink,\"size\":_vm.size,\"render-as\":\"svg\",\"class-name\":\"qr-code\"}}):_c('div',{staticClass:\"mevp-btn-container\"},[_c('a',{class:{ 'sf-btn': _vm.buttonText },attrs:{\"href\":_setup.qrCodeLink,\"target\":\"_blank\"}},[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.buttonText))]})],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!./qr-code.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!./qr-code.vue?vue&type=script&setup=true&lang=js\"","import { render, staticRenderFns } from \"./qr-code.vue?vue&type=template&id=1d1e13d0&lang=pug\"\nimport script from \"./qr-code.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./qr-code.vue?vue&type=script&setup=true&lang=js\"\nimport style0 from \"./qr-code.vue?vue&type=style&index=0&id=1d1e13d0&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 { computed, inject } from 'vue';\r\nimport eventBus from '../../common/js/event-bus/event-bus';\r\nimport QrCode from '../../common/components/qr-code/qr-code.vue';\r\n\r\nconst CONTAINER_SELECTORS = {\r\n\tHEADER_SELECTOR: '.mevp-card-header',\r\n\tTEXT_SELECTOR: '.mevp-card-text'\r\n};\r\n\r\nconst calculateItemHeights = () => {\r\n\tconst headers = document.querySelectorAll(CONTAINER_SELECTORS.HEADER_SELECTOR);\r\n\tconst texts = document.querySelectorAll(CONTAINER_SELECTORS.TEXT_SELECTOR);\r\n\treturn [headers, texts];\r\n};\r\n\r\nconst checkHeights = () => {\r\n\tconst elements = calculateItemHeights();\r\n\tfor (let i = 0; i < elements.length; i++) {\r\n\t\tfor (let j = 0; j < elements[i].length; j += 2) {\r\n\t\t\tif (elements[i][j + 1]) {\r\n\t\t\t\tconst firstElement = Number.parseInt(getComputedStyle(elements[i][j]).height, 10);\r\n\t\t\t\tconst secondElement = Number.parseInt(getComputedStyle(elements[i][j + 1]).height, 10);\r\n\t\t\t\tif (firstElement > secondElement) {\r\n\t\t\t\t\telements[i][j + 1].style.height = getComputedStyle(elements[i][j]).height;\r\n\t\t\t\t} else {\r\n\t\t\t\t\telements[i][j].style.height = getComputedStyle(elements[i][j + 1]).height;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tfor (let elementList of elements) {\r\n\t\tfor (let j = 0; j < elementList.length; j += 2) {\r\n\t\t\tif (elementList[j + 1]) {\r\n\t\t\t\tconst firstElement = Number.parseInt(getComputedStyle(elementList[j]).height, 10);\r\n\t\t\t\tconst secondElement = Number.parseInt(getComputedStyle(elementList[j + 1]).height, 10);\r\n\t\t\t\tif (firstElement > secondElement) {\r\n\t\t\t\t\telementList[j + 1].style.height = getComputedStyle(elementList[j]).height;\r\n\t\t\t\t} else {\r\n\t\t\t\t\telementList[j].style.height = getComputedStyle(elementList[j + 1]).height;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport default {\r\n\tprops: {\r\n\t\tisNewCustomer: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false\r\n\t\t}\r\n\t},\r\n\tcomponents: {\r\n\t\tQrCode\r\n\t},\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tdetailsOpened: false\r\n\t\t};\r\n\t},\r\n\tsetup() {\r\n\t\tconst userHasDszk = inject('userHasDszk');\r\n\t\tconst userHasDirekt = inject('userHasDirekt');\r\n\t\tconst noDirektOrDszk = computed(() => !userHasDszk.value && !userHasDirekt.value);\r\n\t\treturn {\r\n\t\t\tuserHasDirekt,\r\n\t\t\tuserHasDszk,\r\n\t\t\tnoDirektOrDszk\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\tfirstInDetails() {\r\n\t\t\treturn this.$el.querySelector('#mevp_0_details').firstChild;\r\n\t\t}\r\n\t},\r\n\twatch: {\r\n\t\tdetailsOpened(newVal) {\r\n\t\t\tif (!this.isMobile) {\r\n\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\tcheckHeights();\r\n\t\t\t\t\tif (newVal) {\r\n\t\t\t\t\t\tthis.firstInDetails.focus();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.$refs.details.focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tif (!this.isMobile) {\r\n\t\t\tcheckHeights();\r\n\t\t}\r\n\t\teventBus.$on('modal-opened', () => {\r\n\t\t\tthis.$nextTick(() => {\r\n\t\t\t\tcheckHeights();\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\tbeforeDestroy() {\r\n\t\teventBus.$off('modal-opened');\r\n\t}\r\n};\r\n","import tabs from '../../common/components/tabs/tabs.vue';\r\nimport videoPreview from '../../common/components/video-preview/video-preview.vue';\r\nimport videoPlayer from '../../common/components/video-player/video-player.vue';\r\nimport mevp from '../MEVP/mevp';\r\n\r\nexport default {\r\n\textends: tabs,\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tvideoIndex: null\r\n\t\t};\r\n\t},\r\n\tprops: {\r\n\t\tmodalId: {\r\n\t\t\trequired: true\r\n\t\t}\r\n\t},\r\n\tmethods: {\r\n\t\tsetVideoIndex(index) {\r\n\t\t\tthis.videoIndex = index;\r\n\t\t}\r\n\t},\r\n\twatch: {\r\n\t\tactiveTab() {\r\n\t\t\tthis.$nextTick(() => {\r\n\t\t\t\tlet elem = this.$refs.tablist.querySelector('li.mfch-tab-list__item.mfch-tab-list__item--active');\r\n\t\t\t\tlet scrollableElem = document.querySelector('.mfch-tab');\r\n\t\t\t\tlet scrollTo = this.isElementOutViewport(elem, scrollableElem);\r\n\t\t\t\tthis.$refs.tabContainer.scrollLeft -= scrollTo.left;\r\n\t\t\t\tthis.$refs.tabContainer.scrollLeft += scrollTo.right;\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\tcomponents: {\r\n\t\tvideoPreview,\r\n\t\tvideoPlayer,\r\n\t\tmevp\r\n\t}\r\n};\r\n","import Vue from 'vue';\r\nimport { VueAccordion, VueAccordionItem } from '@ui-common/vue-accordion';\r\nVue.component('VueAccordion', VueAccordion);\r\nVue.component('VueAccordionItem', VueAccordionItem);\r\nimport { mapState } from 'vuex';\r\nexport default {\r\n\tdata() {\r\n\t\treturn {};\r\n\t},\r\n\tcomputed: {\r\n\t\t...mapState('lahi', ['calculationLahiProductIdJsons'])\r\n\t}\r\n};\r\n","import mevp from '../MEVP/mevp';\r\nexport default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tdetailsOpened: false\r\n\t\t};\r\n\t},\r\n\tcomponents: {\r\n\t\tmevp\r\n\t}\r\n};\r\n","import messages from './mslc-lang.json';\r\nexport default {\r\n\ti18n: {\r\n\t\tmessages\r\n\t},\r\n\tdata() {\r\n\t\tconst vm = this;\r\n\t\treturn {\r\n\t\t\tslidesPerView: 0,\r\n\t\t\tslidesLength: 0,\r\n\t\t\tswiperOptions: {\r\n\t\t\t\ta11y: {\r\n\t\t\t\t\tprevSlideMessage: this.$t('previousPage'),\r\n\t\t\t\t\tnextSlideMessage: this.$t('nextPage'),\r\n\t\t\t\t\tfirstSlideMessage: this.$t('firstPage'),\r\n\t\t\t\t\tlastSlideMessage: this.$t('lastPage'),\r\n\t\t\t\t\tpaginationBulletMessage: this.$t('jumpToPage'),\r\n\t\t\t\t\tslideLabelMessage: this.$t('slideItemLabel')\r\n\t\t\t\t},\r\n\t\t\t\tslidesPerView: 1,\r\n\t\t\t\tspaceBetween: 16,\r\n\t\t\t\tbreakpoints: {\r\n\t\t\t\t\t768: {\r\n\t\t\t\t\t\tslidesPerView: 3,\r\n\t\t\t\t\t\tspaceBetween: 16\r\n\t\t\t\t\t},\r\n\t\t\t\t\t996: {\r\n\t\t\t\t\t\tslidesPerView: 3,\r\n\t\t\t\t\t\tspaceBetween: 32\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\ton: {\r\n\t\t\t\t\tbreakpoint(swiper, { slidesPerView }) {\r\n\t\t\t\t\t\tvm.slidesPerView = slidesPerView;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinit(swiper) {\r\n\t\t\t\t\t\tvm.slidesLength = swiper.slides.length;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tslidesUpdated(swiper) {\r\n\t\t\t\t\t\tvm.slidesLength = swiper.slides.length;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\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\thasPager() {\r\n\t\t\treturn this.slidesLength > this.slidesPerView;\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tconst swiperEl = this.$refs.swiper;\r\n\t\tconst navigationOptions = {\r\n\t\t\tpagination: {\r\n\t\t\t\tel: `.mslc__pagination__${swiperEl.id}`,\r\n\t\t\t\tclickable: true\r\n\t\t\t},\r\n\t\t\tnavigation: {\r\n\t\t\t\tnextEl: `.mslc__button-next__${swiperEl.id}`,\r\n\t\t\t\tprevEl: `.mslc__button-prev__${swiperEl.id}`\r\n\t\t\t}\r\n\t\t};\r\n\t\tObject.assign(swiperEl, this.swiperOptions, navigationOptions);\r\n\t\tswiperEl.initialize();\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","import videoPreview from 'common/components/video-preview/video-preview.vue';\r\n\r\nexport default {\r\n\tcomponents: {\r\n\t\tvideoPreview\r\n\t}\r\n};\r\n","import VueTab from '@ui-common/vue-tab';\r\nexport default {\r\n\tcomponents: {\r\n\t\tVueTab\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-accordion\"] = factory();\n\telse\n\t\troot[\"vue-accordion\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 965:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\n/**\n * Module dependencies.\n */\n\nvar trim = __webpack_require__(130);\n\n/**\n * Parse the given query `str`.\n *\n * @param {String} str\n * @return {Object}\n * @api public\n */\n\nexports.parse = function(str){\n if ('string' != typeof str) return {};\n\n str = trim(str);\n if ('' == str) return {};\n\n var obj = {};\n var pairs = str.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var parts = pairs[i].split('=');\n obj[parts[0]] = null == parts[1]\n ? ''\n : decodeURIComponent(parts[1]);\n }\n\n return obj;\n};\n\n/**\n * Stringify the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api public\n */\n\nexports.stringify = function(obj){\n if (!obj) return '';\n var pairs = [];\n for (var key in obj) {\n pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));\n }\n return pairs.join('&');\n};\n\n\n/***/ }),\n\n/***/ 130:\n/***/ ((module, exports) => {\n\nexports = module.exports = trim;\n\nfunction trim(str){\n if (str.trim) return str.trim();\n return exports.right(exports.left(str));\n}\n\nexports.left = function(str){\n if (str.trimLeft) return str.trimLeft();\n\n return str.replace(/^\\s\\s*/, '');\n};\n\nexports.right = function(str){\n if (str.trimRight) return str.trimRight();\n\n var whitespace_pattern = /\\s/,\n i = str.length;\n while (whitespace_pattern.test(str.charAt(--i)));\n\n return str.slice(0, i + 1);\n};\n\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/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 in strict mode.\n(() => {\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n VueAccordion: () => (/* reexport */ VueAccordion),\n VueAccordionItem: () => (/* reexport */ VueAccordionItem)\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/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordion.vue?vue&type=template&id=759cd74a&lang=pug&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"el-collapse\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\n\n// EXTERNAL MODULE: ../../node_modules/querystring-component/index.js\nvar querystring_component = __webpack_require__(965);\n;// CONCATENATED MODULE: ../../node_modules/mitt/dist/mitt.mjs\n/* harmony default export */ function mitt(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordion.vue?vue&type=script&lang=js&\n\n\n\n/* harmony default export */ const VueAccordionvue_type_script_lang_js_ = ({\n\tname: 'VueAccordion',\n\tdata() {\n\t\treturn {\n\t\t\tactiveNames: [].concat(this.value),\n\t\t\temitter: null\n\t\t};\n\t},\n\tprops: {\n\t\tariaControls: {\n\t\t\trequired: false\n\t\t},\n\t\tid: {\n\t\t\trequired: false,\n\t\t\ttype: String,\n\t\t\tdefault: 'accordion-module'\n\t\t},\n\t\taccordion: Boolean,\n\t\tvalue: {\n\t\t\ttype: [Array, String, Number],\n\t\t\tdefault() {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\t},\n\n\tprovide() {\n\t\treturn {\n\t\t\tcollapse: this,\n\t\t\tgetEmitter: () => this.emitter\n\t\t};\n\t},\n\twatch: {\n\t\tvalue(value) {\n\t\t\tthis.activeNames = [].concat(value);\n\t\t}\n\t},\n\n\tmethods: {\n\t\tactiveAccordionItemByUrl() {\n\t\t\tconst params = querystring_component.parse(window.location.search.substring(1));\n\t\t\tconst accordionIndexParam = params[`${this.id}-index`];\n\t\t\tif (typeof accordionIndexParam != 'undefined') {\n\t\t\t\tthis.setActiveNames(accordionIndexParam);\n\t\t\t}\n\t\t},\n\t\tsetActiveNames(activeNames) {\n\t\t\tactiveNames = [].concat(activeNames);\n\t\t\tlet value = this.accordion ? activeNames[0] : activeNames;\n\t\t\tthis.activeNames = activeNames;\n\t\t\tthis.$emit('input', value);\n\t\t\tthis.$emit('change', value);\n\t\t},\n\t\thandleItemClick(item) {\n\t\t\tif (this.accordion) {\n\t\t\t\tthis.setActiveNames((this.activeNames[0] || this.activeNames[0] === 0) && this.activeNames[0] === item.name ? '' : item.name);\n\t\t\t} else {\n\t\t\t\tlet activeNames = this.activeNames.slice(0);\n\t\t\t\tlet index = activeNames.indexOf(item.computedName);\n\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tactiveNames.splice(index, 1);\n\t\t\t\t} else {\n\t\t\t\t\tactiveNames.push(item.computedName);\n\t\t\t\t}\n\t\t\t\tthis.setActiveNames(activeNames);\n\t\t\t}\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.emitter = mitt();\n\t\tthis.emitter.on('item-click', this.handleItemClick);\n\t\tthis.activeAccordionItemByUrl();\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueAccordion.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueAccordionvue_type_script_lang_js_ = (VueAccordionvue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-59.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-59.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-59.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-59.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordion.vue?vue&type=style&index=0&id=759cd74a&prod&lang=scss&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueAccordion.vue?vue&type=style&index=0&id=759cd74a&prod&lang=scss&\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/VueAccordion.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueAccordionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* harmony default export */ const VueAccordion = (component.exports);\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../node_modules/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordionItem.vue?vue&type=template&id=b4a14ae2&lang=pug&\nvar VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm.rootClass,attrs:{\"name\":_vm.ariaControls}},[_c('h' + _vm.headingLevel,{tag:\"component\",staticClass:\"sf-accordion__heading\",on:{\"click\":_vm.handleAccordionHeadingClick}},[_c('button',{staticClass:\"sf-accordion__btn\",attrs:{\"aria-controls\":_vm.ariaControls,\"aria-expanded\":_vm.isActive.toString(),\"id\":_vm.uuid}},[_vm._t(\"img\"),_vm._t(\"title\"),_vm._t(\"subtitle\"),_c('svg',{staticClass:\"sf-accordion__chevron\",attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M4 9L12 17L20 9\",\"stroke\":\"#52AE30\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})])],2)]),_c('transition',{attrs:{\"name\":\"sf-accordion__animation\"}},[(_vm.isActive)?_c('div',{staticClass:\"sf-accordion__content el-collapse-item-content\",attrs:{\"role\":\"region\",\"aria-hidden\":(!_vm.isActive).toString(),\"id\":_vm.ariaControls,\"aria-labelledby\":_vm.uuid}},[_vm._t(\"default\")],2):_vm._e()])],1)\n}\nvar VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_staticRenderFns = []\n\n\n;// CONCATENATED MODULE: ../../node_modules/@ui-common/sf-js-utils/dist/sf-js-utils.esm.js\nvar t=Object.freeze({__proto__:null,ADDRESS_CARD:\"^\\\\d{6}[a-zA-Z]{2}$\",ALL_PHONE:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\",\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\"],BANK_ACCOUNT_SIXTEEN_NUMBERS:\"^\\\\d{8}-\\\\d{8}$\",BANK_ACCOUNT_THIRTEEN_NUMBERS:\"^\\\\d{5}-\\\\d{8}$\",BANK_ACCOUNT_TWENTY_FOUR_NUMBERS:\"^\\\\d{8}-\\\\d{8}-\\\\d{8}$\",DATE_SEPARATORS:/[.,\\/ -]/,DEVIZA_BANK_ACCOUNT_NUMBER_PATTERN:\"^75\\\\d{3}-\\\\d{5}88\\\\d$\",FOREIGN_PHONE_REGEX:/^\\d{1,3}-\\d{1,10}$/,FOREIGN_ZIP_CODE:/^[\\da-zA-Z]{1,10}$/g,FULLNAME:\"^(.+[ ].+)$|^$\",HEX:/#[0-9a-fA-F]{6}/,IDENTITYS:{\"personal-id\":\"^\\\\d{6}[a-zA-Z]{2}$\",\"drivers-license\":\"^[a-zA-Z]{2}\\\\d{6}$\",passport:\"[a-zA-Z]{2}\\\\d{7}$\"},IOS:/ipad|iphone/i,LANDLINE_PHONES:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\"],LAST_FOUR_DIGITS:/^\\d{4}$/,MOBILE_PHONE:\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\",NAME:\"^[\\\\p{L}\\\\s\\\\.\\\\-\\\\']*$\",PENSIONER_NUMBER:\"^\\\\d{3}-\\\\d{5}-\\\\d{1}$\",TAX_NUMBER:\"^\\\\d{8}-\\\\d{1}-\\\\d{2}$\",YEAR:\"^\\\\d{4}$\",ZIP_CODE:\"^\\\\d{4}$\"});var e=Object.freeze({__proto__:null,HUNGARIAN_PHONE_NUMBER_PREFIX:\"+36\",OTP_BANK_ACCOUNT_NUMBER_PREFIX:\"117\"});var r=Object.freeze({__proto__:null,COOKIE_GDPR_LEVEL:\"gdpr_level\",GDPR_LEVELS:{LOW:1,MEDIUM:2,HIGH:3}});var d=Object.freeze({__proto__:null,BACKEND_DATE:\"YYYY-MM-DD\",DISPLAY_DATE:{hu:\"YYYY.MM.DD.\",en:\"MM/DD/YYYY\"},DISPLAY_TIME:{hu:\"HH:mm\",en:\"hh:mm A\"}});function i(){window.onkeydown=function(t){\"Space\"===t.code&&t.target==document.body&&t.preventDefault()}}function o(t){for(var e=0,r=0;t;){if(\"BODY\"==t.tagName){var d=t.scrollLeft||document.documentElement.scrollLeft,i=t.scrollTop||document.documentElement.scrollTop;e+=t.offsetLeft-d+t.clientLeft,r+=t.offsetTop-i+t.clientTop}else e+=t.offsetLeft-t.scrollLeft+t.clientLeft,r+=t.offsetTop-t.scrollTop+t.clientTop;t=t.offsetParent}return{x:e,y:r}}function s(t){let e=[],r=t.parentNode.firstChild;for(;r;)1===r.nodeType&&r!==t&&e.push(r),r=r.nextSibling;return e}function n(t,e,r){return r=r?parseInt(r,10):0,\"number\"==typeof e?t.slice(r,r+e):t}function p(t){return void 0!==t&&null!=t?Math.floor(t/12)+\" év\":\"\"}const u=767,_=959,h=1279;var a={data:()=>({viewportWidth:null}),methods:{setViewportWidth(){this.viewportWidth=window.innerWidth}},computed:{isMobile(){return this.viewportWidth<=u},isTablet(){return this.viewportWidth>u&&this.viewportWidth<_},isDesktop(){return this.viewportWidth>_&&this.viewportWidthh}},created(){window.addEventListener(\"resize\",this.setViewportWidth),this.setViewportWidth()},mounted(){this.setViewportWidth()},beforeDestroy(){window.removeEventListener(\"resize\",this.setViewportWidth)}},E=(t=8)=>{let e=\"\";const r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";for(let d=0;d -1;\n\t\t},\n\t\trootClass() {\n\t\t\tlet rootClass = this.isActive ? 'sf-accordion sf-accordion--active el-collapse-item' : 'sf-accordion el-collapse-item';\n\t\t\trootClass += this.$slots.img ? ' sf-accordion--extended' : '';\n\t\t\trootClass += this.inverse ? ' sf-accordion--inverse' : '';\n\t\t\treturn rootClass;\n\t\t}\n\t},\n\tmethods: {\n\t\taddGtmEvent() {\n\t\t\tif (this.gtmEvent && this.isActive) {\n\t\t\t\tthis.$gtm.trackEvent({\n\t\t\t\t\tevent: this.gtmEvent\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thandleAccordionHeadingClick(e) {\n\t\t\te.preventDefault();\n\t\t\tthis.handleHeaderClick();\n\t\t\tthis.addGtmEvent();\n\t\t},\n\t\thandleFocus() {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!this.isClick) {\n\t\t\t\t\tthis.focusing = true;\n\t\t\t\t} else {\n\t\t\t\t\tthis.isClick = false;\n\t\t\t\t}\n\t\t\t}, 50);\n\t\t},\n\t\thandleHeaderClick() {\n\t\t\tthis.getEmitter().emit('item-click', this);\n\t\t\tthis.focusing = false;\n\t\t\tthis.isClick = true;\n\t\t},\n\t\thandleEnterClick() {\n\t\t\tthis.getEmitter().emit('item-click', this);\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.computedName = this.name || this.uuid;\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueAccordionItem.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueAccordionItemvue_type_script_lang_js_ = (VueAccordionItemvue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-59.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-59.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-59.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-59.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordionItem.vue?vue&type=style&index=0&id=b4a14ae2&prod&lang=scss&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueAccordionItem.vue?vue&type=style&index=0&id=b4a14ae2&prod&lang=scss&\n\n;// CONCATENATED MODULE: ./src/components/VueAccordionItem.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar VueAccordionItem_component = normalizeComponent(\n components_VueAccordionItemvue_type_script_lang_js_,\n VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_render,\n VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* harmony default export */ const VueAccordionItem = (VueAccordionItem_component.exports);\n;// CONCATENATED MODULE: ./src/components-export.js\n\n\n\n\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js\n\n\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-accordion.umd.js.map","(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","(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-tab\"] = factory();\n\telse\n\t\troot[\"vue-tab\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 626:\n/***/ (function(module) {\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \t// The require scope\n/******/ \tvar __nested_webpack_require_524__ = {};\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__nested_webpack_require_524__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__nested_webpack_require_524__.o(definition, key) && !__nested_webpack_require_524__.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__nested_webpack_require_524__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/publicPath */\n/******/ \t(() => {\n/******/ \t\t__nested_webpack_require_524__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __nested_webpack_exports__ = {};\n\n// EXPORTS\n__nested_webpack_require_524__.d(__nested_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 __nested_webpack_require_524__.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/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTablePager.vue?vue&type=template&id=105fceb1&scoped=true&lang=pug&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sf-table-pager\",class:`sf-table-pager--${_vm.backgroundColor}`},[_c('button',{staticClass:\"sf-table-pager__btn sf-table-pager__btn--prev\",attrs:{\"title\":_vm.$t('prevLabel'),\"aria-label\":_vm.$t('prevLabel'),\"type\":\"button\",\"disabled\":_vm.isPrevDisabled},on:{\"click\":_vm.handleMoveToPrev}},[_c('span',{staticClass:\"sr-only\"},[_vm._t(\"prev-label\",function(){return [_vm._v(_vm._s(_vm.$t('prevLabel')))]})],2)]),_c('div',{staticClass:\"sf-table-pager__heading\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[_vm._l((_vm.columns),function(column,index){return [(_vm.activeColumn == column)?[_vm._t(column)]:_vm._e()]})],2),_c('button',{staticClass:\"sf-table-pager__btn sf-table-pager__btn--next\",attrs:{\"title\":_vm.$t('nextLabel'),\"aria-label\":_vm.$t('nextLabel'),\"type\":\"button\",\"disabled\":_vm.isNextDisabled},on:{\"click\":_vm.handleMoveToNext}},[_c('span',{staticClass:\"sr-only\"},[_vm._t(\"next-label\",function(){return [_vm._v(_vm._s(_vm.$t('nextLabel')))]})],2)])])\n}\nvar staticRenderFns = []\n\n\n;// CONCATENATED MODULE: ./src/components/VueTablePager.lang.json\nconst VueTablePager_lang_namespaceObject = JSON.parse('{\"en\":{\"prevLabel\":\"Previous Item\",\"nextLabel\":\"Next Item\"},\"hu\":{\"prevLabel\":\"Previous Item\",\"nextLabel\":\"Next Item\"}}');\n;// CONCATENATED MODULE: ./src/components/constants.js\nconst BGCOLOR = {\r\n\tGRAY: 'gray',\r\n\tWHITE: 'white'\r\n};\r\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTablePager.vue?vue&type=script&lang=js&\n\n\n\n\n/* harmony default export */ const VueTablePagervue_type_script_lang_js_ = ({\n\tname: 'VueTablePager',\n\tdata: () => ({\n\t\tcolumns: [],\n\t\tcurrentColumn: 0,\n\t\tactiveColumn: null\n\t}),\n\tprops: {\n\t\t/**\n\t\t * @model\n\t\t */\n\t\tvalue: {\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Sets the background color\n\t\t * @values gray, white\n\t\t */\n\t\tbackgroundColor: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: BGCOLOR.GRAY,\n\t\t\tvalidator(val) {\n\t\t\t\treturn Object.values(BGCOLOR).includes(val);\n\t\t\t}\n\t\t}\n\t},\n\ti18n: { messages: VueTablePager_lang_namespaceObject },\n\twatch: {\n\t\tactiveColumn(val) {\n\t\t\tthis.$emit('input', val);\n\t\t},\n\t\tvalue: {\n\t\t\thandler(val) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.activeColumn = val;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.columns && this.columns.length) {\n\t\t\t\t\t\tthis.activeColumn = this.columns[0];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\timmediate: true\n\t\t},\n\t\tcolumns(val) {\n\t\t\tif (val && val.length && this.activeColumn == null) {\n\t\t\t\tthis.activeColumn = this.columns[0];\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\thandleMoveToPrev() {\n\t\t\tif (!this.isPrevDisabled) {\n\t\t\t\tthis.activeColumn = this.columns[this.indexOfActiveColumn - 1];\n\t\t\t}\n\t\t},\n\t\thandleMoveToNext() {\n\t\t\tif (!this.isNextDisabled) {\n\t\t\t\tthis.activeColumn = this.columns[this.indexOfActiveColumn + 1];\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\tnumberOfColumns() {\n\t\t\treturn this.columns.length;\n\t\t},\n\t\tindexOfActiveColumn() {\n\t\t\treturn this.columns.indexOf(this.activeColumn);\n\t\t},\n\t\tisPrevDisabled() {\n\t\t\treturn !this.indexOfActiveColumn;\n\t\t},\n\t\tisNextDisabled() {\n\t\t\treturn this.indexOfActiveColumn + 1 == this.numberOfColumns;\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.columns = Object.keys(this.$slots);\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueTablePager.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueTablePagervue_type_script_lang_js_ = (VueTablePagervue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-58.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-58.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-58.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-58.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTablePager.vue?vue&type=style&index=0&id=105fceb1&prod&scoped=true&lang=scss&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueTablePager.vue?vue&type=style&index=0&id=105fceb1&prod&scoped=true&lang=scss&\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/VueTablePager.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueTablePagervue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n \"105fceb1\",\n null\n \n)\n\n/* harmony default export */ const VueTablePager = (component.exports);\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (VueTablePager);\n\n\n__nested_webpack_exports__ = __nested_webpack_exports__[\"default\"];\n/******/ \treturn __nested_webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-table-pager.umd.js.map\n\n/***/ }),\n\n/***/ 965:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\n/**\n * Module dependencies.\n */\n\nvar trim = __webpack_require__(130);\n\n/**\n * Parse the given query `str`.\n *\n * @param {String} str\n * @return {Object}\n * @api public\n */\n\nexports.parse = function(str){\n if ('string' != typeof str) return {};\n\n str = trim(str);\n if ('' == str) return {};\n\n var obj = {};\n var pairs = str.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var parts = pairs[i].split('=');\n obj[parts[0]] = null == parts[1]\n ? ''\n : decodeURIComponent(parts[1]);\n }\n\n return obj;\n};\n\n/**\n * Stringify the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api public\n */\n\nexports.stringify = function(obj){\n if (!obj) return '';\n var pairs = [];\n for (var key in obj) {\n pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));\n }\n return pairs.join('&');\n};\n\n\n/***/ }),\n\n/***/ 130:\n/***/ ((module, exports) => {\n\nexports = module.exports = trim;\n\nfunction trim(str){\n if (str.trim) return str.trim();\n return exports.right(exports.left(str));\n}\n\nexports.left = function(str){\n if (str.trimLeft) return str.trimLeft();\n\n return str.replace(/^\\s\\s*/, '');\n};\n\nexports.right = function(str){\n if (str.trimRight) return str.trimRight();\n\n var whitespace_pattern = /\\s/,\n i = str.length;\n while (whitespace_pattern.test(str.charAt(--i)));\n\n return str.slice(0, i + 1);\n};\n\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].call(module.exports, 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/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 in strict mode.\n(() => {\n\"use strict\";\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/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTab.vue?vue&type=template&id=c3044fec&scoped=true&lang=pug&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sf-tab\",class:`sf-tab--${_vm.backgroundColor} ${_vm.layoutType != 'default' ? 'sf-tab--' + _vm.layoutType : ''}`},[(_vm.isMobile)?[(_vm.mobileView == _vm.MOBILE_VIEWS.SELECT)?_c('div',{staticClass:\"sf-tab__select-wrapper\"},[_c('select',{staticClass:\"sf-tab__select\",class:[_vm.selectColor ? _vm.setSelectColor : ''],attrs:{\"role\":\"tablist\",\"aria-label\":_vm.label ? _vm.label : false},on:{\"change\":function($event){return _vm.handleTabChangeOnClick($event.target.value)}}},_vm._l((_vm.tabNames),function(tabIndex,index){return _c('option',{key:'mobile-select-' + _vm.uuid + '-' + index,attrs:{\"role\":\"tab\",\"aria-selected\":_vm.activeTabIndex == index ? 'true' : 'false',\"aria-controls\":'sf-tab-panel-' + _vm.uuid + '-' + index,\"id\":'sf-tab-head-' + _vm.uuid + '-' + index},domProps:{\"value\":index,\"selected\":_vm.activeTabIndex == index}},[_vm._t('tab-head-' + tabIndex)],2)}),0),_c('svg',{staticClass:\"sf-tab__select-icon\",attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M4 9L12 17L20 9\",\"stroke\":\"#52AE30\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})])]):_vm._e(),(_vm.mobileView == _vm.MOBILE_VIEWS.PAGER)?_c('div',{staticClass:\"sf-tab__pager-wrapper\"},[_c('VueTablePager',{attrs:{\"backgroundColor\":\"white\"},model:{value:(_vm.selectedMobilePage),callback:function ($$v) {_vm.selectedMobilePage=$$v},expression:\"selectedMobilePage\"}},[_vm._l((_vm.tabNames),function(tabIndex,index){return _vm._t('tab-head-' + tabIndex,null,{\"slot\":'tab-head-' + tabIndex})})],2)],1):_vm._e(),(_vm.mobileView == _vm.MOBILE_VIEWS.PILLS)?_c('div',{staticClass:\"sf-tab-pills__wrapper\"},[_c('div',{staticClass:\"sf-tab-pills__active-tab\",style:({ width: _vm.activeTabWidth, left: _vm.activeTabTranslateLeft })}),_c('ul',{staticClass:\"sf-tab-pills__head\",attrs:{\"role\":\"tablist\",\"aria-label\":_vm.label ? _vm.label : false}},_vm._l((_vm.tabNames),function(tabIndex,index){return _c('li',{key:'mobile-pills-' + _vm.uuid + '-' + index,ref:\"tab-head\",refInFor:true,staticClass:\"sf-tab-pills__head-item\",class:{ 'sf-tab-pills__head-item--active': _vm.activeTabIndex == index },style:({ 'flex-basis': _vm.activeTabWidth }),attrs:{\"role\":\"tab\",\"tabindex\":_vm.activeTabIndex == index ? 0 : -1,\"aria-selected\":_vm.activeTabIndex == index ? 'true' : 'false',\"aria-controls\":'sf-tab-panel-' + _vm.uuid + '-' + index,\"id\":'sf-tab-head-' + _vm.uuid + '-' + index},on:{\"click\":function($event){return _vm.handleTabChangeOnClick(index)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;return _vm.handleMoveToRight.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;return _vm.handleMoveToLeft.apply(null, arguments)}]}},[_c('span',{staticClass:\"sf-tab-pills__head-item-inner\"},[_vm._t('tab-head-' + tabIndex)],2)])}),0)]):_vm._e()]:_vm._e(),(!_vm.isMobile)?[(_vm.desktopView == _vm.DESKTOP_VIEWS.TAB)?_c('ul',{staticClass:\"sf-tab__head\",class:_vm.tabHeadItemPadding.includes('large') ? 'sf-tab__head--page-level' : '',attrs:{\"role\":\"tablist\",\"aria-label\":_vm.label ? _vm.label : false}},_vm._l((_vm.tabNames),function(tabIndex,index){return _c('li',{key:'desktop-head-' + _vm.uuid + '-' + index,ref:\"tab-head\",refInFor:true,staticClass:\"sf-tab__head-item\",class:[{ 'sf-tab__head-item--active': _vm.activeTabIndex == index }, _vm.tabHeadItemPadding == 'small-compact' ? 'sf-tab__head-item--compact' : _vm.tabHeadItemPadding == 'medium-large' ? 'sf-tab__head-item--page-level' : _vm.tabHeadItemPadding == 'large' ? 'sf-tab__head-item--page-level-large' : ''],attrs:{\"role\":\"tab\",\"tabindex\":_vm.activeTabIndex == index ? 0 : -1,\"aria-selected\":_vm.activeTabIndex == index ? 'true' : 'false',\"aria-controls\":'sf-tab-panel-' + _vm.uuid + '-' + index,\"id\":'sf-tab-head-' + _vm.uuid + '-' + index},on:{\"click\":function($event){return _vm.handleTabChangeOnClick(index)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;return _vm.handleMoveToRight.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;return _vm.handleMoveToLeft.apply(null, arguments)}]}},[(_vm.activeTabIndex === index && _vm.activeTabIndex != 0)?_c('div',{staticClass:\"sf-tabs__tab-head-corner sf-tabs__tab-head-corner--left\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),(_vm.activeTabIndex === index || _vm.tabNames.length - 1 === index)?_c('div',{staticClass:\"sf-tabs__tab-head-corner sf-tabs__tab-head-corner--right\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_c('div',{staticClass:\"sf-tab__head-item-inner\"},[_vm._t('tab-head-' + tabIndex)],2)])}),0):_vm._e(),(_vm.desktopView == _vm.DESKTOP_VIEWS.PILLS)?_c('div',{staticClass:\"sf-tab-pills__wrapper\"},[_c('div',{staticClass:\"sf-tab-pills__active-tab\",style:({ width: _vm.activeTabWidth, left: _vm.activeTabTranslateLeft })}),_c('ul',{staticClass:\"sf-tab-pills__head\",attrs:{\"role\":\"tablist\",\"aria-label\":_vm.label ? _vm.label : false}},_vm._l((_vm.tabNames),function(tabIndex,index){return _c('li',{key:index,ref:\"tab-head\",refInFor:true,staticClass:\"sf-tab-pills__head-item\",class:{ 'sf-tab-pills__head-item--active': _vm.activeTabIndex == index },style:({ 'flex-basis': _vm.activeTabWidth }),attrs:{\"role\":\"tab\",\"tabindex\":_vm.activeTabIndex == index ? 0 : -1,\"aria-controls\":'sf-tab-panel-' + _vm.uuid + '-' + index,\"aria-selected\":_vm.activeTabIndex == index ? 'true' : 'false',\"id\":'sf-tab-head-' + _vm.uuid + '-' + index},on:{\"click\":function($event){return _vm.handleTabChangeOnClick(index)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;return _vm.handleMoveToRight.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;return _vm.handleMoveToLeft.apply(null, arguments)}]}},[_c('span',{staticClass:\"sf-tab-pills__head-item-inner\"},[_vm._t('tab-head-' + tabIndex)],2)])}),0)]):_vm._e()]:_vm._e(),_vm._l((_vm.tabNames),function(tabIndex,index){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTabIndex == index),expression:\"activeTabIndex == index\"}],key:'panel-' + _vm.uuid + '-' + index,staticClass:\"sf-tab__panel\",class:[{ 'sf-tab__panel--first-active': _vm.activeTabIndex == 0 }, { 'sf-tab__panel--has-padding': _vm.hasPadding }],attrs:{\"role\":\"tabpanel\",\"tabindex\":\"0\",\"id\":'sf-tab-panel-' + _vm.uuid + '-' + index,\"aria-labelledby\":'sf-tab-head-' + _vm.uuid + '-' + index}},[_vm._t('tab-panel-' + tabIndex)],2)})],2)\n}\nvar staticRenderFns = []\n\n\n// EXTERNAL MODULE: ../../node_modules/querystring-component/index.js\nvar querystring_component = __webpack_require__(965);\n;// CONCATENATED MODULE: ../../node_modules/@ui-common/sf-js-utils/dist/sf-js-utils.esm.js\nvar t=Object.freeze({__proto__:null,ADDRESS_CARD:\"^\\\\d{6}[a-zA-Z]{2}$\",ALL_PHONE:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\",\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\"],BANK_ACCOUNT_SIXTEEN_NUMBERS:\"^\\\\d{8}-\\\\d{8}$\",BANK_ACCOUNT_THIRTEEN_NUMBERS:\"^\\\\d{5}-\\\\d{8}$\",BANK_ACCOUNT_TWENTY_FOUR_NUMBERS:\"^\\\\d{8}-\\\\d{8}-\\\\d{8}$\",DATE_SEPARATORS:/[.,\\/ -]/,DEVIZA_BANK_ACCOUNT_NUMBER_PATTERN:\"^75\\\\d{3}-\\\\d{5}88\\\\d$\",FOREIGN_PHONE_REGEX:/^\\d{1,3}-\\d{1,10}$/,FOREIGN_ZIP_CODE:/^[\\da-zA-Z]{1,10}$/g,FULLNAME:\"^(.+[ ].+)$|^$\",HEX:/#[0-9a-fA-F]{6}/,IDENTITYS:{\"personal-id\":\"^\\\\d{6}[a-zA-Z]{2}$\",\"drivers-license\":\"^[a-zA-Z]{2}\\\\d{6}$\",passport:\"[a-zA-Z]{2}\\\\d{7}$\"},IOS:/ipad|iphone/i,LANDLINE_PHONES:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\"],LAST_FOUR_DIGITS:/^\\d{4}$/,MOBILE_PHONE:\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\",NAME:\"^[\\\\p{L}\\\\s\\\\.\\\\-\\\\']*$\",PENSIONER_NUMBER:\"^\\\\d{3}-\\\\d{5}-\\\\d{1}$\",TAX_NUMBER:\"^\\\\d{8}-\\\\d{1}-\\\\d{2}$\",YEAR:\"^\\\\d{4}$\",ZIP_CODE:\"^\\\\d{4}$\"});var e=Object.freeze({__proto__:null,HUNGARIAN_PHONE_NUMBER_PREFIX:\"+36\",OTP_BANK_ACCOUNT_NUMBER_PREFIX:\"117\"});var r=Object.freeze({__proto__:null,COOKIE_GDPR_LEVEL:\"gdpr_level\",GDPR_LEVELS:{LOW:1,MEDIUM:2,HIGH:3}});var d=Object.freeze({__proto__:null,BACKEND_DATE:\"YYYY-MM-DD\",DISPLAY_DATE:{hu:\"YYYY.MM.DD.\",en:\"MM/DD/YYYY\"},DISPLAY_TIME:{hu:\"HH:mm\",en:\"hh:mm A\"}});function i(){window.onkeydown=function(t){\"Space\"===t.code&&t.target==document.body&&t.preventDefault()}}function o(t){for(var e=0,r=0;t;){if(\"BODY\"==t.tagName){var d=t.scrollLeft||document.documentElement.scrollLeft,i=t.scrollTop||document.documentElement.scrollTop;e+=t.offsetLeft-d+t.clientLeft,r+=t.offsetTop-i+t.clientTop}else e+=t.offsetLeft-t.scrollLeft+t.clientLeft,r+=t.offsetTop-t.scrollTop+t.clientTop;t=t.offsetParent}return{x:e,y:r}}function s(t){let e=[],r=t.parentNode.firstChild;for(;r;)1===r.nodeType&&r!==t&&e.push(r),r=r.nextSibling;return e}function n(t,e,r){return r=r?parseInt(r,10):0,\"number\"==typeof e?t.slice(r,r+e):t}function p(t){return void 0!==t&&null!=t?Math.floor(t/12)+\" év\":\"\"}const u=767,_=959,h=1279;var a={data:()=>({viewportWidth:null}),methods:{setViewportWidth(){this.viewportWidth=window.innerWidth}},computed:{isMobile(){return this.viewportWidth<=u},isTablet(){return this.viewportWidth>u&&this.viewportWidth<_},isDesktop(){return this.viewportWidth>_&&this.viewportWidthh}},created(){window.addEventListener(\"resize\",this.setViewportWidth),this.setViewportWidth()},mounted(){this.setViewportWidth()},beforeDestroy(){window.removeEventListener(\"resize\",this.setViewportWidth)}},E=(t=8)=>{let e=\"\";const r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";for(let d=0;d ({\n\t\tactiveTabIndex: 0,\n\t\tselectedMobilePage: null,\n\t\ttabNames: [],\n\t\tobserver: null\n\t}),\n\tprops: {\n\t\t/**\n\t\t * Id of the tabs\n\t\t */\n\t\tid: {\n\t\t\trequired: false,\n\t\t\ttype: String,\n\t\t\tdefault: 'tab-module'\n\t\t},\n\t\t/**\n\t\t * Label (aria-label) of the tabs\n\t\t */\n\t\tlabel: {\n\t\t\trequired: false,\n\t\t\ttype: String\n\t\t},\n\t\t/**\n\t\t * Specify the number of the initial active tab\n\t\t */\n\t\tinitTabIndex: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * Background color of the tab-head & tab-content\n\t\t */\n\t\tbackgroundColor: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'gray',\n\t\t\tvalidator(val) {\n\t\t\t\treturn BGCOLOR.includes(val);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Background color of select on mobile\n\t\t */\n\t\tselectColor: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tvalidator(val) {\n\t\t\t\treturn SELECT_COLOR.includes(val);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specify whether the content has padding or not\n\t\t */\n\t\thasPadding: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * Specify layout type on mobile (normal / inner tab)\n\t\t */\n\t\tlayoutType: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: LAYOUT_TYPE.DEFAULT\n\t\t},\n\t\t/**\n\t\t * Padding of the tab-head-item\n\t\t */\n\t\ttabHeadItemPadding: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'medium-normal',\n\t\t\tvalidator(val) {\n\t\t\t\treturn TAB_HEAD_PADDING.includes(val);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * How to display the tab heads on mobile screens\n\t\t */\n\t\tmobileView: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'select',\n\t\t\tvalidator(val) {\n\t\t\t\treturn Object.values(MOBILE_VIEWS).includes(val);\n\t\t\t}\n\t\t},\n\t\tdesktopView: {\n\t\t\tdefault: 'tab',\n\t\t\tvalidator(val) {\n\t\t\t\treturn Object.values(DESKTOP_VIEWS).includes(val);\n\t\t\t}\n\t\t}\n\t},\n\tmixins: [a, l],\n\twatch: {\n\t\tactiveTabIndex(val) {\n\t\t\tthis.$emit('change', val);\n\t\t\tif (this.mobileView == 'pager') {\n\t\t\t\tthis.selectedMobilePage = `tab-head-${val}`;\n\t\t\t}\n\t\t},\n\t\tselectedMobilePage: {\n\t\t\thandler(val) {\n\t\t\t\tthis.activeTabIndex = this.columns.indexOf(val);\n\t\t\t},\n\t\t\timmediate: true\n\t\t}\n\t},\n\tmethods: {\n\t\thandleTabChangeOnClick(index) {\n\t\t\tthis.activeTabIndex = parseInt(index, 10);\n\t\t},\n\t\thandleMoveToLeft() {\n\t\t\tif (this.activeTabIndex != 0) {\n\t\t\t\tthis.$refs['tab-head'][this.activeTabIndex - 1].focus();\n\t\t\t\tthis.activeTabIndex--;\n\t\t\t} else {\n\t\t\t\tthis.$refs['tab-head'][this.tabNames.length - 1].focus();\n\t\t\t\tthis.activeTabIndex = this.tabNames.length - 1;\n\t\t\t}\n\t\t},\n\t\thandleMoveToRight() {\n\t\t\tif (this.activeTabIndex + 1 !== this.tabNames.length) {\n\t\t\t\tthis.$refs['tab-head'][this.activeTabIndex + 1].focus();\n\t\t\t\tthis.activeTabIndex++;\n\t\t\t} else {\n\t\t\t\tthis.$refs['tab-head'][0].focus();\n\t\t\t\tthis.activeTabIndex = 0;\n\t\t\t}\n\t\t},\n\t\tinitObserver() {\n\t\t\tconst config = {\n\t\t\t\tsubtree: true,\n\t\t\t\tchildList: true\n\t\t\t};\n\t\t\tconst vm = this;\n\t\t\tconst callback = () => {\n\t\t\t\tvm.$nextTick(() => {\n\t\t\t\t\tthis.tabNames = Object.keys(this.$slots)\n\t\t\t\t\t\t.filter((slot) => slot.includes('tab-panel'))\n\t\t\t\t\t\t.map((slotName) => slotName.split('-').pop());\n\t\t\t\t\tif (this.activeTabIndex >= this.tabNames.length) {\n\t\t\t\t\t\tthis.activeTabIndex = this.tabNames.length - 1;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t\tconst observer = new MutationObserver(callback);\n\t\t\tobserver.observe(this.$el, config);\n\t\t\tthis.observer = observer;\n\t\t}\n\t},\n\tcomponents: {\n\t\tVueTablePager: (vue_table_pager_umd_default())\n\t},\n\tcomputed: {\n\t\tMOBILE_VIEWS: () => MOBILE_VIEWS,\n\t\tDESKTOP_VIEWS: () => DESKTOP_VIEWS,\n\t\tcolumns() {\n\t\t\treturn Object.keys(this.$slots).filter((slot) => slot.startsWith('tab-head'));\n\t\t},\n\t\tsetSelectColor() {\n\t\t\treturn 'sf-tab__select--' + this.selectColor;\n\t\t},\n\t\tactiveTabWidth() {\n\t\t\treturn `${100 / this.tabNames.length}%`;\n\t\t},\n\t\tactiveTabTranslateLeft() {\n\t\t\treturn `${(100 / this.tabNames.length) * this.activeTabIndex}%`;\n\t\t}\n\t},\n\tcreated() {\n\t\tconst params = querystring_component.parse(window.location.search.substring(1));\n\t\tconst tabIndexParam = params[`${this.id}-index`] && parseInt(params[`${this.id}-index`], 10);\n\t\tif (!isNaN(tabIndexParam)) {\n\t\t\tthis.activeTabIndex = tabIndexParam;\n\t\t} else {\n\t\t\tthis.activeTabIndex = this.initTabIndex;\n\t\t}\n\t\tthis.tabNames = Object.keys(this.$slots)\n\t\t\t.filter((slot) => slot.includes('tab-panel'))\n\t\t\t.map((slotName) => slotName.split('-').pop());\n\t},\n\tmounted() {\n\t\tthis.initObserver();\n\t},\n\tbeforeDestroy() {\n\t\tthis.observer.disconnect();\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueTab.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueTabvue_type_script_lang_js_ = (VueTabvue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-62.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-62.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-62.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTab.vue?vue&type=style&index=0&id=c3044fec&prod&scoped=true&lang=scss&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueTab.vue?vue&type=style&index=0&id=c3044fec&prod&scoped=true&lang=scss&\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/VueTab.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueTabvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n \"c3044fec\",\n null\n \n)\n\n/* harmony default export */ const VueTab = (component.exports);\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (VueTab);\n\n\n})();\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-tab.umd.js.map","(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-table-of-content\"] = factory();\n\telse\n\t\troot[\"vue-table-of-content\"] = 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/publicPath */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __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/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTableOfContent.vue?vue&type=template&id=8a9ffce4&scoped=true&lang=pug&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('nav',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],ref:\"tocNav\",staticClass:\"sf-mobile-toc\",class:{ 'sf-mobile-toc--open': _vm.tocOpened, 'sf-mobile-toc--top': _vm.position === 'top', 'sf-mobile-toc--bottom': _vm.position === 'bottom' },attrs:{\"id\":\"sf-mobile-toc\",\"aria-labelledby\":'toc_button' + _vm.uuid}},[_c('transition',{attrs:{\"name\":\"toc-slide\"}},[_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tocOpened),expression:\"tocOpened\"}],staticClass:\"sf-mobile-toc__list sf-list sf-list--empty\",attrs:{\"id\":'toc_menu' + _vm.uuid,\"role\":\"navigation\",\"aria-labelledby\":'toc_button' + _vm.uuid,\"aria-expanded\":'' + _vm.tocOpened,\"aria-hidden\":'' + !_vm.tocOpened}},_vm._l((_vm.items),function(item){return _c('li',{staticClass:\"sf-mobile-toc__list-item\"},[_c('a',{class:{ 'active' : _vm.activeElement == item.name },attrs:{\"id\":item.name,\"href\":`#${item.name}`},on:{\"click\":function($event){$event.preventDefault();return _vm.scrollToItem(item.name, item.pageIndex)}}},[_vm._v(_vm._s(item.text))])])}),0)]),_c('button',{ref:\"tocButton\",staticClass:\"sf-mobile-toc__button\",attrs:{\"id\":'toc_button' + _vm.uuid,\"type\":\"button\",\"aria-controls\":\"toc_menu\",\"aria-haspopup\":\"true\",\"aria-expanded\":'' + _vm.tocOpened},on:{\"click\":function($event){_vm.tocOpened = !_vm.tocOpened}}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t('choosenBookmark')))]),_c('svg',{attrs:{\"width\":\"14\",\"height\":\"8\",\"viewBox\":\"0 0 14 8\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M0.999999 7L7 0.999999L13 7\",\"stroke\":\"#52AE30\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})])])],1)\n}\nvar staticRenderFns = []\n\n\n;// CONCATENATED MODULE: ../../node_modules/@ui-common/sf-js-utils/dist/sf-js-utils.esm.js\nvar t=Object.freeze({__proto__:null,ADDRESS_CARD:\"^\\\\d{6}[a-zA-Z]{2}$\",ALL_PHONE:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\",\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\"],BANK_ACCOUNT_SIXTEEN_NUMBERS:\"^\\\\d{8}-\\\\d{8}$\",BANK_ACCOUNT_THIRTEEN_NUMBERS:\"^\\\\d{5}-\\\\d{8}$\",BANK_ACCOUNT_TWENTY_FOUR_NUMBERS:\"^\\\\d{8}-\\\\d{8}-\\\\d{8}$\",DATE_SEPARATORS:/[.,\\/ -]/,DEVIZA_BANK_ACCOUNT_NUMBER_PATTERN:\"^75\\\\d{3}-\\\\d{5}88\\\\d$\",FOREIGN_PHONE_REGEX:/^\\d{1,3}-\\d{1,10}$/,FOREIGN_ZIP_CODE:/^[\\da-zA-Z]{1,10}$/g,FULLNAME:\"^(.+[ ].+)$|^$\",HEX:/#[0-9a-fA-F]{6}/,IDENTITYS:{\"personal-id\":\"^\\\\d{6}[a-zA-Z]{2}$\",\"drivers-license\":\"^[a-zA-Z]{2}\\\\d{6}$\",passport:\"[a-zA-Z]{2}\\\\d{7}$\"},IOS:/ipad|iphone/i,LANDLINE_PHONES:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\"],LAST_FOUR_DIGITS:/^\\d{4}$/,MOBILE_PHONE:\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\",NAME:\"^[\\\\p{L}\\\\s\\\\.\\\\-\\\\']*$\",PENSIONER_NUMBER:\"^\\\\d{3}-\\\\d{5}-\\\\d{1}$\",TAX_NUMBER:\"^\\\\d{8}-\\\\d{1}-\\\\d{2}$\",YEAR:\"^\\\\d{4}$\",ZIP_CODE:\"^\\\\d{4}$\"});var e=Object.freeze({__proto__:null,HUNGARIAN_PHONE_NUMBER_PREFIX:\"+36\",OTP_BANK_ACCOUNT_NUMBER_PREFIX:\"117\"});var r=Object.freeze({__proto__:null,COOKIE_GDPR_LEVEL:\"gdpr_level\",GDPR_LEVELS:{LOW:1,MEDIUM:2,HIGH:3}});var d=Object.freeze({__proto__:null,BACKEND_DATE:\"YYYY-MM-DD\",DISPLAY_DATE:{hu:\"YYYY.MM.DD.\",en:\"MM/DD/YYYY\"},DISPLAY_TIME:{hu:\"HH:mm\",en:\"hh:mm A\"}});function i(){window.onkeydown=function(t){\"Space\"===t.code&&t.target==document.body&&t.preventDefault()}}function o(t){for(var e=0,r=0;t;){if(\"BODY\"==t.tagName){var d=t.scrollLeft||document.documentElement.scrollLeft,i=t.scrollTop||document.documentElement.scrollTop;e+=t.offsetLeft-d+t.clientLeft,r+=t.offsetTop-i+t.clientTop}else e+=t.offsetLeft-t.scrollLeft+t.clientLeft,r+=t.offsetTop-t.scrollTop+t.clientTop;t=t.offsetParent}return{x:e,y:r}}function s(t){let e=[],r=t.parentNode.firstChild;for(;r;)1===r.nodeType&&r!==t&&e.push(r),r=r.nextSibling;return e}function n(t,e,r){return r=r?parseInt(r,10):0,\"number\"==typeof e?t.slice(r,r+e):t}function p(t){return void 0!==t&&null!=t?Math.floor(t/12)+\" év\":\"\"}const u=767,_=959,h=1279;var a={data:()=>({viewportWidth:null}),methods:{setViewportWidth(){this.viewportWidth=window.innerWidth}},computed:{isMobile(){return this.viewportWidth<=u},isTablet(){return this.viewportWidth>u&&this.viewportWidth<_},isDesktop(){return this.viewportWidth>_&&this.viewportWidthh}},created(){window.addEventListener(\"resize\",this.setViewportWidth),this.setViewportWidth()},mounted(){this.setViewportWidth()},beforeDestroy(){window.removeEventListener(\"resize\",this.setViewportWidth)}},E=(t=8)=>{let e=\"\";const r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";for(let d=0;d {}\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll() {\n\t\t\tlet bookmarks = [...document.querySelectorAll('.bookmark')].reverse();\n\t\t\tthis.bookmarkHeights = bookmarks.map((bookmark) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: bookmark.getAttribute('id'),\n\t\t\t\t\theight: o(bookmark).y - this.computedOffsetHeight,\n\t\t\t\t\ttext: bookmark.getAttribute('data-text')\n\t\t\t\t};\n\t\t\t});\n\t\t\tlet scrollTop = window.scrollY || document.body.scrollTop;\n\t\t\tthis.visible = scrollTop > 40;\n\t\t\tif (this.bookmarkHeights[this.bookmarkHeights.length - 1].height > 0) {\n\t\t\t\tthis.bookmarkTitle = this.$t('defaultText');\n\t\t\t} else {\n\t\t\t\tlet i = 0;\n\t\t\t\tdo {\n\t\t\t\t\tthis.bookmarkTitle = this.bookmarkHeights[i].text;\n\t\t\t\t\ti++;\n\t\t\t\t} while (i < this.bookmarkHeights.length && this.bookmarkHeights[i - 1].height > 0);\n\t\t\t}\n\t\t\t++this.scroll;\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.setActiveElement();\n\t\t\t});\n\t\t},\n\t\tasync scrollToItem(id, itemPage) {\n\t\t\tawait this.jumpToPage(itemPage);\n\t\t\tthis.tocOpened = false;\n\t\t\tthis.doScroll(id);\n\t\t},\n\t\tdoScroll(id) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (this.$refs.tocNav && this.$refs.tocNav.classList.contains('sf-mobile-toc--open')) {\n\t\t\t\t\tthis.doScroll(id);\n\t\t\t\t} else {\n\t\t\t\t\tif (this.$refs.tocButton) {\n\t\t\t\t\t\tthis.offsetHeight = parseInt(getComputedStyle(this.$refs.tocButton).height, 10);\n\t\t\t\t\t\tthis.$scrollTo(document.getElementById(id), {\n\t\t\t\t\t\t\toffset: -this.computedOffsetHeight,\n\t\t\t\t\t\t\tonDone: () => {\n\t\t\t\t\t\t\t\tthis.onScroll();\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\tthis.$scrollTo(document.getElementById(id), { offset: -this.computedOffsetHeight });\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tsetActiveElement() {\n\t\t\tconst scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\t\t\tconst scrollDirection = scrollTop > this.prevScrollTop ? 'down' : 'up';\n\t\t\tconst itemArray = scrollDirection == 'down' ? [...this.items].map((obj) => ({ ...obj })) : [...this.items].reverse().map((obj) => ({ ...obj }));\n\t\t\titemArray.forEach((item) => {\n\t\t\t\tconst element = document.getElementById(item.name);\n\t\t\t\tconst rect = element.getBoundingClientRect();\n\t\t\t\tconst offsetHeight = document.getElementById('sf-mobile-toc')?.offsetHeight || 0;\n\t\t\t\tif (\n\t\t\t\t\trect.top >= 0 &&\n\t\t\t\t\trect.left >= 0 &&\n\t\t\t\t\trect.bottom <= (window.innerHeight - offsetHeight || document.documentElement.clientHeight - offsetHeight) &&\n\t\t\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t\t\t) {\n\t\t\t\t\tthis.activeElement = item.name;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.prevScrollTop = scrollTop;\n\t\t},\n\t\tasync jumpToPage(itemPage) {\n\t\t\tif (itemPage === null || this.activePage == -1) return;\n\t\t\tif (itemPage != this.activePage) {\n\t\t\t\tthis.jumpToPageFn(itemPage);\n\t\t\t\tawait this.$nextTick();\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\tcomputedOffsetHeight() {\n\t\t\treturn this.scroll && this.$refs.tocButton ? parseInt(getComputedStyle(this.$refs.tocButton).height, 10) : 0;\n\t\t}\n\t},\n\twatch: {\n\t\ttocOpened(value) {\n\t\t\tif (value === false) {\n\t\t\t\tthis.offsetHeight = this.$refs.tocButton ? parseInt(getComputedStyle(this.$refs.tocButton).height, 10) : 0;\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.bookmarkTitle = this.$t('defaultText');\n\t\tthis.prevScrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\t\tthis.setActiveElement();\n\t\twindow.addEventListener('scroll', this.onScroll);\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueTableOfContent.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueTableOfContentvue_type_script_lang_js_ = (VueTableOfContentvue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-61.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-61.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-61.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-61.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTableOfContent.vue?vue&type=style&index=0&id=8a9ffce4&prod&lang=scss&scoped=true&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueTableOfContent.vue?vue&type=style&index=0&id=8a9ffce4&prod&lang=scss&scoped=true&\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/VueTableOfContent.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueTableOfContentvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n \"8a9ffce4\",\n null\n \n)\n\n/* harmony default export */ const VueTableOfContent = (component.exports);\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (VueTableOfContent);\n\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-table-of-content.umd.js.map","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict'\n\nvar isUrl = require('is-url')\nvar queryString = require('query-string')\nvar normalizeUrl = require('normalize-url')\n\nmodule.exports = function(queryParam, url) {\n if (typeof queryParam !== 'string' || typeof url !== 'string') {\n throw new TypeError('get-query-param expected two strings')\n }\n\n var fullUrl = /^[\\/\\?]/.test(url) ? `foo.bar${url}` : url\n var normalizedUrl = normalizeUrl(fullUrl)\n\n if (!isUrl(normalizedUrl)) { return }\n\n var parsed = queryString.parse(normalizedUrl.split('?')[1])\n\n return parsed[queryParam]\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","/*! 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","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n","\n/**\n * Expose `isUrl`.\n */\n\nmodule.exports = isUrl;\n\n/**\n * RegExps.\n * A URL must match #1 and then at least one of #2/#3.\n * Use two levels of REs to avoid REDOS.\n */\n\nvar protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n\nvar localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/\nvar nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n/**\n * Loosely validate a URL `string`.\n *\n * @param {String} string\n * @return {Boolean}\n */\n\nfunction isUrl(string){\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) ||\n nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n}\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","'use strict';\nvar url = require('url');\nvar punycode = require('punycode');\nvar queryString = require('query-string');\nvar prependHttp = require('prepend-http');\nvar sortKeys = require('sort-keys');\nvar objectAssign = require('object-assign');\n\nvar DEFAULT_PORTS = {\n\t'http:': 80,\n\t'https:': 443,\n\t'ftp:': 21\n};\n\n// protocols that always contain a `//`` bit\nvar slashedProtocol = {\n\t'http': true,\n\t'https': true,\n\t'ftp': true,\n\t'gopher': true,\n\t'file': true,\n\t'http:': true,\n\t'https:': true,\n\t'ftp:': true,\n\t'gopher:': true,\n\t'file:': true\n};\n\nfunction testParameter(name, filters) {\n\treturn filters.some(function (filter) {\n\t\treturn filter instanceof RegExp ? filter.test(name) : filter === name;\n\t});\n}\n\nmodule.exports = function (str, opts) {\n\topts = objectAssign({\n\t\tnormalizeProtocol: true,\n\t\tnormalizeHttps: false,\n\t\tstripFragment: true,\n\t\tstripWWW: true,\n\t\tremoveQueryParameters: [/^utm_\\w+/i],\n\t\tremoveTrailingSlash: true,\n\t\tremoveDirectoryIndex: false\n\t}, opts);\n\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\tvar hasRelativeProtocol = str.indexOf('//') === 0;\n\n\t// prepend protocol\n\tstr = prependHttp(str.trim()).replace(/^\\/\\//, 'http://');\n\n\tvar urlObj = url.parse(str);\n\n\tif (opts.normalizeHttps && urlObj.protocol === 'https:') {\n\t\turlObj.protocol = 'http:';\n\t}\n\n\tif (!urlObj.hostname && !urlObj.pathname) {\n\t\tthrow new Error('Invalid URL');\n\t}\n\n\t// prevent these from being used by `url.format`\n\tdelete urlObj.host;\n\tdelete urlObj.query;\n\n\t// remove fragment\n\tif (opts.stripFragment) {\n\t\tdelete urlObj.hash;\n\t}\n\n\t// remove default port\n\tvar port = DEFAULT_PORTS[urlObj.protocol];\n\tif (Number(urlObj.port) === port) {\n\t\tdelete urlObj.port;\n\t}\n\n\t// remove duplicate slashes\n\tif (urlObj.pathname) {\n\t\turlObj.pathname = urlObj.pathname.replace(/\\/{2,}/g, '/');\n\t}\n\n\t// decode URI octets\n\tif (urlObj.pathname) {\n\t\turlObj.pathname = decodeURI(urlObj.pathname);\n\t}\n\n\t// remove directory index\n\tif (opts.removeDirectoryIndex === true) {\n\t\topts.removeDirectoryIndex = [/^index\\.[a-z]+$/];\n\t}\n\n\tif (Array.isArray(opts.removeDirectoryIndex) && opts.removeDirectoryIndex.length) {\n\t\tvar pathComponents = urlObj.pathname.split('/');\n\t\tvar lastComponent = pathComponents[pathComponents.length - 1];\n\n\t\tif (testParameter(lastComponent, opts.removeDirectoryIndex)) {\n\t\t\tpathComponents = pathComponents.slice(0, pathComponents.length - 1);\n\t\t\turlObj.pathname = pathComponents.slice(1).join('/') + '/';\n\t\t}\n\t}\n\n\t// resolve relative paths, but only for slashed protocols\n\tif (slashedProtocol[urlObj.protocol]) {\n\t\tvar domain = urlObj.protocol + '//' + urlObj.hostname;\n\t\tvar relative = url.resolve(domain, urlObj.pathname);\n\t\turlObj.pathname = relative.replace(domain, '');\n\t}\n\n\tif (urlObj.hostname) {\n\t\t// IDN to Unicode\n\t\turlObj.hostname = punycode.toUnicode(urlObj.hostname).toLowerCase();\n\n\t\t// remove trailing dot\n\t\turlObj.hostname = urlObj.hostname.replace(/\\.$/, '');\n\n\t\t// remove `www.`\n\t\tif (opts.stripWWW) {\n\t\t\turlObj.hostname = urlObj.hostname.replace(/^www\\./, '');\n\t\t}\n\t}\n\n\t// remove URL with empty query string\n\tif (urlObj.search === '?') {\n\t\tdelete urlObj.search;\n\t}\n\n\tvar queryParameters = queryString.parse(urlObj.search);\n\n\t// remove query unwanted parameters\n\tif (Array.isArray(opts.removeQueryParameters)) {\n\t\tfor (var key in queryParameters) {\n\t\t\tif (testParameter(key, opts.removeQueryParameters)) {\n\t\t\t\tdelete queryParameters[key];\n\t\t\t}\n\t\t}\n\t}\n\n\t// sort query parameters\n\turlObj.search = queryString.stringify(sortKeys(queryParameters));\n\n\t// decode query parameters\n\turlObj.search = decodeURIComponent(urlObj.search);\n\n\t// take advantage of many of the Node `url` normalizations\n\tstr = url.format(urlObj);\n\n\t// remove ending `/`\n\tif (opts.removeTrailingSlash || urlObj.pathname === '/') {\n\t\tstr = str.replace(/\\/$/, '');\n\t}\n\n\t// restore relative protocol, if applicable\n\tif (hasRelativeProtocol && !opts.normalizeProtocol) {\n\t\tstr = str.replace(/^http:\\/\\//, '//');\n\t}\n\n\treturn str;\n};\n","'use strict';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\n\nfunction encoderForArrayFormat(opts) {\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, index) {\n\t\t\t\treturn value === null ? [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tindex,\n\t\t\t\t\t']'\n\t\t\t\t].join('') : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tencode(index, opts),\n\t\t\t\t\t']=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[]=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(opts) {\n\tvar result;\n\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t} else if (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t} else if (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input)).sort(function (a, b) {\n\t\t\treturn Number(a) - Number(b);\n\t\t}).map(function (key) {\n\t\t\treturn input[key];\n\t\t});\n\t}\n\n\treturn input;\n}\n\nexports.extract = function (str) {\n\treturn str.split('?')[1] || '';\n};\n\nexports.parse = function (str, opts) {\n\topts = objectAssign({arrayFormat: 'none'}, opts);\n\n\tvar formatter = parserForArrayFormat(opts);\n\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^(\\?|#|&)/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeURIComponent(val);\n\n\t\tformatter(decodeURIComponent(key), val, ret);\n\t});\n\n\treturn Object.keys(ret).sort().reduce(function (result, key) {\n\t\tvar val = ret[key];\n\t\tif (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(val);\n\t\t} else {\n\t\t\tresult[key] = val;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n};\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\tvar formatter = encoderForArrayFormat(opts);\n\n\treturn obj ? Object.keys(obj).sort().map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresult.push(formatter(key, val2, result.length));\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\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