{"version":3,"file":"7702.05220739aa5b73bb9101.js","mappings":"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","sources":["..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/react-intersection-observer/react-intersection-observer.m.js","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/swiper/shared/update-swiper.mjs","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/swiper/swiper-react.mjs","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/swiper/shared/update-on-virtual-data.mjs","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/react-lines-ellipsis/lib/index.modern.js","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/swiper/modules/virtual.mjs","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/swiper/modules/navigation.mjs","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/swiper/shared/create-element-if-not-defined.mjs"],"sourcesContent":["import * as React from 'react';\nimport { useEffect } from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar observerMap = new Map();\nvar RootIds = new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = undefined;\n/**\r\n * What should be the default behavior if the IntersectionObserver is unsupported?\r\n * Ideally the polyfill has been loaded, you can have the following happen:\r\n * - `undefined`: Throw an error\r\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\r\n * **/\n\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\nfunction getRootId(root) {\n if (!root) return '0';\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\n\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(function (key) {\n return options[key] !== undefined;\n }).map(function (key) {\n return key + \"_\" + (key === 'root' ? getRootId(options.root) : options[key]);\n }).toString();\n}\n\nfunction createObserver(options) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n var id = optionsToId(options);\n var instance = observerMap.get(id);\n\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n var elements = new Map();\n var thresholds;\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var _elements$get;\n\n // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n var inView = entry.isIntersecting && thresholds.some(function (threshold) {\n return entry.intersectionRatio >= threshold;\n }); // @ts-ignore support IntersectionObserver v2\n\n if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n\n (_elements$get = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(function (callback) {\n callback(inView, entry);\n });\n });\n }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id: id,\n observer: observer,\n elements: elements\n };\n observerMap.set(id, instance);\n }\n\n return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @param fallbackInView - Fallback inView value.\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\n\nfunction observe(element, callback, options, fallbackInView) {\n if (options === void 0) {\n options = {};\n }\n\n if (fallbackInView === void 0) {\n fallbackInView = unsupportedValue;\n }\n\n if (typeof window.IntersectionObserver === 'undefined' && fallbackInView !== undefined) {\n var bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === 'number' ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return function () {// Nothing to cleanup\n };\n } // An observer with the same options can be reused, so lets use this fact\n\n\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements; // Register the callback listener for this element\n\n\n var callbacks = elements.get(element) || [];\n\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements[\"delete\"](element);\n observer.unobserve(element);\n }\n\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n observerMap[\"delete\"](id);\n }\n };\n}\n\nvar _excluded = [\"children\", \"as\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\n\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n \r\n {({ inView, ref, entry }) => (\r\n
\r\n

{`Header inside viewport ${inView}.`}

\r\n
\r\n )}\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n\n ## Plain children\r\n\n You can pass any element to the ``, and it will handle creating the\r\n wrapping DOM element. Add a handler to the `onChange` method, and control the\r\n state in your own component. Any extra props you add to `` will be\r\n passed to the HTML element, allowing you set the `className`, `style`, etc.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n console.log('Inview:', inView)}>\r\n

Plain children are always rendered. Use onChange to monitor state.

