{"version":3,"file":"script.js","mappings":"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","sources":["webpack://advanced-post-block/webpack/bootstrap","webpack://advanced-post-block/webpack/runtime/compat get default export","webpack://advanced-post-block/webpack/runtime/define property getters","webpack://advanced-post-block/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-post-block/external var \"ReactDOM\"","webpack://advanced-post-block/external var \"React\"","webpack://advanced-post-block/../bpl-tools/utils/getCSS.js","webpack://advanced-post-block/../bpl-tools/utils/functions.js","webpack://advanced-post-block/../bpl-tools/utils/data.js","webpack://advanced-post-block/./src/Components/Common/Style.js","webpack://advanced-post-block/./src/Components/Common/Single/FeatureImage.js","webpack://advanced-post-block/./src/Components/Common/Single/MetaAuthor.js","webpack://advanced-post-block/./src/Components/Common/Single/MetaDate.js","webpack://advanced-post-block/./src/utils/functions.js","webpack://advanced-post-block/./src/Components/Common/Single/MetaCategory.js","webpack://advanced-post-block/./src/Components/Common/Single/MetaTaxonomies.js","webpack://advanced-post-block/./src/Components/Common/Single/MetaReadTime.js","webpack://advanced-post-block/./src/Components/Common/Single/MetaComment.js","webpack://advanced-post-block/./src/Components/Common/Single/Meta.js","webpack://advanced-post-block/./src/Components/Common/Single/Title.js","webpack://advanced-post-block/./src/Components/Common/Single/TitleMeta.js","webpack://advanced-post-block/./src/Components/Common/Single/Excerpt.js","webpack://advanced-post-block/./src/Components/Common/Single/ReadMore.js","webpack://advanced-post-block/./src/Components/Common/SubLayout/Default.js","webpack://advanced-post-block/./src/Components/Common/SubLayout/SideImage.js","webpack://advanced-post-block/./src/Components/Common/SubLayout/Overlay.js","webpack://advanced-post-block/./src/Components/Common/SubLayout/SubLayout.js","webpack://advanced-post-block/../block-directory/node_modules/react-responsive-masonry/es/Masonry/index.js","webpack://advanced-post-block/../block-directory/node_modules/react-responsive-masonry/es/ResponsiveMasonry/index.js","webpack://advanced-post-block/../block-directory/node_modules/react-responsive-masonry/es/index.js","webpack://advanced-post-block/./src/Components/Common/Layout/Masonry.js","webpack://advanced-post-block/./src/Components/Common/DisplayPosts.js","webpack://advanced-post-block/./src/Components/Common/Pagination/usePagination.js","webpack://advanced-post-block/./src/Components/Common/Pagination/index.js","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/ssr-window.esm.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/utils.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/swiper-core.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/update-swiper.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/swiper-react.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/update-on-virtual-data.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/create-element-if-not-defined.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/modules/navigation.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/classes-to-selector.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/modules/pagination.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/modules/autoplay.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/effect-init.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/effect-target.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/effect-virtual-transition-end.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/modules/effect-fade.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/shared/create-shadow.mjs","webpack://advanced-post-block/../block-directory/node_modules/swiper/modules/effect-creative.mjs","webpack://advanced-post-block/./src/utils/configs.js","webpack://advanced-post-block/./src/Components/Common/Layout/Slider.js","webpack://advanced-post-block/./src/Components/Frontend/Layout/Ticker.js","webpack://advanced-post-block/../react-utils/hooks/useWPAjax.js","webpack://advanced-post-block/./src/hooks/useAjaxPosts.js","webpack://advanced-post-block/./src/hooks/usePremium.js","webpack://advanced-post-block/./src/Components/Frontend/APBPosts.js","webpack://advanced-post-block/./src/script.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var __WEBPACK_NAMESPACE_OBJECT__ = ReactDOM;","var __WEBPACK_NAMESPACE_OBJECT__ = React;","import { mobileBreakpoint, tabBreakpoint } from './data';\r\nimport { isExist } from './functions';\r\n\r\nexport const isValidCSS = (p, v) => isExist(v) ? `${p}: ${v};` : '';\r\n\r\nexport const getBackgroundCSS = (bg, isSolid = true, isGradient = true, isImage = true) => {\r\n\tconst { type = 'solid', color = '', gradient = '', image = {}, position = '', attachment = '', repeat = '', size = '', overlayColor = '' } = bg || {};\r\n\r\n\tconst styles = ('gradient' === type && isGradient) ? isValidCSS('background', gradient) :\r\n\t\t('image' === type && isImage) ?\r\n\t\t\t`background: url(${image?.url});\r\n\t\t\t\t${isValidCSS('background-color', overlayColor)}\r\n\t\t\t\t${isValidCSS('background-position', position)}\r\n\t\t\t\t${isValidCSS('background-size', size)}\r\n\t\t\t\t${isValidCSS('background-repeat', repeat)}\r\n\t\t\t\t${isValidCSS('background-attachment', attachment)}\r\n\t\t\t\t${isValidCSS('background-repeat', repeat)}\r\n\t\t\t\tbackground-blend-mode: overlay;` :\r\n\t\t\tisSolid && isValidCSS('background', color);\r\n\r\n\treturn styles;\r\n} // PHP version in Stepped Content\r\n\r\nexport const getBorderCSS = (border) => {\r\n\tconst { width = '0px', style = 'solid', color = '', side = 'all', radius = '0px' } = border || {};\r\n\r\n\tconst borderSideCheck = s => {\r\n\t\tconst bSide = side?.toLowerCase();\r\n\t\treturn bSide?.includes('all') || bSide?.includes(s);\r\n\t}\r\n\r\n\tconst noWidth = width === '0px' || !width;\r\n\tconst borderCSS = `${width} ${style} ${color}`;\r\n\r\n\tconst styles = `\r\n\t\t${noWidth ? '' : ['top', 'right', 'bottom', 'left'].map(side => borderSideCheck(side) ? `border-${side}: ${borderCSS};` : '').join('')}\r\n\t\t${!radius ? '' : `border-radius: ${radius};`}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getBorderBoxCSS = (border) => {\r\n\tif (!border) return '';\r\n\r\n\tconst generateBorderCSS = (borderObj) => {\r\n\t\tconst { color = '#000000', style = 'solid', width = '0px' } = borderObj;\r\n\t\treturn `${width} ${style} ${color}`;\r\n\t};\r\n\r\n\tif ('object' === typeof border && !Array.isArray(border)) {\r\n\t\tif (border.hasOwnProperty('top') || border.hasOwnProperty('right') || border.hasOwnProperty('bottom') || border.hasOwnProperty('left')) {\r\n\t\t\tconst sides = ['top', 'right', 'bottom', 'left'];\r\n\t\t\treturn sides.map(side =>\r\n\t\t\t\tborder[side] ? `border-${side}: ${generateBorderCSS(border[side])};` : ''\r\n\t\t\t).join(' ').trim();\r\n\t\t} else {\r\n\t\t\treturn isValidCSS('border', generateBorderCSS(border));\r\n\t\t}\r\n\t}\r\n\r\n\treturn '';\r\n}\r\n\r\nexport const getColorsCSS = (colors) => {\r\n\tconst { color = '#333', bgType = 'solid', bg = '', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)' } = colors || {};\r\n\r\n\tconst styles = `\r\n\t\t${color ? `color: ${color};` : ''}\r\n\t\t${gradient || bg ? isValidCSS('background', 'gradient' === bgType ? gradient : bg) : ''}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getIconCSS = (icon, isSize = true, isColor = true) => {\r\n\tconst { fontSize = 16, colorType = 'solid', color = 'inherit', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)' } = icon || {};\r\n\r\n\tconst colorCSS = 'gradient' === colorType ?\r\n\t\t`color: transparent; background-image: ${gradient}; -webkit-background-clip: text; background-clip: text;` : isValidCSS('color', color);\r\n\r\n\tconst styles = `\r\n\t\t${!fontSize || !isSize ? '' : isValidCSS('font-size', fontSize ? `${fontSize}px` : '')}\r\n\t\t${isColor ? colorCSS : ''}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getMultiShadowCSS = (value, type = 'box') => {\r\n\tlet styles = '';\r\n\r\n\tvalue?.map((item, index) => {\r\n\t\tconst { hOffset = '0px', vOffset = '0px', blur = '0px', spreed = '0px', color = '#7090b0', isInset = false } = item || {};\r\n\r\n\t\tconst inset = isInset ? 'inset' : '';\r\n\t\tconst offsetBlur = `${hOffset} ${vOffset} ${blur}`;\r\n\t\tconst isComa = index + 1 >= value.length ? '' : ', ';\r\n\r\n\t\tstyles += 'text' === type ? `${offsetBlur} ${color}${isComa}` : `${offsetBlur} ${spreed} ${color} ${inset}${isComa}`;\r\n\t});\r\n\r\n\treturn styles || 'none';\r\n}\r\n\r\nexport const getSeparatorCSS = (separator) => {\r\n\tconst { width = '50%', height = '2px', style = 'solid', color = '#bbb' } = separator || {};\r\n\r\n\tconst styles = `\r\n\t\twidth: ${width};\r\n\t\t${'0px' === height && '0em' === height && '0rem' === height ? '' : `border-top: ${height} ${style} ${color};`}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getShadowCSS = (shadow, type = 'box') => {\r\n\tconst { hOffset = '0px', vOffset = '0px', blur = '0px', spreed = '0px', color = '#7090b0', isInset = false } = shadow || {};\r\n\r\n\tconst inset = isInset ? 'inset' : '';\r\n\tconst offsetBlur = `${hOffset} ${vOffset} ${blur}`;\r\n\r\n\tconst styles = 'text' === type ? `${offsetBlur} ${color}` : `${offsetBlur} ${spreed} ${color} ${inset}`;\r\n\r\n\treturn styles || 'none';\r\n}\r\n\r\nexport const getSpaceCSS = (space) => {\r\n\tconst { side = 2, vertical = '0px', horizontal = '0px', top = '0px', right = '0px', bottom = '0px', left = '0px' } = space || {};\r\n\r\n\tconst styles = 2 === side ? `${vertical} ${horizontal}` : `${top} ${right} ${bottom} ${left}`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getTypoCSS = (selector, typo, isFamily = true) => {\r\n\tconst { fontFamily = 'Default', fontCategory = 'sans-serif', fontVariant = 400, fontWeight = 400, isUploadFont = true, fontSize = { desktop: 15, tablet: 15, mobile: 15 }, fontStyle = 'normal', textTransform = 'none', textDecoration = 'auto', lineHeight = '135%', letterSpace = '0px' } = typo || {};\r\n\r\n\tconst isEmptyFamily = !isFamily || !fontFamily || 'Default' === fontFamily;\r\n\tconst desktopFontSize = fontSize?.desktop || fontSize;\r\n\tconst tabletFontSize = fontSize?.tablet || desktopFontSize;\r\n\tconst mobileFontSize = fontSize?.mobile || tabletFontSize;\r\n\r\n\tconst styles = `\r\n\t\t${isEmptyFamily ? '' : `font-family: '${fontFamily}', ${fontCategory};`}\r\n\t\t${isValidCSS('font-weight', fontWeight)}\r\n\t\t${isValidCSS('font-size', desktopFontSize ? `${desktopFontSize}px` : '')}\r\n\t\t${isValidCSS('font-style', fontStyle)}\r\n\t\t${isValidCSS('text-transform', textTransform)}\r\n\t\t${isValidCSS('text-decoration', textDecoration)}\r\n\t\t${isValidCSS('line-height', lineHeight)}\r\n\t\t${isValidCSS('letter-spacing', letterSpace)}\r\n\t`;\r\n\r\n\t// Google font link\r\n\tconst linkQuery = !fontVariant || 400 === fontVariant ? '' : '400i' === fontVariant ? ':ital@1' : fontVariant?.includes('00i') ? `: ital, wght@1, ${fontVariant?.replace('00i', '00')} ` : `: wght@${fontVariant} `;\r\n\r\n\tconst link = isEmptyFamily ? '' : `https://fonts.googleapis.com/css2?family=${fontFamily?.split(' ').join('+')}${linkQuery.replace(/ /g, '')}&display=swap`;\r\n\r\n\treturn {\r\n\t\tgoogleFontLink: !isUploadFont || isEmptyFamily ? '' : `@import url(${link});`,\r\n\t\tstyles: `${selector}{\r\n\t\t\t${styles}\r\n\t\t}\r\n\t\t${tabBreakpoint} {\r\n\t\t\t${selector}{\r\n\t\t\t\t${isValidCSS('font-size', tabletFontSize ? `${tabletFontSize}px` : '')}\r\n\t\t\t}\r\n\t\t}\r\n\t\t${mobileBreakpoint} {\r\n\t\t\t${selector}{\r\n\t\t\t\t${isValidCSS('font-size', mobileFontSize ? `${mobileFontSize}px` : '')}\r\n\t\t\t}\r\n\t\t}`.replace(/\\s+/g, ' ').trim()\r\n\t}\r\n}\r\n\r\nexport const getBoxCSS = (val) => {\r\n\tif (!val) return '';\r\n\r\n\tif (typeof val === 'string') return val;\r\n\r\n\tif (typeof val === 'object' && !Array.isArray(val)) {\r\n\t\tconst order = ['top', 'right', 'bottom', 'left'];\r\n\r\n\t\tconst values = order.map(side => val[side] || '');\r\n\r\n\t\tconst allEmpty = values.every(value => !value);\r\n\r\n\t\treturn allEmpty ? '' : order.map(side => val[side] || '0').join(' ');\r\n\t}\r\n\r\n\treturn '';\r\n};\r\n\r\n// Murad Wahid\r\nexport const getGradientCSS = (gradient) => {\r\n\tconst { type, radialType, colors, centerPositions, angel } = gradient || {};\r\n\r\n\tif (gradient) {\r\n\t\tconst gradientColors = colors?.map(({ color, position }) => `${color} ${position}%`);\r\n\t\tconst liner = `linear-gradient(${angel}deg, ${gradientColors})`;\r\n\t\tconst radial = `radial-gradient(${radialType} at ${centerPositions?.x}% ${centerPositions?.y}%,${gradientColors})`;\r\n\r\n\t\treturn isValidCSS('background', type === 'linear' ? liner : radial);\r\n\t}\r\n\treturn '';\r\n};\r\n\r\nconst getImagePosition = (img) => {\r\n\tconst { position = 'center center', xPosition = 0, yPosition = 0, attachment = '', repeat = 'no-repeat', size = 'cover', customSize = '0px' } = img || {};\r\n\r\n\tconst cd = v => 'initial' !== v || isExist(v);\r\n\r\n\treturn `\r\n\t\t${cd(position) ? `background-position: ${'custom' === position ? `${xPosition} ${yPosition}` : position};` : ''}\r\n\t\t${attachment && cd(attachment) ? `background-attachment: ${attachment};` : ''}\r\n\t\t${cd(repeat) ? `background-repeat: ${repeat};` : ''}\r\n\t\t${cd(size) ? `background-size: ${'custom' === size ? `${customSize} auto` : size};` : ''}\r\n\t`;\r\n};\r\nconst getImageCSS = (img = {}) => {\r\n\tif (img) {\r\n\t\treturn {\r\n\t\t\tdesktop: isExist(img.url) ? `background-image: url(${img.url}); ${getImagePosition(img?.desktop)}` : '',\r\n\t\t\ttablet: isExist(img.url) ? getImagePosition(img?.tablet) : '',\r\n\t\t\tmobile: isExist(img.url) ? getImagePosition(img?.mobile) : '',\r\n\t\t};\r\n\t}\r\n\treturn '';\r\n};\r\n\r\nconst getVideoCSS = (video, selector) => {\r\n\tconst { url, loop } = video || {};\r\n\tconst parentEl = document.querySelector(selector);\r\n\r\n\tconst el = parentEl?.querySelector('.bPlVideo');\r\n\tconst videoEl = document.createElement('video');\r\n\tvideoEl.muted = true;\r\n\tvideoEl.autoplay = true;\r\n\tvideoEl.classList.add('bPlVideo');\r\n\r\n\tif (!el) {\r\n\t\tif (parentEl && url) {\r\n\t\t\tvideoEl.innerHTML = `<source src=${url}></source>`;\r\n\t\t\tparentEl.appendChild(videoEl);\r\n\t\t}\r\n\t}\r\n\tvideoEl.loop = loop;\r\n\tvideoEl.play();\r\n\r\n\treturn `${selector} .bPlVideo{\r\n\t\tleft: 0;\r\n\t\tmin-height: 100%;\r\n\t\tmin-width: 100%;\r\n\t\tposition: absolute;\r\n\t\twidth: -webkit-fill-available;\r\n\t\ttop: 0;\r\n\t\tz-index: 0;\r\n\t}`;\r\n}\r\nexport const getAdvBGCSS = (background, selector, isHover = false) => {\r\n\tconst { type = 'color', color, gradient, img, video } = background || {};\r\n\r\n\tconst bgCSS =\r\n\t\ttype === 'color'\r\n\t\t\t? isValidCSS('background', color)\r\n\t\t\t: type === 'gradient'\r\n\t\t\t\t? getGradientCSS(gradient)\r\n\t\t\t\t: type === 'image'\r\n\t\t\t\t\t? getImageCSS(img).desktop\r\n\t\t\t\t\t: '';\r\n\r\n\tconst tablet = type === 'image' ? getImageCSS(img).tablet : '';\r\n\tconst mobile = type === 'image' ? getImageCSS(img).mobile : '';\r\n\r\n\tconst sl = isHover ? `${selector}:hover` : selector;\r\n\r\n\treturn `\r\n\t\t${type === 'video' ? getVideoCSS(video, selector) : ''}\r\n\r\n\t\t${bgCSS ? `${sl}{\r\n\t\t\t${bgCSS}\r\n\t\t}` : ''}\r\n\r\n\t\t${tablet ? `${tabBreakpoint} {\r\n\t\t\t${sl}{\r\n\t\t\t\t${tablet}\r\n\t\t\t}\r\n\t\t}` : ''}\r\n\r\n\t\t${mobile ? `${mobileBreakpoint} {\r\n\t\t\t${sl}{\r\n\t\t\t\t${mobile}\r\n\t\t\t}\r\n\t\t}` : ''}\r\n\t`.replace(/\\s+/g, ' ').trim()\r\n};\r\n\r\nexport const getOverlayCSS = (overlay, selector, isHover = false) => {\r\n\tconst { isEnabled, colors, opacity = 1, blend, filter = '', blur = 0, brightness = 100, contrast = 100, saturation = 100, hue = 0 } = overlay || {};\r\n\r\n\tconst filterCSSValue = `${100 !== brightness ? `brightness(${brightness}%)` : ''} ${100 !== contrast ? `contrast(${contrast}%)` : ''} ${100 !== saturation ? `saturate(${saturation}%)` : ''} ${0 !== blur ? `blur(${blur}px)` : ''} ${0 !== hue ? `hue-rotate(${hue}deg)` : ''}`;\r\n\tconst filterCSS = `${filter}: ${filter ? filterCSSValue : ''}; -webkit-${filter}: ${filter ? filterCSSValue : ''};`;\r\n\r\n\tconst sl = isHover ? `${selector}:hover::after` : `${selector}::after`;\r\n\r\n\treturn isEnabled ? `\r\n\t\t${selector}::after{\r\n\t\t\tcontent: '';\r\n\t\t\tposition: absolute;\r\n\t\t\tinset: 0;\r\n\t\t}\r\n\t\t${getAdvBGCSS(colors, sl, false)}\r\n\t\t${sl}{\r\n\t\t\t${isValidCSS('opacity', opacity)}\r\n\t\t\t${isValidCSS('mix-blend-mode', blend)}\r\n\t\t\t${filterCSS}\r\n\t\t}\r\n\t`.replace(/\\s+/g, ' ').trim() : ''\r\n};","import { produce } from 'immer';\r\n\r\nexport const getBoxValue = object => Object.values(object).join(' ');\r\n\r\nexport const getImageSizes = (image, imageSizes) => {\r\n\tif (!image) return [];\r\n\tlet options = [];\r\n\tconst sizes = image.media_details.sizes;\r\n\r\n\tfor (const key in sizes) {\r\n\t\tconst imageSize = imageSizes.find(s => s.slug === key);\r\n\t\tif (imageSize) {\r\n\t\t\toptions.push({ label: imageSize.name, value: sizes[key].source_url });\r\n\t\t}\r\n\t}\r\n\treturn options;\r\n}\r\n\r\nexport const tabController = () => {\r\n\tsetTimeout(() => {\r\n\t\tconst panelBodies = document.querySelectorAll('.bPlPanelBody:not(.itemPanelBody) > h2 > button');\r\n\t\tpanelBodies.forEach(item => {\r\n\t\t\titem.addEventListener('click', clickEveryItem);\r\n\t\t});\r\n\r\n\t\tfunction clickEveryItem() {\r\n\r\n\t\t\tthis.removeEventListener('click', clickEveryItem);\r\n\t\t\tpanelBodies.forEach(item => {\r\n\t\t\t\tif (item.getAttribute('aria-expanded') === 'true' && !item.isEqualNode(this)) {\r\n\t\t\t\t\titem.click();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.addEventListener('click', clickEveryItem);\r\n\t\t\t}, 500);\r\n\t\t}\r\n\t}, 500);\r\n};\r\n\r\nexport const updateData = (attr, value, ...props) => {\r\n\tif (props.length === 0) {\r\n\t\treturn value;\r\n\t}\r\n\tconst [currentProp, ...remainingProps] = props;\r\n\tif (remainingProps.length === 0) {\r\n\t\treturn produce(attr, draft => {\r\n\t\t\tif (Array.isArray(draft[currentProp]) && (draft === null || draft === undefined)) {\r\n\t\t\t\tdraft = {};\r\n\t\t\t}\r\n\t\t\tdraft[currentProp] = value;\r\n\t\t});\r\n\t}\r\n\treturn produce(attr, draft => {\r\n\t\tif (draft === null || draft === undefined) {\r\n\t\t\tdraft = {};\r\n\t\t}\r\n\t\tif (!Object.prototype.hasOwnProperty.call(draft, currentProp)) {\r\n\t\t\tdraft[currentProp] = {};\r\n\t\t}\r\n\t\tdraft[currentProp] = updateData(draft[currentProp], value, ...remainingProps);\r\n\t});\r\n}\r\n\r\nexport const debounce = (fn, delay) => {\r\n\tlet timeoutId;\r\n\treturn (...args) => {\r\n\t\tclearTimeout(timeoutId);\r\n\t\ttimeoutId = setTimeout(() => {\r\n\t\t\tfn(...args);\r\n\t\t}, delay);\r\n\t};\r\n};\r\n\r\nexport const isExist = (value) => {\r\n\tif (value === undefined || value === null || value === '') {\r\n\t\treturn false;\r\n\t}\r\n\tif (Array.isArray(value) && value.length === 0) {\r\n\t\treturn false;\r\n\t}\r\n\tif (typeof value === 'object' && Object.keys(value).length === 0) {\r\n\t\treturn false;\r\n\t}\r\n\tif (typeof value === 'string' && value.trim() === '') {\r\n\t\treturn false;\r\n\t}\r\n\tif (typeof value === 'number' && value === 0) {\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n};","export const deskBreakpoint = '@media only screen and (min-width: 1025px)';\r\nexport const tabBreakpoint = '@media only screen and (min-width: 641px) and (max-width: 1024px)';\r\nexport const mobileBreakpoint = '@media only screen and (max-width: 640px)';","import { getBackgroundCSS, getBorderCSS, getColorsCSS, getSpaceCSS, getTypoCSS } from '../../../../bpl-tools/utils/getCSS';\r\n\r\nconst Style = ({ attributes, id }) => {\r\n\tconst { columnGap, rowGap, isContentEqualHight, sliderHeight, paginationColors, paginationHovColors, paginationPadding, paginationSpacing, fImgFitting = 'cover', contentAlign, contentBG, contentPadding, border, sliderPageColor, sliderPageWidth, sliderPageHeight, sliderPageBorder, sliderPrevNextColor, titleTypo, titleColor, titleMargin, metaTypo, metaTextColor, metaLinkColor, metaIconColor, metaColorsOnImage, metaMargin, excerptAlign, excerptTypo, excerptColor, excerptMargin, readMoreAlign, readMoreTypo, readMoreColors, readMoreHovColors, readMorePadding, readMoreBorder } = attributes;\r\n\r\n\tconst mainSl = `#${id}`;\r\n\tconst postSl = `${mainSl} .apbPost`;\r\n\tconst sliderPostsSl = `${mainSl} .apbSliderPosts`;\r\n\tconst postReadMoreSl = `${postSl} .apbReadMore`;\r\n\tconst postTitleSl = `${postSl} .apbTitle`;\r\n\tconst postMetaSl = `${postSl} .apbMeta`;\r\n\tconst paginationSl = `${mainSl} .apbPagination`;\r\n\r\n\treturn <style dangerouslySetInnerHTML={{\r\n\t\t__html: `\r\n\t\t${getTypoCSS('', titleTypo)?.googleFontLink}\r\n\t\t${getTypoCSS('', metaTypo)?.googleFontLink}\r\n\t\t${getTypoCSS('', excerptTypo)?.googleFontLink}\r\n\t\t${getTypoCSS('', readMoreTypo)?.googleFontLink}\r\n\t\t${getTypoCSS(`${postTitleSl}, ${postTitleSl} a`, titleTypo)?.styles}\r\n\t\t${getTypoCSS(`${postMetaSl}, ${postMetaSl} *, ${postSl} .apbThumbCats`, metaTypo)?.styles}\r\n\t\t${getTypoCSS(`${postSl} .apbExcerpt`, excerptTypo)?.styles}\r\n\t\t${getTypoCSS(`${postReadMoreSl} a`, readMoreTypo)?.styles}\r\n\r\n\t\t${paginationSl} .apbPagePrev,\r\n\t\t${paginationSl} .apbPageNumber,\r\n\t\t${paginationSl} .apbPageNext{\r\n\t\t\tfont-size: 15px;\r\n\t\t\t${getColorsCSS(paginationColors)}\r\n\t\t\tpadding: ${getSpaceCSS(paginationPadding)};\r\n\t\t\tmargin: 0 calc( ${paginationSpacing} / 2 );\r\n\t\t}\r\n\t\t@media (max-width: 576px) {\r\n\t\t\t${paginationSl} .apbPagePrev,\r\n\t\t\t${paginationSl} .apbPageNumber,\r\n\t\t\t${paginationSl} .apbPageNext{\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tpadding: ${getSpaceCSS(paginationPadding)?.split(' ').map(v => `calc( ${v} / 2 )`).join(' ')};\r\n\t\t\t\tmargin: 0 calc( ${paginationSpacing} / 4 );\r\n\t\t\t}\r\n\t\t}\r\n\t\t${paginationSl} .apbPagePrev:hover,\r\n\t\t${paginationSl} .apbPageNumber:hover,\r\n\t\t${paginationSl} .apbPageNext:hover,\r\n\t\t${paginationSl} .apbActivePage{\r\n\t\t\t${getColorsCSS(paginationHovColors)}\r\n\t\t}\r\n\r\n\t\t${postSl}{\r\n\t\t\t${getBorderCSS(border)}\r\n\t\t}\r\n\t\t${mainSl} .apbDefault,\r\n\t\t${mainSl} .apbSideImage{\r\n\t\t\ttext-align: ${contentAlign};\r\n\t\t\t${getBackgroundCSS(contentBG)}\r\n\t\t}\r\n\r\n\t\t${postSl} .apbText{\r\n\t\t\tpadding: ${getSpaceCSS(contentPadding)};\r\n\t\t}\r\n\t\t${mainSl} .apbOverlay .apbText{\r\n\t\t\t${getBackgroundCSS(contentBG)}\r\n\t\t\talign-items: ${'left' === contentAlign ? 'flex-start' : 'right' === contentAlign ? 'flex-end' : 'center' === contentAlign ? 'center' : ''}\r\n\t\t}\r\n\r\n\t\t${postTitleSl}, ${postTitleSl} a{\r\n\t\t\ttext-align: ${contentAlign};\r\n\t\t\tcolor: ${titleColor};\r\n\t\t}\r\n\t\t${postTitleSl}{\r\n\t\t\tmargin: ${getSpaceCSS(titleMargin)};\r\n\t\t}\r\n\t\t${postMetaSl}{\r\n\t\t\tjustify-content: ${'left' === contentAlign ? 'flex-start' : 'right' === contentAlign ? 'flex-end' : 'center'};\r\n\t\t\tcolor: ${metaTextColor};\r\n\t\t\tmargin: ${getSpaceCSS(metaMargin)};\r\n\t\t}\r\n\t\t${postMetaSl} a{\r\n\t\t\tcolor: ${metaLinkColor};\r\n\t\t}\r\n\t\t${postMetaSl} .dashicons{\r\n\t\t\tcolor: ${metaIconColor};\r\n\t\t}\r\n\t\t${postSl} .apbThumb img, ${postSl}.apbOverlay img{\r\n\t\t\tobject-fit: ${fImgFitting};\r\n\t\t}\r\n\t\t${postSl} .apbThumbCats a{\r\n\t\t\t${getColorsCSS(metaColorsOnImage)}\r\n\t\t}\r\n\t\t${postSl} .apbExcerpt{\r\n\t\t\ttext-align: ${excerptAlign};\r\n\t\t\tcolor: ${excerptColor};\r\n\t\t\tmargin: ${getSpaceCSS(excerptMargin)};\r\n\t\t}\r\n\t\t${postReadMoreSl}{\r\n\t\t\ttext-align: ${readMoreAlign};\r\n\t\t}\r\n\t\t${postReadMoreSl} a{\r\n\t\t\t${getColorsCSS(readMoreColors)}\r\n\t\t\tpadding: ${getSpaceCSS(readMorePadding)};\r\n\t\t\t${getBorderCSS(readMoreBorder)}\r\n\t\t}\r\n\t\t${postReadMoreSl} a:hover{\r\n\t\t\t${getColorsCSS(readMoreHovColors)}\r\n\t\t}\r\n\r\n\t\t${mainSl} .apbGridPosts,\r\n\t\t${mainSl} .apbGrid1Posts{\r\n\t\t\tgrid-gap: ${rowGap}px ${columnGap}px;\r\n\t\t\talign-items: ${false === isContentEqualHight ? 'start' : 'initial'};\r\n\t\t}\r\n\r\n\t\t${sliderPostsSl},\r\n\t\t${sliderPostsSl} .swiper-slide article{\r\n\t\t\tmin-height: ${sliderHeight};\r\n\t\t}\r\n\t\t${sliderPostsSl} .swiper-pagination .swiper-pagination-bullet{\r\n\t\t\tbackground: ${sliderPageColor};\r\n\t\t\twidth: ${sliderPageWidth};\r\n\t\t\theight: ${sliderPageHeight};\r\n\t\t\t${getBorderCSS(sliderPageBorder)}\r\n\t\t}\r\n\t\t${sliderPostsSl} .swiper-button-prev,\r\n\t\t${sliderPostsSl} .swiper-button-next{\r\n\t\t\tcolor: ${sliderPrevNextColor};\r\n\t\t}\r\n\t`.replace(/\\s+/g, ' ')\r\n\t}} />\r\n}\r\nexport default Style;","const FeatureImage = ({ post, attributes }) => {\r\n\tconst { link, thumbnail: { url: thumbUrl, alt: thumbAlt }, categories } = post;\r\n\tconst { isFImg, isFImgLink, isMeta, isMetaCategory, metaCategoryIn, isLinkNewTab } = attributes;\r\n\r\n\treturn (isFImg && thumbUrl) ? <figure className='apbThumb'>\r\n\t\t{isFImgLink ? <a href={link} target={isLinkNewTab ? '_blank' : '_self'} rel='noreferrer' aria-label={thumbAlt}>\r\n\t\t\t<img src={thumbUrl} alt={thumbAlt} />\r\n\t\t</a> : <img src={thumbUrl} alt={thumbAlt} />}\r\n\r\n\t\t{(isMeta && isMetaCategory && 'image' === metaCategoryIn && categories.space) && <div className='apbThumbCats' dangerouslySetInnerHTML={{ __html: categories.space }} />}\r\n\t</figure> : null;\r\n};\r\nexport default FeatureImage;","const MetaAuthor = ({ post, attributes }) => {\r\n\tconst { author } = post;\r\n\tconst { name, link } = author || {};\r\n\tconst { isMetaAuthor, isMetaAuthorLink = true, metaAuthorIcon } = attributes;\r\n\r\n\treturn (isMetaAuthor && name) ? <span>\r\n\t\t{metaAuthorIcon ?\r\n\t\t\t<img src={metaAuthorIcon} alt='Author' /> :\r\n\t\t\t<span className='dashicons dashicons-admin-users' />}\r\n\r\n\t\t{!isMetaAuthorLink ?\r\n\t\t\t<span>{name}</span> :\r\n\t\t\t<a href={link} target='_blank' rel='noreferrer' aria-label={name}>{name}</a>}\r\n\t</span> : null;\r\n};\r\nexport default MetaAuthor;","const PostMetaDate = ({ post, attributes }) => {\r\n\tconst { date } = post;\r\n\tconst { isMetaDate, metaDateIcon } = attributes;\r\n\r\n\treturn (isMetaDate && date) ? <span>\r\n\t\t{metaDateIcon ?\r\n\t\t\t<img src={metaDateIcon} alt='Date' /> :\r\n\t\t\t<span className='dashicons dashicons-calendar-alt' />}\r\n\r\n\t\t<span>{date}</span>\r\n\t</span> : null;\r\n};\r\nexport default PostMetaDate;","export const truncate = (str, nu_words) => {\r\n\tif (!str) return '';\r\n\r\n\tconst words = str.split(/\\s+/);\r\n\tconst truncatedWords = words.slice(0, nu_words);\r\n\treturn truncatedWords.join(' ');\r\n};\r\n\r\nexport const strToIntArr = str => str?.trim().split(',').map(id => id ? parseInt(id) : id);\r\nexport const filterNaN = array => array?.filter(id => id && !isNaN(id));\r\n\r\nexport const strLength = (str) => str ? str.split(' ').length : 0;\r\n\r\nexport const wordCount = content => content ? (content?.replace(/(<([^>]+)>)/gi, '').split(/\\s+/) || []).length : 0;\r\n\r\nexport const renderHTML = raw => <span dangerouslySetInnerHTML={{ __html: raw }} />;\r\n\r\nexport const filterObject = (obj, callback) => Object.fromEntries(Object.entries(obj).filter(([key, val]) => callback(key, val)));\r\n\r\nexport const omit = ({ [key]: _, ...obj }, key) => obj;\r\n\r\nexport const filterSelected = (taxonomy, selected) => taxonomy?.map(tax => tax.id)?.filter(tax => selected.indexOf(tax) !== -1);\r\n\r\nexport const dateFormat = (format, date) => {\r\n\tconst suffix = {\r\n\t\t'01': 'st',\r\n\t\t'02': 'nd',\r\n\t\t'03': 'rd'\r\n\t};\r\n\r\n\tif (!date || date === '') {\r\n\t\tdate = new Date();\r\n\t}\r\n\telse if (typeof (date) !== 'object') {\r\n\t\tdate = new Date(date.replace(/-/g, '/')); // attempt to convert string to date object\t\r\n\t}\r\n\r\n\tvar string = '',\r\n\t\tmo = date.getMonth(),\t// month (0-11)\r\n\t\tm1 = mo + 1,\t\t\t// month (1-12)\r\n\t\tdow = date.getDay(),\t// day of week (0-6)\r\n\t\td = date.getDate(),\t\t// day of the month (1-31)\r\n\t\ty = date.getFullYear(), // 1999 or 2003\r\n\t\th = date.getHours(),\t// hour (0-23)\r\n\t\tmi = date.getMinutes(), // minute (0-59)\r\n\t\ts = date.getSeconds(); // seconds (0-59)\r\n\r\n\tfor (var i = 0, len = format.length; i < len; i++) {\r\n\t\tswitch (format[i]) {\r\n\t\t\tcase 'j': // Day of the month without leading zeros (1 to 31)\r\n\t\t\t\tstring += d;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'd': // Day of the month, 2 digits with leading zeros (01 to 31)\r\n\t\t\t\tstring += (d < 10) ? '0' + d : d;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'S': // Day of the month, 2 digits with leading zeros (01 to 31)\r\n\t\t\t\tstring += suffix[d] || 'th';\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'l': // (lowercase 'L') A full textual representation of the day of the week\r\n\t\t\t\tvar days = Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');\r\n\t\t\t\tstring += days[dow];\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'w': // Numeric representation of the day of the week (0=Sunday,1=Monday,...6=Saturday)\r\n\t\t\t\tstring += dow;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'D': // A textual representation of a day, three letters\r\n\t\t\t\tdays = Array('Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat');\r\n\t\t\t\tstring += days[dow];\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'm': // Numeric representation of a month, with leading zeros (01 to 12)\r\n\t\t\t\tstring += (m1 < 10) ? '0' + m1 : m1;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'n': // Numeric representation of a month, without leading zeros (1 to 12)\r\n\t\t\t\tstring += m1;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'F': // A full textual representation of a month, such as January or March \r\n\t\t\t\tvar months = Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');\r\n\t\t\t\tstring += months[mo];\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'M': // A short textual representation of a month, three letters (Jan - Dec)\r\n\t\t\t\tmonths = Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');\r\n\t\t\t\tstring += months[mo];\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'Y': // A full numeric representation of a year, 4 digits (1999 OR 2003)\t\r\n\t\t\t\tstring += y;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'y': // A two digit representation of a year (99 OR 03)\r\n\t\t\t\tstring += y.toString().slice(-2);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'H': // 24-hour format of an hour with leading zeros (00 to 23)\r\n\t\t\t\tstring += (h < 10) ? '0' + h : h;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'g': // 12-hour format of an hour without leading zeros (1 to 12)\r\n\t\t\t\tvar hour = (h === 0) ? 12 : h;\r\n\t\t\t\tstring += (hour > 12) ? hour - 12 : hour;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'h': // 12-hour format of an hour with leading zeros (01 to 12)\r\n\t\t\t\thour = (h === 0) ? 12 : h;\r\n\t\t\t\thour = (hour > 12) ? hour - 12 : hour;\r\n\t\t\t\tstring += (hour < 10) ? '0' + hour : hour;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'a': // Lowercase Ante meridiem and Post meridiem (am or pm)\r\n\t\t\t\tstring += (h < 12) ? 'am' : 'pm';\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'i': // Minutes with leading zeros (00 to 59)\r\n\t\t\t\tstring += (mi < 10) ? '0' + mi : mi;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 's': // Seconds, with leading zeros (00 to 59)\r\n\t\t\t\tstring += (s < 10) ? '0' + s : s;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'c': // ISO 8601 date (eg: 2012-11-20T18:05:54.944Z)\r\n\t\t\t\tstring += date.toISOString();\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tdefault:\r\n\t\t\t\tstring += format[i];\r\n\t\t}\r\n\t}\r\n\r\n\treturn string;\r\n}\r\n\r\nexport const classNames = (...args) => {\r\n\tconst classes = args.reduce((acc, arg) => {\r\n\t\tif (typeof arg === 'string') {\r\n\t\t\tacc.push(arg);\r\n\t\t} else if (typeof arg === 'object') {\r\n\t\t\tObject.entries(arg).forEach(([key, value]) => {\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\tacc.push(key);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, []);\r\n\r\n\treturn classes.join(' ');\r\n}\r\n\r\nexport const filterPassword = (posts = [], has_password) => {\r\n\tswitch (has_password) {\r\n\t\tcase 'true':\r\n\t\t\treturn posts?.filter(p => p.password)\r\n\t\tcase 'false':\r\n\t\t\treturn posts?.filter(p => !p.password)\r\n\t\tdefault:\r\n\t\t\treturn posts\r\n\t}\r\n}","import { renderHTML } from '../../../utils/functions';\r\n\r\nconst MetaCategory = ({ post, attributes }) => {\r\n\tconst { categories } = post;\r\n\tconst { isMetaCategory, metaCategoryIn, metaCategoryIcon } = attributes;\r\n\r\n\treturn (isMetaCategory && 'content' === metaCategoryIn && categories.coma) ? <span>\r\n\t\t{metaCategoryIcon ?\r\n\t\t\t<img src={metaCategoryIcon} alt='Author' /> :\r\n\t\t\t<span className='dashicons dashicons-category' />}\r\n\r\n\t\t{renderHTML(categories.coma)}\r\n\t</span> : null;\r\n};\r\nexport default MetaCategory;","import { renderHTML } from '../../../utils/functions';\r\n\r\nconst MetaTaxonomies = ({ post, attributes }) => {\r\n\tconst { taxonomies = {} } = post;\r\n\tconst { metaTaxonomies = {} } = attributes;\r\n\tconst { selected = [] } = metaTaxonomies;\r\n\r\n\treturn selected.map(s => {\r\n\t\tconst tax = taxonomies[s];\r\n\t\tconst icon = metaTaxonomies[s]?.icon;\r\n\t\tconst iconEl = icon ? <img src={icon} alt={s} /> : <span className={`dashicons ${'post_tag' === s ? 'dashicons-tag' : 'dashicons-category'}`} />\r\n\r\n\t\tif (!tax) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn <span key={s}>\r\n\t\t\t{iconEl}\r\n\t\t\t{renderHTML(tax?.split('a><a')?.join('a>, <a'))}\r\n\t\t</span>\r\n\t});\r\n};\r\nexport default MetaTaxonomies;","const MetaReadTime = ({ post, attributes }) => {\r\n\tconst { readTime, content } = post;\r\n\tconst { isMetaReadTime, metaReadTimeIcon, isMetaReadTimeSec, metaReadTimeLabel } = attributes;\r\n\r\n\tconst readTimeText = isMetaReadTimeSec ? `${readTime?.min}:${readTime?.sec}` : readTime?.min;\r\n\r\n\treturn (isMetaReadTime && content) ? <span>\r\n\t\t{metaReadTimeIcon ?\r\n\t\t\t<img src={metaReadTimeIcon} alt='Author' /> :\r\n\t\t\t<span className='dashicons dashicons-clock' />}\r\n\r\n\t\t<span>{readTimeText} {metaReadTimeLabel}</span>\r\n\t</span> : null;\r\n};\r\nexport default MetaReadTime;","const MetaComment = ({ post, attributes }) => {\r\n\tconst { link, title, commentCount, commentStatus } = post;\r\n\tconst { isMetaComment, metaCommentIcon } = attributes;\r\n\r\n\treturn (isMetaComment && 'open' === commentStatus) ? <span>\r\n\t\t{metaCommentIcon ?\r\n\t\t\t<img src={metaCommentIcon} alt='Author' /> :\r\n\t\t\t<span className='dashicons dashicons-admin-comments' />}\r\n\r\n\t\t<a href={`${link}/#comments`} target='_blank' rel='noreferrer' aria-label={`Comments of ${title}`}>{commentCount}</a>\r\n\t</span> : null;\r\n};\r\nexport default MetaComment;","import PostMetaAuthor from './MetaAuthor';\r\nimport PostMetaDate from './MetaDate';\r\nimport PostMetaCategory from './MetaCategory';\r\nimport MetaTaxonomies from './MetaTaxonomies';\r\nimport PostMetaReadTime from './MetaReadTime';\r\nimport PostMetaComment from './MetaComment';\r\n\r\nconst Meta = ({ post, attributes }) => {\r\n\tconst { isMeta } = attributes;\r\n\r\n\treturn isMeta && <div className='apbMeta'>\r\n\t\t<PostMetaAuthor post={post} attributes={attributes} />\r\n\t\t<PostMetaDate post={post} attributes={attributes} />\r\n\t\t<PostMetaCategory post={post} attributes={attributes} />\r\n\t\t<MetaTaxonomies post={post} attributes={attributes} />\r\n\t\t<PostMetaReadTime post={post} attributes={attributes} />\r\n\t\t<PostMetaComment post={post} attributes={attributes} />\r\n\t</div>;\r\n};\r\nexport default Meta;","const Title = ({ post, attributes }) => {\r\n\tconst { link, title } = post;\r\n\tconst { isTitle, isTitleLink, isLinkNewTab } = attributes;\r\n\r\n\treturn isTitle ? <>\r\n\t\t{isTitleLink ?\r\n\t\t\t<h3 className='apbTitle'>\r\n\t\t\t\t<a href={link} target={isLinkNewTab ? '_blank' : '_self'} rel='noreferrer' dangerouslySetInnerHTML={{ __html: title }} aria-label={title} />\r\n\t\t\t</h3> :\r\n\t\t\t<h3 className='apbTitle' dangerouslySetInnerHTML={{ __html: title }} />}\r\n\t</> : null;\r\n};\r\nexport default Title;","import Meta from './Meta';\r\nimport Title from './Title';\r\n\r\nconst TitleMeta = ({ post, attributes }) => {\r\n\tconst { elementsSort = ['title', 'meta'] } = attributes;\r\n\r\n\treturn elementsSort.map((el, index) => 'title' === el ? <Title key={index} post={post} attributes={attributes} /> : <Meta key={index} post={post} attributes={attributes} />)\r\n}\r\nexport default TitleMeta;","import { truncate, strLength } from '../../../utils/functions';\r\n\r\nconst Excerpt = ({ post, attributes }) => {\r\n\tconst { excerpt, content } = post;\r\n\tconst { isExcerpt, isExcerptFromContent, isEllipsisOnExcerpt, excerptLength } = attributes;\r\n\r\n\tconst finalExcerpt = (!isExcerptFromContent && excerpt) ? excerpt : content;\r\n\tconst ellipsis = (isEllipsisOnExcerpt && (strLength(finalExcerpt) > excerptLength)) ? '...' : '';\r\n\r\n\tconst excerptContent = -1 === excerptLength ? finalExcerpt : `${truncate(finalExcerpt, excerptLength)}${ellipsis}`;\r\n\r\n\treturn (isExcerpt && finalExcerpt) ? <div className='apbExcerpt apbInnerContent' dangerouslySetInnerHTML={{ __html: excerptContent }} /> : null;\r\n};\r\nexport default Excerpt;","const\r\n\tReadMore = ({ post, attributes }) => {\r\n\t\tconst { link } = post;\r\n\t\tconst { isReadMore, readMorePosition = 'auto', readMoreLabel, isLinkNewTab } = attributes;\r\n\r\n\t\treturn isReadMore ? <div className={`apbReadMore ${readMorePosition}`}>\r\n\t\t\t<a href={link} target={isLinkNewTab ? '_blank' : '_self'} rel='noreferrer' dangerouslySetInnerHTML={{ __html: readMoreLabel }} aria-label={readMoreLabel} />\r\n\t\t</div> : null;\r\n\t};\r\nexport default\r\n\tReadMore;","import FeatureImage from '../Single/FeatureImage';\r\nimport TitleMeta from '../Single/TitleMeta';\r\nimport Excerpt from '../Single/Excerpt';\r\nimport ReadMore from '../Single/ReadMore';\r\nimport { classNames } from '../../../utils/functions';\r\n\r\nconst Default = ({ post, attributes, postClass }) => {\r\n\tconst { subLayout } = attributes;\r\n\r\n\tconst className = classNames(postClass, 'apbDefault');\r\n\r\n\treturn <article className={className}>\r\n\t\t<FeatureImage post={post} attributes={attributes} />\r\n\r\n\t\t<div className='apbText'>\r\n\t\t\t<TitleMeta post={post} attributes={attributes} />\r\n\r\n\t\t\t{'title-meta' !== subLayout && <>\r\n\t\t\t\t<Excerpt post={post} attributes={attributes} />\r\n\t\t\t\t<ReadMore post={post} attributes={attributes} />\r\n\t\t\t</>}\r\n\t\t</div>\r\n\t</article>;\r\n};\r\nexport default Default;","import FeatureImage from '../Single/FeatureImage';\r\nimport TitleMeta from '../Single/TitleMeta';\r\nimport Excerpt from '../Single/Excerpt';\r\nimport ReadMore from '../Single/ReadMore';\r\nimport { classNames } from '../../../utils/functions';\r\n\r\nconst SideImage = ({ post, attributes, postClass }) => {\r\n\tconst { thumbnail } = post;\r\n\tconst { subLayout, isFImg } = attributes;\r\n\r\n\tconst isLeftImg = 'left-image' === subLayout;\r\n\tconst isRightImg = 'right-image' === subLayout;\r\n\tconst className = classNames(postClass, 'apbSideImage', {\r\n\t\t'grid': isFImg && thumbnail.url,\r\n\t\t'leftImage': isLeftImg,\r\n\t\t'rightImage': isRightImg\r\n\t});\r\n\r\n\treturn <article className={className}>\r\n\t\t{isLeftImg && <FeatureImage post={post} attributes={attributes} />}\r\n\r\n\t\t<div className='apbText'>\r\n\t\t\t<TitleMeta post={post} attributes={attributes} />\r\n\r\n\t\t\t<Excerpt post={post} attributes={attributes} />\r\n\t\t\t<ReadMore post={post} attributes={attributes} />\r\n\t\t</div>\r\n\r\n\t\t{isRightImg && <FeatureImage post={post} attributes={attributes} />}\r\n\t</article>;\r\n};\r\nexport default SideImage;","import TitleMeta from '../Single/TitleMeta';\r\nimport Excerpt from '../Single/Excerpt';\r\nimport ReadMore from '../Single/ReadMore';\r\nimport { classNames } from '../../../utils/functions';\r\n\r\nconst Overlay = ({ post, attributes, postClass }) => {\r\n\tconst { title, thumbnail: { url: thumbUrl } } = post;\r\n\tconst { subLayout } = attributes;\r\n\r\n\tconst className = classNames(postClass, 'apbOverlay', {\r\n\t\t'apbOverlayHover': 'overlay-content-hover' === subLayout && thumbUrl,\r\n\t\t'apbOverlayBox': 'overlay-box' === subLayout || 'overlay-content-box' === subLayout,\r\n\t\t'apbOverlayHalfContent': 'overlay-half-content' === subLayout\r\n\t});\r\n\r\n\treturn <article className={className}>\r\n\t\t{thumbUrl && <img src={thumbUrl} alt={title} />}\r\n\r\n\t\t<div className='apbText'>\r\n\t\t\t<TitleMeta post={post} attributes={attributes} />\r\n\r\n\t\t\t{'overlay-box' !== subLayout && 'overlay-half-content' !== subLayout && <>\r\n\t\t\t\t<Excerpt post={post} attributes={attributes} />\r\n\t\t\t\t<ReadMore post={post} attributes={attributes} />\r\n\t\t\t</>}\r\n\t\t</div>\r\n\t</article>;\r\n};\r\n\r\nexport default Overlay;","import Default from './Default';\r\nimport SideImage from './SideImage';\r\nimport Overlay from './Overlay';\r\nimport { classNames } from '../../../utils/functions';\r\n\r\nconst SubLayout = ({ post, attributes }) => {\r\n    const { subLayout, content = { height: 'auto' } } = attributes;\r\n\r\n    const { id, thumbnail } = post;\r\n    const postClass = classNames('apbPost', `apbPost-${id}`, `${content?.height}ContentHeight`, {\r\n        'hasThumbnail': thumbnail.url\r\n    });\r\n\r\n    switch (subLayout) {\r\n        case 'default':\r\n        case 'title-meta':\r\n            return <Default post={post} attributes={attributes} postClass={postClass} />;\r\n        case 'left-image':\r\n        case 'right-image':\r\n            return <SideImage post={post} attributes={attributes} postClass={postClass} />;\r\n        case 'overlay-content':\r\n        case 'overlay-content-hover':\r\n        case 'overlay-box':\r\n        case 'overlay-content-box':\r\n        case 'overlay-half-content':\r\n            return <Overlay post={post} attributes={attributes} postClass={postClass} />;\r\n        default:\r\n            return null;\r\n    }\r\n}\r\nexport default SubLayout;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\n\nvar Masonry = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(Masonry, _React$Component);\n\n  function Masonry() {\n    var _this;\n\n    _this = _React$Component.call(this) || this;\n    _this.state = {\n      columns: [],\n      childRefs: [],\n      hasDistributed: false\n    };\n    return _this;\n  }\n\n  var _proto = Masonry.prototype;\n\n  _proto.componentDidUpdate = function componentDidUpdate() {\n    if (!this.state.hasDistributed && !this.props.sequential) this.distributeChildren();\n  };\n\n  Masonry.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n    var children = props.children,\n        columnsCount = props.columnsCount;\n    if (state && children === state.children) return null;\n    return _extends({}, Masonry.getEqualCountColumns(children, columnsCount), {\n      children: children,\n      hasDistributed: false\n    });\n  };\n\n  _proto.distributeChildren = function distributeChildren() {\n    var _this2 = this;\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        columnsCount = _this$props.columnsCount;\n    var columnHeights = Array(columnsCount).fill(0);\n    var isReady = this.state.childRefs.every(function (ref) {\n      return ref.current.getBoundingClientRect().height;\n    });\n    if (!isReady) return;\n    var columns = Array.from({\n      length: columnsCount\n    }, function () {\n      return [];\n    });\n    var validIndex = 0;\n    React.Children.forEach(children, function (child) {\n      if (child && React.isValidElement(child)) {\n        // .current is undefined if ref was passed to a functional component without forwardRef\n        // now passing ref into a wrapper div so it should always be defined\n        var childHeight = _this2.state.childRefs[validIndex].current.getBoundingClientRect().height;\n\n        var minHeightColumnIndex = columnHeights.indexOf(Math.min.apply(Math, columnHeights));\n        columnHeights[minHeightColumnIndex] += childHeight;\n        columns[minHeightColumnIndex].push(child);\n        validIndex++;\n      }\n    });\n    this.setState(function (p) {\n      return _extends({}, p, {\n        columns: columns,\n        hasDistributed: true\n      });\n    });\n  };\n\n  Masonry.getEqualCountColumns = function getEqualCountColumns(children, columnsCount) {\n    var columns = Array.from({\n      length: columnsCount\n    }, function () {\n      return [];\n    });\n    var validIndex = 0;\n    var childRefs = [];\n    React.Children.forEach(children, function (child) {\n      if (child && React.isValidElement(child)) {\n        var ref = React.createRef();\n        childRefs.push(ref);\n        columns[validIndex % columnsCount].push( /*#__PURE__*/React.createElement(\"div\", {\n          style: {\n            display: \"flex\",\n            justifyContent: \"stretch\"\n          },\n          key: validIndex,\n          ref: ref\n        }, child) // React.cloneElement(child, {ref}) // cannot attach refs to functional components without forwardRef\n        );\n        validIndex++;\n      }\n    });\n    return {\n      columns: columns,\n      childRefs: childRefs\n    };\n  };\n\n  _proto.renderColumns = function renderColumns() {\n    var _this$props2 = this.props,\n        gutter = _this$props2.gutter,\n        itemTag = _this$props2.itemTag,\n        itemStyle = _this$props2.itemStyle;\n    return this.state.columns.map(function (column, i) {\n      return React.createElement(itemTag, {\n        key: i,\n        style: _extends({\n          display: \"flex\",\n          flexDirection: \"column\",\n          justifyContent: \"flex-start\",\n          alignContent: \"stretch\",\n          flex: 1,\n          width: 0,\n          gap: gutter\n        }, itemStyle)\n      }, column.map(function (item) {\n        return item;\n      }));\n    });\n  };\n\n  _proto.render = function render() {\n    var _this$props3 = this.props,\n        gutter = _this$props3.gutter,\n        className = _this$props3.className,\n        style = _this$props3.style,\n        containerTag = _this$props3.containerTag;\n    return React.createElement(containerTag, {\n      style: _extends({\n        display: \"flex\",\n        flexDirection: \"row\",\n        justifyContent: \"center\",\n        alignContent: \"stretch\",\n        boxSizing: \"border-box\",\n        width: \"100%\",\n        gap: gutter\n      }, style),\n      className: className\n    }, this.renderColumns());\n  };\n\n  return Masonry;\n}(React.Component);\n\nMasonry.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n  columnsCount: PropTypes.number,\n  gutter: PropTypes.string,\n  className: PropTypes.string,\n  style: PropTypes.object,\n  containerTag: PropTypes.string,\n  itemTag: PropTypes.string,\n  itemStyle: PropTypes.object,\n  sequential: PropTypes.bool\n} : {};\nMasonry.defaultProps = {\n  columnsCount: 3,\n  gutter: \"0\",\n  className: null,\n  style: {},\n  containerTag: \"div\",\n  itemTag: \"div\",\n  itemStyle: {},\n  sequential: false\n};\nexport default Masonry;","import React, { useCallback, useEffect, useLayoutEffect, useMemo, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nvar DEFAULT_COLUMNS_COUNT = 1;\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\nvar useHasMounted = function useHasMounted() {\n  var _useState = useState(false),\n      hasMounted = _useState[0],\n      setHasMounted = _useState[1];\n\n  useIsomorphicLayoutEffect(function () {\n    setHasMounted(true);\n  }, []);\n  return hasMounted;\n};\n\nvar useWindowWidth = function useWindowWidth() {\n  var hasMounted = useHasMounted();\n\n  var _useState2 = useState(typeof window !== \"undefined\" ? window.innerWidth : 0),\n      width = _useState2[0],\n      setWidth = _useState2[1];\n\n  var handleResize = useCallback(function () {\n    if (!hasMounted) return;\n    setWidth(window.innerWidth);\n  }, [hasMounted]);\n  useIsomorphicLayoutEffect(function () {\n    if (hasMounted) {\n      window.addEventListener(\"resize\", handleResize);\n      handleResize();\n      return function () {\n        return window.removeEventListener(\"resize\", handleResize);\n      };\n    }\n  }, [hasMounted, handleResize]);\n  return width;\n};\n\nvar MasonryResponsive = function MasonryResponsive(_ref) {\n  var _ref$columnsCountBrea = _ref.columnsCountBreakPoints,\n      columnsCountBreakPoints = _ref$columnsCountBrea === void 0 ? {\n    350: 1,\n    750: 2,\n    900: 3\n  } : _ref$columnsCountBrea,\n      children = _ref.children,\n      _ref$className = _ref.className,\n      className = _ref$className === void 0 ? null : _ref$className,\n      _ref$style = _ref.style,\n      style = _ref$style === void 0 ? null : _ref$style;\n  var windowWidth = useWindowWidth();\n  var columnsCount = useMemo(function () {\n    var breakPoints = Object.keys(columnsCountBreakPoints).sort(function (a, b) {\n      return a - b;\n    });\n    var count = breakPoints.length > 0 ? columnsCountBreakPoints[breakPoints[0]] : DEFAULT_COLUMNS_COUNT;\n    breakPoints.forEach(function (breakPoint) {\n      if (breakPoint < windowWidth) {\n        count = columnsCountBreakPoints[breakPoint];\n      }\n    });\n    return count;\n  }, [windowWidth, columnsCountBreakPoints]);\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: className,\n    style: style\n  }, React.Children.map(children, function (child, index) {\n    return React.cloneElement(child, {\n      key: index,\n      columnsCount: columnsCount\n    });\n  }));\n};\n\nMasonryResponsive.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n  columnsCountBreakPoints: PropTypes.object,\n  className: PropTypes.string,\n  style: PropTypes.object\n} : {};\nexport default MasonryResponsive;","import Masonry from \"./Masonry\";\nimport ResponsiveMasonry from \"./ResponsiveMasonry\";\nexport default Masonry;\nexport { ResponsiveMasonry };","import Masonry, { ResponsiveMasonry } from 'react-responsive-masonry';\r\n\r\nimport SubLayout from '../SubLayout/SubLayout';\r\n\r\nconst MyMasonry = ({ posts, attributes }) => {\r\n\tconst { columns, columnGap, rowGap } = attributes;\r\n\tconst { desktop = 3, tablet = 2, mobile = 1 } = columns;\r\n\r\n\treturn <ResponsiveMasonry className='apbMasonryPosts' columnsCountBreakPoints={{ 0: mobile, 576: tablet, 768: desktop }}>\r\n\t\t<Masonry gutter={`${rowGap}px ${columnGap}px`}>\r\n\t\t\t{posts.map(post => <SubLayout key={post.id} post={post} attributes={attributes} />)}\r\n\t\t</Masonry>\r\n\t</ResponsiveMasonry>\r\n}\r\nexport default MyMasonry;","import SubLayout from './SubLayout/SubLayout';\r\nimport Masonry from './Layout/Masonry';\r\n\r\nconst DisplayPosts = ({ posts, attributes, id, Slider, Ticker }) => {\r\n\tconst { layout, columns } = attributes;\r\n\tconst { desktop = 3, tablet = 2, mobile = 1 } = columns;\r\n\r\n\tconst PostsLoop = () => posts.map(post => <SubLayout key={post.id} post={post} attributes={attributes} />)\r\n\r\n\tswitch (layout) {\r\n\t\tcase 'grid':\r\n\t\t\treturn <div className={`apbGridPosts columns-${desktop} columns-tablet-${tablet} columns-mobile-${mobile}`}>\r\n\t\t\t\t<PostsLoop />\r\n\t\t\t</div>;\r\n\r\n\t\tcase 'grid1':\r\n\t\t\treturn <div className='apbGrid1Posts'>\r\n\t\t\t\t<PostsLoop />\r\n\t\t\t</div>;\r\n\r\n\t\tcase 'masonry':\r\n\t\t\treturn <Masonry posts={posts} attributes={attributes} />;\r\n\r\n\t\tcase 'slider':\r\n\t\t\treturn <Slider posts={posts} attributes={attributes} id={id} />\r\n\r\n\t\tcase 'ticker':\r\n\t\t\treturn <Ticker posts={posts} attributes={attributes} id={id} />;\r\n\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n}\r\nexport default DisplayPosts;","import { useMemo } from 'react';\r\n\r\nexport const DOTS = '&#183;';\r\n\r\nconst range = (start, end) => {\r\n\tlet length = end - start + 1;\r\n\treturn Array.from({ length }, (_, idx) => idx + start);\r\n};\r\n\r\nexport const usePagination = ({ currentPage, totalCount, pageSize, siblingCount = 1 }) => {\r\n\tconst paginationRange = useMemo(() => {\r\n\t\tconst totalPageCount = Math.ceil(totalCount / pageSize);\r\n\r\n\t\t// Pages count is determined as siblingCount + firstPage + lastPage + currentPage + 2*DOTS\r\n\t\tconst totalPageNumbers = siblingCount + 5;\r\n\r\n\t\t/*\r\n\t\t\tIf the number of pages is less than the page numbers we want to show in our\r\n\t\t\tpaginationComponent, we return the range [1..totalPageCount]\r\n\t\t*/\r\n\t\tif (totalPageNumbers >= totalPageCount) {\r\n\t\t\treturn range(1, totalPageCount);\r\n\t\t}\r\n\r\n\t\tconst leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\r\n\t\tconst rightSiblingIndex = Math.min(\r\n\t\t\tcurrentPage + siblingCount,\r\n\t\t\ttotalPageCount\r\n\t\t);\r\n\r\n\t\t/*\r\n\t\t\tWe do not want to show dots if there is only one position left \r\n\t\t\tafter/before the left/right page count as that would lead to a change if our Pagination\r\n\t\t\tcomponent size which we do not want\r\n\t\t*/\r\n\t\tconst shouldShowLeftDots = leftSiblingIndex > 2;\r\n\t\tconst shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\r\n\r\n\t\tconst firstPageIndex = 1;\r\n\t\tconst lastPageIndex = totalPageCount;\r\n\r\n\t\tif (!shouldShowLeftDots && shouldShowRightDots) {\r\n\t\t\tlet leftItemCount = 3 + 2 * siblingCount;\r\n\t\t\tlet leftRange = range(1, leftItemCount);\r\n\t\t\treturn [...leftRange, DOTS, totalPageCount];\r\n\t\t}\r\n\r\n\t\tif (shouldShowLeftDots && !shouldShowRightDots) {\r\n\t\t\tlet rightItemCount = 3 + 2 * siblingCount;\r\n\t\t\tlet rightRange = range(\r\n\t\t\t\ttotalPageCount - rightItemCount + 1,\r\n\t\t\t\ttotalPageCount\r\n\t\t\t);\r\n\t\t\treturn [firstPageIndex, DOTS, ...rightRange];\r\n\t\t}\r\n\r\n\t\tif (shouldShowLeftDots && shouldShowRightDots) {\r\n\t\t\tlet middleRange = range(leftSiblingIndex, rightSiblingIndex);\r\n\t\t\treturn [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\r\n\t\t}\r\n\t}, [currentPage, totalCount, pageSize, siblingCount]);\r\n\r\n\treturn paginationRange;\r\n};","import { useState } from 'react';\r\n\r\nimport { usePagination, DOTS } from './usePagination';\r\n\r\nconst Pagination = ({ attributes, totalCount, onChange }) => {\r\n\tconst { layout, isPostsPerPageAll, postsPerPage, isPagination, paginationPrevLabel, paginationNextLabel } = attributes;\r\n\r\n\tconst [currentPage, setCurrentPage] = useState(1);\r\n\r\n\tconst paginationRange = usePagination({\r\n\t\tcurrentPage,\r\n\t\ttotalCount,\r\n\t\tpageSize: postsPerPage,\r\n\t\tsiblingCount: 1\r\n\t});\r\n\r\n\tif (currentPage === 0 || paginationRange.length < 2) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tlet lastPage = paginationRange[paginationRange.length - 1];\r\n\r\n\tconst setPageNumber = pageNumber => {\r\n\t\tonChange(pageNumber);\r\n\t\tsetCurrentPage(pageNumber);\r\n\t}\r\n\r\n\treturn isPagination && !isPostsPerPageAll && 'slider' !== layout && 'ticker' !== layout ? <ul className={`apbPagination`}>\r\n\t\t<li className={`apbPageNumber ${currentPage === 1 ? 'disabled' : ''}`}\r\n\t\t\tonClick={() => setPageNumber(currentPage - 1)}\r\n\t\t>{paginationPrevLabel}</li>\r\n\r\n\t\t{paginationRange.map((pageNumber, index) => {\r\n\t\t\tif (pageNumber === DOTS) {\r\n\t\t\t\treturn <li key={index} className='dots'>&#183;&#183;&#183;&#183;&#183;</li>;\r\n\t\t\t}\r\n\r\n\t\t\treturn <li key={index}\r\n\t\t\t\tclassName={`apbPageNumber ${pageNumber === currentPage ? 'apbActivePage' : ''}`}\r\n\t\t\t\tonClick={() => setPageNumber(pageNumber)}\r\n\t\t\t> {pageNumber}</li>;\r\n\t\t})}\r\n\r\n\t\t<li className={`apbPageNumber ${currentPage === lastPage ? 'disabled' : ''}`}\r\n\t\t\tonClick={() => setPageNumber(currentPage + 1)}\r\n\t\t>{paginationNextLabel}</li>\r\n\t</ul> : null;\r\n};\r\nexport default Pagination;","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n  return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n  if (target === void 0) {\n    target = {};\n  }\n  if (src === void 0) {\n    src = {};\n  }\n  Object.keys(src).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      extend(target[key], src[key]);\n    }\n  });\n}\nconst ssrDocument = {\n  body: {},\n  addEventListener() {},\n  removeEventListener() {},\n  activeElement: {\n    blur() {},\n    nodeName: ''\n  },\n  querySelector() {\n    return null;\n  },\n  querySelectorAll() {\n    return [];\n  },\n  getElementById() {\n    return null;\n  },\n  createEvent() {\n    return {\n      initEvent() {}\n    };\n  },\n  createElement() {\n    return {\n      children: [],\n      childNodes: [],\n      style: {},\n      setAttribute() {},\n      getElementsByTagName() {\n        return [];\n      }\n    };\n  },\n  createElementNS() {\n    return {};\n  },\n  importNode() {\n    return null;\n  },\n  location: {\n    hash: '',\n    host: '',\n    hostname: '',\n    href: '',\n    origin: '',\n    pathname: '',\n    protocol: '',\n    search: ''\n  }\n};\nfunction getDocument() {\n  const doc = typeof document !== 'undefined' ? document : {};\n  extend(doc, ssrDocument);\n  return doc;\n}\nconst ssrWindow = {\n  document: ssrDocument,\n  navigator: {\n    userAgent: ''\n  },\n  location: {\n    hash: '',\n    host: '',\n    hostname: '',\n    href: '',\n    origin: '',\n    pathname: '',\n    protocol: '',\n    search: ''\n  },\n  history: {\n    replaceState() {},\n    pushState() {},\n    go() {},\n    back() {}\n  },\n  CustomEvent: function CustomEvent() {\n    return this;\n  },\n  addEventListener() {},\n  removeEventListener() {},\n  getComputedStyle() {\n    return {\n      getPropertyValue() {\n        return '';\n      }\n    };\n  },\n  Image() {},\n  Date() {},\n  screen: {},\n  setTimeout() {},\n  clearTimeout() {},\n  matchMedia() {\n    return {};\n  },\n  requestAnimationFrame(callback) {\n    if (typeof setTimeout === 'undefined') {\n      callback();\n      return null;\n    }\n    return setTimeout(callback, 0);\n  },\n  cancelAnimationFrame(id) {\n    if (typeof setTimeout === 'undefined') {\n      return;\n    }\n    clearTimeout(id);\n  }\n};\nfunction getWindow() {\n  const win = typeof window !== 'undefined' ? window : {};\n  extend(win, ssrWindow);\n  return win;\n}\n\nexport { getWindow as a, getDocument as g };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\n\nfunction classesToTokens(classes) {\n  if (classes === void 0) {\n    classes = '';\n  }\n  return classes.trim().split(' ').filter(c => !!c.trim());\n}\n\nfunction deleteProps(obj) {\n  const object = obj;\n  Object.keys(object).forEach(key => {\n    try {\n      object[key] = null;\n    } catch (e) {\n      // no getter for object\n    }\n    try {\n      delete object[key];\n    } catch (e) {\n      // something got wrong\n    }\n  });\n}\nfunction nextTick(callback, delay) {\n  if (delay === void 0) {\n    delay = 0;\n  }\n  return setTimeout(callback, delay);\n}\nfunction now() {\n  return Date.now();\n}\nfunction getComputedStyle(el) {\n  const window = getWindow();\n  let style;\n  if (window.getComputedStyle) {\n    style = window.getComputedStyle(el, null);\n  }\n  if (!style && el.currentStyle) {\n    style = el.currentStyle;\n  }\n  if (!style) {\n    style = el.style;\n  }\n  return style;\n}\nfunction getTranslate(el, axis) {\n  if (axis === void 0) {\n    axis = 'x';\n  }\n  const window = getWindow();\n  let matrix;\n  let curTransform;\n  let transformMatrix;\n  const curStyle = getComputedStyle(el);\n  if (window.WebKitCSSMatrix) {\n    curTransform = curStyle.transform || curStyle.webkitTransform;\n    if (curTransform.split(',').length > 6) {\n      curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n    }\n    // Some old versions of Webkit choke when 'none' is passed; pass\n    // empty string instead in this case\n    transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n  } else {\n    transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n    matrix = transformMatrix.toString().split(',');\n  }\n  if (axis === 'x') {\n    // Latest Chrome and webkits Fix\n    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n    // Crazy IE10 Matrix\n    else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n    // Normal Browsers\n    else curTransform = parseFloat(matrix[4]);\n  }\n  if (axis === 'y') {\n    // Latest Chrome and webkits Fix\n    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n    // Crazy IE10 Matrix\n    else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n    // Normal Browsers\n    else curTransform = parseFloat(matrix[5]);\n  }\n  return curTransform || 0;\n}\nfunction isObject(o) {\n  return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n  // eslint-disable-next-line\n  if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n    return node instanceof HTMLElement;\n  }\n  return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend() {\n  const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n  const noExtend = ['__proto__', 'constructor', 'prototype'];\n  for (let i = 1; i < arguments.length; i += 1) {\n    const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n    if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n      const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n      for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n        const nextKey = keysArray[nextIndex];\n        const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n        if (desc !== undefined && desc.enumerable) {\n          if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n            if (nextSource[nextKey].__swiper__) {\n              to[nextKey] = nextSource[nextKey];\n            } else {\n              extend(to[nextKey], nextSource[nextKey]);\n            }\n          } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n            to[nextKey] = {};\n            if (nextSource[nextKey].__swiper__) {\n              to[nextKey] = nextSource[nextKey];\n            } else {\n              extend(to[nextKey], nextSource[nextKey]);\n            }\n          } else {\n            to[nextKey] = nextSource[nextKey];\n          }\n        }\n      }\n    }\n  }\n  return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n  el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll(_ref) {\n  let {\n    swiper,\n    targetPosition,\n    side\n  } = _ref;\n  const window = getWindow();\n  const startPosition = -swiper.translate;\n  let startTime = null;\n  let time;\n  const duration = swiper.params.speed;\n  swiper.wrapperEl.style.scrollSnapType = 'none';\n  window.cancelAnimationFrame(swiper.cssModeFrameID);\n  const dir = targetPosition > startPosition ? 'next' : 'prev';\n  const isOutOfBound = (current, target) => {\n    return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n  };\n  const animate = () => {\n    time = new Date().getTime();\n    if (startTime === null) {\n      startTime = time;\n    }\n    const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n    const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n    let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n    if (isOutOfBound(currentPosition, targetPosition)) {\n      currentPosition = targetPosition;\n    }\n    swiper.wrapperEl.scrollTo({\n      [side]: currentPosition\n    });\n    if (isOutOfBound(currentPosition, targetPosition)) {\n      swiper.wrapperEl.style.overflow = 'hidden';\n      swiper.wrapperEl.style.scrollSnapType = '';\n      setTimeout(() => {\n        swiper.wrapperEl.style.overflow = '';\n        swiper.wrapperEl.scrollTo({\n          [side]: currentPosition\n        });\n      });\n      window.cancelAnimationFrame(swiper.cssModeFrameID);\n      return;\n    }\n    swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n  };\n  animate();\n}\nfunction getSlideTransformEl(slideEl) {\n  return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction elementChildren(element, selector) {\n  if (selector === void 0) {\n    selector = '';\n  }\n  const children = [...element.children];\n  if (element instanceof HTMLSlotElement) {\n    children.push(...element.assignedElements());\n  }\n  if (!selector) {\n    return children;\n  }\n  return children.filter(el => el.matches(selector));\n}\nfunction elementIsChildOf(el, parent) {\n  const isChild = parent.contains(el);\n  if (!isChild && parent instanceof HTMLSlotElement) {\n    const children = [...parent.assignedElements()];\n    return children.includes(el);\n  }\n  return isChild;\n}\nfunction showWarning(text) {\n  try {\n    console.warn(text);\n    return;\n  } catch (err) {\n    // err\n  }\n}\nfunction createElement(tag, classes) {\n  if (classes === void 0) {\n    classes = [];\n  }\n  const el = document.createElement(tag);\n  el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));\n  return el;\n}\nfunction elementOffset(el) {\n  const window = getWindow();\n  const document = getDocument();\n  const box = el.getBoundingClientRect();\n  const body = document.body;\n  const clientTop = el.clientTop || body.clientTop || 0;\n  const clientLeft = el.clientLeft || body.clientLeft || 0;\n  const scrollTop = el === window ? window.scrollY : el.scrollTop;\n  const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n  return {\n    top: box.top + scrollTop - clientTop,\n    left: box.left + scrollLeft - clientLeft\n  };\n}\nfunction elementPrevAll(el, selector) {\n  const prevEls = [];\n  while (el.previousElementSibling) {\n    const prev = el.previousElementSibling; // eslint-disable-line\n    if (selector) {\n      if (prev.matches(selector)) prevEls.push(prev);\n    } else prevEls.push(prev);\n    el = prev;\n  }\n  return prevEls;\n}\nfunction elementNextAll(el, selector) {\n  const nextEls = [];\n  while (el.nextElementSibling) {\n    const next = el.nextElementSibling; // eslint-disable-line\n    if (selector) {\n      if (next.matches(selector)) nextEls.push(next);\n    } else nextEls.push(next);\n    el = next;\n  }\n  return nextEls;\n}\nfunction elementStyle(el, prop) {\n  const window = getWindow();\n  return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n  let child = el;\n  let i;\n  if (child) {\n    i = 0;\n    // eslint-disable-next-line\n    while ((child = child.previousSibling) !== null) {\n      if (child.nodeType === 1) i += 1;\n    }\n    return i;\n  }\n  return undefined;\n}\nfunction elementParents(el, selector) {\n  const parents = []; // eslint-disable-line\n  let parent = el.parentElement; // eslint-disable-line\n  while (parent) {\n    if (selector) {\n      if (parent.matches(selector)) parents.push(parent);\n    } else {\n      parents.push(parent);\n    }\n    parent = parent.parentElement;\n  }\n  return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n  function fireCallBack(e) {\n    if (e.target !== el) return;\n    callback.call(el, e);\n    el.removeEventListener('transitionend', fireCallBack);\n  }\n  if (callback) {\n    el.addEventListener('transitionend', fireCallBack);\n  }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n  const window = getWindow();\n  if (includeMargins) {\n    return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n  }\n  return el.offsetWidth;\n}\nfunction makeElementsArray(el) {\n  return (Array.isArray(el) ? el : [el]).filter(e => !!e);\n}\nfunction getRotateFix(swiper) {\n  return v => {\n    if (Math.abs(v) > 0 && swiper.browser && swiper.browser.need3dFix && Math.abs(v) % 90 === 0) {\n      return v + 0.001;\n    }\n    return v;\n  };\n}\n\nexport { elementParents as a, elementOffset as b, createElement as c, now as d, elementChildren as e, elementOuterSize as f, getSlideTransformEl as g, elementIndex as h, classesToTokens as i, getTranslate as j, elementTransitionEnd as k, isObject as l, makeElementsArray as m, nextTick as n, getRotateFix as o, elementStyle as p, elementNextAll as q, elementPrevAll as r, setCSSProperty as s, animateCSSModeScroll as t, showWarning as u, elementIsChildOf as v, extend as w, deleteProps as x };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { a as elementParents, p as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, q as elementNextAll, r as elementPrevAll, j as getTranslate, t as animateCSSModeScroll, n as nextTick, u as showWarning, c as createElement, v as elementIsChildOf, d as now, w as extend, h as elementIndex, x as deleteProps } from './utils.mjs';\n\nlet support;\nfunction calcSupport() {\n  const window = getWindow();\n  const document = getDocument();\n  return {\n    smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n    touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n  };\n}\nfunction getSupport() {\n  if (!support) {\n    support = calcSupport();\n  }\n  return support;\n}\n\nlet deviceCached;\nfunction calcDevice(_temp) {\n  let {\n    userAgent\n  } = _temp === void 0 ? {} : _temp;\n  const support = getSupport();\n  const window = getWindow();\n  const platform = window.navigator.platform;\n  const ua = userAgent || window.navigator.userAgent;\n  const device = {\n    ios: false,\n    android: false\n  };\n  const screenWidth = window.screen.width;\n  const screenHeight = window.screen.height;\n  const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n  let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n  const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n  const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n  const windows = platform === 'Win32';\n  let macos = platform === 'MacIntel';\n\n  // iPadOs 13 fix\n  const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n  if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n    ipad = ua.match(/(Version)\\/([\\d.]+)/);\n    if (!ipad) ipad = [0, 1, '13_0_0'];\n    macos = false;\n  }\n\n  // Android\n  if (android && !windows) {\n    device.os = 'android';\n    device.android = true;\n  }\n  if (ipad || iphone || ipod) {\n    device.os = 'ios';\n    device.ios = true;\n  }\n\n  // Export object\n  return device;\n}\nfunction getDevice(overrides) {\n  if (overrides === void 0) {\n    overrides = {};\n  }\n  if (!deviceCached) {\n    deviceCached = calcDevice(overrides);\n  }\n  return deviceCached;\n}\n\nlet browser;\nfunction calcBrowser() {\n  const window = getWindow();\n  const device = getDevice();\n  let needPerspectiveFix = false;\n  function isSafari() {\n    const ua = window.navigator.userAgent.toLowerCase();\n    return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n  }\n  if (isSafari()) {\n    const ua = String(window.navigator.userAgent);\n    if (ua.includes('Version/')) {\n      const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n      needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n    }\n  }\n  const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);\n  const isSafariBrowser = isSafari();\n  const need3dFix = isSafariBrowser || isWebView && device.ios;\n  return {\n    isSafari: needPerspectiveFix || isSafariBrowser,\n    needPerspectiveFix,\n    need3dFix,\n    isWebView\n  };\n}\nfunction getBrowser() {\n  if (!browser) {\n    browser = calcBrowser();\n  }\n  return browser;\n}\n\nfunction Resize(_ref) {\n  let {\n    swiper,\n    on,\n    emit\n  } = _ref;\n  const window = getWindow();\n  let observer = null;\n  let animationFrame = null;\n  const resizeHandler = () => {\n    if (!swiper || swiper.destroyed || !swiper.initialized) return;\n    emit('beforeResize');\n    emit('resize');\n  };\n  const createObserver = () => {\n    if (!swiper || swiper.destroyed || !swiper.initialized) return;\n    observer = new ResizeObserver(entries => {\n      animationFrame = window.requestAnimationFrame(() => {\n        const {\n          width,\n          height\n        } = swiper;\n        let newWidth = width;\n        let newHeight = height;\n        entries.forEach(_ref2 => {\n          let {\n            contentBoxSize,\n            contentRect,\n            target\n          } = _ref2;\n          if (target && target !== swiper.el) return;\n          newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n          newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n        });\n        if (newWidth !== width || newHeight !== height) {\n          resizeHandler();\n        }\n      });\n    });\n    observer.observe(swiper.el);\n  };\n  const removeObserver = () => {\n    if (animationFrame) {\n      window.cancelAnimationFrame(animationFrame);\n    }\n    if (observer && observer.unobserve && swiper.el) {\n      observer.unobserve(swiper.el);\n      observer = null;\n    }\n  };\n  const orientationChangeHandler = () => {\n    if (!swiper || swiper.destroyed || !swiper.initialized) return;\n    emit('orientationchange');\n  };\n  on('init', () => {\n    if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n      createObserver();\n      return;\n    }\n    window.addEventListener('resize', resizeHandler);\n    window.addEventListener('orientationchange', orientationChangeHandler);\n  });\n  on('destroy', () => {\n    removeObserver();\n    window.removeEventListener('resize', resizeHandler);\n    window.removeEventListener('orientationchange', orientationChangeHandler);\n  });\n}\n\nfunction Observer(_ref) {\n  let {\n    swiper,\n    extendParams,\n    on,\n    emit\n  } = _ref;\n  const observers = [];\n  const window = getWindow();\n  const attach = function (target, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n    const observer = new ObserverFunc(mutations => {\n      // The observerUpdate event should only be triggered\n      // once despite the number of mutations.  Additional\n      // triggers are redundant and are very costly\n      if (swiper.__preventObserver__) return;\n      if (mutations.length === 1) {\n        emit('observerUpdate', mutations[0]);\n        return;\n      }\n      const observerUpdate = function observerUpdate() {\n        emit('observerUpdate', mutations[0]);\n      };\n      if (window.requestAnimationFrame) {\n        window.requestAnimationFrame(observerUpdate);\n      } else {\n        window.setTimeout(observerUpdate, 0);\n      }\n    });\n    observer.observe(target, {\n      attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n      childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList,\n      characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n    });\n    observers.push(observer);\n  };\n  const init = () => {\n    if (!swiper.params.observer) return;\n    if (swiper.params.observeParents) {\n      const containerParents = elementParents(swiper.hostEl);\n      for (let i = 0; i < containerParents.length; i += 1) {\n        attach(containerParents[i]);\n      }\n    }\n    // Observe container\n    attach(swiper.hostEl, {\n      childList: swiper.params.observeSlideChildren\n    });\n\n    // Observe wrapper\n    attach(swiper.wrapperEl, {\n      attributes: false\n    });\n  };\n  const destroy = () => {\n    observers.forEach(observer => {\n      observer.disconnect();\n    });\n    observers.splice(0, observers.length);\n  };\n  extendParams({\n    observer: false,\n    observeParents: false,\n    observeSlideChildren: false\n  });\n  on('init', init);\n  on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n  on(events, handler, priority) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (typeof handler !== 'function') return self;\n    const method = priority ? 'unshift' : 'push';\n    events.split(' ').forEach(event => {\n      if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n      self.eventsListeners[event][method](handler);\n    });\n    return self;\n  },\n  once(events, handler, priority) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (typeof handler !== 'function') return self;\n    function onceHandler() {\n      self.off(events, onceHandler);\n      if (onceHandler.__emitterProxy) {\n        delete onceHandler.__emitterProxy;\n      }\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n      handler.apply(self, args);\n    }\n    onceHandler.__emitterProxy = handler;\n    return self.on(events, onceHandler, priority);\n  },\n  onAny(handler, priority) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (typeof handler !== 'function') return self;\n    const method = priority ? 'unshift' : 'push';\n    if (self.eventsAnyListeners.indexOf(handler) < 0) {\n      self.eventsAnyListeners[method](handler);\n    }\n    return self;\n  },\n  offAny(handler) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (!self.eventsAnyListeners) return self;\n    const index = self.eventsAnyListeners.indexOf(handler);\n    if (index >= 0) {\n      self.eventsAnyListeners.splice(index, 1);\n    }\n    return self;\n  },\n  off(events, handler) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (!self.eventsListeners) return self;\n    events.split(' ').forEach(event => {\n      if (typeof handler === 'undefined') {\n        self.eventsListeners[event] = [];\n      } else if (self.eventsListeners[event]) {\n        self.eventsListeners[event].forEach((eventHandler, index) => {\n          if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n            self.eventsListeners[event].splice(index, 1);\n          }\n        });\n      }\n    });\n    return self;\n  },\n  emit() {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (!self.eventsListeners) return self;\n    let events;\n    let data;\n    let context;\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n    if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n      events = args[0];\n      data = args.slice(1, args.length);\n      context = self;\n    } else {\n      events = args[0].events;\n      data = args[0].data;\n      context = args[0].context || self;\n    }\n    data.unshift(context);\n    const eventsArray = Array.isArray(events) ? events : events.split(' ');\n    eventsArray.forEach(event => {\n      if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n        self.eventsAnyListeners.forEach(eventHandler => {\n          eventHandler.apply(context, [event, ...data]);\n        });\n      }\n      if (self.eventsListeners && self.eventsListeners[event]) {\n        self.eventsListeners[event].forEach(eventHandler => {\n          eventHandler.apply(context, data);\n        });\n      }\n    });\n    return self;\n  }\n};\n\nfunction updateSize() {\n  const swiper = this;\n  let width;\n  let height;\n  const el = swiper.el;\n  if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n    width = swiper.params.width;\n  } else {\n    width = el.clientWidth;\n  }\n  if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n    height = swiper.params.height;\n  } else {\n    height = el.clientHeight;\n  }\n  if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n    return;\n  }\n\n  // Subtract paddings\n  width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n  height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n  if (Number.isNaN(width)) width = 0;\n  if (Number.isNaN(height)) height = 0;\n  Object.assign(swiper, {\n    width,\n    height,\n    size: swiper.isHorizontal() ? width : height\n  });\n}\n\nfunction updateSlides() {\n  const swiper = this;\n  function getDirectionPropertyValue(node, label) {\n    return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n  }\n  const params = swiper.params;\n  const {\n    wrapperEl,\n    slidesEl,\n    size: swiperSize,\n    rtlTranslate: rtl,\n    wrongRTL\n  } = swiper;\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n  const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n  const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n  let snapGrid = [];\n  const slidesGrid = [];\n  const slidesSizesGrid = [];\n  let offsetBefore = params.slidesOffsetBefore;\n  if (typeof offsetBefore === 'function') {\n    offsetBefore = params.slidesOffsetBefore.call(swiper);\n  }\n  let offsetAfter = params.slidesOffsetAfter;\n  if (typeof offsetAfter === 'function') {\n    offsetAfter = params.slidesOffsetAfter.call(swiper);\n  }\n  const previousSnapGridLength = swiper.snapGrid.length;\n  const previousSlidesGridLength = swiper.slidesGrid.length;\n  let spaceBetween = params.spaceBetween;\n  let slidePosition = -offsetBefore;\n  let prevSlideSize = 0;\n  let index = 0;\n  if (typeof swiperSize === 'undefined') {\n    return;\n  }\n  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n  } else if (typeof spaceBetween === 'string') {\n    spaceBetween = parseFloat(spaceBetween);\n  }\n  swiper.virtualSize = -spaceBetween;\n\n  // reset margins\n  slides.forEach(slideEl => {\n    if (rtl) {\n      slideEl.style.marginLeft = '';\n    } else {\n      slideEl.style.marginRight = '';\n    }\n    slideEl.style.marginBottom = '';\n    slideEl.style.marginTop = '';\n  });\n\n  // reset cssMode offsets\n  if (params.centeredSlides && params.cssMode) {\n    setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n    setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n  }\n  const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n  if (gridEnabled) {\n    swiper.grid.initSlides(slides);\n  } else if (swiper.grid) {\n    swiper.grid.unsetSlides();\n  }\n\n  // Calc slides\n  let slideSize;\n  const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n    return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n  }).length > 0;\n  for (let i = 0; i < slidesLength; i += 1) {\n    slideSize = 0;\n    let slide;\n    if (slides[i]) slide = slides[i];\n    if (gridEnabled) {\n      swiper.grid.updateSlide(i, slide, slides);\n    }\n    if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n    if (params.slidesPerView === 'auto') {\n      if (shouldResetSlideSize) {\n        slides[i].style[swiper.getDirectionLabel('width')] = ``;\n      }\n      const slideStyles = getComputedStyle(slide);\n      const currentTransform = slide.style.transform;\n      const currentWebKitTransform = slide.style.webkitTransform;\n      if (currentTransform) {\n        slide.style.transform = 'none';\n      }\n      if (currentWebKitTransform) {\n        slide.style.webkitTransform = 'none';\n      }\n      if (params.roundLengths) {\n        slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n      } else {\n        // eslint-disable-next-line\n        const width = getDirectionPropertyValue(slideStyles, 'width');\n        const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n        const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n        const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n        const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n        const boxSizing = slideStyles.getPropertyValue('box-sizing');\n        if (boxSizing && boxSizing === 'border-box') {\n          slideSize = width + marginLeft + marginRight;\n        } else {\n          const {\n            clientWidth,\n            offsetWidth\n          } = slide;\n          slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n        }\n      }\n      if (currentTransform) {\n        slide.style.transform = currentTransform;\n      }\n      if (currentWebKitTransform) {\n        slide.style.webkitTransform = currentWebKitTransform;\n      }\n      if (params.roundLengths) slideSize = Math.floor(slideSize);\n    } else {\n      slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n      if (params.roundLengths) slideSize = Math.floor(slideSize);\n      if (slides[i]) {\n        slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;\n      }\n    }\n    if (slides[i]) {\n      slides[i].swiperSlideSize = slideSize;\n    }\n    slidesSizesGrid.push(slideSize);\n    if (params.centeredSlides) {\n      slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n      if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n      if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n      if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n      if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n      if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n      slidesGrid.push(slidePosition);\n    } else {\n      if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n      if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n      slidesGrid.push(slidePosition);\n      slidePosition = slidePosition + slideSize + spaceBetween;\n    }\n    swiper.virtualSize += slideSize + spaceBetween;\n    prevSlideSize = slideSize;\n    index += 1;\n  }\n  swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n  if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n    wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n  }\n  if (params.setWrapperSize) {\n    wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n  }\n  if (gridEnabled) {\n    swiper.grid.updateWrapperSize(slideSize, snapGrid);\n  }\n\n  // Remove last grid elements depending on width\n  if (!params.centeredSlides) {\n    const newSlidesGrid = [];\n    for (let i = 0; i < snapGrid.length; i += 1) {\n      let slidesGridItem = snapGrid[i];\n      if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n      if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n        newSlidesGrid.push(slidesGridItem);\n      }\n    }\n    snapGrid = newSlidesGrid;\n    if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n      snapGrid.push(swiper.virtualSize - swiperSize);\n    }\n  }\n  if (isVirtual && params.loop) {\n    const size = slidesSizesGrid[0] + spaceBetween;\n    if (params.slidesPerGroup > 1) {\n      const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n      const groupSize = size * params.slidesPerGroup;\n      for (let i = 0; i < groups; i += 1) {\n        snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n      }\n    }\n    for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n      if (params.slidesPerGroup === 1) {\n        snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n      }\n      slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n      swiper.virtualSize += size;\n    }\n  }\n  if (snapGrid.length === 0) snapGrid = [0];\n  if (spaceBetween !== 0) {\n    const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n    slides.filter((_, slideIndex) => {\n      if (!params.cssMode || params.loop) return true;\n      if (slideIndex === slides.length - 1) {\n        return false;\n      }\n      return true;\n    }).forEach(slideEl => {\n      slideEl.style[key] = `${spaceBetween}px`;\n    });\n  }\n  if (params.centeredSlides && params.centeredSlidesBounds) {\n    let allSlidesSize = 0;\n    slidesSizesGrid.forEach(slideSizeValue => {\n      allSlidesSize += slideSizeValue + (spaceBetween || 0);\n    });\n    allSlidesSize -= spaceBetween;\n    const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0;\n    snapGrid = snapGrid.map(snap => {\n      if (snap <= 0) return -offsetBefore;\n      if (snap > maxSnap) return maxSnap + offsetAfter;\n      return snap;\n    });\n  }\n  if (params.centerInsufficientSlides) {\n    let allSlidesSize = 0;\n    slidesSizesGrid.forEach(slideSizeValue => {\n      allSlidesSize += slideSizeValue + (spaceBetween || 0);\n    });\n    allSlidesSize -= spaceBetween;\n    const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0);\n    if (allSlidesSize + offsetSize < swiperSize) {\n      const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;\n      snapGrid.forEach((snap, snapIndex) => {\n        snapGrid[snapIndex] = snap - allSlidesOffset;\n      });\n      slidesGrid.forEach((snap, snapIndex) => {\n        slidesGrid[snapIndex] = snap + allSlidesOffset;\n      });\n    }\n  }\n  Object.assign(swiper, {\n    slides,\n    snapGrid,\n    slidesGrid,\n    slidesSizesGrid\n  });\n  if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n    setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n    setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n    const addToSnapGrid = -swiper.snapGrid[0];\n    const addToSlidesGrid = -swiper.slidesGrid[0];\n    swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n    swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n  }\n  if (slidesLength !== previousSlidesLength) {\n    swiper.emit('slidesLengthChange');\n  }\n  if (snapGrid.length !== previousSnapGridLength) {\n    if (swiper.params.watchOverflow) swiper.checkOverflow();\n    swiper.emit('snapGridLengthChange');\n  }\n  if (slidesGrid.length !== previousSlidesGridLength) {\n    swiper.emit('slidesGridLengthChange');\n  }\n  if (params.watchSlidesProgress) {\n    swiper.updateSlidesOffset();\n  }\n  swiper.emit('slidesUpdated');\n  if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n    const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n    const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n    if (slidesLength <= params.maxBackfaceHiddenSlides) {\n      if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n    } else if (hasClassBackfaceClassAdded) {\n      swiper.el.classList.remove(backFaceHiddenClass);\n    }\n  }\n}\n\nfunction updateAutoHeight(speed) {\n  const swiper = this;\n  const activeSlides = [];\n  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n  let newHeight = 0;\n  let i;\n  if (typeof speed === 'number') {\n    swiper.setTransition(speed);\n  } else if (speed === true) {\n    swiper.setTransition(swiper.params.speed);\n  }\n  const getSlideByIndex = index => {\n    if (isVirtual) {\n      return swiper.slides[swiper.getSlideIndexByData(index)];\n    }\n    return swiper.slides[index];\n  };\n  // Find slides currently in view\n  if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n    if (swiper.params.centeredSlides) {\n      (swiper.visibleSlides || []).forEach(slide => {\n        activeSlides.push(slide);\n      });\n    } else {\n      for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n        const index = swiper.activeIndex + i;\n        if (index > swiper.slides.length && !isVirtual) break;\n        activeSlides.push(getSlideByIndex(index));\n      }\n    }\n  } else {\n    activeSlides.push(getSlideByIndex(swiper.activeIndex));\n  }\n\n  // Find new height from highest slide in view\n  for (i = 0; i < activeSlides.length; i += 1) {\n    if (typeof activeSlides[i] !== 'undefined') {\n      const height = activeSlides[i].offsetHeight;\n      newHeight = height > newHeight ? height : newHeight;\n    }\n  }\n\n  // Update Height\n  if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\n\nfunction updateSlidesOffset() {\n  const swiper = this;\n  const slides = swiper.slides;\n  // eslint-disable-next-line\n  const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n  for (let i = 0; i < slides.length; i += 1) {\n    slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n  }\n}\n\nconst toggleSlideClasses$1 = (slideEl, condition, className) => {\n  if (condition && !slideEl.classList.contains(className)) {\n    slideEl.classList.add(className);\n  } else if (!condition && slideEl.classList.contains(className)) {\n    slideEl.classList.remove(className);\n  }\n};\nfunction updateSlidesProgress(translate) {\n  if (translate === void 0) {\n    translate = this && this.translate || 0;\n  }\n  const swiper = this;\n  const params = swiper.params;\n  const {\n    slides,\n    rtlTranslate: rtl,\n    snapGrid\n  } = swiper;\n  if (slides.length === 0) return;\n  if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n  let offsetCenter = -translate;\n  if (rtl) offsetCenter = translate;\n  swiper.visibleSlidesIndexes = [];\n  swiper.visibleSlides = [];\n  let spaceBetween = 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  for (let i = 0; i < slides.length; i += 1) {\n    const slide = slides[i];\n    let slideOffset = slide.swiperSlideOffset;\n    if (params.cssMode && params.centeredSlides) {\n      slideOffset -= slides[0].swiperSlideOffset;\n    }\n    const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n    const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n    const slideBefore = -(offsetCenter - slideOffset);\n    const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n    const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n    const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n    if (isVisible) {\n      swiper.visibleSlides.push(slide);\n      swiper.visibleSlidesIndexes.push(i);\n    }\n    toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass);\n    toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass);\n    slide.progress = rtl ? -slideProgress : slideProgress;\n    slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n  }\n}\n\nfunction updateProgress(translate) {\n  const swiper = this;\n  if (typeof translate === 'undefined') {\n    const multiplier = swiper.rtlTranslate ? -1 : 1;\n    // eslint-disable-next-line\n    translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n  }\n  const params = swiper.params;\n  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n  let {\n    progress,\n    isBeginning,\n    isEnd,\n    progressLoop\n  } = swiper;\n  const wasBeginning = isBeginning;\n  const wasEnd = isEnd;\n  if (translatesDiff === 0) {\n    progress = 0;\n    isBeginning = true;\n    isEnd = true;\n  } else {\n    progress = (translate - swiper.minTranslate()) / translatesDiff;\n    const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n    const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n    isBeginning = isBeginningRounded || progress <= 0;\n    isEnd = isEndRounded || progress >= 1;\n    if (isBeginningRounded) progress = 0;\n    if (isEndRounded) progress = 1;\n  }\n  if (params.loop) {\n    const firstSlideIndex = swiper.getSlideIndexByData(0);\n    const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n    const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n    const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n    const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n    const translateAbs = Math.abs(translate);\n    if (translateAbs >= firstSlideTranslate) {\n      progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n    } else {\n      progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n    }\n    if (progressLoop > 1) progressLoop -= 1;\n  }\n  Object.assign(swiper, {\n    progress,\n    progressLoop,\n    isBeginning,\n    isEnd\n  });\n  if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n  if (isBeginning && !wasBeginning) {\n    swiper.emit('reachBeginning toEdge');\n  }\n  if (isEnd && !wasEnd) {\n    swiper.emit('reachEnd toEdge');\n  }\n  if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n    swiper.emit('fromEdge');\n  }\n  swiper.emit('progress', progress);\n}\n\nconst toggleSlideClasses = (slideEl, condition, className) => {\n  if (condition && !slideEl.classList.contains(className)) {\n    slideEl.classList.add(className);\n  } else if (!condition && slideEl.classList.contains(className)) {\n    slideEl.classList.remove(className);\n  }\n};\nfunction updateSlidesClasses() {\n  const swiper = this;\n  const {\n    slides,\n    params,\n    slidesEl,\n    activeIndex\n  } = swiper;\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n  const getFilteredSlide = selector => {\n    return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n  };\n  let activeSlide;\n  let prevSlide;\n  let nextSlide;\n  if (isVirtual) {\n    if (params.loop) {\n      let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n      if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n      if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n      activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n    } else {\n      activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n    }\n  } else {\n    if (gridEnabled) {\n      activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0];\n      nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0];\n      prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0];\n    } else {\n      activeSlide = slides[activeIndex];\n    }\n  }\n  if (activeSlide) {\n    if (!gridEnabled) {\n      // Next Slide\n      nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n      if (params.loop && !nextSlide) {\n        nextSlide = slides[0];\n      }\n\n      // Prev Slide\n      prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n      if (params.loop && !prevSlide === 0) {\n        prevSlide = slides[slides.length - 1];\n      }\n    }\n  }\n  slides.forEach(slideEl => {\n    toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass);\n    toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass);\n    toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass);\n  });\n  swiper.emitSlidesClasses();\n}\n\nconst processLazyPreloader = (swiper, imageEl) => {\n  if (!swiper || swiper.destroyed || !swiper.params) return;\n  const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n  const slideEl = imageEl.closest(slideSelector());\n  if (slideEl) {\n    let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n    if (!lazyEl && swiper.isElement) {\n      if (slideEl.shadowRoot) {\n        lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n      } else {\n        // init later\n        requestAnimationFrame(() => {\n          if (slideEl.shadowRoot) {\n            lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n            if (lazyEl) lazyEl.remove();\n          }\n        });\n      }\n    }\n    if (lazyEl) lazyEl.remove();\n  }\n};\nconst unlazy = (swiper, index) => {\n  if (!swiper.slides[index]) return;\n  const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n  if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n  if (!swiper || swiper.destroyed || !swiper.params) return;\n  let amount = swiper.params.lazyPreloadPrevNext;\n  const len = swiper.slides.length;\n  if (!len || !amount || amount < 0) return;\n  amount = Math.min(amount, len);\n  const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n  const activeIndex = swiper.activeIndex;\n  if (swiper.params.grid && swiper.params.grid.rows > 1) {\n    const activeColumn = activeIndex;\n    const preloadColumns = [activeColumn - amount];\n    preloadColumns.push(...Array.from({\n      length: amount\n    }).map((_, i) => {\n      return activeColumn + slidesPerView + i;\n    }));\n    swiper.slides.forEach((slideEl, i) => {\n      if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n    });\n    return;\n  }\n  const slideIndexLastInView = activeIndex + slidesPerView - 1;\n  if (swiper.params.rewind || swiper.params.loop) {\n    for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n      const realIndex = (i % len + len) % len;\n      if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n    }\n  } else {\n    for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n      if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n        unlazy(swiper, i);\n      }\n    }\n  }\n};\n\nfunction getActiveIndexByTranslate(swiper) {\n  const {\n    slidesGrid,\n    params\n  } = swiper;\n  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n  let activeIndex;\n  for (let i = 0; i < slidesGrid.length; i += 1) {\n    if (typeof slidesGrid[i + 1] !== 'undefined') {\n      if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n        activeIndex = i;\n      } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n        activeIndex = i + 1;\n      }\n    } else if (translate >= slidesGrid[i]) {\n      activeIndex = i;\n    }\n  }\n  // Normalize slideIndex\n  if (params.normalizeSlideIndex) {\n    if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n  }\n  return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n  const swiper = this;\n  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n  const {\n    snapGrid,\n    params,\n    activeIndex: previousIndex,\n    realIndex: previousRealIndex,\n    snapIndex: previousSnapIndex\n  } = swiper;\n  let activeIndex = newActiveIndex;\n  let snapIndex;\n  const getVirtualRealIndex = aIndex => {\n    let realIndex = aIndex - swiper.virtual.slidesBefore;\n    if (realIndex < 0) {\n      realIndex = swiper.virtual.slides.length + realIndex;\n    }\n    if (realIndex >= swiper.virtual.slides.length) {\n      realIndex -= swiper.virtual.slides.length;\n    }\n    return realIndex;\n  };\n  if (typeof activeIndex === 'undefined') {\n    activeIndex = getActiveIndexByTranslate(swiper);\n  }\n  if (snapGrid.indexOf(translate) >= 0) {\n    snapIndex = snapGrid.indexOf(translate);\n  } else {\n    const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n    snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n  }\n  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n  if (activeIndex === previousIndex && !swiper.params.loop) {\n    if (snapIndex !== previousSnapIndex) {\n      swiper.snapIndex = snapIndex;\n      swiper.emit('snapIndexChange');\n    }\n    return;\n  }\n  if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n    swiper.realIndex = getVirtualRealIndex(activeIndex);\n    return;\n  }\n  const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n  // Get real index\n  let realIndex;\n  if (swiper.virtual && params.virtual.enabled && params.loop) {\n    realIndex = getVirtualRealIndex(activeIndex);\n  } else if (gridEnabled) {\n    const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0];\n    let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n    if (Number.isNaN(activeSlideIndex)) {\n      activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n    }\n    realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n  } else if (swiper.slides[activeIndex]) {\n    const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n    if (slideIndex) {\n      realIndex = parseInt(slideIndex, 10);\n    } else {\n      realIndex = activeIndex;\n    }\n  } else {\n    realIndex = activeIndex;\n  }\n  Object.assign(swiper, {\n    previousSnapIndex,\n    snapIndex,\n    previousRealIndex,\n    realIndex,\n    previousIndex,\n    activeIndex\n  });\n  if (swiper.initialized) {\n    preload(swiper);\n  }\n  swiper.emit('activeIndexChange');\n  swiper.emit('snapIndexChange');\n  if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n    if (previousRealIndex !== realIndex) {\n      swiper.emit('realIndexChange');\n    }\n    swiper.emit('slideChange');\n  }\n}\n\nfunction updateClickedSlide(el, path) {\n  const swiper = this;\n  const params = swiper.params;\n  let slide = el.closest(`.${params.slideClass}, swiper-slide`);\n  if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n    [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {\n      if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {\n        slide = pathEl;\n      }\n    });\n  }\n  let slideFound = false;\n  let slideIndex;\n  if (slide) {\n    for (let i = 0; i < swiper.slides.length; i += 1) {\n      if (swiper.slides[i] === slide) {\n        slideFound = true;\n        slideIndex = i;\n        break;\n      }\n    }\n  }\n  if (slide && slideFound) {\n    swiper.clickedSlide = slide;\n    if (swiper.virtual && swiper.params.virtual.enabled) {\n      swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n    } else {\n      swiper.clickedIndex = slideIndex;\n    }\n  } else {\n    swiper.clickedSlide = undefined;\n    swiper.clickedIndex = undefined;\n    return;\n  }\n  if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n    swiper.slideToClickedSlide();\n  }\n}\n\nvar update = {\n  updateSize,\n  updateSlides,\n  updateAutoHeight,\n  updateSlidesOffset,\n  updateSlidesProgress,\n  updateProgress,\n  updateSlidesClasses,\n  updateActiveIndex,\n  updateClickedSlide\n};\n\nfunction getSwiperTranslate(axis) {\n  if (axis === void 0) {\n    axis = this.isHorizontal() ? 'x' : 'y';\n  }\n  const swiper = this;\n  const {\n    params,\n    rtlTranslate: rtl,\n    translate,\n    wrapperEl\n  } = swiper;\n  if (params.virtualTranslate) {\n    return rtl ? -translate : translate;\n  }\n  if (params.cssMode) {\n    return translate;\n  }\n  let currentTranslate = getTranslate(wrapperEl, axis);\n  currentTranslate += swiper.cssOverflowAdjustment();\n  if (rtl) currentTranslate = -currentTranslate;\n  return currentTranslate || 0;\n}\n\nfunction setTranslate(translate, byController) {\n  const swiper = this;\n  const {\n    rtlTranslate: rtl,\n    params,\n    wrapperEl,\n    progress\n  } = swiper;\n  let x = 0;\n  let y = 0;\n  const z = 0;\n  if (swiper.isHorizontal()) {\n    x = rtl ? -translate : translate;\n  } else {\n    y = translate;\n  }\n  if (params.roundLengths) {\n    x = Math.floor(x);\n    y = Math.floor(y);\n  }\n  swiper.previousTranslate = swiper.translate;\n  swiper.translate = swiper.isHorizontal() ? x : y;\n  if (params.cssMode) {\n    wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n  } else if (!params.virtualTranslate) {\n    if (swiper.isHorizontal()) {\n      x -= swiper.cssOverflowAdjustment();\n    } else {\n      y -= swiper.cssOverflowAdjustment();\n    }\n    wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n  }\n\n  // Check if we need to update progress\n  let newProgress;\n  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n  if (translatesDiff === 0) {\n    newProgress = 0;\n  } else {\n    newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n  }\n  if (newProgress !== progress) {\n    swiper.updateProgress(translate);\n  }\n  swiper.emit('setTranslate', swiper.translate, byController);\n}\n\nfunction minTranslate() {\n  return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n  return -this.snapGrid[this.snapGrid.length - 1];\n}\n\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n  if (translate === void 0) {\n    translate = 0;\n  }\n  if (speed === void 0) {\n    speed = this.params.speed;\n  }\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  if (translateBounds === void 0) {\n    translateBounds = true;\n  }\n  const swiper = this;\n  const {\n    params,\n    wrapperEl\n  } = swiper;\n  if (swiper.animating && params.preventInteractionOnTransition) {\n    return false;\n  }\n  const minTranslate = swiper.minTranslate();\n  const maxTranslate = swiper.maxTranslate();\n  let newTranslate;\n  if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n  // Update progress\n  swiper.updateProgress(newTranslate);\n  if (params.cssMode) {\n    const isH = swiper.isHorizontal();\n    if (speed === 0) {\n      wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n    } else {\n      if (!swiper.support.smoothScroll) {\n        animateCSSModeScroll({\n          swiper,\n          targetPosition: -newTranslate,\n          side: isH ? 'left' : 'top'\n        });\n        return true;\n      }\n      wrapperEl.scrollTo({\n        [isH ? 'left' : 'top']: -newTranslate,\n        behavior: 'smooth'\n      });\n    }\n    return true;\n  }\n  if (speed === 0) {\n    swiper.setTransition(0);\n    swiper.setTranslate(newTranslate);\n    if (runCallbacks) {\n      swiper.emit('beforeTransitionStart', speed, internal);\n      swiper.emit('transitionEnd');\n    }\n  } else {\n    swiper.setTransition(speed);\n    swiper.setTranslate(newTranslate);\n    if (runCallbacks) {\n      swiper.emit('beforeTransitionStart', speed, internal);\n      swiper.emit('transitionStart');\n    }\n    if (!swiper.animating) {\n      swiper.animating = true;\n      if (!swiper.onTranslateToWrapperTransitionEnd) {\n        swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n          if (!swiper || swiper.destroyed) return;\n          if (e.target !== this) return;\n          swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n          swiper.onTranslateToWrapperTransitionEnd = null;\n          delete swiper.onTranslateToWrapperTransitionEnd;\n          swiper.animating = false;\n          if (runCallbacks) {\n            swiper.emit('transitionEnd');\n          }\n        };\n      }\n      swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n    }\n  }\n  return true;\n}\n\nvar translate = {\n  getTranslate: getSwiperTranslate,\n  setTranslate,\n  minTranslate,\n  maxTranslate,\n  translateTo\n};\n\nfunction setTransition(duration, byController) {\n  const swiper = this;\n  if (!swiper.params.cssMode) {\n    swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n    swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';\n  }\n  swiper.emit('setTransition', duration, byController);\n}\n\nfunction transitionEmit(_ref) {\n  let {\n    swiper,\n    runCallbacks,\n    direction,\n    step\n  } = _ref;\n  const {\n    activeIndex,\n    previousIndex\n  } = swiper;\n  let dir = direction;\n  if (!dir) {\n    if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n  }\n  swiper.emit(`transition${step}`);\n  if (runCallbacks && activeIndex !== previousIndex) {\n    if (dir === 'reset') {\n      swiper.emit(`slideResetTransition${step}`);\n      return;\n    }\n    swiper.emit(`slideChangeTransition${step}`);\n    if (dir === 'next') {\n      swiper.emit(`slideNextTransition${step}`);\n    } else {\n      swiper.emit(`slidePrevTransition${step}`);\n    }\n  }\n}\n\nfunction transitionStart(runCallbacks, direction) {\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  const swiper = this;\n  const {\n    params\n  } = swiper;\n  if (params.cssMode) return;\n  if (params.autoHeight) {\n    swiper.updateAutoHeight();\n  }\n  transitionEmit({\n    swiper,\n    runCallbacks,\n    direction,\n    step: 'Start'\n  });\n}\n\nfunction transitionEnd(runCallbacks, direction) {\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  const swiper = this;\n  const {\n    params\n  } = swiper;\n  swiper.animating = false;\n  if (params.cssMode) return;\n  swiper.setTransition(0);\n  transitionEmit({\n    swiper,\n    runCallbacks,\n    direction,\n    step: 'End'\n  });\n}\n\nvar transition = {\n  setTransition,\n  transitionStart,\n  transitionEnd\n};\n\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n  if (index === void 0) {\n    index = 0;\n  }\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  if (typeof index === 'string') {\n    index = parseInt(index, 10);\n  }\n  const swiper = this;\n  let slideIndex = index;\n  if (slideIndex < 0) slideIndex = 0;\n  const {\n    params,\n    snapGrid,\n    slidesGrid,\n    previousIndex,\n    activeIndex,\n    rtlTranslate: rtl,\n    wrapperEl,\n    enabled\n  } = swiper;\n  if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) {\n    return false;\n  }\n  if (typeof speed === 'undefined') {\n    speed = swiper.params.speed;\n  }\n  const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n  let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n  const translate = -snapGrid[snapIndex];\n  // Normalize slideIndex\n  if (params.normalizeSlideIndex) {\n    for (let i = 0; i < slidesGrid.length; i += 1) {\n      const normalizedTranslate = -Math.floor(translate * 100);\n      const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n      const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n      if (typeof slidesGrid[i + 1] !== 'undefined') {\n        if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n          slideIndex = i;\n        } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n          slideIndex = i + 1;\n        }\n      } else if (normalizedTranslate >= normalizedGrid) {\n        slideIndex = i;\n      }\n    }\n  }\n  // Directions locks\n  if (swiper.initialized && slideIndex !== activeIndex) {\n    if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n      return false;\n    }\n    if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n      if ((activeIndex || 0) !== slideIndex) {\n        return false;\n      }\n    }\n  }\n  if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n    swiper.emit('beforeSlideChangeStart');\n  }\n\n  // Update progress\n  swiper.updateProgress(translate);\n  let direction;\n  if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n  // initial virtual\n  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n  const isInitialVirtual = isVirtual && initial;\n  // Update Index\n  if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) {\n    swiper.updateActiveIndex(slideIndex);\n    // Update Height\n    if (params.autoHeight) {\n      swiper.updateAutoHeight();\n    }\n    swiper.updateSlidesClasses();\n    if (params.effect !== 'slide') {\n      swiper.setTranslate(translate);\n    }\n    if (direction !== 'reset') {\n      swiper.transitionStart(runCallbacks, direction);\n      swiper.transitionEnd(runCallbacks, direction);\n    }\n    return false;\n  }\n  if (params.cssMode) {\n    const isH = swiper.isHorizontal();\n    const t = rtl ? translate : -translate;\n    if (speed === 0) {\n      if (isVirtual) {\n        swiper.wrapperEl.style.scrollSnapType = 'none';\n        swiper._immediateVirtual = true;\n      }\n      if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n        swiper._cssModeVirtualInitialSet = true;\n        requestAnimationFrame(() => {\n          wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n        });\n      } else {\n        wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n      }\n      if (isVirtual) {\n        requestAnimationFrame(() => {\n          swiper.wrapperEl.style.scrollSnapType = '';\n          swiper._immediateVirtual = false;\n        });\n      }\n    } else {\n      if (!swiper.support.smoothScroll) {\n        animateCSSModeScroll({\n          swiper,\n          targetPosition: t,\n          side: isH ? 'left' : 'top'\n        });\n        return true;\n      }\n      wrapperEl.scrollTo({\n        [isH ? 'left' : 'top']: t,\n        behavior: 'smooth'\n      });\n    }\n    return true;\n  }\n  swiper.setTransition(speed);\n  swiper.setTranslate(translate);\n  swiper.updateActiveIndex(slideIndex);\n  swiper.updateSlidesClasses();\n  swiper.emit('beforeTransitionStart', speed, internal);\n  swiper.transitionStart(runCallbacks, direction);\n  if (speed === 0) {\n    swiper.transitionEnd(runCallbacks, direction);\n  } else if (!swiper.animating) {\n    swiper.animating = true;\n    if (!swiper.onSlideToWrapperTransitionEnd) {\n      swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n        if (!swiper || swiper.destroyed) return;\n        if (e.target !== this) return;\n        swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n        swiper.onSlideToWrapperTransitionEnd = null;\n        delete swiper.onSlideToWrapperTransitionEnd;\n        swiper.transitionEnd(runCallbacks, direction);\n      };\n    }\n    swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n  }\n  return true;\n}\n\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n  if (index === void 0) {\n    index = 0;\n  }\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  if (typeof index === 'string') {\n    const indexAsNumber = parseInt(index, 10);\n    index = indexAsNumber;\n  }\n  const swiper = this;\n  if (swiper.destroyed) return;\n  if (typeof speed === 'undefined') {\n    speed = swiper.params.speed;\n  }\n  const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n  let newIndex = index;\n  if (swiper.params.loop) {\n    if (swiper.virtual && swiper.params.virtual.enabled) {\n      // eslint-disable-next-line\n      newIndex = newIndex + swiper.virtual.slidesBefore;\n    } else {\n      let targetSlideIndex;\n      if (gridEnabled) {\n        const slideIndex = newIndex * swiper.params.grid.rows;\n        targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n      } else {\n        targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n      }\n      const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n      const {\n        centeredSlides\n      } = swiper.params;\n      let slidesPerView = swiper.params.slidesPerView;\n      if (slidesPerView === 'auto') {\n        slidesPerView = swiper.slidesPerViewDynamic();\n      } else {\n        slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n        if (centeredSlides && slidesPerView % 2 === 0) {\n          slidesPerView = slidesPerView + 1;\n        }\n      }\n      let needLoopFix = cols - targetSlideIndex < slidesPerView;\n      if (centeredSlides) {\n        needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n      }\n      if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {\n        needLoopFix = false;\n      }\n      if (needLoopFix) {\n        const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n        swiper.loopFix({\n          direction,\n          slideTo: true,\n          activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n          slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n        });\n      }\n      if (gridEnabled) {\n        const slideIndex = newIndex * swiper.params.grid.rows;\n        newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n      } else {\n        newIndex = swiper.getSlideIndexByData(newIndex);\n      }\n    }\n  }\n  requestAnimationFrame(() => {\n    swiper.slideTo(newIndex, speed, runCallbacks, internal);\n  });\n  return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  const swiper = this;\n  const {\n    enabled,\n    params,\n    animating\n  } = swiper;\n  if (!enabled || swiper.destroyed) return swiper;\n  if (typeof speed === 'undefined') {\n    speed = swiper.params.speed;\n  }\n  let perGroup = params.slidesPerGroup;\n  if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n    perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n  }\n  const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  if (params.loop) {\n    if (animating && !isVirtual && params.loopPreventsSliding) return false;\n    swiper.loopFix({\n      direction: 'next'\n    });\n    // eslint-disable-next-line\n    swiper._clientLeft = swiper.wrapperEl.clientLeft;\n    if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n      requestAnimationFrame(() => {\n        swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n      });\n      return true;\n    }\n  }\n  if (params.rewind && swiper.isEnd) {\n    return swiper.slideTo(0, speed, runCallbacks, internal);\n  }\n  return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  const swiper = this;\n  const {\n    params,\n    snapGrid,\n    slidesGrid,\n    rtlTranslate,\n    enabled,\n    animating\n  } = swiper;\n  if (!enabled || swiper.destroyed) return swiper;\n  if (typeof speed === 'undefined') {\n    speed = swiper.params.speed;\n  }\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  if (params.loop) {\n    if (animating && !isVirtual && params.loopPreventsSliding) return false;\n    swiper.loopFix({\n      direction: 'prev'\n    });\n    // eslint-disable-next-line\n    swiper._clientLeft = swiper.wrapperEl.clientLeft;\n  }\n  const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n  function normalize(val) {\n    if (val < 0) return -Math.floor(Math.abs(val));\n    return Math.floor(val);\n  }\n  const normalizedTranslate = normalize(translate);\n  const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n  let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n  if (typeof prevSnap === 'undefined' && params.cssMode) {\n    let prevSnapIndex;\n    snapGrid.forEach((snap, snapIndex) => {\n      if (normalizedTranslate >= snap) {\n        // prevSnap = snap;\n        prevSnapIndex = snapIndex;\n      }\n    });\n    if (typeof prevSnapIndex !== 'undefined') {\n      prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n    }\n  }\n  let prevIndex = 0;\n  if (typeof prevSnap !== 'undefined') {\n    prevIndex = slidesGrid.indexOf(prevSnap);\n    if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n    if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n      prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n      prevIndex = Math.max(prevIndex, 0);\n    }\n  }\n  if (params.rewind && swiper.isBeginning) {\n    const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n    return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n  } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n    requestAnimationFrame(() => {\n      swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n    });\n    return true;\n  }\n  return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  const swiper = this;\n  if (swiper.destroyed) return;\n  if (typeof speed === 'undefined') {\n    speed = swiper.params.speed;\n  }\n  return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n  if (runCallbacks === void 0) {\n    runCallbacks = true;\n  }\n  if (threshold === void 0) {\n    threshold = 0.5;\n  }\n  const swiper = this;\n  if (swiper.destroyed) return;\n  if (typeof speed === 'undefined') {\n    speed = swiper.params.speed;\n  }\n  let index = swiper.activeIndex;\n  const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n  const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n  if (translate >= swiper.snapGrid[snapIndex]) {\n    // The current translate is on or after the current snap index, so the choice\n    // is between the current index and the one after it.\n    const currentSnap = swiper.snapGrid[snapIndex];\n    const nextSnap = swiper.snapGrid[snapIndex + 1];\n    if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n      index += swiper.params.slidesPerGroup;\n    }\n  } else {\n    // The current translate is before the current snap index, so the choice\n    // is between the current index and the one before it.\n    const prevSnap = swiper.snapGrid[snapIndex - 1];\n    const currentSnap = swiper.snapGrid[snapIndex];\n    if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n      index -= swiper.params.slidesPerGroup;\n    }\n  }\n  index = Math.max(index, 0);\n  index = Math.min(index, swiper.slidesGrid.length - 1);\n  return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\nfunction slideToClickedSlide() {\n  const swiper = this;\n  if (swiper.destroyed) return;\n  const {\n    params,\n    slidesEl\n  } = swiper;\n  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n  let slideToIndex = swiper.clickedIndex;\n  let realIndex;\n  const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n  if (params.loop) {\n    if (swiper.animating) return;\n    realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n    if (params.centeredSlides) {\n      if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n        swiper.loopFix();\n        slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n        nextTick(() => {\n          swiper.slideTo(slideToIndex);\n        });\n      } else {\n        swiper.slideTo(slideToIndex);\n      }\n    } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n      swiper.loopFix();\n      slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n      nextTick(() => {\n        swiper.slideTo(slideToIndex);\n      });\n    } else {\n      swiper.slideTo(slideToIndex);\n    }\n  } else {\n    swiper.slideTo(slideToIndex);\n  }\n}\n\nvar slide = {\n  slideTo,\n  slideToLoop,\n  slideNext,\n  slidePrev,\n  slideReset,\n  slideToClosest,\n  slideToClickedSlide\n};\n\nfunction loopCreate(slideRealIndex) {\n  const swiper = this;\n  const {\n    params,\n    slidesEl\n  } = swiper;\n  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n  const initSlides = () => {\n    const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n    slides.forEach((el, index) => {\n      el.setAttribute('data-swiper-slide-index', index);\n    });\n  };\n  const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n  const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n  const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n  const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n  const addBlankSlides = amountOfSlides => {\n    for (let i = 0; i < amountOfSlides; i += 1) {\n      const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n      swiper.slidesEl.append(slideEl);\n    }\n  };\n  if (shouldFillGroup) {\n    if (params.loopAddBlankSlides) {\n      const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n      addBlankSlides(slidesToAdd);\n      swiper.recalcSlides();\n      swiper.updateSlides();\n    } else {\n      showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n    }\n    initSlides();\n  } else if (shouldFillGrid) {\n    if (params.loopAddBlankSlides) {\n      const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n      addBlankSlides(slidesToAdd);\n      swiper.recalcSlides();\n      swiper.updateSlides();\n    } else {\n      showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n    }\n    initSlides();\n  } else {\n    initSlides();\n  }\n  swiper.loopFix({\n    slideRealIndex,\n    direction: params.centeredSlides ? undefined : 'next'\n  });\n}\n\nfunction loopFix(_temp) {\n  let {\n    slideRealIndex,\n    slideTo = true,\n    direction,\n    setTranslate,\n    activeSlideIndex,\n    byController,\n    byMousewheel\n  } = _temp === void 0 ? {} : _temp;\n  const swiper = this;\n  if (!swiper.params.loop) return;\n  swiper.emit('beforeLoopFix');\n  const {\n    slides,\n    allowSlidePrev,\n    allowSlideNext,\n    slidesEl,\n    params\n  } = swiper;\n  const {\n    centeredSlides\n  } = params;\n  swiper.allowSlidePrev = true;\n  swiper.allowSlideNext = true;\n  if (swiper.virtual && params.virtual.enabled) {\n    if (slideTo) {\n      if (!params.centeredSlides && swiper.snapIndex === 0) {\n        swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n      } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n        swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n      } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n        swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n      }\n    }\n    swiper.allowSlidePrev = allowSlidePrev;\n    swiper.allowSlideNext = allowSlideNext;\n    swiper.emit('loopFix');\n    return;\n  }\n  let slidesPerView = params.slidesPerView;\n  if (slidesPerView === 'auto') {\n    slidesPerView = swiper.slidesPerViewDynamic();\n  } else {\n    slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n    if (centeredSlides && slidesPerView % 2 === 0) {\n      slidesPerView = slidesPerView + 1;\n    }\n  }\n  const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n  let loopedSlides = slidesPerGroup;\n  if (loopedSlides % slidesPerGroup !== 0) {\n    loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n  }\n  loopedSlides += params.loopAdditionalSlides;\n  swiper.loopedSlides = loopedSlides;\n  const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n  if (slides.length < slidesPerView + loopedSlides) {\n    showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n  } else if (gridEnabled && params.grid.fill === 'row') {\n    showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n  }\n  const prependSlidesIndexes = [];\n  const appendSlidesIndexes = [];\n  let activeIndex = swiper.activeIndex;\n  if (typeof activeSlideIndex === 'undefined') {\n    activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);\n  } else {\n    activeIndex = activeSlideIndex;\n  }\n  const isNext = direction === 'next' || !direction;\n  const isPrev = direction === 'prev' || !direction;\n  let slidesPrepended = 0;\n  let slidesAppended = 0;\n  const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n  const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n  const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n  // prepend last slides before start\n  if (activeColIndexWithShift < loopedSlides) {\n    slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n    for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n      const index = i - Math.floor(i / cols) * cols;\n      if (gridEnabled) {\n        const colIndexToPrepend = cols - index - 1;\n        for (let i = slides.length - 1; i >= 0; i -= 1) {\n          if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);\n        }\n        // slides.forEach((slide, slideIndex) => {\n        //   if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n        // });\n      } else {\n        prependSlidesIndexes.push(cols - index - 1);\n      }\n    }\n  } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n    slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n    for (let i = 0; i < slidesAppended; i += 1) {\n      const index = i - Math.floor(i / cols) * cols;\n      if (gridEnabled) {\n        slides.forEach((slide, slideIndex) => {\n          if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n        });\n      } else {\n        appendSlidesIndexes.push(index);\n      }\n    }\n  }\n  swiper.__preventObserver__ = true;\n  requestAnimationFrame(() => {\n    swiper.__preventObserver__ = false;\n  });\n  if (isPrev) {\n    prependSlidesIndexes.forEach(index => {\n      slides[index].swiperLoopMoveDOM = true;\n      slidesEl.prepend(slides[index]);\n      slides[index].swiperLoopMoveDOM = false;\n    });\n  }\n  if (isNext) {\n    appendSlidesIndexes.forEach(index => {\n      slides[index].swiperLoopMoveDOM = true;\n      slidesEl.append(slides[index]);\n      slides[index].swiperLoopMoveDOM = false;\n    });\n  }\n  swiper.recalcSlides();\n  if (params.slidesPerView === 'auto') {\n    swiper.updateSlides();\n  } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n    swiper.slides.forEach((slide, slideIndex) => {\n      swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n    });\n  }\n  if (params.watchSlidesProgress) {\n    swiper.updateSlidesOffset();\n  }\n  if (slideTo) {\n    if (prependSlidesIndexes.length > 0 && isPrev) {\n      if (typeof slideRealIndex === 'undefined') {\n        const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n        const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n        const diff = newSlideTranslate - currentSlideTranslate;\n        if (byMousewheel) {\n          swiper.setTranslate(swiper.translate - diff);\n        } else {\n          swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true);\n          if (setTranslate) {\n            swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n            swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n          }\n        }\n      } else {\n        if (setTranslate) {\n          const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n          swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n          swiper.touchEventsData.currentTranslate = swiper.translate;\n        }\n      }\n    } else if (appendSlidesIndexes.length > 0 && isNext) {\n      if (typeof slideRealIndex === 'undefined') {\n        const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n        const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n        const diff = newSlideTranslate - currentSlideTranslate;\n        if (byMousewheel) {\n          swiper.setTranslate(swiper.translate - diff);\n        } else {\n          swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n          if (setTranslate) {\n            swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n            swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n          }\n        }\n      } else {\n        const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n        swiper.slideTo(swiper.activeIndex - shift, 0, false, true);\n      }\n    }\n  }\n  swiper.allowSlidePrev = allowSlidePrev;\n  swiper.allowSlideNext = allowSlideNext;\n  if (swiper.controller && swiper.controller.control && !byController) {\n    const loopParams = {\n      slideRealIndex,\n      direction,\n      setTranslate,\n      activeSlideIndex,\n      byController: true\n    };\n    if (Array.isArray(swiper.controller.control)) {\n      swiper.controller.control.forEach(c => {\n        if (!c.destroyed && c.params.loop) c.loopFix({\n          ...loopParams,\n          slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n        });\n      });\n    } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n      swiper.controller.control.loopFix({\n        ...loopParams,\n        slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n      });\n    }\n  }\n  swiper.emit('loopFix');\n}\n\nfunction loopDestroy() {\n  const swiper = this;\n  const {\n    params,\n    slidesEl\n  } = swiper;\n  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n  swiper.recalcSlides();\n  const newSlidesOrder = [];\n  swiper.slides.forEach(slideEl => {\n    const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n    newSlidesOrder[index] = slideEl;\n  });\n  swiper.slides.forEach(slideEl => {\n    slideEl.removeAttribute('data-swiper-slide-index');\n  });\n  newSlidesOrder.forEach(slideEl => {\n    slidesEl.append(slideEl);\n  });\n  swiper.recalcSlides();\n  swiper.slideTo(swiper.realIndex, 0);\n}\n\nvar loop = {\n  loopCreate,\n  loopFix,\n  loopDestroy\n};\n\nfunction setGrabCursor(moving) {\n  const swiper = this;\n  if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n  const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n  if (swiper.isElement) {\n    swiper.__preventObserver__ = true;\n  }\n  el.style.cursor = 'move';\n  el.style.cursor = moving ? 'grabbing' : 'grab';\n  if (swiper.isElement) {\n    requestAnimationFrame(() => {\n      swiper.__preventObserver__ = false;\n    });\n  }\n}\n\nfunction unsetGrabCursor() {\n  const swiper = this;\n  if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n    return;\n  }\n  if (swiper.isElement) {\n    swiper.__preventObserver__ = true;\n  }\n  swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n  if (swiper.isElement) {\n    requestAnimationFrame(() => {\n      swiper.__preventObserver__ = false;\n    });\n  }\n}\n\nvar grabCursor = {\n  setGrabCursor,\n  unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n  if (base === void 0) {\n    base = this;\n  }\n  function __closestFrom(el) {\n    if (!el || el === getDocument() || el === getWindow()) return null;\n    if (el.assignedSlot) el = el.assignedSlot;\n    const found = el.closest(selector);\n    if (!found && !el.getRootNode) {\n      return null;\n    }\n    return found || __closestFrom(el.getRootNode().host);\n  }\n  return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n  const window = getWindow();\n  const {\n    params\n  } = swiper;\n  const edgeSwipeDetection = params.edgeSwipeDetection;\n  const edgeSwipeThreshold = params.edgeSwipeThreshold;\n  if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n    if (edgeSwipeDetection === 'prevent') {\n      event.preventDefault();\n      return true;\n    }\n    return false;\n  }\n  return true;\n}\nfunction onTouchStart(event) {\n  const swiper = this;\n  const document = getDocument();\n  let e = event;\n  if (e.originalEvent) e = e.originalEvent;\n  const data = swiper.touchEventsData;\n  if (e.type === 'pointerdown') {\n    if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n      return;\n    }\n    data.pointerId = e.pointerId;\n  } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n    data.touchId = e.targetTouches[0].identifier;\n  }\n  if (e.type === 'touchstart') {\n    // don't proceed touch event\n    preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n    return;\n  }\n  const {\n    params,\n    touches,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  if (!params.simulateTouch && e.pointerType === 'mouse') return;\n  if (swiper.animating && params.preventInteractionOnTransition) {\n    return;\n  }\n  if (!swiper.animating && params.cssMode && params.loop) {\n    swiper.loopFix();\n  }\n  let targetEl = e.target;\n  if (params.touchEventsTarget === 'wrapper') {\n    if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return;\n  }\n  if ('which' in e && e.which === 3) return;\n  if ('button' in e && e.button > 0) return;\n  if (data.isTouched && data.isMoved) return;\n\n  // change target el for shadow root component\n  const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n  // eslint-disable-next-line\n  const eventPath = e.composedPath ? e.composedPath() : e.path;\n  if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n    targetEl = eventPath[0];\n  }\n  const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n  const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n  // use closestElement for shadow root element to get the actual closest for nested shadow root element\n  if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n    swiper.allowClick = true;\n    return;\n  }\n  if (params.swipeHandler) {\n    if (!targetEl.closest(params.swipeHandler)) return;\n  }\n  touches.currentX = e.pageX;\n  touches.currentY = e.pageY;\n  const startX = touches.currentX;\n  const startY = touches.currentY;\n\n  // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n  if (!preventEdgeSwipe(swiper, e, startX)) {\n    return;\n  }\n  Object.assign(data, {\n    isTouched: true,\n    isMoved: false,\n    allowTouchCallbacks: true,\n    isScrolling: undefined,\n    startMoving: undefined\n  });\n  touches.startX = startX;\n  touches.startY = startY;\n  data.touchStartTime = now();\n  swiper.allowClick = true;\n  swiper.updateSize();\n  swiper.swipeDirection = undefined;\n  if (params.threshold > 0) data.allowThresholdMove = false;\n  let preventDefault = true;\n  if (targetEl.matches(data.focusableElements)) {\n    preventDefault = false;\n    if (targetEl.nodeName === 'SELECT') {\n      data.isTouched = false;\n    }\n  }\n  if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {\n    document.activeElement.blur();\n  }\n  const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n  if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n    e.preventDefault();\n  }\n  if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n    swiper.freeMode.onTouchStart();\n  }\n  swiper.emit('touchStart', e);\n}\n\nfunction onTouchMove(event) {\n  const document = getDocument();\n  const swiper = this;\n  const data = swiper.touchEventsData;\n  const {\n    params,\n    touches,\n    rtlTranslate: rtl,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  if (!params.simulateTouch && event.pointerType === 'mouse') return;\n  let e = event;\n  if (e.originalEvent) e = e.originalEvent;\n  if (e.type === 'pointermove') {\n    if (data.touchId !== null) return; // return from pointer if we use touch\n    const id = e.pointerId;\n    if (id !== data.pointerId) return;\n  }\n  let targetTouch;\n  if (e.type === 'touchmove') {\n    targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n    if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n  } else {\n    targetTouch = e;\n  }\n  if (!data.isTouched) {\n    if (data.startMoving && data.isScrolling) {\n      swiper.emit('touchMoveOpposite', e);\n    }\n    return;\n  }\n  const pageX = targetTouch.pageX;\n  const pageY = targetTouch.pageY;\n  if (e.preventedByNestedSwiper) {\n    touches.startX = pageX;\n    touches.startY = pageY;\n    return;\n  }\n  if (!swiper.allowTouchMove) {\n    if (!e.target.matches(data.focusableElements)) {\n      swiper.allowClick = false;\n    }\n    if (data.isTouched) {\n      Object.assign(touches, {\n        startX: pageX,\n        startY: pageY,\n        currentX: pageX,\n        currentY: pageY\n      });\n      data.touchStartTime = now();\n    }\n    return;\n  }\n  if (params.touchReleaseOnEdges && !params.loop) {\n    if (swiper.isVertical()) {\n      // Vertical\n      if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n        data.isTouched = false;\n        data.isMoved = false;\n        return;\n      }\n    } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n      return;\n    }\n  }\n  if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {\n    document.activeElement.blur();\n  }\n  if (document.activeElement) {\n    if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n      data.isMoved = true;\n      swiper.allowClick = false;\n      return;\n    }\n  }\n  if (data.allowTouchCallbacks) {\n    swiper.emit('touchMove', e);\n  }\n  touches.previousX = touches.currentX;\n  touches.previousY = touches.currentY;\n  touches.currentX = pageX;\n  touches.currentY = pageY;\n  const diffX = touches.currentX - touches.startX;\n  const diffY = touches.currentY - touches.startY;\n  if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n  if (typeof data.isScrolling === 'undefined') {\n    let touchAngle;\n    if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n      data.isScrolling = false;\n    } else {\n      // eslint-disable-next-line\n      if (diffX * diffX + diffY * diffY >= 25) {\n        touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n        data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n      }\n    }\n  }\n  if (data.isScrolling) {\n    swiper.emit('touchMoveOpposite', e);\n  }\n  if (typeof data.startMoving === 'undefined') {\n    if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n      data.startMoving = true;\n    }\n  }\n  if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) {\n    data.isTouched = false;\n    return;\n  }\n  if (!data.startMoving) {\n    return;\n  }\n  swiper.allowClick = false;\n  if (!params.cssMode && e.cancelable) {\n    e.preventDefault();\n  }\n  if (params.touchMoveStopPropagation && !params.nested) {\n    e.stopPropagation();\n  }\n  let diff = swiper.isHorizontal() ? diffX : diffY;\n  let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n  if (params.oneWayMovement) {\n    diff = Math.abs(diff) * (rtl ? 1 : -1);\n    touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n  }\n  touches.diff = diff;\n  diff *= params.touchRatio;\n  if (rtl) {\n    diff = -diff;\n    touchesDiff = -touchesDiff;\n  }\n  const prevTouchesDirection = swiper.touchesDirection;\n  swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n  swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n  const isLoop = swiper.params.loop && !params.cssMode;\n  const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n  if (!data.isMoved) {\n    if (isLoop && allowLoopFix) {\n      swiper.loopFix({\n        direction: swiper.swipeDirection\n      });\n    }\n    data.startTranslate = swiper.getTranslate();\n    swiper.setTransition(0);\n    if (swiper.animating) {\n      const evt = new window.CustomEvent('transitionend', {\n        bubbles: true,\n        cancelable: true,\n        detail: {\n          bySwiperTouchMove: true\n        }\n      });\n      swiper.wrapperEl.dispatchEvent(evt);\n    }\n    data.allowMomentumBounce = false;\n    // Grab Cursor\n    if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n      swiper.setGrabCursor(true);\n    }\n    swiper.emit('sliderFirstMove', e);\n  }\n  let loopFixed;\n  new Date().getTime();\n  if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n    Object.assign(touches, {\n      startX: pageX,\n      startY: pageY,\n      currentX: pageX,\n      currentY: pageY,\n      startTranslate: data.currentTranslate\n    });\n    data.loopSwapReset = true;\n    data.startTranslate = data.currentTranslate;\n    return;\n  }\n  swiper.emit('sliderMove', e);\n  data.isMoved = true;\n  data.currentTranslate = diff + data.startTranslate;\n  let disableParentSwiper = true;\n  let resistanceRatio = params.resistanceRatio;\n  if (params.touchReleaseOnEdges) {\n    resistanceRatio = 0;\n  }\n  if (diff > 0) {\n    if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) {\n      swiper.loopFix({\n        direction: 'prev',\n        setTranslate: true,\n        activeSlideIndex: 0\n      });\n    }\n    if (data.currentTranslate > swiper.minTranslate()) {\n      disableParentSwiper = false;\n      if (params.resistance) {\n        data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n      }\n    }\n  } else if (diff < 0) {\n    if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) {\n      swiper.loopFix({\n        direction: 'next',\n        setTranslate: true,\n        activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n      });\n    }\n    if (data.currentTranslate < swiper.maxTranslate()) {\n      disableParentSwiper = false;\n      if (params.resistance) {\n        data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n      }\n    }\n  }\n  if (disableParentSwiper) {\n    e.preventedByNestedSwiper = true;\n  }\n\n  // Directions locks\n  if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n    data.currentTranslate = data.startTranslate;\n  }\n  if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n    data.currentTranslate = data.startTranslate;\n  }\n  if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n    data.currentTranslate = data.startTranslate;\n  }\n\n  // Threshold\n  if (params.threshold > 0) {\n    if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n      if (!data.allowThresholdMove) {\n        data.allowThresholdMove = true;\n        touches.startX = touches.currentX;\n        touches.startY = touches.currentY;\n        data.currentTranslate = data.startTranslate;\n        touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n        return;\n      }\n    } else {\n      data.currentTranslate = data.startTranslate;\n      return;\n    }\n  }\n  if (!params.followFinger || params.cssMode) return;\n\n  // Update active index in free mode\n  if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n    swiper.updateActiveIndex();\n    swiper.updateSlidesClasses();\n  }\n  if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n    swiper.freeMode.onTouchMove();\n  }\n  // Update progress\n  swiper.updateProgress(data.currentTranslate);\n  // Update translate\n  swiper.setTranslate(data.currentTranslate);\n}\n\nfunction onTouchEnd(event) {\n  const swiper = this;\n  const data = swiper.touchEventsData;\n  let e = event;\n  if (e.originalEvent) e = e.originalEvent;\n  let targetTouch;\n  const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n  if (!isTouchEvent) {\n    if (data.touchId !== null) return; // return from pointer if we use touch\n    if (e.pointerId !== data.pointerId) return;\n    targetTouch = e;\n  } else {\n    targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n    if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n  }\n  if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n    const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n    if (!proceed) {\n      return;\n    }\n  }\n  data.pointerId = null;\n  data.touchId = null;\n  const {\n    params,\n    touches,\n    rtlTranslate: rtl,\n    slidesGrid,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  if (!params.simulateTouch && e.pointerType === 'mouse') return;\n  if (data.allowTouchCallbacks) {\n    swiper.emit('touchEnd', e);\n  }\n  data.allowTouchCallbacks = false;\n  if (!data.isTouched) {\n    if (data.isMoved && params.grabCursor) {\n      swiper.setGrabCursor(false);\n    }\n    data.isMoved = false;\n    data.startMoving = false;\n    return;\n  }\n\n  // Return Grab Cursor\n  if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n    swiper.setGrabCursor(false);\n  }\n\n  // Time diff\n  const touchEndTime = now();\n  const timeDiff = touchEndTime - data.touchStartTime;\n\n  // Tap, doubleTap, Click\n  if (swiper.allowClick) {\n    const pathTree = e.path || e.composedPath && e.composedPath();\n    swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n    swiper.emit('tap click', e);\n    if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n      swiper.emit('doubleTap doubleClick', e);\n    }\n  }\n  data.lastClickTime = now();\n  nextTick(() => {\n    if (!swiper.destroyed) swiper.allowClick = true;\n  });\n  if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n    data.isTouched = false;\n    data.isMoved = false;\n    data.startMoving = false;\n    return;\n  }\n  data.isTouched = false;\n  data.isMoved = false;\n  data.startMoving = false;\n  let currentPos;\n  if (params.followFinger) {\n    currentPos = rtl ? swiper.translate : -swiper.translate;\n  } else {\n    currentPos = -data.currentTranslate;\n  }\n  if (params.cssMode) {\n    return;\n  }\n  if (params.freeMode && params.freeMode.enabled) {\n    swiper.freeMode.onTouchEnd({\n      currentPos\n    });\n    return;\n  }\n\n  // Find current slide\n  const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n  let stopIndex = 0;\n  let groupSize = swiper.slidesSizesGrid[0];\n  for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n    const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n    if (typeof slidesGrid[i + increment] !== 'undefined') {\n      if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n        stopIndex = i;\n        groupSize = slidesGrid[i + increment] - slidesGrid[i];\n      }\n    } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n      stopIndex = i;\n      groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n    }\n  }\n  let rewindFirstIndex = null;\n  let rewindLastIndex = null;\n  if (params.rewind) {\n    if (swiper.isBeginning) {\n      rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n    } else if (swiper.isEnd) {\n      rewindFirstIndex = 0;\n    }\n  }\n  // Find current slide size\n  const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n  const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n  if (timeDiff > params.longSwipesMs) {\n    // Long touches\n    if (!params.longSwipes) {\n      swiper.slideTo(swiper.activeIndex);\n      return;\n    }\n    if (swiper.swipeDirection === 'next') {\n      if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n    }\n    if (swiper.swipeDirection === 'prev') {\n      if (ratio > 1 - params.longSwipesRatio) {\n        swiper.slideTo(stopIndex + increment);\n      } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n        swiper.slideTo(rewindLastIndex);\n      } else {\n        swiper.slideTo(stopIndex);\n      }\n    }\n  } else {\n    // Short swipes\n    if (!params.shortSwipes) {\n      swiper.slideTo(swiper.activeIndex);\n      return;\n    }\n    const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n    if (!isNavButtonTarget) {\n      if (swiper.swipeDirection === 'next') {\n        swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n      }\n      if (swiper.swipeDirection === 'prev') {\n        swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n      }\n    } else if (e.target === swiper.navigation.nextEl) {\n      swiper.slideTo(stopIndex + increment);\n    } else {\n      swiper.slideTo(stopIndex);\n    }\n  }\n}\n\nfunction onResize() {\n  const swiper = this;\n  const {\n    params,\n    el\n  } = swiper;\n  if (el && el.offsetWidth === 0) return;\n\n  // Breakpoints\n  if (params.breakpoints) {\n    swiper.setBreakpoint();\n  }\n\n  // Save locks\n  const {\n    allowSlideNext,\n    allowSlidePrev,\n    snapGrid\n  } = swiper;\n  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n  // Disable locks on resize\n  swiper.allowSlideNext = true;\n  swiper.allowSlidePrev = true;\n  swiper.updateSize();\n  swiper.updateSlides();\n  swiper.updateSlidesClasses();\n  const isVirtualLoop = isVirtual && params.loop;\n  if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n    swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n  } else {\n    if (swiper.params.loop && !isVirtual) {\n      swiper.slideToLoop(swiper.realIndex, 0, false, true);\n    } else {\n      swiper.slideTo(swiper.activeIndex, 0, false, true);\n    }\n  }\n  if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n    clearTimeout(swiper.autoplay.resizeTimeout);\n    swiper.autoplay.resizeTimeout = setTimeout(() => {\n      if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n        swiper.autoplay.resume();\n      }\n    }, 500);\n  }\n  // Return locks after resize\n  swiper.allowSlidePrev = allowSlidePrev;\n  swiper.allowSlideNext = allowSlideNext;\n  if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n    swiper.checkOverflow();\n  }\n}\n\nfunction onClick(e) {\n  const swiper = this;\n  if (!swiper.enabled) return;\n  if (!swiper.allowClick) {\n    if (swiper.params.preventClicks) e.preventDefault();\n    if (swiper.params.preventClicksPropagation && swiper.animating) {\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n    }\n  }\n}\n\nfunction onScroll() {\n  const swiper = this;\n  const {\n    wrapperEl,\n    rtlTranslate,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  swiper.previousTranslate = swiper.translate;\n  if (swiper.isHorizontal()) {\n    swiper.translate = -wrapperEl.scrollLeft;\n  } else {\n    swiper.translate = -wrapperEl.scrollTop;\n  }\n  // eslint-disable-next-line\n  if (swiper.translate === 0) swiper.translate = 0;\n  swiper.updateActiveIndex();\n  swiper.updateSlidesClasses();\n  let newProgress;\n  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n  if (translatesDiff === 0) {\n    newProgress = 0;\n  } else {\n    newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n  }\n  if (newProgress !== swiper.progress) {\n    swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n  }\n  swiper.emit('setTranslate', swiper.translate, false);\n}\n\nfunction onLoad(e) {\n  const swiper = this;\n  processLazyPreloader(swiper, e.target);\n  if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n    return;\n  }\n  swiper.update();\n}\n\nfunction onDocumentTouchStart() {\n  const swiper = this;\n  if (swiper.documentTouchHandlerProceeded) return;\n  swiper.documentTouchHandlerProceeded = true;\n  if (swiper.params.touchReleaseOnEdges) {\n    swiper.el.style.touchAction = 'auto';\n  }\n}\n\nconst events = (swiper, method) => {\n  const document = getDocument();\n  const {\n    params,\n    el,\n    wrapperEl,\n    device\n  } = swiper;\n  const capture = !!params.nested;\n  const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n  const swiperMethod = method;\n  if (!el || typeof el === 'string') return;\n\n  // Touch Events\n  document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n    passive: false,\n    capture\n  });\n  el[domMethod]('touchstart', swiper.onTouchStart, {\n    passive: false\n  });\n  el[domMethod]('pointerdown', swiper.onTouchStart, {\n    passive: false\n  });\n  document[domMethod]('touchmove', swiper.onTouchMove, {\n    passive: false,\n    capture\n  });\n  document[domMethod]('pointermove', swiper.onTouchMove, {\n    passive: false,\n    capture\n  });\n  document[domMethod]('touchend', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('pointerup', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('pointercancel', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('touchcancel', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('pointerout', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('pointerleave', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('contextmenu', swiper.onTouchEnd, {\n    passive: true\n  });\n\n  // Prevent Links Clicks\n  if (params.preventClicks || params.preventClicksPropagation) {\n    el[domMethod]('click', swiper.onClick, true);\n  }\n  if (params.cssMode) {\n    wrapperEl[domMethod]('scroll', swiper.onScroll);\n  }\n\n  // Resize handler\n  if (params.updateOnWindowResize) {\n    swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n  } else {\n    swiper[swiperMethod]('observerUpdate', onResize, true);\n  }\n\n  // Images loader\n  el[domMethod]('load', swiper.onLoad, {\n    capture: true\n  });\n};\nfunction attachEvents() {\n  const swiper = this;\n  const {\n    params\n  } = swiper;\n  swiper.onTouchStart = onTouchStart.bind(swiper);\n  swiper.onTouchMove = onTouchMove.bind(swiper);\n  swiper.onTouchEnd = onTouchEnd.bind(swiper);\n  swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n  if (params.cssMode) {\n    swiper.onScroll = onScroll.bind(swiper);\n  }\n  swiper.onClick = onClick.bind(swiper);\n  swiper.onLoad = onLoad.bind(swiper);\n  events(swiper, 'on');\n}\nfunction detachEvents() {\n  const swiper = this;\n  events(swiper, 'off');\n}\nvar events$1 = {\n  attachEvents,\n  detachEvents\n};\n\nconst isGridEnabled = (swiper, params) => {\n  return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n  const swiper = this;\n  const {\n    realIndex,\n    initialized,\n    params,\n    el\n  } = swiper;\n  const breakpoints = params.breakpoints;\n  if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n  // Get breakpoint for window width and update parameters\n  const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n  if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n  const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n  const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n  const wasMultiRow = isGridEnabled(swiper, params);\n  const isMultiRow = isGridEnabled(swiper, breakpointParams);\n  const wasGrabCursor = swiper.params.grabCursor;\n  const isGrabCursor = breakpointParams.grabCursor;\n  const wasEnabled = params.enabled;\n  if (wasMultiRow && !isMultiRow) {\n    el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n    swiper.emitContainerClasses();\n  } else if (!wasMultiRow && isMultiRow) {\n    el.classList.add(`${params.containerModifierClass}grid`);\n    if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n      el.classList.add(`${params.containerModifierClass}grid-column`);\n    }\n    swiper.emitContainerClasses();\n  }\n  if (wasGrabCursor && !isGrabCursor) {\n    swiper.unsetGrabCursor();\n  } else if (!wasGrabCursor && isGrabCursor) {\n    swiper.setGrabCursor();\n  }\n\n  // Toggle navigation, pagination, scrollbar\n  ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n    if (typeof breakpointParams[prop] === 'undefined') return;\n    const wasModuleEnabled = params[prop] && params[prop].enabled;\n    const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n    if (wasModuleEnabled && !isModuleEnabled) {\n      swiper[prop].disable();\n    }\n    if (!wasModuleEnabled && isModuleEnabled) {\n      swiper[prop].enable();\n    }\n  });\n  const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n  const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n  const wasLoop = params.loop;\n  if (directionChanged && initialized) {\n    swiper.changeDirection();\n  }\n  extend(swiper.params, breakpointParams);\n  const isEnabled = swiper.params.enabled;\n  const hasLoop = swiper.params.loop;\n  Object.assign(swiper, {\n    allowTouchMove: swiper.params.allowTouchMove,\n    allowSlideNext: swiper.params.allowSlideNext,\n    allowSlidePrev: swiper.params.allowSlidePrev\n  });\n  if (wasEnabled && !isEnabled) {\n    swiper.disable();\n  } else if (!wasEnabled && isEnabled) {\n    swiper.enable();\n  }\n  swiper.currentBreakpoint = breakpoint;\n  swiper.emit('_beforeBreakpoint', breakpointParams);\n  if (initialized) {\n    if (needsReLoop) {\n      swiper.loopDestroy();\n      swiper.loopCreate(realIndex);\n      swiper.updateSlides();\n    } else if (!wasLoop && hasLoop) {\n      swiper.loopCreate(realIndex);\n      swiper.updateSlides();\n    } else if (wasLoop && !hasLoop) {\n      swiper.loopDestroy();\n    }\n  }\n  swiper.emit('breakpoint', breakpointParams);\n}\n\nfunction getBreakpoint(breakpoints, base, containerEl) {\n  if (base === void 0) {\n    base = 'window';\n  }\n  if (!breakpoints || base === 'container' && !containerEl) return undefined;\n  let breakpoint = false;\n  const window = getWindow();\n  const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n  const points = Object.keys(breakpoints).map(point => {\n    if (typeof point === 'string' && point.indexOf('@') === 0) {\n      const minRatio = parseFloat(point.substr(1));\n      const value = currentHeight * minRatio;\n      return {\n        value,\n        point\n      };\n    }\n    return {\n      value: point,\n      point\n    };\n  });\n  points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n  for (let i = 0; i < points.length; i += 1) {\n    const {\n      point,\n      value\n    } = points[i];\n    if (base === 'window') {\n      if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n        breakpoint = point;\n      }\n    } else if (value <= containerEl.clientWidth) {\n      breakpoint = point;\n    }\n  }\n  return breakpoint || 'max';\n}\n\nvar breakpoints = {\n  setBreakpoint,\n  getBreakpoint\n};\n\nfunction prepareClasses(entries, prefix) {\n  const resultClasses = [];\n  entries.forEach(item => {\n    if (typeof item === 'object') {\n      Object.keys(item).forEach(classNames => {\n        if (item[classNames]) {\n          resultClasses.push(prefix + classNames);\n        }\n      });\n    } else if (typeof item === 'string') {\n      resultClasses.push(prefix + item);\n    }\n  });\n  return resultClasses;\n}\nfunction addClasses() {\n  const swiper = this;\n  const {\n    classNames,\n    params,\n    rtl,\n    el,\n    device\n  } = swiper;\n  // prettier-ignore\n  const suffixes = prepareClasses(['initialized', params.direction, {\n    'free-mode': swiper.params.freeMode && params.freeMode.enabled\n  }, {\n    'autoheight': params.autoHeight\n  }, {\n    'rtl': rtl\n  }, {\n    'grid': params.grid && params.grid.rows > 1\n  }, {\n    'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n  }, {\n    'android': device.android\n  }, {\n    'ios': device.ios\n  }, {\n    'css-mode': params.cssMode\n  }, {\n    'centered': params.cssMode && params.centeredSlides\n  }, {\n    'watch-progress': params.watchSlidesProgress\n  }], params.containerModifierClass);\n  classNames.push(...suffixes);\n  el.classList.add(...classNames);\n  swiper.emitContainerClasses();\n}\n\nfunction removeClasses() {\n  const swiper = this;\n  const {\n    el,\n    classNames\n  } = swiper;\n  if (!el || typeof el === 'string') return;\n  el.classList.remove(...classNames);\n  swiper.emitContainerClasses();\n}\n\nvar classes = {\n  addClasses,\n  removeClasses\n};\n\nfunction checkOverflow() {\n  const swiper = this;\n  const {\n    isLocked: wasLocked,\n    params\n  } = swiper;\n  const {\n    slidesOffsetBefore\n  } = params;\n  if (slidesOffsetBefore) {\n    const lastSlideIndex = swiper.slides.length - 1;\n    const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n    swiper.isLocked = swiper.size > lastSlideRightEdge;\n  } else {\n    swiper.isLocked = swiper.snapGrid.length === 1;\n  }\n  if (params.allowSlideNext === true) {\n    swiper.allowSlideNext = !swiper.isLocked;\n  }\n  if (params.allowSlidePrev === true) {\n    swiper.allowSlidePrev = !swiper.isLocked;\n  }\n  if (wasLocked && wasLocked !== swiper.isLocked) {\n    swiper.isEnd = false;\n  }\n  if (wasLocked !== swiper.isLocked) {\n    swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n  }\n}\nvar checkOverflow$1 = {\n  checkOverflow\n};\n\nvar defaults = {\n  init: true,\n  direction: 'horizontal',\n  oneWayMovement: false,\n  swiperElementNodeName: 'SWIPER-CONTAINER',\n  touchEventsTarget: 'wrapper',\n  initialSlide: 0,\n  speed: 300,\n  cssMode: false,\n  updateOnWindowResize: true,\n  resizeObserver: true,\n  nested: false,\n  createElements: false,\n  eventsPrefix: 'swiper',\n  enabled: true,\n  focusableElements: 'input, select, option, textarea, button, video, label',\n  // Overrides\n  width: null,\n  height: null,\n  //\n  preventInteractionOnTransition: false,\n  // ssr\n  userAgent: null,\n  url: null,\n  // To support iOS's swipe-to-go-back gesture (when being used in-app).\n  edgeSwipeDetection: false,\n  edgeSwipeThreshold: 20,\n  // Autoheight\n  autoHeight: false,\n  // Set wrapper width\n  setWrapperSize: false,\n  // Virtual Translate\n  virtualTranslate: false,\n  // Effects\n  effect: 'slide',\n  // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n  // Breakpoints\n  breakpoints: undefined,\n  breakpointsBase: 'window',\n  // Slides grid\n  spaceBetween: 0,\n  slidesPerView: 1,\n  slidesPerGroup: 1,\n  slidesPerGroupSkip: 0,\n  slidesPerGroupAuto: false,\n  centeredSlides: false,\n  centeredSlidesBounds: false,\n  slidesOffsetBefore: 0,\n  // in px\n  slidesOffsetAfter: 0,\n  // in px\n  normalizeSlideIndex: true,\n  centerInsufficientSlides: false,\n  // Disable swiper and hide navigation when container not overflow\n  watchOverflow: true,\n  // Round length\n  roundLengths: false,\n  // Touches\n  touchRatio: 1,\n  touchAngle: 45,\n  simulateTouch: true,\n  shortSwipes: true,\n  longSwipes: true,\n  longSwipesRatio: 0.5,\n  longSwipesMs: 300,\n  followFinger: true,\n  allowTouchMove: true,\n  threshold: 5,\n  touchMoveStopPropagation: false,\n  touchStartPreventDefault: true,\n  touchStartForcePreventDefault: false,\n  touchReleaseOnEdges: false,\n  // Unique Navigation Elements\n  uniqueNavElements: true,\n  // Resistance\n  resistance: true,\n  resistanceRatio: 0.85,\n  // Progress\n  watchSlidesProgress: false,\n  // Cursor\n  grabCursor: false,\n  // Clicks\n  preventClicks: true,\n  preventClicksPropagation: true,\n  slideToClickedSlide: false,\n  // loop\n  loop: false,\n  loopAddBlankSlides: true,\n  loopAdditionalSlides: 0,\n  loopPreventsSliding: true,\n  // rewind\n  rewind: false,\n  // Swiping/no swiping\n  allowSlidePrev: true,\n  allowSlideNext: true,\n  swipeHandler: null,\n  // '.swipe-handler',\n  noSwiping: true,\n  noSwipingClass: 'swiper-no-swiping',\n  noSwipingSelector: null,\n  // Passive Listeners\n  passiveListeners: true,\n  maxBackfaceHiddenSlides: 10,\n  // NS\n  containerModifierClass: 'swiper-',\n  // NEW\n  slideClass: 'swiper-slide',\n  slideBlankClass: 'swiper-slide-blank',\n  slideActiveClass: 'swiper-slide-active',\n  slideVisibleClass: 'swiper-slide-visible',\n  slideFullyVisibleClass: 'swiper-slide-fully-visible',\n  slideNextClass: 'swiper-slide-next',\n  slidePrevClass: 'swiper-slide-prev',\n  wrapperClass: 'swiper-wrapper',\n  lazyPreloaderClass: 'swiper-lazy-preloader',\n  lazyPreloadPrevNext: 0,\n  // Callbacks\n  runCallbacksOnInit: true,\n  // Internals\n  _emitClasses: false\n};\n\nfunction moduleExtendParams(params, allModulesParams) {\n  return function extendParams(obj) {\n    if (obj === void 0) {\n      obj = {};\n    }\n    const moduleParamName = Object.keys(obj)[0];\n    const moduleParams = obj[moduleParamName];\n    if (typeof moduleParams !== 'object' || moduleParams === null) {\n      extend(allModulesParams, obj);\n      return;\n    }\n    if (params[moduleParamName] === true) {\n      params[moduleParamName] = {\n        enabled: true\n      };\n    }\n    if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n      params[moduleParamName].auto = true;\n    }\n    if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n      params[moduleParamName].auto = true;\n    }\n    if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n      extend(allModulesParams, obj);\n      return;\n    }\n    if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n      params[moduleParamName].enabled = true;\n    }\n    if (!params[moduleParamName]) params[moduleParamName] = {\n      enabled: false\n    };\n    extend(allModulesParams, obj);\n  };\n}\n\n/* eslint no-param-reassign: \"off\" */\nconst prototypes = {\n  eventsEmitter,\n  update,\n  translate,\n  transition,\n  slide,\n  loop,\n  grabCursor,\n  events: events$1,\n  breakpoints,\n  checkOverflow: checkOverflow$1,\n  classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n  constructor() {\n    let el;\n    let params;\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n      params = args[0];\n    } else {\n      [el, params] = args;\n    }\n    if (!params) params = {};\n    params = extend({}, params);\n    if (el && !params.el) params.el = el;\n    const document = getDocument();\n    if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n      const swipers = [];\n      document.querySelectorAll(params.el).forEach(containerEl => {\n        const newParams = extend({}, params, {\n          el: containerEl\n        });\n        swipers.push(new Swiper(newParams));\n      });\n      // eslint-disable-next-line no-constructor-return\n      return swipers;\n    }\n\n    // Swiper Instance\n    const swiper = this;\n    swiper.__swiper__ = true;\n    swiper.support = getSupport();\n    swiper.device = getDevice({\n      userAgent: params.userAgent\n    });\n    swiper.browser = getBrowser();\n    swiper.eventsListeners = {};\n    swiper.eventsAnyListeners = [];\n    swiper.modules = [...swiper.__modules__];\n    if (params.modules && Array.isArray(params.modules)) {\n      swiper.modules.push(...params.modules);\n    }\n    const allModulesParams = {};\n    swiper.modules.forEach(mod => {\n      mod({\n        params,\n        swiper,\n        extendParams: moduleExtendParams(params, allModulesParams),\n        on: swiper.on.bind(swiper),\n        once: swiper.once.bind(swiper),\n        off: swiper.off.bind(swiper),\n        emit: swiper.emit.bind(swiper)\n      });\n    });\n\n    // Extend defaults with modules params\n    const swiperParams = extend({}, defaults, allModulesParams);\n\n    // Extend defaults with passed params\n    swiper.params = extend({}, swiperParams, extendedDefaults, params);\n    swiper.originalParams = extend({}, swiper.params);\n    swiper.passedParams = extend({}, params);\n\n    // add event listeners\n    if (swiper.params && swiper.params.on) {\n      Object.keys(swiper.params.on).forEach(eventName => {\n        swiper.on(eventName, swiper.params.on[eventName]);\n      });\n    }\n    if (swiper.params && swiper.params.onAny) {\n      swiper.onAny(swiper.params.onAny);\n    }\n\n    // Extend Swiper\n    Object.assign(swiper, {\n      enabled: swiper.params.enabled,\n      el,\n      // Classes\n      classNames: [],\n      // Slides\n      slides: [],\n      slidesGrid: [],\n      snapGrid: [],\n      slidesSizesGrid: [],\n      // isDirection\n      isHorizontal() {\n        return swiper.params.direction === 'horizontal';\n      },\n      isVertical() {\n        return swiper.params.direction === 'vertical';\n      },\n      // Indexes\n      activeIndex: 0,\n      realIndex: 0,\n      //\n      isBeginning: true,\n      isEnd: false,\n      // Props\n      translate: 0,\n      previousTranslate: 0,\n      progress: 0,\n      velocity: 0,\n      animating: false,\n      cssOverflowAdjustment() {\n        // Returns 0 unless `translate` is > 2**23\n        // Should be subtracted from css values to prevent overflow\n        return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n      },\n      // Locks\n      allowSlideNext: swiper.params.allowSlideNext,\n      allowSlidePrev: swiper.params.allowSlidePrev,\n      // Touch Events\n      touchEventsData: {\n        isTouched: undefined,\n        isMoved: undefined,\n        allowTouchCallbacks: undefined,\n        touchStartTime: undefined,\n        isScrolling: undefined,\n        currentTranslate: undefined,\n        startTranslate: undefined,\n        allowThresholdMove: undefined,\n        // Form elements to match\n        focusableElements: swiper.params.focusableElements,\n        // Last click time\n        lastClickTime: 0,\n        clickTimeout: undefined,\n        // Velocities\n        velocities: [],\n        allowMomentumBounce: undefined,\n        startMoving: undefined,\n        pointerId: null,\n        touchId: null\n      },\n      // Clicks\n      allowClick: true,\n      // Touches\n      allowTouchMove: swiper.params.allowTouchMove,\n      touches: {\n        startX: 0,\n        startY: 0,\n        currentX: 0,\n        currentY: 0,\n        diff: 0\n      },\n      // Images\n      imagesToLoad: [],\n      imagesLoaded: 0\n    });\n    swiper.emit('_swiper');\n\n    // Init\n    if (swiper.params.init) {\n      swiper.init();\n    }\n\n    // Return app instance\n    // eslint-disable-next-line no-constructor-return\n    return swiper;\n  }\n  getDirectionLabel(property) {\n    if (this.isHorizontal()) {\n      return property;\n    }\n    // prettier-ignore\n    return {\n      'width': 'height',\n      'margin-top': 'margin-left',\n      'margin-bottom ': 'margin-right',\n      'margin-left': 'margin-top',\n      'margin-right': 'margin-bottom',\n      'padding-left': 'padding-top',\n      'padding-right': 'padding-bottom',\n      'marginRight': 'marginBottom'\n    }[property];\n  }\n  getSlideIndex(slideEl) {\n    const {\n      slidesEl,\n      params\n    } = this;\n    const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n    const firstSlideIndex = elementIndex(slides[0]);\n    return elementIndex(slideEl) - firstSlideIndex;\n  }\n  getSlideIndexByData(index) {\n    return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);\n  }\n  recalcSlides() {\n    const swiper = this;\n    const {\n      slidesEl,\n      params\n    } = swiper;\n    swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n  }\n  enable() {\n    const swiper = this;\n    if (swiper.enabled) return;\n    swiper.enabled = true;\n    if (swiper.params.grabCursor) {\n      swiper.setGrabCursor();\n    }\n    swiper.emit('enable');\n  }\n  disable() {\n    const swiper = this;\n    if (!swiper.enabled) return;\n    swiper.enabled = false;\n    if (swiper.params.grabCursor) {\n      swiper.unsetGrabCursor();\n    }\n    swiper.emit('disable');\n  }\n  setProgress(progress, speed) {\n    const swiper = this;\n    progress = Math.min(Math.max(progress, 0), 1);\n    const min = swiper.minTranslate();\n    const max = swiper.maxTranslate();\n    const current = (max - min) * progress + min;\n    swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n    swiper.updateActiveIndex();\n    swiper.updateSlidesClasses();\n  }\n  emitContainerClasses() {\n    const swiper = this;\n    if (!swiper.params._emitClasses || !swiper.el) return;\n    const cls = swiper.el.className.split(' ').filter(className => {\n      return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n    });\n    swiper.emit('_containerClasses', cls.join(' '));\n  }\n  getSlideClasses(slideEl) {\n    const swiper = this;\n    if (swiper.destroyed) return '';\n    return slideEl.className.split(' ').filter(className => {\n      return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n    }).join(' ');\n  }\n  emitSlidesClasses() {\n    const swiper = this;\n    if (!swiper.params._emitClasses || !swiper.el) return;\n    const updates = [];\n    swiper.slides.forEach(slideEl => {\n      const classNames = swiper.getSlideClasses(slideEl);\n      updates.push({\n        slideEl,\n        classNames\n      });\n      swiper.emit('_slideClass', slideEl, classNames);\n    });\n    swiper.emit('_slideClasses', updates);\n  }\n  slidesPerViewDynamic(view, exact) {\n    if (view === void 0) {\n      view = 'current';\n    }\n    if (exact === void 0) {\n      exact = false;\n    }\n    const swiper = this;\n    const {\n      params,\n      slides,\n      slidesGrid,\n      slidesSizesGrid,\n      size: swiperSize,\n      activeIndex\n    } = swiper;\n    let spv = 1;\n    if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n    if (params.centeredSlides) {\n      let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;\n      let breakLoop;\n      for (let i = activeIndex + 1; i < slides.length; i += 1) {\n        if (slides[i] && !breakLoop) {\n          slideSize += Math.ceil(slides[i].swiperSlideSize);\n          spv += 1;\n          if (slideSize > swiperSize) breakLoop = true;\n        }\n      }\n      for (let i = activeIndex - 1; i >= 0; i -= 1) {\n        if (slides[i] && !breakLoop) {\n          slideSize += slides[i].swiperSlideSize;\n          spv += 1;\n          if (slideSize > swiperSize) breakLoop = true;\n        }\n      }\n    } else {\n      // eslint-disable-next-line\n      if (view === 'current') {\n        for (let i = activeIndex + 1; i < slides.length; i += 1) {\n          const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n          if (slideInView) {\n            spv += 1;\n          }\n        }\n      } else {\n        // previous\n        for (let i = activeIndex - 1; i >= 0; i -= 1) {\n          const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n          if (slideInView) {\n            spv += 1;\n          }\n        }\n      }\n    }\n    return spv;\n  }\n  update() {\n    const swiper = this;\n    if (!swiper || swiper.destroyed) return;\n    const {\n      snapGrid,\n      params\n    } = swiper;\n    // Breakpoints\n    if (params.breakpoints) {\n      swiper.setBreakpoint();\n    }\n    [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n      if (imageEl.complete) {\n        processLazyPreloader(swiper, imageEl);\n      }\n    });\n    swiper.updateSize();\n    swiper.updateSlides();\n    swiper.updateProgress();\n    swiper.updateSlidesClasses();\n    function setTranslate() {\n      const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n      const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n      swiper.setTranslate(newTranslate);\n      swiper.updateActiveIndex();\n      swiper.updateSlidesClasses();\n    }\n    let translated;\n    if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n      setTranslate();\n      if (params.autoHeight) {\n        swiper.updateAutoHeight();\n      }\n    } else {\n      if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n        const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n        translated = swiper.slideTo(slides.length - 1, 0, false, true);\n      } else {\n        translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n      }\n      if (!translated) {\n        setTranslate();\n      }\n    }\n    if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n      swiper.checkOverflow();\n    }\n    swiper.emit('update');\n  }\n  changeDirection(newDirection, needUpdate) {\n    if (needUpdate === void 0) {\n      needUpdate = true;\n    }\n    const swiper = this;\n    const currentDirection = swiper.params.direction;\n    if (!newDirection) {\n      // eslint-disable-next-line\n      newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n    }\n    if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n      return swiper;\n    }\n    swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n    swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n    swiper.emitContainerClasses();\n    swiper.params.direction = newDirection;\n    swiper.slides.forEach(slideEl => {\n      if (newDirection === 'vertical') {\n        slideEl.style.width = '';\n      } else {\n        slideEl.style.height = '';\n      }\n    });\n    swiper.emit('changeDirection');\n    if (needUpdate) swiper.update();\n    return swiper;\n  }\n  changeLanguageDirection(direction) {\n    const swiper = this;\n    if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n    swiper.rtl = direction === 'rtl';\n    swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n    if (swiper.rtl) {\n      swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n      swiper.el.dir = 'rtl';\n    } else {\n      swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n      swiper.el.dir = 'ltr';\n    }\n    swiper.update();\n  }\n  mount(element) {\n    const swiper = this;\n    if (swiper.mounted) return true;\n\n    // Find el\n    let el = element || swiper.params.el;\n    if (typeof el === 'string') {\n      el = document.querySelector(el);\n    }\n    if (!el) {\n      return false;\n    }\n    el.swiper = swiper;\n    if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {\n      swiper.isElement = true;\n    }\n    const getWrapperSelector = () => {\n      return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n    };\n    const getWrapper = () => {\n      if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n        const res = el.shadowRoot.querySelector(getWrapperSelector());\n        // Children needs to return slot items\n        return res;\n      }\n      return elementChildren(el, getWrapperSelector())[0];\n    };\n    // Find Wrapper\n    let wrapperEl = getWrapper();\n    if (!wrapperEl && swiper.params.createElements) {\n      wrapperEl = createElement('div', swiper.params.wrapperClass);\n      el.append(wrapperEl);\n      elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n        wrapperEl.append(slideEl);\n      });\n    }\n    Object.assign(swiper, {\n      el,\n      wrapperEl,\n      slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n      hostEl: swiper.isElement ? el.parentNode.host : el,\n      mounted: true,\n      // RTL\n      rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n      rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n      wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n    });\n    return true;\n  }\n  init(el) {\n    const swiper = this;\n    if (swiper.initialized) return swiper;\n    const mounted = swiper.mount(el);\n    if (mounted === false) return swiper;\n    swiper.emit('beforeInit');\n\n    // Set breakpoint\n    if (swiper.params.breakpoints) {\n      swiper.setBreakpoint();\n    }\n\n    // Add Classes\n    swiper.addClasses();\n\n    // Update size\n    swiper.updateSize();\n\n    // Update slides\n    swiper.updateSlides();\n    if (swiper.params.watchOverflow) {\n      swiper.checkOverflow();\n    }\n\n    // Set Grab Cursor\n    if (swiper.params.grabCursor && swiper.enabled) {\n      swiper.setGrabCursor();\n    }\n\n    // Slide To Initial Slide\n    if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n      swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n    } else {\n      swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n    }\n\n    // Create loop\n    if (swiper.params.loop) {\n      swiper.loopCreate();\n    }\n\n    // Attach events\n    swiper.attachEvents();\n    const lazyElements = [...swiper.el.querySelectorAll('[loading=\"lazy\"]')];\n    if (swiper.isElement) {\n      lazyElements.push(...swiper.hostEl.querySelectorAll('[loading=\"lazy\"]'));\n    }\n    lazyElements.forEach(imageEl => {\n      if (imageEl.complete) {\n        processLazyPreloader(swiper, imageEl);\n      } else {\n        imageEl.addEventListener('load', e => {\n          processLazyPreloader(swiper, e.target);\n        });\n      }\n    });\n    preload(swiper);\n\n    // Init Flag\n    swiper.initialized = true;\n    preload(swiper);\n\n    // Emit\n    swiper.emit('init');\n    swiper.emit('afterInit');\n    return swiper;\n  }\n  destroy(deleteInstance, cleanStyles) {\n    if (deleteInstance === void 0) {\n      deleteInstance = true;\n    }\n    if (cleanStyles === void 0) {\n      cleanStyles = true;\n    }\n    const swiper = this;\n    const {\n      params,\n      el,\n      wrapperEl,\n      slides\n    } = swiper;\n    if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n      return null;\n    }\n    swiper.emit('beforeDestroy');\n\n    // Init Flag\n    swiper.initialized = false;\n\n    // Detach events\n    swiper.detachEvents();\n\n    // Destroy loop\n    if (params.loop) {\n      swiper.loopDestroy();\n    }\n\n    // Cleanup styles\n    if (cleanStyles) {\n      swiper.removeClasses();\n      if (el && typeof el !== 'string') {\n        el.removeAttribute('style');\n      }\n      if (wrapperEl) {\n        wrapperEl.removeAttribute('style');\n      }\n      if (slides && slides.length) {\n        slides.forEach(slideEl => {\n          slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n          slideEl.removeAttribute('style');\n          slideEl.removeAttribute('data-swiper-slide-index');\n        });\n      }\n    }\n    swiper.emit('destroy');\n\n    // Detach emitter events\n    Object.keys(swiper.eventsListeners).forEach(eventName => {\n      swiper.off(eventName);\n    });\n    if (deleteInstance !== false) {\n      if (swiper.el && typeof swiper.el !== 'string') {\n        swiper.el.swiper = null;\n      }\n      deleteProps(swiper);\n    }\n    swiper.destroyed = true;\n    return null;\n  }\n  static extendDefaults(newDefaults) {\n    extend(extendedDefaults, newDefaults);\n  }\n  static get extendedDefaults() {\n    return extendedDefaults;\n  }\n  static get defaults() {\n    return defaults;\n  }\n  static installModule(mod) {\n    if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n    const modules = Swiper.prototype.__modules__;\n    if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n      modules.push(mod);\n    }\n  }\n  static use(module) {\n    if (Array.isArray(module)) {\n      module.forEach(m => Swiper.installModule(m));\n      return Swiper;\n    }\n    Swiper.installModule(module);\n    return Swiper;\n  }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n  Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n    Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n  });\n});\nSwiper.use([Resize, Observer]);\n\nexport { Swiper as S, defaults as d };\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","/**\n * Swiper React 11.1.15\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2024 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: November 18, 2024\n */\n\nimport React, { useEffect, useLayoutEffect, useContext, createContext, forwardRef, useState, useRef } from 'react';\nimport { S as Swiper$1 } from './shared/swiper-core.mjs';\nimport { g as getParams, m as mountSwiper, a as getChangedParams, u as updateOnVirtualData } from './shared/update-on-virtual-data.mjs';\nimport { d as uniqueClasses, w as wrapperClass, n as needsNavigation, b as needsScrollbar, a as needsPagination, e as extend, u as updateSwiper } from './shared/update-swiper.mjs';\n\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\nfunction isChildSwiperSlide(child) {\n  return child.type && child.type.displayName && child.type.displayName.includes('SwiperSlide');\n}\nfunction processChildren(c) {\n  const slides = [];\n  React.Children.toArray(c).forEach(child => {\n    if (isChildSwiperSlide(child)) {\n      slides.push(child);\n    } else if (child.props && child.props.children) {\n      processChildren(child.props.children).forEach(slide => slides.push(slide));\n    }\n  });\n  return slides;\n}\nfunction getChildren(c) {\n  const slides = [];\n  const slots = {\n    'container-start': [],\n    'container-end': [],\n    'wrapper-start': [],\n    'wrapper-end': []\n  };\n  React.Children.toArray(c).forEach(child => {\n    if (isChildSwiperSlide(child)) {\n      slides.push(child);\n    } else if (child.props && child.props.slot && slots[child.props.slot]) {\n      slots[child.props.slot].push(child);\n    } else if (child.props && child.props.children) {\n      const foundSlides = processChildren(child.props.children);\n      if (foundSlides.length > 0) {\n        foundSlides.forEach(slide => slides.push(slide));\n      } else {\n        slots['container-end'].push(child);\n      }\n    } else {\n      slots['container-end'].push(child);\n    }\n  });\n  return {\n    slides,\n    slots\n  };\n}\n\nfunction renderVirtual(swiper, slides, virtualData) {\n  if (!virtualData) return null;\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  const style = swiper.isHorizontal() ? {\n    [swiper.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`\n  } : {\n    top: `${virtualData.offset}px`\n  };\n  const {\n    from,\n    to\n  } = virtualData;\n  const loopFrom = swiper.params.loop ? -slides.length : 0;\n  const loopTo = swiper.params.loop ? slides.length * 2 : slides.length;\n  const slidesToRender = [];\n  for (let i = loopFrom; i < loopTo; i += 1) {\n    if (i >= from && i <= to) {\n      slidesToRender.push(slides[getSlideIndex(i)]);\n    }\n  }\n  return slidesToRender.map((child, index) => {\n    return /*#__PURE__*/React.cloneElement(child, {\n      swiper,\n      style,\n      key: child.props.virtualIndex || child.key || `slide-${index}`\n    });\n  });\n}\n\nfunction useIsomorphicLayoutEffect(callback, deps) {\n  // eslint-disable-next-line\n  if (typeof window === 'undefined') return useEffect(callback, deps);\n  return useLayoutEffect(callback, deps);\n}\n\nconst SwiperSlideContext = /*#__PURE__*/createContext(null);\nconst useSwiperSlide = () => {\n  return useContext(SwiperSlideContext);\n};\nconst SwiperContext = /*#__PURE__*/createContext(null);\nconst useSwiper = () => {\n  return useContext(SwiperContext);\n};\n\nconst Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) {\n  let {\n    className,\n    tag: Tag = 'div',\n    wrapperTag: WrapperTag = 'div',\n    children,\n    onSwiper,\n    ...rest\n  } = _temp === void 0 ? {} : _temp;\n  let eventsAssigned = false;\n  const [containerClasses, setContainerClasses] = useState('swiper');\n  const [virtualData, setVirtualData] = useState(null);\n  const [breakpointChanged, setBreakpointChanged] = useState(false);\n  const initializedRef = useRef(false);\n  const swiperElRef = useRef(null);\n  const swiperRef = useRef(null);\n  const oldPassedParamsRef = useRef(null);\n  const oldSlides = useRef(null);\n  const nextElRef = useRef(null);\n  const prevElRef = useRef(null);\n  const paginationElRef = useRef(null);\n  const scrollbarElRef = useRef(null);\n  const {\n    params: swiperParams,\n    passedParams,\n    rest: restProps,\n    events\n  } = getParams(rest);\n  const {\n    slides,\n    slots\n  } = getChildren(children);\n  const onBeforeBreakpoint = () => {\n    setBreakpointChanged(!breakpointChanged);\n  };\n  Object.assign(swiperParams.on, {\n    _containerClasses(swiper, classes) {\n      setContainerClasses(classes);\n    }\n  });\n  const initSwiper = () => {\n    // init swiper\n    Object.assign(swiperParams.on, events);\n    eventsAssigned = true;\n    const passParams = {\n      ...swiperParams\n    };\n    delete passParams.wrapperClass;\n    swiperRef.current = new Swiper$1(passParams);\n    if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) {\n      swiperRef.current.virtual.slides = slides;\n      const extendWith = {\n        cache: false,\n        slides,\n        renderExternal: setVirtualData,\n        renderExternalUpdate: false\n      };\n      extend(swiperRef.current.params.virtual, extendWith);\n      extend(swiperRef.current.originalParams.virtual, extendWith);\n    }\n  };\n  if (!swiperElRef.current) {\n    initSwiper();\n  }\n\n  // Listen for breakpoints change\n  if (swiperRef.current) {\n    swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint);\n  }\n  const attachEvents = () => {\n    if (eventsAssigned || !events || !swiperRef.current) return;\n    Object.keys(events).forEach(eventName => {\n      swiperRef.current.on(eventName, events[eventName]);\n    });\n  };\n  const detachEvents = () => {\n    if (!events || !swiperRef.current) return;\n    Object.keys(events).forEach(eventName => {\n      swiperRef.current.off(eventName, events[eventName]);\n    });\n  };\n  useEffect(() => {\n    return () => {\n      if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint);\n    };\n  });\n\n  // set initialized flag\n  useEffect(() => {\n    if (!initializedRef.current && swiperRef.current) {\n      swiperRef.current.emitSlidesClasses();\n      initializedRef.current = true;\n    }\n  });\n\n  // mount swiper\n  useIsomorphicLayoutEffect(() => {\n    if (externalElRef) {\n      externalElRef.current = swiperElRef.current;\n    }\n    if (!swiperElRef.current) return;\n    if (swiperRef.current.destroyed) {\n      initSwiper();\n    }\n    mountSwiper({\n      el: swiperElRef.current,\n      nextEl: nextElRef.current,\n      prevEl: prevElRef.current,\n      paginationEl: paginationElRef.current,\n      scrollbarEl: scrollbarElRef.current,\n      swiper: swiperRef.current\n    }, swiperParams);\n    if (onSwiper && !swiperRef.current.destroyed) onSwiper(swiperRef.current);\n    // eslint-disable-next-line\n    return () => {\n      if (swiperRef.current && !swiperRef.current.destroyed) {\n        swiperRef.current.destroy(true, false);\n      }\n    };\n  }, []);\n\n  // watch for params change\n  useIsomorphicLayoutEffect(() => {\n    attachEvents();\n    const changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current, c => c.key);\n    oldPassedParamsRef.current = passedParams;\n    oldSlides.current = slides;\n    if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) {\n      updateSwiper({\n        swiper: swiperRef.current,\n        slides,\n        passedParams,\n        changedParams,\n        nextEl: nextElRef.current,\n        prevEl: prevElRef.current,\n        scrollbarEl: scrollbarElRef.current,\n        paginationEl: paginationElRef.current\n      });\n    }\n    return () => {\n      detachEvents();\n    };\n  });\n\n  // update on virtual update\n  useIsomorphicLayoutEffect(() => {\n    updateOnVirtualData(swiperRef.current);\n  }, [virtualData]);\n\n  // bypass swiper instance to slides\n  function renderSlides() {\n    if (swiperParams.virtual) {\n      return renderVirtual(swiperRef.current, slides, virtualData);\n    }\n    return slides.map((child, index) => {\n      return /*#__PURE__*/React.cloneElement(child, {\n        swiper: swiperRef.current,\n        swiperSlideIndex: index\n      });\n    });\n  }\n  return /*#__PURE__*/React.createElement(Tag, _extends({\n    ref: swiperElRef,\n    className: uniqueClasses(`${containerClasses}${className ? ` ${className}` : ''}`)\n  }, restProps), /*#__PURE__*/React.createElement(SwiperContext.Provider, {\n    value: swiperRef.current\n  }, slots['container-start'], /*#__PURE__*/React.createElement(WrapperTag, {\n    className: wrapperClass(swiperParams.wrapperClass)\n  }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n    ref: prevElRef,\n    className: \"swiper-button-prev\"\n  }), /*#__PURE__*/React.createElement(\"div\", {\n    ref: nextElRef,\n    className: \"swiper-button-next\"\n  })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n    ref: scrollbarElRef,\n    className: \"swiper-scrollbar\"\n  }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n    ref: paginationElRef,\n    className: \"swiper-pagination\"\n  }), slots['container-end']));\n});\nSwiper.displayName = 'Swiper';\n\nconst SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {\n  let {\n    tag: Tag = 'div',\n    children,\n    className = '',\n    swiper,\n    zoom,\n    lazy,\n    virtualIndex,\n    swiperSlideIndex,\n    ...rest\n  } = _temp === void 0 ? {} : _temp;\n  const slideElRef = useRef(null);\n  const [slideClasses, setSlideClasses] = useState('swiper-slide');\n  const [lazyLoaded, setLazyLoaded] = useState(false);\n  function updateClasses(_s, el, classNames) {\n    if (el === slideElRef.current) {\n      setSlideClasses(classNames);\n    }\n  }\n  useIsomorphicLayoutEffect(() => {\n    if (typeof swiperSlideIndex !== 'undefined') {\n      slideElRef.current.swiperSlideIndex = swiperSlideIndex;\n    }\n    if (externalRef) {\n      externalRef.current = slideElRef.current;\n    }\n    if (!slideElRef.current || !swiper) {\n      return;\n    }\n    if (swiper.destroyed) {\n      if (slideClasses !== 'swiper-slide') {\n        setSlideClasses('swiper-slide');\n      }\n      return;\n    }\n    swiper.on('_slideClass', updateClasses);\n    // eslint-disable-next-line\n    return () => {\n      if (!swiper) return;\n      swiper.off('_slideClass', updateClasses);\n    };\n  });\n  useIsomorphicLayoutEffect(() => {\n    if (swiper && slideElRef.current && !swiper.destroyed) {\n      setSlideClasses(swiper.getSlideClasses(slideElRef.current));\n    }\n  }, [swiper]);\n  const slideData = {\n    isActive: slideClasses.indexOf('swiper-slide-active') >= 0,\n    isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0,\n    isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0,\n    isNext: slideClasses.indexOf('swiper-slide-next') >= 0\n  };\n  const renderChildren = () => {\n    return typeof children === 'function' ? children(slideData) : children;\n  };\n  const onLoad = () => {\n    setLazyLoaded(true);\n  };\n  return /*#__PURE__*/React.createElement(Tag, _extends({\n    ref: slideElRef,\n    className: uniqueClasses(`${slideClasses}${className ? ` ${className}` : ''}`),\n    \"data-swiper-slide-index\": virtualIndex,\n    onLoad: onLoad\n  }, rest), zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n    value: slideData\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"swiper-zoom-container\",\n    \"data-swiper-zoom\": typeof zoom === 'number' ? zoom : undefined\n  }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"swiper-lazy-preloader\"\n  }))), !zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n    value: slideData\n  }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"swiper-lazy-preloader\"\n  })));\n});\nSwiperSlide.displayName = 'SwiperSlide';\n\nexport { Swiper, SwiperSlide, useSwiper, useSwiperSlide };\n","import { e as extend, p as paramsList, i as isObject, n as needsNavigation, a as needsPagination, b as needsScrollbar } from './update-swiper.mjs';\nimport { d as defaults } from './swiper-core.mjs';\n\nfunction getParams(obj, splitEvents) {\n  if (obj === void 0) {\n    obj = {};\n  }\n  if (splitEvents === void 0) {\n    splitEvents = true;\n  }\n  const params = {\n    on: {}\n  };\n  const events = {};\n  const passedParams = {};\n  extend(params, defaults);\n  params._emitClasses = true;\n  params.init = false;\n  const rest = {};\n  const allowedParams = paramsList.map(key => key.replace(/_/, ''));\n  const plainObj = Object.assign({}, obj);\n  Object.keys(plainObj).forEach(key => {\n    if (typeof obj[key] === 'undefined') return;\n    if (allowedParams.indexOf(key) >= 0) {\n      if (isObject(obj[key])) {\n        params[key] = {};\n        passedParams[key] = {};\n        extend(params[key], obj[key]);\n        extend(passedParams[key], obj[key]);\n      } else {\n        params[key] = obj[key];\n        passedParams[key] = obj[key];\n      }\n    } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n      if (splitEvents) {\n        events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n      } else {\n        params.on[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n      }\n    } else {\n      rest[key] = obj[key];\n    }\n  });\n  ['navigation', 'pagination', 'scrollbar'].forEach(key => {\n    if (params[key] === true) params[key] = {};\n    if (params[key] === false) delete params[key];\n  });\n  return {\n    params,\n    passedParams,\n    rest,\n    events\n  };\n}\n\nfunction mountSwiper(_ref, swiperParams) {\n  let {\n    el,\n    nextEl,\n    prevEl,\n    paginationEl,\n    scrollbarEl,\n    swiper\n  } = _ref;\n  if (needsNavigation(swiperParams) && nextEl && prevEl) {\n    swiper.params.navigation.nextEl = nextEl;\n    swiper.originalParams.navigation.nextEl = nextEl;\n    swiper.params.navigation.prevEl = prevEl;\n    swiper.originalParams.navigation.prevEl = prevEl;\n  }\n  if (needsPagination(swiperParams) && paginationEl) {\n    swiper.params.pagination.el = paginationEl;\n    swiper.originalParams.pagination.el = paginationEl;\n  }\n  if (needsScrollbar(swiperParams) && scrollbarEl) {\n    swiper.params.scrollbar.el = scrollbarEl;\n    swiper.originalParams.scrollbar.el = scrollbarEl;\n  }\n  swiper.init(el);\n}\n\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren, getKey) {\n  const keys = [];\n  if (!oldParams) return keys;\n  const addKey = key => {\n    if (keys.indexOf(key) < 0) keys.push(key);\n  };\n  if (children && oldChildren) {\n    const oldChildrenKeys = oldChildren.map(getKey);\n    const childrenKeys = children.map(getKey);\n    if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n    if (oldChildren.length !== children.length) addKey('children');\n  }\n  const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, ''));\n  watchParams.forEach(key => {\n    if (key in swiperParams && key in oldParams) {\n      if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n        const newKeys = Object.keys(swiperParams[key]);\n        const oldKeys = Object.keys(oldParams[key]);\n        if (newKeys.length !== oldKeys.length) {\n          addKey(key);\n        } else {\n          newKeys.forEach(newKey => {\n            if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n              addKey(key);\n            }\n          });\n          oldKeys.forEach(oldKey => {\n            if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n          });\n        }\n      } else if (swiperParams[key] !== oldParams[key]) {\n        addKey(key);\n      }\n    }\n  });\n  return keys;\n}\n\nconst updateOnVirtualData = swiper => {\n  if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n  swiper.updateSlides();\n  swiper.updateProgress();\n  swiper.updateSlidesClasses();\n  if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {\n    swiper.parallax.setTranslate();\n  }\n};\n\nexport { getChangedParams as a, getParams as g, mountSwiper as m, updateOnVirtualData as u };\n","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","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","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","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}\"></${params.bulletElement}>`;\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 = `<span class=\"${params.currentClass}\"></span>` + ' / ' + `<span class=\"${params.totalClass}\"></span>`;\n      }\n    }\n    if (params.type === 'progressbar') {\n      if (params.renderProgressbar) {\n        paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n      } else {\n        paginationHTML = `<span class=\"${params.progressbarFillClass}\"></span>`;\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.filter(subEl => {\n          if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n          return true;\n        })[0];\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';\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.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0];\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","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.filter(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode)[0];\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 { 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 { 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","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","export const masonryConfig = (container, attributes) => {\r\n\tconst { columnGap, rowGap } = attributes;\r\n\r\n\treturn {\r\n\t\tcontainer,\r\n\t\tbaseWidth: 400,\r\n\t\tgutterX: columnGap,\r\n\t\tgutterY: rowGap,\r\n\t\tminify: false,\r\n\t\tultimateGutter: 5,\r\n\t\tsurroundingGutter: false\r\n\t}\r\n}\r\n\r\nexport const sliderConfig = (attributes) => {\r\n\tconst { columns, columnGap, sliderIsLoop, sliderIsTouchMove, sliderIsAutoplay, sliderAutoplayOptions = { delay: 1.5 }, sliderSpeed, sliderEffect, sliderIsPageClickable, sliderIsPageDynamic } = attributes;\r\n\r\n\treturn {\r\n\t\tdirection: 'horizontal',\r\n\t\tslidesPerView: columns?.mobile,\r\n\t\tbreakpoints: {\r\n\t\t\t// when window width is >= 576px\r\n\t\t\t576: { slidesPerView: columns?.tablet },\r\n\t\t\t// when window width is >= 768px\r\n\t\t\t768: { slidesPerView: columns?.desktop },\r\n\t\t},\r\n\t\tspaceBetween: columnGap,\r\n\t\tloop: sliderIsLoop,\r\n\t\tallowTouchMove: sliderIsTouchMove,\r\n\t\tgrabCursor: sliderIsTouchMove,\r\n\t\tautoplay: sliderIsAutoplay ? { delay: sliderAutoplayOptions?.delay * 1000 } : false,\r\n\t\tspeed: sliderSpeed * 1000,\r\n\t\teffect: sliderEffect,\r\n\t\tfadeEffect: { crossFade: true },\r\n\t\tcreativeEffect: {\r\n\t\t\tprev: {\r\n\t\t\t\tshadow: true,\r\n\t\t\t\ttranslate: ['-120%', 0, -500],\r\n\t\t\t},\r\n\t\t\tnext: {\r\n\t\t\t\tshadow: true,\r\n\t\t\t\ttranslate: ['120%', 0, -500],\r\n\t\t\t}\r\n\t\t},\r\n\t\tallowSlideNext: true,\r\n\t\tallowSlidePrev: true,\r\n\t\tautoHeight: false, // Frontend\r\n\t\tnotificationClass: null,\r\n\r\n\t\t// Controllers\r\n\t\tpagination: {\r\n\t\t\tel: '.swiper-pagination',\r\n\t\t\tclickable: sliderIsPageClickable,\r\n\t\t\tdynamicBullets: sliderIsPageDynamic\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: '.swiper-button-next',\r\n\t\t\tprevEl: '.swiper-button-prev',\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport const setSliderHeight = (id) => {\r\n\tconst heightArray = [];\r\n\tconst slideEls = document.querySelectorAll(`#${id} .swiper .swiper-slide`);\r\n\tconst textEls = document.querySelectorAll(`#${id} .swiper .swiper-slide .apbText`);\r\n\ttextEls?.forEach(textEl => {\r\n\t\theightArray.push(textEl?.clientHeight);\r\n\t});\r\n\tslideEls?.length && slideEls.forEach(slideEl => {\r\n\t\tslideEl.querySelector('article').style.height = `${Math.max(...heightArray)}px`;\r\n\t});\r\n}\r\n\r\nexport const tickerConfig = (attributes) => {\r\n\tconst { rowGap, tickerDirection = 'up', tickerSpeed = 'slow', tickerInterval = 2000, tickerHeight = '0px', tickerVisible = 3, tickerIsMousePause = true } = attributes;\r\n\r\n\treturn {\r\n\t\tdirection: tickerDirection,\r\n\t\teasing: 'swing',\r\n\t\tspeed: isNaN(tickerSpeed) ? tickerSpeed : parseInt(tickerSpeed),\r\n\t\tinterval: tickerInterval,\r\n\t\theight: '0px' === tickerHeight || '0em' === tickerHeight ? 'auto' : tickerHeight,\r\n\t\tgap: rowGap,\r\n\t\tvisible: tickerVisible,\r\n\t\tmousePause: tickerIsMousePause\r\n\t}\r\n}","import { useEffect } from 'react';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\nimport { Autoplay, EffectFade, EffectCreative, Navigation, Pagination } from 'swiper/modules';\r\nimport 'swiper/css';\r\nimport 'swiper/css/navigation';\r\nimport 'swiper/css/pagination';\r\n\r\nimport SubLayout from '../SubLayout/SubLayout';\r\nimport { setSliderHeight } from '../../../utils/configs';\r\n\r\nconst Slider = ({ posts, attributes, id }) => {\r\n\tconst { columns, columnGap, sliderIsLoop, sliderIsTouchMove, sliderIsAutoplay, sliderAutoplayOptions = { delay: 1.5 }, sliderSpeed, sliderEffect, sliderIsPage, sliderIsPageClickable, sliderIsPageDynamic, sliderIsPrevNext } = attributes;\r\n\r\n\tuseEffect(() => {\r\n\t\tsetSliderHeight(id);\r\n\t}, [posts?.length]);\r\n\r\n\treturn <Swiper className='apbSliderPosts'\r\n\t\tspaceBetween={columnGap}\r\n\t\tslidesPerView={columns.mobile}\r\n\t\tbreakpoints={{ 576: { slidesPerView: columns.tablet }, 768: { slidesPerView: columns.desktop } }}\r\n\t\tmodules={[Autoplay, EffectFade, EffectCreative, Navigation, Pagination]}\r\n\t\tloop={sliderIsLoop}\r\n\t\tallowTouchMove={sliderIsTouchMove}\r\n\t\tgrabCursor={sliderIsTouchMove}\r\n\t\tautoplay={sliderIsAutoplay ? { delay: sliderAutoplayOptions?.delay * 1000 } : false}\r\n\t\tspeed={sliderSpeed * 1000}\r\n\t\teffect={sliderEffect}\r\n\t\tfadeEffect={{ crossFade: true }}\r\n\t\tcreativeEffect={{\r\n\t\t\tprev: {\r\n\t\t\t\tshadow: true,\r\n\t\t\t\ttranslate: ['-120%', 0, -500]\r\n\t\t\t},\r\n\t\t\tnext: {\r\n\t\t\t\tshadow: true,\r\n\t\t\t\ttranslate: ['120%', 0, -500]\r\n\t\t\t}\r\n\t\t}}\r\n\t\tpagination={sliderIsPage ? {\r\n\t\t\tclickable: sliderIsPageClickable,\r\n\t\t\tdynamicBullets: sliderIsPageDynamic\r\n\t\t} : false}\r\n\t\tnavigation={sliderIsPrevNext}\r\n\r\n\t\tallowSlideNext={true}\r\n\t\tallowSlidePrev={true}\r\n\t\tautoHeight={false} // Frontend\r\n\t\tnotificationClass={null}\r\n\t>\r\n\t\t{posts.map(post => <SwiperSlide key={post.id}>\r\n\t\t\t<SubLayout post={post} attributes={attributes} />\r\n\t\t</SwiperSlide>)}\r\n\t</Swiper>\r\n}\r\nexport default Slider;","import { useEffect } from 'react';\r\nconst $ = jQuery;\r\n\r\nimport SubLayout from '../../Common/SubLayout/SubLayout';\r\nimport { tickerConfig } from '../../../utils/configs';\r\n\r\nconst Ticker = ({ posts, attributes, id }) => {\r\n\tconst tickerSl = `#${id} .apbTickerPosts`;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (posts?.length) {\r\n\t\t\t$(tickerSl).easyTicker(tickerConfig(attributes));\r\n\t\t}\r\n\t}, [posts?.length]);\r\n\r\n\treturn <div className='apbTickerPosts'>\r\n\t\t<div>\r\n\t\t\t{posts.map(post => <SubLayout key={post.id} post={post} attributes={attributes} />)}\r\n\t\t</div>\r\n\t</div>;\r\n}\r\nexport default Ticker;","import { useState, useEffect } from 'react';\r\n\r\nconst useWPAjax = (action, params = {}, set = true) => {\r\n\tconst [isLoading, setIsLoading] = useState(false);\r\n\tconst [isError, setIsError] = useState(false);\r\n\tconst [error, setError] = useState(null);\r\n\tconst [data, setData] = useState(null);\r\n\r\n\tif (!wp.ajax) {\r\n\t\t// eslint-disable-next-line no-console\r\n\t\tconsole.error('Please use wp-util as a dependency');\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst sendRequest = (payload = {}) => {\r\n\t\tsetIsLoading(true);\r\n\t\tsetIsError(false);\r\n\t\tsetError(null);\r\n\t\twp.ajax\r\n\t\t\t.post(action, { ...params, ...payload })\r\n\t\t\t.done((res) => {\r\n\t\t\t\tsetIsLoading(false);\r\n\t\t\t\tsetData(res);\r\n\t\t\t})\r\n\t\t\t.fail((error) => {\r\n\t\t\t\tsetIsLoading(false);\r\n\t\t\t\tsetIsError(true);\r\n\t\t\t\tsetError(error);\r\n\t\t\t});\r\n\t};\r\n\r\n\tconst request = async (payload = {}) => {\r\n\t\tsendRequest(payload);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (set) {\r\n\t\t\tsendRequest(params);\r\n\t\t}\r\n\t}, []);\r\n\r\n\treturn { data, saveData: request, refetch: request, isLoading, isError, error };\r\n};\r\nexport default useWPAjax;","import { useState, useEffect } from 'react';\r\n\r\nimport { useWPAjax } from '../../../react-utils/hooks';\r\n\r\nconst useAjaxPosts = (nonce, attributes, pageNumber) => {\r\n\tconst { postType, selectedTaxonomies = {}, selectedCategories = [], selectedTags = [], isPostsPerPageAll, postsPerPage, postsOrderBy, postsOrder, postsOffset = 0, postsInclude = [], postsExclude = [], isExcludeCurrent, fImgSize = 'full', metaDateFormat = 'M j, Y', isExcerptFromContent = false, excerptLength = 25 } = attributes;\r\n\r\n\tconst queryAttr = { postType, selectedTaxonomies, selectedCategories, selectedTags, isPostsPerPageAll, postsPerPage, postsOrderBy, postsOrder, postsOffset, postsInclude, postsExclude, isExcludeCurrent, fImgSize, metaDateFormat, isExcerptFromContent, excerptLength }\r\n\tconst { data = null, saveData, isLoading } = useWPAjax('apbPosts', { _wpnonce: nonce, queryAttr, pageNumber });\r\n\r\n\r\n\tconst [posts, setPosts] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (pageNumber) {\r\n\t\t\tsaveData({ pageNumber });\r\n\t\t}\r\n\t}, [pageNumber]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (data) {\r\n\t\t\tsetPosts(data);\r\n\t\t}\r\n\t}, [data]);\r\n\r\n\treturn { posts, isLoading };\r\n};\r\nexport default useAjaxPosts;","import { useWPAjax } from '../../../react-utils/hooks';\r\n\r\nconst usePremium = (nonce) => {\r\n\tconst { data = null, isLoading } = useWPAjax('apbPipeChecker', { _wpnonce: nonce });\r\n\tconst isPremium = (!isLoading && data?.isPipe) || false;\r\n\r\n\treturn { isPremium, isLoading };\r\n};\r\nexport default usePremium;","import { useState, useEffect } from 'react';\r\n\r\nimport Style from '../Common/Style';\r\nimport DisplayPosts from '../Common/DisplayPosts';\r\nimport Pagination from '../Common/Pagination';\r\nimport Slider from '../Common/Layout/Slider';\r\nimport Ticker from './Layout/Ticker';\r\nimport useAjaxPosts from '../../hooks/useAjaxPosts';\r\nimport usePremium from '../../hooks/usePremium';\r\n\r\nconst APBPosts = ({ firstPosts, nonce, totalPosts, attributes, id }) => {\r\n\tconst [pageNumber, setPageNumber] = useState(1);\r\n\r\n\tconst { isPremium } = usePremium(nonce);\r\n\r\n\tconst posts = (Array.isArray(firstPosts) && firstPosts.length) ? firstPosts : [];\r\n\r\n\treturn <>\r\n\t\t<Style attributes={attributes} id={id} />\r\n\r\n\t\t{isPremium ? <>\r\n\t\t\t<PremiumDisplayPosts firstPosts={posts} attributes={attributes} id={id} nonce={nonce} pageNumber={pageNumber} />\r\n\r\n\t\t\t<Pagination attributes={attributes} totalCount={totalPosts} onChange={val => setPageNumber(val)} />\r\n\t\t</> :\r\n\t\t\t<FreeDisplayPosts posts={posts} attributes={attributes} id={id} />}\r\n\t</>\r\n}\r\nexport default APBPosts;\r\n\r\nconst FreeDisplayPosts = ({ posts, attributes, id }) => <DisplayPosts posts={posts} attributes={attributes} id={id} Slider={Slider} Ticker={Ticker} />\r\n\r\nconst PremiumDisplayPosts = ({ firstPosts, attributes, id, nonce, pageNumber }) => {\r\n\tconst [posts, setPosts] = useState(firstPosts);\r\n\r\n\tconst { posts: ajaxPosts, isLoading: isAPLoading } = useAjaxPosts(nonce, attributes, pageNumber);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Array.isArray(ajaxPosts) && !isAPLoading && pageNumber > 1) {\r\n\t\t\tsetPosts(ajaxPosts);\r\n\t\t}\r\n\t}, [ajaxPosts, isAPLoading, pageNumber]);\r\n\r\n\tconst dpPosts = (Array.isArray(posts) && posts.length) ? posts : [];\r\n\r\n\treturn <DisplayPosts posts={pageNumber > 1 ? dpPosts : firstPosts} attributes={attributes} id={id} Slider={Slider} Ticker={Ticker} />\r\n}","import { createRoot } from 'react-dom';\r\nimport 'swiper/css/bundle';\r\n\r\nimport './style.scss';\r\nimport APBPosts from './Components/Frontend/APBPosts';\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\tconst postsEls = document.querySelectorAll('.wp-block-ap-block-posts');\r\n\tpostsEls.forEach(postsEl => {\r\n\t\tconst nonce = JSON.parse(postsEl.dataset.nonce);\r\n\t\tconst attributes = JSON.parse(postsEl.dataset.attributes);\r\n\t\tconst { totalPosts } = JSON.parse(postsEl.dataset.extra);\r\n\r\n\t\tconst firstPostsText = postsEl.querySelector('pre#firstPosts')?.innerText;\r\n\t\tconst firstPosts = firstPostsText ? JSON.parse(firstPostsText?.replace(/\\n/g, ' ')?.replace(/\\s+/g, ' ')?.trim()) : [];\r\n\r\n\t\tcreateRoot(postsEl).render(<APBPosts firstPosts={firstPosts} nonce={nonce} totalPosts={totalPosts} attributes={attributes} id={postsEl.id} />);\r\n\r\n\t\tpostsEl?.removeAttribute('data-nonce');\r\n\t\tpostsEl?.removeAttribute('data-attributes');\r\n\t\tpostsEl?.removeAttribute('data-extra');\r\n\t});\r\n});"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","ReactDOM","React","isValidCSS","p","v","value","Array","isArray","length","_typeof","keys","trim","concat","getBackgroundCSS","bg","isSolid","arguments","undefined","isGradient","isImage","_ref","_ref$type","type","_ref$color","color","_ref$gradient","gradient","_ref$image","image","_ref$position","position","_ref$attachment","attachment","_ref$repeat","repeat","_ref$size","size","_ref$overlayColor","overlayColor","url","getBorderCSS","border","_ref2","_ref2$width","width","_ref2$style","style","_ref2$color","_ref2$side","side","_ref2$radius","radius","borderSideCheck","s","bSide","toLowerCase","includes","noWidth","borderCSS","styles","map","join","getColorsCSS","colors","_ref3","_ref3$color","_ref3$bgType","bgType","_ref3$bg","_ref3$gradient","getSpaceCSS","space","_ref8","_ref8$side","_ref8$vertical","vertical","_ref8$horizontal","horizontal","_ref8$top","top","_ref8$right","right","_ref8$bottom","bottom","_ref8$left","left","getTypoCSS","selector","typo","isFamily","_ref9","_ref9$fontFamily","fontFamily","_ref9$fontCategory","fontCategory","_ref9$fontVariant","fontVariant","_ref9$fontWeight","fontWeight","_ref9$isUploadFont","isUploadFont","_ref9$fontSize","fontSize","desktop","tablet","mobile","_ref9$fontStyle","fontStyle","_ref9$textTransform","textTransform","_ref9$textDecoration","textDecoration","_ref9$lineHeight","lineHeight","_ref9$letterSpace","letterSpace","isEmptyFamily","desktopFontSize","tabletFontSize","mobileFontSize","linkQuery","replace","link","split","googleFontLink","_getTypoCSS","_getTypoCSS2","_getTypoCSS3","_getTypoCSS4","_getTypoCSS5","_getTypoCSS6","_getTypoCSS7","_getTypoCSS8","_getSpaceCSS","attributes","id","columnGap","rowGap","isContentEqualHight","sliderHeight","paginationColors","paginationHovColors","paginationPadding","paginationSpacing","_attributes$fImgFitti","fImgFitting","contentAlign","contentBG","contentPadding","sliderPageColor","sliderPageWidth","sliderPageHeight","sliderPageBorder","sliderPrevNextColor","titleTypo","titleColor","titleMargin","metaTypo","metaTextColor","metaLinkColor","metaIconColor","metaColorsOnImage","metaMargin","excerptAlign","excerptTypo","excerptColor","excerptMargin","readMoreAlign","readMoreTypo","readMoreColors","readMoreHovColors","readMorePadding","readMoreBorder","mainSl","postSl","sliderPostsSl","postReadMoreSl","postTitleSl","postMetaSl","paginationSl","createElement","dangerouslySetInnerHTML","__html","post","_post$thumbnail","thumbnail","thumbUrl","thumbAlt","alt","categories","isFImg","isFImgLink","isMeta","isMetaCategory","metaCategoryIn","isLinkNewTab","className","href","target","rel","src","author","name","isMetaAuthor","_attributes$isMetaAut","isMetaAuthorLink","metaAuthorIcon","date","isMetaDate","metaDateIcon","renderHTML","raw","classNames","_len","args","_key","reduce","acc","arg","push","entries","forEach","_ref4","_ref5","_slicedToArray","metaCategoryIcon","coma","_post$taxonomies","taxonomies","_attributes$metaTaxon","metaTaxonomies","_metaTaxonomies$selec","selected","_metaTaxonomies$s","_tax$split","tax","icon","iconEl","readTime","content","isMetaReadTime","metaReadTimeIcon","isMetaReadTimeSec","metaReadTimeLabel","readTimeText","min","sec","title","commentCount","commentStatus","isMetaComment","metaCommentIcon","PostMetaAuthor","PostMetaDate","PostMetaCategory","MetaTaxonomies","PostMetaReadTime","PostMetaComment","isTitle","isTitleLink","Fragment","_attributes$elementsS","elementsSort","el","index","Title","Meta","str","excerpt","isExcerpt","isExcerptFromContent","isEllipsisOnExcerpt","excerptLength","finalExcerpt","ellipsis","excerptContent","nu_words","slice","truncate","isReadMore","_attributes$readMoreP","readMorePosition","readMoreLabel","postClass","subLayout","FeatureImage","TitleMeta","Excerpt","ReadMore","isLeftImg","isRightImg","_attributes$content","height","Default","SideImage","Overlay","_extends","assign","i","source","apply","this","_setPrototypeOf","setPrototypeOf","__proto__","Masonry","_React$Component","subClass","superClass","_this","state","columns","childRefs","hasDistributed","create","constructor","_proto","componentDidUpdate","props","sequential","distributeChildren","getDerivedStateFromProps","children","columnsCount","getEqualCountColumns","_this2","_this$props","columnHeights","fill","every","ref","current","getBoundingClientRect","from","validIndex","child","childHeight","minHeightColumnIndex","indexOf","Math","setState","display","justifyContent","renderColumns","_this$props2","gutter","itemTag","itemStyle","column","flexDirection","alignContent","flex","gap","item","render","_this$props3","containerTag","boxSizing","propTypes","defaultProps","useIsomorphicLayoutEffect","window","useLayoutEffect","useEffect","useWindowWidth","hasMounted","_useState","useState","setHasMounted","useHasMounted","_useState2","innerWidth","setWidth","handleResize","useCallback","addEventListener","removeEventListener","MasonryResponsive","_ref$columnsCountBrea","columnsCountBreakPoints","_ref$className","_ref$style","windowWidth","useMemo","breakPoints","sort","b","count","breakPoint","posts","_columns$desktop","_columns$tablet","_columns$mobile","ResponsiveMasonry","SubLayout","Slider","Ticker","layout","PostsLoop","DOTS","range","start","end","_","idx","totalCount","onChange","isPostsPerPageAll","postsPerPage","isPagination","paginationPrevLabel","paginationNextLabel","currentPage","setCurrentPage","paginationRange","pageSize","_ref$siblingCount","siblingCount","totalPageCount","ceil","leftSiblingIndex","max","rightSiblingIndex","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftRange","_toConsumableArray","rightRange","middleRange","usePagination","lastPage","setPageNumber","pageNumber","onClick","extend","ssrDocument","body","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","childNodes","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","origin","pathname","protocol","search","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","win","delay","now","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","transform","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","to","noExtend","nextSource","node","HTMLElement","nodeType","keysArray","filter","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","__swiper__","varName","varValue","setProperty","animateCSSModeScroll","swiper","targetPosition","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","animate","getTime","progress","easeProgress","cos","PI","currentPosition","scrollTo","overflow","slideEl","shadowRoot","element","HTMLSlotElement","assignedElements","matches","showWarning","text","console","warn","err","tag","classes","classList","add","c","elementStyle","previousSibling","parents","parent","parentElement","elementOuterSize","includeMargins","offsetWidth","e","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","screenHeight","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","String","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","onAny","eventsAnyListeners","offAny","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","condition","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","activeIndex","grid","rows","activeColumn","preloadColumns","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","getTranslate","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","preventDefault","onTouchStart","originalEvent","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","isChild","elementIsChildOf","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","scrollLeft","scrollTop","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","addClasses","suffixes","prefix","resultClasses","prepareClasses","emitContainerClasses","removeClasses","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","wasLocked","lastSlideRightEdge","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","m","prototypeGroup","protoMethod","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","paramsList","needsNavigation","needsPagination","pagination","needsScrollbar","scrollbar","uniqueClasses","unique","isChildSwiperSlide","displayName","processChildren","toArray","getChildren","slots","slot","foundSlides","deps","SwiperSlideContext","createContext","SwiperContext","forwardRef","externalElRef","Tag","wrapperTag","WrapperTag","onSwiper","rest","eventsAssigned","containerClasses","setContainerClasses","virtualData","setVirtualData","breakpointChanged","setBreakpointChanged","initializedRef","useRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","restProps","splitEvents","allowedParams","plainObj","getParams","onBeforeBreakpoint","_containerClasses","initSwiper","passParams","extendWith","cache","renderExternal","renderExternalUpdate","paginationEl","scrollbarEl","mountSwiper","changedParams","oldParams","oldChildren","getKey","addKey","oldChildrenKeys","childrenKeys","newKeys","oldKeys","newKey","oldKey","getChangedParams","updateParams","currentParams","thumbs","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","destroyModule","newValue","part","appendChild","innerHTML","nextButtonSvg","prevButtonSvg","updateSwiper","parallax","Provider","offset","loopFrom","loopTo","slidesToRender","virtualIndex","renderVirtual","SwiperSlide","externalRef","zoom","lazy","slideElRef","slideClasses","setSlideClasses","lazyLoaded","setLazyLoaded","updateClasses","_s","slideData","isActive","renderChildren","checkProps","Navigation","getEl","res","toggleEl","disabled","subEl","disabledClass","tagName","lockClass","onPrevClick","onNextClick","initButton","destroyButton","hideOnClick","hiddenClass","navigationDisabledClass","targetIsButton","find","clickable","isHidden","toggle","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","onBulletClick","moveDirection","total","firstIndex","midIndex","classesToRemove","suffix","flat","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","subElIndex","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","paginationHTML","numberOfBullets","Autoplay","timeout","raf","timeLeft","waitForTransition","disableOnInteraction","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","onTransitionEnd","calcTimeLeft","run","delayForce","currentSlideDelay","activeSlideEl","getSlideDelay","proceed","stop","pause","reset","onVisibilityChange","visibilityState","onPointerEnter","onPointerLeave","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","overwriteParamsResult","slideShadows","shadowEl","effectParams","transformEl","backfaceVisibility","transformElements","allSlides","transitionEndTarget","eventTriggered","getSlide","fireCallBack","EffectFade","fadeEffect","crossFade","tx","ty","slideOpacity","opacity","shadowClass","shadowContainer","EffectCreative","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","rotate","getTranslateValue","isCenteredSlides","rotateFix","margin","r","custom","zIndex","round","translateString","rotateString","scaleString","opacityString","shadow","shadowOpacity","transformOrigin","sliderIsLoop","sliderIsTouchMove","sliderIsAutoplay","_attributes$sliderAut","sliderAutoplayOptions","sliderSpeed","sliderEffect","sliderIsPage","sliderIsPageClickable","sliderIsPageDynamic","sliderIsPrevNext","heightArray","slideEls","textEls","textEl","setSliderHeight","Pagination","notificationClass","$","jQuery","tickerSl","easyTicker","_attributes$tickerDir","tickerDirection","_attributes$tickerSpe","tickerSpeed","_attributes$tickerInt","tickerInterval","_attributes$tickerHei","tickerHeight","_attributes$tickerVis","tickerVisible","_attributes$tickerIsM","tickerIsMousePause","easing","interval","visible","mousePause","tickerConfig","_regeneratorRuntime","n","Symbol","iterator","asyncIterator","u","toStringTag","define","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","h","l","f","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","mark","awrap","async","Promise","reverse","pop","charAt","rval","handle","finish","delegateYield","asyncGeneratorStep","ownKeys","getOwnPropertySymbols","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","toPrimitive","_toPrimitive","_toPropertyKey","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","action","set","isLoading","setIsLoading","_useState4","isError","setIsError","_useState6","error","setError","_useState8","setData","wp","ajax","sendRequest","payload","fail","request","_callee","_args","_context","_next","_throw","saveData","refetch","nonce","postType","_attributes$selectedT","selectedTaxonomies","_attributes$selectedC","selectedCategories","_attributes$selectedT2","selectedTags","postsOrderBy","postsOrder","_attributes$postsOffs","postsOffset","_attributes$postsIncl","postsInclude","_attributes$postsExcl","postsExclude","isExcludeCurrent","_attributes$fImgSize","fImgSize","_attributes$metaDateF","metaDateFormat","_attributes$isExcerpt","_attributes$excerptLe","_useWPAjax","useWPAjax","_wpnonce","queryAttr","_useWPAjax$data","setPosts","isPremium","isPipe","firstPosts","totalPosts","usePremium","Style","PremiumDisplayPosts","FreeDisplayPosts","DisplayPosts","_useAjaxPosts","useAjaxPosts","ajaxPosts","isAPLoading","dpPosts","postsEl","_postsEl$querySelecto","_firstPostsText$repla","JSON","parse","dataset","extra","firstPostsText","innerText","createRoot","APBPosts"],"sourceRoot":""}