{"version":3,"file":"portal/layouts/AV9EL/layout.2c2449a3f84714cd07c5.bundle.js","mappings":"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IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACvF,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,IAC5E,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACnG,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,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,EAAG,GAAI,GAAI,GAAI,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,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAA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","sources":["webpack://portal/./implementation/api/announcement-api.js","webpack://portal/./implementation/api/personal-loan-calculator-2021-api.js","webpack://portal/./implementation/api/personal-loan-calculator-api.js","webpack://portal/./implementation/common/components/announcements-select/announcements-select.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/modules/MKKM/mkkm.js","webpack://portal/./implementation/common/components/read-more-block/read-more-block.js","webpack://portal/./implementation/layouts/AV9EL/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/MDTB/mdtb.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/MKSZ/mksz.js","webpack://portal/./implementation/modules/MNIB/mnib.js","webpack://portal/./implementation/modules/MOAV/moav.js","webpack://portal/./implementation/modules/MRBT/mrbt.js","webpack://portal/./implementation/modules/MSLC/mslc.js","webpack://portal/./implementation/modules/MSTB/mstb.js","webpack://portal/./implementation/modules/MTAB/mtab.js","webpack://portal/./implementation/modules/MTABR/mtabr.js","webpack://portal/./implementation/modules/MTBL/mtbl.js","webpack://portal/./implementation/modules/MUBT/mubt.js","webpack://portal/./node_modules/@ui-common/sf-js-utils/dist/sf-js-utils.esm.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/outerwidth/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/MHAP/mhap.vue","webpack://portal/./implementation/modules/MHAP/mhap.vue?bce5","webpack://portal/./implementation/modules/MHAP/mhap.vue?5b84","webpack://portal/./implementation/modules/MINT/mint.pug","webpack://portal/./implementation/modules/MINT/mint.js","webpack://portal/./implementation/modules/MINT/mint.js?43de","webpack://portal/./implementation/modules/MINT/mint.vue","webpack://portal/./implementation/modules/MINT2021/mint2021.pug","webpack://portal/./implementation/modules/MINT2021/mint2021.js","webpack://portal/./implementation/modules/MINT2021/mint2021.js?0aea","webpack://portal/./implementation/modules/MINT2021/mint2021.vue","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","import axios from 'axios';\r\nconst personalLoanBackendPrefix = '/apps/personalloan';\r\nexport default {\r\n\tcalculateAmount(data) {\r\n\t\treturn axios.post(personalLoanBackendPrefix + '/api/public/calculator2021/amount', data);\r\n\t},\r\n\tcalculateMonthlyFee(data) {\r\n\t\treturn axios.post(personalLoanBackendPrefix + '/api/public/calculator2021/monthlyfee', data);\r\n\t},\r\n\tgetConfig() {\r\n\t\treturn axios.get(personalLoanBackendPrefix + '/api/public/config2021');\r\n\t},\r\n\tgetSelectValues() {\r\n\t\treturn axios.get(personalLoanBackendPrefix + '/api/public/term2021');\r\n\t},\r\n\tgetInterestList() {\r\n\t\treturn axios.get(personalLoanBackendPrefix + '/api/public/interest2021');\r\n\t},\r\n\tsendTa(data) {\r\n\t\treturn axios.post(personalLoanBackendPrefix + '/api/ta', data);\r\n\t}\r\n};\r\n","import axios from 'axios';\r\nconst personalLoanBackendPrefix = '/apps/personalloan';\r\nexport default {\r\n\tcalculateAmount(data) {\r\n\t\treturn axios.post(personalLoanBackendPrefix + '/api/public/calculator/amount', data);\r\n\t},\r\n\tcalculateMonthlyFee(data) {\r\n\t\treturn axios.post(personalLoanBackendPrefix + '/api/public/calculator/monthlyfee', data);\r\n\t},\r\n\tgetConfig() {\r\n\t\treturn axios.get(personalLoanBackendPrefix + '/api/public/config');\r\n\t},\r\n\tgetSelectValues() {\r\n\t\treturn axios.get(personalLoanBackendPrefix + '/api/public/term');\r\n\t},\r\n\tgetInterestList(type) {\r\n\t\treturn axios.get(personalLoanBackendPrefix + `/api/public/interest/${type}`);\r\n\t},\r\n\tsendTa(data) {\r\n\t\treturn axios.post(personalLoanBackendPrefix + '/api/ta', data);\r\n\t}\r\n};\r\n","import { VueSelect, VueSelectOption } from '@ui-common/vue-select';\r\n\r\nexport default {\r\n\tdata: () => ({\r\n\t\tyear: ''\r\n\t}),\r\n\tcomponents: {\r\n\t\tVueSelect,\r\n\t\tVueSelectOption\r\n\t},\r\n\tcreated() {\r\n\t\tthis.year = parseInt(window.location.href.split('/').pop());\r\n\t},\r\n\twatch: {\r\n\t\tyear(val, oldVal) {\r\n\t\t\tif (val && oldVal && val != oldVal) {\r\n\t\t\t\tconst newurl = window.location.href.split('/').slice(0, -1).join('/') + '/' + val;\r\n\t\t\t\twindow.location.href = newurl;\r\n\t\t\t}\r\n\t\t}\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 { VueSelect, VueSelectOption } from '@ui-common/vue-select';\r\n\r\nexport default {\r\n\tcomponents: {\r\n\t\tVueSelect,\r\n\t\tVueSelectOption\r\n\t},\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tselectedServices: {}\r\n\t\t};\r\n\t}\r\n};\r\n","export default {\r\n\tname: 'readMoreBlock',\r\n\tdata: () => ({\r\n\t\tisVisible: false\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};\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 mhap from '../../modules/MHAP/mhap.vue';\r\nimport mdtb from '../../modules/MDTB/mdtb';\r\nimport meda from '../../modules/MEDA/meda';\r\nimport meok from '../../modules/MEOK/meok';\r\nimport mevp from '../../modules/MEVP/mevp';\r\nimport mint from '../../modules/MINT/mint.vue';\r\nimport mint2021 from '../../modules/MINT2021/mint2021.vue';\r\nimport mjbl from '../../modules/MJBL/mjbl.vue';\r\nimport mkkm from '../../modules/MKKM/mkkm';\r\nimport mksz from '../../modules/MKSZ/mksz';\r\nimport mnib from '../../modules/MNIB/mnib';\r\nimport moav from '../../modules/MOAV/moav';\r\nimport mrbt from '../../modules/MRBT/mrbt';\r\nimport mstb from '../../modules/MSTB/mstb';\r\nimport mtab from '../../modules/MTAB/mtab';\r\nimport mtabr from '../../modules/MTABR/mtabr';\r\nimport mtbl from '../../modules/MTBL/mtbl';\r\nimport mubt from '../../modules/MUBT/mubt';\r\nimport mslc from '../../modules/MSLC/mslc';\r\nimport masd from '../../modules/MASD/masd.vue';\r\nimport readMoreBlock from '../../common/components/read-more-block/read-more-block';\r\nimport announcementsSelect from '../../common/components/announcements-select/announcements-select.js';\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('mslc', mslc);\r\nVue.component('mdtb', mdtb);\r\nVue.component('meok', meok);\r\nVue.component('mevp', mevp);\r\nVue.component('mint', mint);\r\nVue.component('mint2021', mint2021);\r\nVue.component('mjbl', mjbl);\r\nVue.component('mrbt', mrbt);\r\nVue.component('mstb', mstb);\r\nVue.component('mtab', mtab);\r\nVue.component('mtabr', mtabr);\r\nVue.component('mtbl', mtbl);\r\nVue.component('mubt', mubt);\r\nVue.component('meda', meda);\r\nVue.component('mkkm', mkkm);\r\nVue.component('mksz', mksz);\r\nVue.component('mnib', mnib);\r\nVue.component('moav', moav);\r\nVue.component('mhap', mhap);\r\nVue.component('masd', masd);\r\nVue.component('read-more-block', readMoreBlock);\r\nVue.component('announcements-select', announcementsSelect);\r\nVue.component('vue-table-of-content', VueTableOfContent);\r\nVue.component('branch-atm-widget-wrapper', BranchAtmWidgetWrapper);\r\n\r\n/* eslint-disable no-new*/\r\nnew Vue({\r\n\textends: layoutBase,\r\n\tel: '[data-layout-id=AV9EL-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 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\tpackages: {\r\n\t\t\ttype: Array,\r\n\t\t\trequired: true\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 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","export default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tdetailsOpened: false\r\n\t\t};\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","export default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tvideoOpened: false\r\n\t\t};\r\n\t}\r\n};\r\n","import VueFocus from 'vue-focus';\r\nexport default {\r\n\tmixins: [VueFocus.mixin],\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tactiveTab: null\r\n\t\t};\r\n\t},\r\n\tprops: {\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},\r\n\tmethods: {\r\n\t\tchangeTab(tabId) {\r\n\t\t\tthis.activeTab = 'tab' + tabId;\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tthis.activeTab = 'tab' + this.openedTab;\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 VueTab from '@ui-common/vue-tab';\r\nexport default {\r\n\tcomponents: {\r\n\t\tVueTab\r\n\t}\r\n};\r\n","import VueTab from '@ui-common/vue-tab';\r\nimport getQueryParam from 'get-query-param';\r\nimport { isMobile } from '@ui-common/sf-js-utils';\r\nexport default {\r\n\tmixins: [isMobile],\r\n\tprops: {\r\n\t\tid: {\r\n\t\t\ttype: String,\r\n\t\t\trequired: true\r\n\t\t}\r\n\t},\r\n\tcomponents: {\r\n\t\tVueTab\r\n\t},\r\n\tmethods: {\r\n\t\tpushDatalayer(event) {\r\n\t\t\tif (this.isMobile) {\r\n\t\t\t\tthis.$gtm.trackEvent({\r\n\t\t\t\t\tevent: 'dropDownSelect',\r\n\t\t\t\t\tformElementID: 'Bankszámlanyitás',\r\n\t\t\t\t\tformID: 'Kategóriát választ',\r\n\t\t\t\t\tinputValue: document.getElementById(`sf-tab-head-rco-${event}`).lastChild.innerText\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tcomputed: {\r\n\t\turlTabId() {\r\n\t\t\treturn parseInt(getQueryParam(`${this.id}-tab`, window.location.href), 10) - 1 || 0;\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tthis.$nextTick(() => {\r\n\t\t\tthis.$refs['mtabr-root'].scrollIntoView();\r\n\t\t});\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 Vue from 'vue';\r\nimport VueTouch from 'vue-touch';\r\nimport VueFocus from 'vue-focus';\r\nimport eventBus from '../../common/js/event-bus/event-bus';\r\nVue.use(VueTouch);\r\nexport default {\r\n\tmixins: [VueFocus.mixin],\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\tactiveTab: null,\r\n\t\t\tfocusedTab: null,\r\n\t\t\tstickyTop: null,\r\n\t\t\tvisible: false,\r\n\t\t\tisSticky: false\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\tkeyHandler(e) {\r\n\t\t\tif (this.visible) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tif (e.which == 27) {\r\n\t\t\t\t\tthis.closePopup();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tmethods: {\r\n\t\tlastTabHandler(e) {\r\n\t\t\tif (!e.shiftKey) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tthis.$parent.$refs.firstTabbable.focus();\r\n\t\t\t}\r\n\t\t},\r\n\t\tchangeTab(tabId) {\r\n\t\t\tthis.activeTab = 'tab' + tabId;\r\n\t\t\tthis.focusedTab = tabId;\r\n\t\t\teventBus.$emit('mubt-tab-change', { activeTab: this.activeTab, focusedTab: this.focusedTab });\r\n\t\t},\r\n\t\tsendStickyEvent() {\r\n\t\t\tlet scrollWidth = 0;\r\n\t\t\tlet sticky = false;\r\n\t\t\tif (this.$refs.results && this.$parent.$refs.dialog && this.$parent.$refs.document && this.$parent.$refs.body) {\r\n\t\t\t\tsticky =\r\n\t\t\t\t\tthis.$parent.$refs.dialog.scrollTop >=\r\n\t\t\t\t\tthis.$refs.results.offsetTop + this.$parent.$refs.document.offsetTop + this.$parent.$refs.body.offsetTop;\r\n\t\t\t\tscrollWidth = this.$parent.$refs.dialog.offsetWidth - this.$parent.$refs.dialog.clientWidth;\r\n\t\t\t}\r\n\t\t\tthis.isSticky = sticky;\r\n\t\t\teventBus.$emit('mubt-sticky', { sticky, scrollWidth });\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tthis.activeTab = 'tab' + this.openedTab;\r\n\t\tthis.$nextTick(() => {\r\n\t\t\teventBus.$emit('mubt-tab-change', { activeTab: this.activeTab });\r\n\t\t\tif (this.$parent.$refs.dialog) {\r\n\t\t\t\tthis.$parent.$refs.dialog.addEventListener('scroll', this.sendStickyEvent);\r\n\t\t\t}\r\n\t\t\twindow.addEventListener('resize', this.sendStickyEvent);\r\n\t\t});\r\n\t\teventBus.$on('mubt-head-tab-change', (activeTab) => {\r\n\t\t\tthis.activeTab = activeTab;\r\n\t\t});\r\n\t\teventBus.$on('modal-opened', () => {\r\n\t\t\tdocument.body.classList.add('mubt-modal-open');\r\n\t\t});\r\n\t\teventBus.$on('modal-closed', () => {\r\n\t\t\tdocument.body.classList.remove('mubt-modal-open');\r\n\t\t});\r\n\t}\r\n};\r\n","var 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 {\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","module.exports = function (element) {\n \n var computed = window.getComputedStyle(element);\n var left = computed.marginLeft.replace('px', '');\n var right = computed.marginRight.replace('px', '');\n \n return +element.offsetWidth + +left + +right;\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