\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.node = null;\n _this._unobserveCb = null;\n\n _this.handleNode = function (node) {\n if (_this.node) {\n // Clear the old observer, before we start observing a new element\n _this.unobserve();\n\n if (!node && !_this.props.triggerOnce && !_this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n _this.setState({\n inView: !!_this.props.initialInView,\n entry: undefined\n });\n }\n }\n\n _this.node = node ? node : null;\n\n _this.observeNode();\n };\n\n _this.handleChange = function (inView, entry) {\n if (inView && _this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n _this.unobserve();\n }\n\n if (!isPlainChildren(_this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n _this.setState({\n inView: inView,\n entry: entry\n });\n }\n\n if (_this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n _this.props.onChange(inView, entry);\n }\n };\n\n _this.state = {\n inView: !!props.initialInView,\n entry: undefined\n };\n return _this;\n }\n\n var _proto = InView.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unobserve();\n this.node = null;\n };\n\n _proto.observeNode = function observeNode() {\n if (!this.node || this.props.skip) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin,\n trackVisibility = _this$props.trackVisibility,\n delay = _this$props.delay,\n fallbackInView = _this$props.fallbackInView;\n this._unobserveCb = observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n };\n\n _proto.unobserve = function unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n\n this._unobserveCb = null;\n }\n };\n\n _proto.render = function render() {\n if (!isPlainChildren(this.props)) {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n props = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n return /*#__PURE__*/React.createElement(as || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(React.Component);\nInView.displayName = 'InView';\nInView.defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false\n};\n\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n * const { ref, inView, entry } = useInView({\r\n * threshold: 0,\r\n * });\r\n *\r\n * return (\r\n *
\r\n *

{`Header inside viewport ${inView}.`}

\r\n *
\r\n * );\r\n * };\r\n * ```\r\n */\n\nfunction useInView(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n threshold = _ref.threshold,\n delay = _ref.delay,\n trackVisibility = _ref.trackVisibility,\n rootMargin = _ref.rootMargin,\n root = _ref.root,\n triggerOnce = _ref.triggerOnce,\n skip = _ref.skip,\n initialInView = _ref.initialInView,\n fallbackInView = _ref.fallbackInView;\n\n var unobserve = React.useRef();\n\n var _React$useState = React.useState({\n inView: !!initialInView\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var setRef = React.useCallback(function (node) {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n } // Skip creating the observer\n\n\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(node, function (inView, entry) {\n setState({\n inView: inView,\n entry: entry\n });\n\n if (entry.isIntersecting && triggerOnce && unobserve.current) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve.current();\n unobserve.current = undefined;\n }\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n }\n }, // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [// If the threshold is an array, convert it to a string so it won't change between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(threshold) ? threshold.toString() : threshold, root, rootMargin, triggerOnce, skip, trackVisibility, fallbackInView, delay]);\n /* eslint-disable-next-line */\n\n useEffect(function () {\n if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n setState({\n inView: !!initialInView\n });\n }\n });\n var result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\nexport { InView, InView as default, defaultFallbackInView, observe, useInView };\n//# sourceMappingURL=react-intersection-observer.m.js.map\n","/* underscore in name -> watch for changes */\nconst paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', '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 && currentParams.thumbs && !currentParams.thumbs.swiper) {\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.0.5\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: November 22, 2023\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: `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) 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 React from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst canvasStyle = {\n position: 'absolute',\n bottom: 0,\n left: 0,\n height: 0,\n overflow: 'hidden',\n 'padding-top': 0,\n 'padding-bottom': 0,\n border: 'none'\n};\nconst mirrorProps = ['box-sizing', 'width', 'font-size', 'font-weight', 'font-family', 'font-style', 'letter-spacing', 'text-indent', 'white-space', 'word-break', 'overflow-wrap', 'padding-left', 'padding-right'];\n\nfunction omit(obj, omittedKeys) {\n if (!obj || typeof obj !== 'object') {\n return obj;\n }\n\n const ret = {};\n Object.keys(obj).forEach(key => {\n if (omittedKeys.indexOf(key) > -1) {\n return;\n }\n\n ret[key] = obj[key];\n });\n return ret;\n}\n\nfunction prevSibling(node, count) {\n while (node && count--) {\n node = node.previousElementSibling;\n }\n\n return node;\n}\n\nconst defaultProps = {\n basedOn: undefined,\n className: '',\n component: 'div',\n ellipsis: '…',\n // …\n maxLine: 1,\n\n onReflow() {},\n\n text: '',\n trimRight: true,\n winWidth: undefined // for the HOC\n\n};\nconst usedProps = Object.keys(defaultProps);\n/**\n * props.text {String} the text you want to clamp\n * props.maxLine {Number|String} max lines allowed\n * props.ellipsis {String} the ellipsis indicator\n * props.trimRight {Boolean} should we trimRight the clamped text?\n * props.basedOn {String} letters|words\n * props.className {String}\n */\n\nclass LinesEllipsis extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n text: props.text,\n clamped: false\n };\n this.units = [];\n this.maxLine = 0;\n this.canvas = null;\n }\n\n componentDidMount() {\n this.initCanvas();\n this.reflow(this.props);\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.winWidth !== this.props.winWidth) {\n this.copyStyleToCanvas();\n }\n\n if (this.props !== prevProps) {\n this.reflow(this.props);\n }\n }\n\n componentWillUnmount() {\n this.canvas.parentNode.removeChild(this.canvas);\n }\n\n setState(state, callback) {\n if (typeof state.clamped !== 'undefined') {\n this.clamped = state.clamped;\n }\n\n return super.setState(state, callback);\n }\n\n initCanvas() {\n if (this.canvas) return;\n const canvas = this.canvas = document.createElement('div');\n canvas.className = `LinesEllipsis-canvas ${this.props.className}`;\n canvas.setAttribute('aria-hidden', 'true');\n this.copyStyleToCanvas();\n Object.keys(canvasStyle).forEach(key => {\n canvas.style[key] = canvasStyle[key];\n });\n document.body.appendChild(canvas);\n }\n\n copyStyleToCanvas() {\n const targetStyle = window.getComputedStyle(this.target);\n mirrorProps.forEach(key => {\n this.canvas.style[key] = targetStyle[key];\n });\n }\n\n reflow(props) {\n /* eslint-disable no-control-regex */\n const basedOn = props.basedOn || (/^[\\x00-\\x7F]+$/.test(props.text) ? 'words' : 'letters');\n\n switch (basedOn) {\n case 'words':\n this.units = props.text.split(/\\b|(?=\\W)/);\n break;\n\n case 'letters':\n this.units = Array.from(props.text);\n break;\n\n default:\n throw new Error(`Unsupported options basedOn: ${basedOn}`);\n }\n\n this.maxLine = +props.maxLine || 1;\n this.canvas.innerHTML = this.units.map(c => {\n return `${c}`;\n }).join('');\n const ellipsisIndex = this.putEllipsis(this.calcIndexes());\n const clamped = ellipsisIndex > -1;\n const newState = {\n clamped,\n text: clamped ? this.units.slice(0, ellipsisIndex).join('') : props.text\n };\n this.setState(newState, props.onReflow.bind(this, newState));\n }\n\n calcIndexes() {\n const indexes = [0];\n let elt = this.canvas.firstElementChild;\n if (!elt) return indexes;\n let index = 0;\n let line = 1;\n let offsetTop = elt.offsetTop;\n\n while (elt = elt.nextElementSibling) {\n if (elt.offsetTop > offsetTop) {\n line++;\n indexes.push(index);\n offsetTop = elt.offsetTop;\n }\n\n index++;\n\n if (line > this.maxLine) {\n break;\n }\n }\n\n return indexes;\n }\n\n putEllipsis(indexes) {\n if (indexes.length <= this.maxLine) return -1;\n const lastIndex = indexes[this.maxLine];\n const units = this.units.slice(0, lastIndex);\n const maxOffsetTop = this.canvas.children[lastIndex].offsetTop;\n this.canvas.innerHTML = units.map((c, i) => {\n return `${c}`;\n }).join('') + `${this.props.ellipsis}`;\n const ndEllipsis = this.canvas.lastElementChild;\n let ndPrevUnit = prevSibling(ndEllipsis, 2);\n\n while (ndPrevUnit && (ndEllipsis.offsetTop > maxOffsetTop || // IE & Edge: doesn't support \n ndEllipsis.offsetHeight > ndPrevUnit.offsetHeight || ndEllipsis.offsetTop > ndPrevUnit.offsetTop)) {\n this.canvas.removeChild(ndPrevUnit);\n ndPrevUnit = prevSibling(ndEllipsis, 2);\n units.pop();\n }\n\n return units.length;\n } // expose\n\n\n isClamped() {\n return this.clamped; // do not use state.clamped. #27\n }\n\n render() {\n const {\n text,\n clamped\n } = this.state;\n\n const _this$props = this.props,\n {\n component: Component,\n ellipsis,\n trimRight,\n className\n } = _this$props,\n rest = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"ellipsis\", \"trimRight\", \"className\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: `LinesEllipsis ${clamped ? 'LinesEllipsis--clamped' : ''} ${className}`,\n ref: node => this.target = node\n }, omit(rest, usedProps)), clamped && trimRight ? text.replace(/[\\s\\uFEFF\\xA0]+$/, '') : text, /*#__PURE__*/React.createElement(\"wbr\", null), clamped && /*#__PURE__*/React.createElement(\"span\", {\n className: \"LinesEllipsis-ellipsis\"\n }, ellipsis));\n }\n\n}\n\nLinesEllipsis.defaultProps = defaultProps;\n\nexport default LinesEllipsis;\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { s as setCSSProperty, e as elementChildren, c as createElement } from '../shared/utils.mjs';\n\nfunction Virtual(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n });\n let cssModeTimeout;\n const document = getDocument();\n swiper.virtual = {\n cache: {},\n from: undefined,\n to: undefined,\n slides: [],\n offset: 0,\n slidesGrid: []\n };\n const tempDOM = document.createElement('div');\n function renderSlide(slide, index) {\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n // eslint-disable-next-line\n let slideEl;\n if (params.renderSlide) {\n slideEl = params.renderSlide.call(swiper, slide, index);\n if (typeof slideEl === 'string') {\n tempDOM.innerHTML = slideEl;\n slideEl = tempDOM.children[0];\n }\n } else if (swiper.isElement) {\n slideEl = createElement('swiper-slide');\n } else {\n slideEl = createElement('div', swiper.params.slideClass);\n }\n slideEl.setAttribute('data-swiper-slide-index', index);\n if (!params.renderSlide) {\n slideEl.innerHTML = slide;\n }\n if (params.cache) {\n swiper.virtual.cache[index] = slideEl;\n }\n return slideEl;\n }\n function update(force) {\n const {\n slidesPerView,\n slidesPerGroup,\n centeredSlides,\n loop: isLoop\n } = swiper.params;\n const {\n addSlidesBefore,\n addSlidesAfter\n } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n offset: previousOffset\n } = swiper.virtual;\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n const activeIndex = swiper.activeIndex || 0;\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;\n }\n let from = activeIndex - slidesBefore;\n let to = activeIndex + slidesAfter;\n if (!isLoop) {\n from = Math.max(from, 0);\n to = Math.min(to, slides.length - 1);\n }\n let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n if (isLoop && activeIndex >= slidesBefore) {\n from -= slidesBefore;\n if (!centeredSlides) offset += swiper.slidesGrid[0];\n } else if (isLoop && activeIndex < slidesBefore) {\n from = -slidesBefore;\n if (centeredSlides) offset += swiper.slidesGrid[0];\n }\n Object.assign(swiper.virtual, {\n from,\n to,\n offset,\n slidesGrid: swiper.slidesGrid,\n slidesBefore,\n slidesAfter\n });\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n emit('virtualUpdate');\n }\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n }\n swiper.updateProgress();\n emit('virtualUpdate');\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset,\n from,\n to,\n slides: function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n }()\n });\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit('virtualUpdate');\n }\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n if (force) {\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => {\n slideEl.remove();\n });\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n const slideIndex = getSlideIndex(i);\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${slideIndex}\"], swiper-slide[data-swiper-slide-index=\"${slideIndex}\"]`)).forEach(slideEl => {\n slideEl.remove();\n });\n }\n }\n }\n const loopFrom = isLoop ? -slides.length : 0;\n const loopTo = isLoop ? slides.length * 2 : slides.length;\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to) {\n const slideIndex = getSlideIndex(i);\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(slideIndex);\n } else {\n if (i > previousTo) appendIndexes.push(slideIndex);\n if (i < previousFrom) prependIndexes.push(slideIndex);\n }\n }\n }\n appendIndexes.forEach(index => {\n swiper.slidesEl.append(renderSlide(slides[index], index));\n });\n if (isLoop) {\n for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {\n const index = prependIndexes[i];\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n }\n } else {\n prependIndexes.sort((a, b) => b - a);\n prependIndexes.forEach(index => {\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n });\n }\n elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n onRendered();\n }\n function appendSlide(slides) {\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n update(true);\n }\n function prependSlide(slides) {\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach(cachedIndex => {\n const cachedEl = cache[cachedIndex];\n const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');\n if (cachedElIndex) {\n cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);\n }\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n function removeSlide(slidesIndexes) {\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n function removeAllSlides() {\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n update(true);\n swiper.slideTo(0, 0);\n }\n on('beforeInit', () => {\n if (!swiper.params.virtual.enabled) return;\n let domSlidesAssigned;\n if (typeof swiper.passedParams.virtual.slides === 'undefined') {\n const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));\n if (slides && slides.length) {\n swiper.virtual.slides = [...slides];\n domSlidesAssigned = true;\n slides.forEach((slideEl, slideIndex) => {\n slideEl.setAttribute('data-swiper-slide-index', slideIndex);\n swiper.virtual.cache[slideIndex] = slideEl;\n slideEl.remove();\n });\n }\n }\n if (!domSlidesAssigned) {\n swiper.virtual.slides = swiper.params.virtual.slides;\n }\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n update();\n });\n on('setTranslate', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(() => {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on('init update resize', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);\n }\n });\n Object.assign(swiper.virtual, {\n appendSlide,\n prependSlide,\n removeSlide,\n removeAllSlides,\n update\n });\n}\n\nexport { Virtual as default };\n","import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.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 const makeElementsArray = el => (Array.isArray(el) ? el : [el]).filter(e => !!e);\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.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.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\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 if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\nexport { Navigation as default };\n","import { 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"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_setPrototypeOf","o","p","setPrototypeOf","__proto__","observerMap","Map","RootIds","WeakMap","rootId","unsupportedValue","undefined","observe","element","callback","options","fallbackInView","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","intersectionRatio","threshold","time","boundingClientRect","intersectionRect","rootBounds","_createObserver","id","keys","sort","filter","map","root","has","set","toString","get","optionsToId","instance","thresholds","elements","observer","entries","forEach","entry","_elements$get","inView","some","trackVisibility","isVisible","Array","isArray","createObserver","callbacks","push","splice","indexOf","unobserve","size","disconnect","_excluded","isPlainChildren","props","children","InView","_React$Component","subClass","superClass","_this","node","_unobserveCb","handleNode","triggerOnce","skip","setState","initialInView","observeNode","handleChange","onChange","state","create","constructor","_proto","componentDidUpdate","prevProps","rootMargin","delay","componentWillUnmount","_this$props","render","_this$state","ref","_this$props2","as","excluded","sourceKeys","_objectWithoutPropertiesLoose","useInView","_temp","_ref","_React$useState","setRef","current","useEffect","result","displayName","defaultProps","paramsList","isObject","slice","__swiper__","extend","src","noExtend","needsNavigation","params","navigation","nextEl","prevEl","needsPagination","pagination","el","needsScrollbar","scrollbar","uniqueClasses","classNames","classes","split","c","trim","unique","join","wrapperClass","className","includes","bind","isChildSwiperSlide","child","type","processChildren","slides","toArray","slide","getChildren","slots","slot","foundSlides","useIsomorphicLayoutEffect","deps","useLayoutEffect","SwiperSlideContext","createContext","SwiperContext","useSwiper","useContext","Swiper","forwardRef","externalElRef","tag","Tag","wrapperTag","WrapperTag","onSwiper","rest","eventsAssigned","containerClasses","setContainerClasses","useState","virtualData","setVirtualData","breakpointChanged","setBreakpointChanged","initializedRef","useRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","swiperParams","passedParams","restProps","events","obj","splitEvents","on","d","_emitClasses","init","allowedParams","replace","plainObj","search","toLowerCase","substr","getParams","onBeforeBreakpoint","_containerClasses","swiper","initSwiper","passParams","S","virtual","enabled","extendWith","cache","renderExternal","renderExternalUpdate","originalParams","off","emitSlidesClasses","destroyed","paginationEl","scrollbarEl","mountSwiper","destroy","eventName","changedParams","oldParams","oldChildren","getKey","addKey","oldChildrenKeys","childrenKeys","newKeys","oldKeys","newKey","oldKey","getChangedParams","updateParams","currentParams","thumbs","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","controller","control","destroyModule","mod","isElement","remove","loop","newValue","update","document","createElement","classList","add","part","appendChild","updateSize","setTranslate","innerHTML","hostEl","nextButtonSvg","prevButtonSvg","allowSlideNext","allowSlidePrev","changeDirection","direction","loopDestroy","loopCreate","updateSwiper","updateSlides","updateProgress","updateSlidesClasses","parallax","Provider","value","getSlideIndex","index","slideIndex","style","isHorizontal","rtlTranslate","offset","top","from","to","loopFrom","loopTo","slidesToRender","renderVirtual","swiperSlideIndex","SwiperSlide","externalRef","zoom","lazy","virtualIndex","slideElRef","slideClasses","setSlideClasses","lazyLoaded","setLazyLoaded","updateClasses","_s","getSlideClasses","slideData","isActive","isPrev","isNext","renderChildren","onLoad","canvasStyle","position","bottom","left","height","overflow","border","mirrorProps","prevSibling","count","previousElementSibling","basedOn","component","ellipsis","maxLine","onReflow","text","trimRight","winWidth","usedProps","LinesEllipsis","super","clamped","units","canvas","componentDidMount","initCanvas","reflow","copyStyleToCanvas","parentNode","removeChild","setAttribute","body","targetStyle","getComputedStyle","test","Error","ellipsisIndex","putEllipsis","calcIndexes","newState","indexes","elt","firstElementChild","line","offsetTop","nextElementSibling","lastIndex","maxOffsetTop","ndEllipsis","lastElementChild","ndPrevUnit","offsetHeight","pop","isClamped","Component","omittedKeys","ret","omit","Virtual","cssModeTimeout","extendParams","emit","renderSlide","addSlidesBefore","addSlidesAfter","g","slidesGrid","tempDOM","slideEl","slideClass","force","slidesPerView","slidesPerGroup","centeredSlides","isLoop","previousFrom","previousTo","previousSlidesGrid","previousOffset","cssMode","updateActiveIndex","activeIndex","offsetProp","slidesAfter","slidesBefore","Math","floor","max","min","onRendered","abs","cssOverflowAdjustment","prependIndexes","appendIndexes","matches","slidesEl","append","prepend","a","b","e","domSlidesAssigned","containerModifierClass","watchSlidesProgress","_immediateVirtual","clearTimeout","setTimeout","s","wrapperEl","virtualSize","appendSlide","prependSlide","newActiveIndex","numberOfNewSlides","unshift","newCache","cachedIndex","cachedEl","cachedElIndex","getAttribute","parseInt","slideTo","removeSlide","slidesIndexes","removeAllSlides","Navigation","hideOnClick","disabledClass","hiddenClass","lockClass","navigationDisabledClass","makeElementsArray","getEl","res","querySelector","querySelectorAll","uniqueNavElements","toggleEl","disabled","subEl","tagName","watchOverflow","isLocked","isBeginning","rewind","isEnd","onPrevClick","preventDefault","slidePrev","onNextClick","slideNext","checkProps","createElements","auto","initButton","dir","addEventListener","destroyButton","removeEventListener","disable","targetEl","clickable","contains","isHidden","toggle","enable"],"sourceRoot":""}