{"version":3,"file":"js/component-features.chunk.js","mappings":"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","sources":["webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/react-i18next/dist/es/useTranslation.js","webpack:///./node_modules/react-i18next/dist/es/utils.js","webpack:///./assets/common/src/components/utils/Lazyimg.tsx","webpack:///./assets/stone/src/components/features/FeaturesItem.tsx","webpack:///./assets/stone/src/components/features/FeaturesGrid.tsx","webpack:///./assets/stone/src/components/features/FeaturesCarousel.tsx","webpack:///./assets/stone/src/components/features/Features.tsx","webpack:///./assets/stone/src/hooks/useMediaQueries.tsx","webpack:///./assets/stone/src/hooks/useSwiperColGap.tsx","webpack:///./assets/stone/src/ui/button/CarouselNavigation.tsx","webpack:///./assets/stone/src/ui/icon/Icon.tsx","webpack:///./assets/stone/src/ui/image/Image.tsx"],"sourcesContent":["import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { getDefaults, getI18n, I18nContext, ReportNamespaces } from './context';\nimport { hasLoadedNamespace, loadNamespaces, warnOnce } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n const wrappedT = (t) => {\n if (window.msgdebug) {\n return (key) => {\n return key;\n };\n }\n return t;\n };\n\n function getT() {\n return wrappedT(i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix))\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import classNames from 'classnames';\nimport React from 'react';\nconst Lazyimg = (props) => {\n return (React.createElement(\"img\", { src: \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\", \"data-src\": props.src, \"data-srcset\": props.srcset, className: classNames('lazyload', props.className, { 'not-draggable': !props.draggable }), alt: props.alt, width: props === null || props === void 0 ? void 0 : props.width, height: props === null || props === void 0 ? void 0 : props.height, draggable: props.draggable, \"aria-hidden\": (props === null || props === void 0 ? void 0 : props.ariaHidden) ? true : false, \"data-sizes\": props.dataSizes }));\n};\nexport default Lazyimg;\n","import React, { useState } from 'react';\nimport Image from '@stone/ui/image/Image';\nimport classNames from 'classnames';\nimport Icon from '@stone/ui/icon/Icon';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nconst FeaturesItem = (props) => {\n var _a;\n const { isAnimate } = props;\n const index = props.index.toString().padStart(3, '0');\n const { isMobile } = useMediaQueries();\n // ANCHOR - USE STATE --------------------------------------------------------------------\n const [isOpen, setIsOpen] = useState(false);\n return (React.createElement(\"div\", { className: classNames('features-slide', { 'is-open': isOpen }, { 'is-grid': isAnimate }), onMouseEnter: () => isAnimate && setIsOpen(true), onMouseLeave: () => isAnimate && setIsOpen(false) },\n (isOpen || !isAnimate) && (React.createElement(\"div\", { className: classNames('features-slide__image', { 'minor-margin': props.length >= 4 && isAnimate }) },\n React.createElement(Image, { avoidLazy: true, src: props.image.path, srcMobile: (_a = props === null || props === void 0 ? void 0 : props.imageMobile) === null || _a === void 0 ? void 0 : _a.path, alt: props.altImage }))),\n React.createElement(\"div\", { className: `features-slide__content length-${props.length}` },\n React.createElement(\"div\", { \"aria-hidden\": \"true\", className: classNames('features-slide__index font__title', { 'is-animate': isAnimate }) },\n isAnimate && React.createElement(Icon, { name: isOpen ? 'minimize' : 'open', family: \"10\" }),\n React.createElement(\"span\", null, index)),\n React.createElement(\"p\", { className: \"features-slide__description\" }, props.description))));\n};\nexport default FeaturesItem;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport FeaturesItem from './FeaturesItem';\nconst FeatruresGrid = (props) => {\n const listRef = useRef();\n const { slides, isAnimate, queries: { isWideDesktop }, } = props;\n // ANCHOR - USE STATE --------------------------------------------------------------------\n const [maxHeight, setMaxHeight] = useState(0);\n // ANCHOR - FUNCTIONS --------------------------------------------------------------------\n const colClasses = useCallback((i) => {\n let columns, offset;\n switch (slides === null || slides === void 0 ? void 0 : slides.length) {\n case 1:\n columns = 'col-lg-12';\n offset = 'offset-lg-6';\n break;\n case 2:\n columns = 'col-lg-8';\n offset = 'offset-lg-4 offset-xxl-3';\n break;\n case 3:\n columns = 'col-lg-6';\n offset = 'offset-lg-1';\n break;\n default:\n columns = 'col-lg-4';\n offset = 'offset-lg-1';\n break;\n }\n const split = columns + ' ' + (i > 0 ? offset : 'offset-lg-2');\n return split;\n }, [slides]);\n const updateHeight = useCallback(() => {\n const mb = ((slides === null || slides === void 0 ? void 0 : slides.length) >= 4 && isAnimate) || isWideDesktop ? 40 : 80;\n const els = listRef.current.querySelectorAll('.features-slide__content');\n let maxHeight = 0;\n if (els === null || els === void 0 ? void 0 : els.length) {\n els.forEach((el) => {\n const { width, height } = el.getBoundingClientRect();\n const calcHeight = height + width + mb;\n if (calcHeight > maxHeight) {\n maxHeight = calcHeight;\n }\n });\n }\n setMaxHeight(maxHeight);\n }, [isAnimate, isWideDesktop, slides]);\n // ANCHOR - USE EFFECT --------------------------------------------------------------------\n useEffect(() => {\n if (listRef.current && isAnimate) {\n updateHeight();\n window.addEventListener('resize', updateHeight);\n return () => window.removeEventListener('resize', updateHeight);\n }\n }, [isAnimate]);\n return (React.createElement(\"div\", { className: \"container\" },\n React.createElement(\"div\", { className: \"row\", ref: listRef, style: { height: isAnimate ? maxHeight : 'auto' } }, slides === null || slides === void 0 ? void 0 : slides.map((slide, i) => (React.createElement(\"div\", { className: colClasses(i), key: slide.ID },\n React.createElement(FeaturesItem, Object.assign({}, slide, { index: i + 1, length: slides === null || slides === void 0 ? void 0 : slides.length, isAnimate: isAnimate, isWideDesktop: isWideDesktop }))))))));\n};\nexport default FeatruresGrid;\n","import React, { useRef } from 'react';\nimport '@stone/scss/components/hero-products/_hero-products.scss';\nimport SwiperCore, { Navigation, A11y, Keyboard, Autoplay, FreeMode, Pagination } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport FeaturesItem from './FeaturesItem';\nimport useSwiperColGap from '@stone/hooks/useSwiperColGap';\nSwiperCore.use([Keyboard, Navigation, A11y, Autoplay, FreeMode, Pagination]);\nconst FeaturesCarousel = (props) => {\n const swiperRef = useRef(null);\n const { isAnimate, queries: { isWideDesktop, isDesktop }, } = props;\n const gap = useSwiperColGap(swiperRef, 1, 20);\n const swiperProps = {\n slidesPerView: 'auto',\n navigation: {\n prevEl: '.features-navigation--prev',\n nextEl: '.features-navigation--next',\n },\n };\n return (React.createElement(\"div\", { className: \"container\" },\n React.createElement(Swiper, Object.assign({}, swiperProps, { onSwiper: (swiper) => (swiperRef.current = swiper), spaceBetween: isDesktop ? gap : 12 }), props.slides.map((slide, i) => {\n var _a;\n return (React.createElement(SwiperSlide, { key: slide.ID },\n React.createElement(FeaturesItem, Object.assign({}, slide, { length: (_a = props.slides) === null || _a === void 0 ? void 0 : _a.length, index: i + 1, isAnimate: isAnimate, isWideDesktop: isWideDesktop }))));\n }))));\n};\nexport default FeaturesCarousel;\n","import React, { useMemo } from 'react';\nimport '@stone/scss/components/features/_features.scss';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport CarouselNavigation from '@stone/ui/button/CarouselNavigation';\nimport FeatruresGrid from './FeaturesGrid';\nimport FeaturesCarousel from './FeaturesCarousel';\nconst Features = (props) => {\n // ANCHOR - HOOKS --------------------------------------------------------------------\n const queries = useMediaQueries();\n const { isDesktop, isTouch, isWideDesktop } = queries;\n const slides = JSON.parse(props.slides);\n const isCarousel = useMemo(() => !isDesktop || (isTouch && !isWideDesktop && (slides === null || slides === void 0 ? void 0 : slides.length) >= 4), [isDesktop, isWideDesktop, isTouch, slides]);\n const isAnimate = useMemo(() => (!isTouch && isDesktop) || isWideDesktop, [isTouch, isWideDesktop]);\n return (React.createElement(\"div\", { className: \"features\" },\n React.createElement(\"div\", { className: \"container\" },\n React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: \"col-lg-20 offset-lg-2 features-intro\" },\n React.createElement(\"h2\", { className: \"font__title\" }, props.title),\n isCarousel && React.createElement(CarouselNavigation, { id: \"features\" })))),\n React.createElement(\"div\", { className: \"features-list--wrapper\" }, isCarousel ? React.createElement(FeaturesCarousel, { slides: slides, isAnimate: isAnimate, queries: queries }) : React.createElement(FeatruresGrid, { slides: slides, isAnimate: isAnimate, queries: queries }))));\n};\nexport default Features;\n","import { throttle } from 'lodash';\nimport { useLayoutEffect, useEffect, useRef, useState } from 'react';\nconst REFLOW_CAP = 400;\nconst getInitialBreakpointValue = () => {\n // get initial breakpoint is called before the page is fully loaded and innerWith may be 0. windows.mqObj may not be set\n var _a;\n const mediaQueries = window.mqObj;\n const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n if (documentWidth == 0 || !mediaQueries) {\n return;\n }\n const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n const initalBr = filtered.length ? mediaQueries[filtered[filtered.length - 1]] : mediaQueries['xs'];\n // console.info('[getInitialBreakpointValue]: ', documentWidth, initalBr);\n return initalBr;\n};\nconst getReflowValue = () => {\n var _a;\n const documentHeight = window.innerHeight || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height);\n if (documentHeight == 0) {\n return;\n }\n return documentHeight < REFLOW_CAP ? 399 : REFLOW_CAP;\n};\nconst mediaQueries = Object.assign({ ' {\n const [breakpoint, setBreakpoint] = useState(getInitialBreakpointValue());\n const [breakpointHeight, setBreakpointHeight] = useState(getReflowValue());\n const [isTouch, setIsTouch] = useState(false);\n // const [isMotionReduced, setIsMotionReduced] = useState(false);\n const firstRender = useRef(true);\n function detectTouchscreen() {\n if (window.PointerEvent && 'maxTouchPoints' in navigator) {\n // if Pointer Events are supported, just check maxTouchPoints\n if (navigator.maxTouchPoints > 0) {\n setIsTouch(true);\n }\n }\n else {\n // no Pointer Events...\n if (window.matchMedia && window.matchMedia('(any-pointer:coarse)').matches) {\n // check for any-pointer:coarse which mostly means touchscreen\n setIsTouch(true);\n }\n else if (window.TouchEvent || 'ontouchstart' in window) {\n // last resort - check for exposed touch events API / event handler\n setIsTouch(true);\n }\n }\n }\n const getCurrentBreakpoint = () => {\n var _a;\n const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n if (documentWidth == 0) {\n return;\n }\n const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n return mediaQueries[filtered[filtered.length - 1]];\n };\n useEffect(() => {\n if (firstRender.current) {\n // setBreakpoint(window.innerWidth);\n firstRender.current = false;\n detectTouchscreen();\n }\n }, []);\n useLayoutEffect(() => {\n const handleResize = throttle(() => {\n const currentBr = getCurrentBreakpoint();\n if (currentBr && currentBr !== breakpoint) {\n setBreakpoint(currentBr);\n }\n const currentHBr = getReflowValue();\n if (currentHBr && currentHBr !== breakpointHeight) {\n setBreakpointHeight(currentHBr);\n }\n }, 200);\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [breakpoint, breakpointHeight]);\n return {\n //@ts-ignore disable-next-line\n isTightMobile: breakpoint <= window.mqObj.xs,\n //@ts-ignore disable-next-line\n isMobile: breakpoint < window.mqObj.lg,\n //@ts-ignore disable-next-line\n isTablet: breakpoint >= window.mqObj.sm && breakpoint < window.mqObj.lg,\n //@ts-ignore disable-next-line\n isSmallDesktop: breakpoint >= window.mqObj.md,\n //@ts-ignore disable-next-line\n isDesktop: breakpoint >= window.mqObj.lg,\n //@ts-ignore disable-next-line\n isWideDesktop: breakpoint >= window.mqObj.xxl,\n isTouch: isTouch,\n isReflow: breakpointHeight < REFLOW_CAP,\n };\n};\nexport default useMediaQueries;\n","import { useEffect, useState } from 'react';\nimport { debounce } from 'lodash';\nconst useSwiperColGap = (swiperRef, cols, totalsCols) => {\n const [gap, setGap] = useState(0);\n const totals = totalsCols || 24;\n useEffect(() => {\n const listenGap = debounce(() => {\n if (swiperRef.current) {\n const { width } = swiperRef.current.el.getBoundingClientRect();\n const oneCol = (width - 12 * (totals - 1)) / totals;\n const gap = oneCol * cols + 12 * (cols + 1);\n setGap(gap);\n }\n }, 200);\n listenGap();\n window.addEventListener('resize', listenGap);\n return () => window.removeEventListener('resize', listenGap);\n }, []);\n return gap;\n};\nexport default useSwiperColGap;\n","import React from 'react';\nimport Icon from '../icon/Icon';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nexport const ButtonNavigation = (props) => {\n const { t } = useTranslation();\n const labelMap = {\n next: t('carousel.nextslidemessage'),\n prev: t('carousel.prevslidemessage'),\n };\n const textMap = {\n next: t('label.next'),\n prev: t('label.prev'),\n };\n const iconMap = {\n next: 'right-chevron',\n prev: 'left-chevron',\n };\n return (React.createElement(\"button\", { className: `button button-navigation--${props.type} ${props.id}-navigation--${props.type}`, \"aria-label\": labelMap[props.type] }, props.isExtended ? (React.createElement(React.Fragment, null,\n props.type === 'prev' && '<',\n React.createElement(\"span\", null, textMap[props.type]),\n props.type === 'next' && '>')) : (React.createElement(React.Fragment, null,\n React.createElement(Icon, { name: iconMap[props.type], family: \"10\" })))));\n};\nconst CarouselNavigation = (props) => {\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: classNames(`navigation ${props.id}-navigation`, { inverted: props.inverted }, { opacityOnDisabled: props.opacityOnDisable }, { 'justify-end': props.right }) }, props === null || props === void 0 ? void 0 :\n props.prevContent,\n React.createElement(ButtonNavigation, { id: props.id, type: \"prev\", isExtended: props.isExtended }),\n React.createElement(ButtonNavigation, { id: props.id, type: \"next\", isExtended: props.isExtended }), props === null || props === void 0 ? void 0 :\n props.nextContent)));\n};\nCarouselNavigation.defaultProps = {\n opacityOnDisable: true,\n};\nexport default CarouselNavigation;\n","import React from 'react';\nconst Icon = (props) => {\n const icon = `${props.family}-${props.name}${props.inverted ? '-white' : ''}`;\n return React.createElement(\"span\", { \"aria-label\": props.ariaLabel, \"aria-hidden\": true, className: `icon icon--${icon} ${props.autoSize ? 'auto-size' : ''}` });\n};\nIcon.defaultProps = {\n family: '10',\n inverted: false,\n ariaHidden: false,\n};\nexport default Icon;\n","import Lazyimg from '@components/utils/Lazyimg';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport React, { useMemo } from 'react';\nconst Image = (props) => {\n const { isMobile } = useMediaQueries();\n const args = useMemo(() => {\n return {\n src: isMobile && props.srcMobile ? props.srcMobile : props.src,\n alt: props.alt || '',\n className: props.className,\n };\n }, [props, isMobile]);\n return props.avoidLazy ? React.createElement(\"img\", Object.assign({ alt: args.alt }, args, { \"aria-hidden\": props.ariaHidden })) : React.createElement(Lazyimg, Object.assign({}, args, { ariaHidden: props.ariaHidden }));\n};\nexport default Image;\n"],"names":["_slicedToArray","arr","i","arrayWithHoles","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","call","next","Object","done","push","value","length","err","unsupportedIterableToArray","nonIterableRest","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","source","forEach","key","getOwnPropertyDescriptors","defineProperties","defineProperty","usePrevious","ignore","ref","useRef","useEffect","current","useTranslation","ns","props","undefined","i18nFromProps","i18n","_ref","useContext","i18nFromContext","defaultNSFromContext","defaultNS","reportNamespaces","notReadyT","k","Array","isArray","retNotReady","t","ready","options","react","wait","i18nOptions","useSuspense","keyPrefix","namespaces","addUsedNamespaces","isInitialized","initializedStoreOnce","every","n","getT","window","msgdebug","wrappedT","getFixedT","nsMode","_useState2","useState","setT","joinedNS","join","previousJoinedNS","isMounted","bindI18n","bindI18nStore","boundReset","on","store","split","e","off","isInitial","ret","Promise","resolve","warn","console","_console","_len","args","_key","concat","alreadyWarned","warnOnce","_len2","_key2","Date","loadNamespaces","cb","initialized","setTimeout","hasLoadedNamespace","languages","ignoreJSONStructure","precheck","i18nInstance","loadNotPending","indexOf","services","backendConnector","backend","isLanguageChangingTo","lng","fallbackLng","lastLng","toLowerCase","l","loadState","state","hasResourceBundle","resources","partialBundledLanguages","oldI18nextHasLoadedNamespace","src","srcset","className","draggable","alt","width","height","ariaHidden","dataSizes","_a","isAnimate","index","toString","padStart","isMobile","useMediaQueries","isOpen","setIsOpen","onMouseEnter","onMouseLeave","Image","avoidLazy","image","path","srcMobile","imageMobile","altImage","Icon","name","family","description","listRef","slides","queries","isWideDesktop","maxHeight","setMaxHeight","colClasses","useCallback","columns","offset","updateHeight","mb","els","querySelectorAll","el","getBoundingClientRect","calcHeight","addEventListener","removeEventListener","style","map","slide","ID","assign","swiperRef","isDesktop","gap","useSwiperColGap","slidesPerView","navigation","prevEl","nextEl","onSwiper","swiper","spaceBetween","isTouch","JSON","parse","isCarousel","useMemo","title","CarouselNavigation","id","getReflowValue","documentHeight","innerHeight","visualViewport","mediaQueries","mqObj","breakpoint","setBreakpoint","documentWidth","innerWidth","filtered","getInitialBreakpointValue","breakpointHeight","setBreakpointHeight","setIsTouch","firstRender","PointerEvent","navigator","maxTouchPoints","matchMedia","matches","TouchEvent","useLayoutEffect","handleResize","throttle","currentBr","getCurrentBreakpoint","currentHBr","isTightMobile","xs","lg","isTablet","sm","isSmallDesktop","md","xxl","isReflow","cols","totalsCols","setGap","totals","listenGap","debounce","ButtonNavigation","labelMap","prev","textMap","type","isExtended","inverted","opacityOnDisabled","opacityOnDisable","right","prevContent","nextContent","defaultProps","icon","ariaLabel","autoSize"],"sourceRoot":""}