{"version":3,"file":"js/component-icon-gallery.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/components/utils/Lazyimg.tsx","webpack:///./assets/stone/src/components/iconGallery/IconGalleryCarousel.tsx","webpack:///./assets/stone/src/components/iconGallery/IconGallery.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 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, { useEffect, useMemo, useRef, useState } from 'react';\nimport '@stone/scss/components/hero-products/_hero-products.scss';\nimport SwiperCore, { Navigation, A11y, Keyboard, Pagination } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport ProductTileSimple from '../product/ProductTileSimple';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport { ButtonNavigation } from '@stone/ui/button/CarouselNavigation';\nimport classNames from 'classnames';\nimport useSwiperColGap from '@stone/hooks/useSwiperColGap';\nimport Image from '@stone/ui/image/Image';\nSwiperCore.use([Keyboard, Navigation, A11y, Pagination]);\nconst IconGalleryEditorialItem = (props) => {\n var _a, _b;\n const { isDesktop } = useMediaQueries();\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"product-tile single-slide__img product-tile--SIMPLE\", tabIndex: -1, \"aria-hidden\": \"false\" },\n React.createElement(\"div\", { className: \"product-tile__card\" },\n React.createElement(\"div\", { className: \"product-tile__image-wrapper\" }, props.link_url ? (React.createElement(\"a\", { href: props.link_url, className: \"product-tile__link\", tabIndex: (isDesktop && props.link_label) || props.disableFocus ? -1 : 0, \"aria-hidden\": (isDesktop && props.link_label) || props.disableFocus ? true : false },\n React.createElement(Image, { className: \"product-image\", src: props.image.path, srcMobile: (_a = props.imageMobile) === null || _a === void 0 ? void 0 : _a.path, alt: \"\" }))) : (React.createElement(\"div\", { className: \"product-tile__link\" },\n React.createElement(Image, { className: \"product-image\", src: props.image.path, srcMobile: (_b = props.imageMobile) === null || _b === void 0 ? void 0 : _b.path, alt: \"\" }))))),\n (props.title || props.subtitle || (isDesktop && props.link_label && props.link_url)) && (React.createElement(\"div\", { className: \"product-tile__info single-slide__labels\" },\n React.createElement(\"div\", { className: \"product-tile__info_content\" },\n React.createElement(\"div\", { className: \"product-tile__info_base\" },\n React.createElement(\"div\", null, (props.title || props.subtitle) && (React.createElement(React.Fragment, null,\n props.title && (React.createElement(\"h3\", { className: \"product-tile__name\" },\n React.createElement(\"span\", { className: \"product-tile__link\" }, props.title))),\n props.subtitle && React.createElement(\"p\", { className: \"product-tile__seoname\" }, props.subtitle)))),\n isDesktop && props.link_label && props.link_url && (React.createElement(\"a\", { href: props.link_url, \"aria-label\": props.link_label_a11n, className: \"button button--tertiary product-cta\", tabIndex: props.disableFocus ? -1 : undefined, \"aria-hidden\": props.disableFocus ? true : undefined },\n React.createElement(\"span\", null, props.link_label))))))))));\n};\nconst IconGalleryCarousel = (props) => {\n var _a, _b, _c, _d;\n const swiperRef = useRef(null);\n const containerRef = useRef(null);\n const gap = useSwiperColGap(swiperRef, 2, 20);\n const [pagination, setPagination] = useState(0);\n const [visibleSlidesIndexes, setVisibleSlidesIndexes] = useState([]);\n const { isDesktop, isTouch, isWideDesktop } = useMediaQueries();\n //@ts-ignore disable-next-line\n const isCarouselTouch = useMemo(() => !isDesktop || (isTouch && !isWideDesktop), [isDesktop, isWideDesktop, isTouch]);\n const paginationIndexes = useMemo(() => {\n var _a, _b;\n return {\n active: Math.round(pagination / 2 + 1)\n .toString()\n .padStart(3, '0'),\n total: Math.round((props.isEditorial ? (_a = props.editorialItems) === null || _a === void 0 ? void 0 : _a.length : (_b = props.products) === null || _b === void 0 ? void 0 : _b.length) / 2)\n .toString()\n .padStart(3, '0'),\n };\n }, [pagination]);\n const swiperProps = {\n spaceBetween: 12,\n breakpoints: {\n [window.mqObj.lg]: {\n slidesPerView: 2,\n },\n },\n };\n useEffect(() => {\n if (containerRef.current) {\n const observer = new ResizeObserver(() => {\n let maxHeight = 0;\n const labels = containerRef.current.querySelectorAll('.product-tile__info');\n labels.forEach((entry) => {\n if (entry.clientHeight > maxHeight) {\n maxHeight = entry.clientHeight;\n }\n });\n const parentId = 'gallery-' + props.id;\n const parent = document.getElementById(parentId);\n parent.style.setProperty('--label-height', `${maxHeight / 10 + 1.2}rem`);\n });\n observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }\n }, []);\n const onSlideChange = (swiper) => {\n setPagination(swiper.activeIndex);\n //@ts-ignore disable-next-line\n setVisibleSlidesIndexes(swiper.visibleSlidesIndexes);\n };\n return (React.createElement(\"div\", { className: \"container\", ref: containerRef },\n React.createElement(\"div\", { className: \"row\" },\n !isCarouselTouch && (React.createElement(\"div\", { className: \"col-lg-2 gallery__carousel-navigation-col\" }, (((_a = props.products) === null || _a === void 0 ? void 0 : _a.length) > 2 || ((_b = props === null || props === void 0 ? void 0 : props.editorialItems) === null || _b === void 0 ? void 0 : _b.length) > 2) && React.createElement(ButtonNavigation, { id: `gallery-${props.id}`, type: \"prev\", isExtended: true }))),\n React.createElement(\"div\", { className: classNames('col-lg-20 gallery__carousel-pagination-col', { 'offset-lg-2': isCarouselTouch }) },\n !isCarouselTouch && (React.createElement(\"div\", { className: \"gallery__pagination font__title\" },\n React.createElement(\"span\", null, paginationIndexes.active),\n React.createElement(\"span\", null, \"/\"),\n React.createElement(\"span\", null, paginationIndexes.total))),\n React.createElement(Swiper, Object.assign({ onSwiper: (swiper) => {\n swiperRef.current = swiper;\n //@ts-ignore disable-next-line\n setVisibleSlidesIndexes(swiper.visibleSlidesIndexes);\n }, onSlideChange: onSlideChange }, props.swiperDefaults, swiperProps, { spaceBetween: isDesktop ? gap : 12, slidesPerGroup: isCarouselTouch ? 1 : 2, navigation: {\n nextEl: `.gallery-${props.id}-navigation--next`,\n prevEl: `.gallery-${props.id}-navigation--prev`,\n } }),\n !props.isEditorial &&\n props.products.map((product, i) => (React.createElement(SwiperSlide, { key: product.id, className: \"gallery__carousel-slide\" }, ({ isActive }) => {\n var _a;\n return (React.createElement(ProductTileSimple, { product: product, index: i, showCTA: isDesktop && !props.hideCtas, hidePrice: isDesktop || props.hidePrices, customImage: (_a = product.assetOverride) === null || _a === void 0 ? void 0 : _a.icongallery, disableFocus: isDesktop ? !visibleSlidesIndexes.includes(i) : !isActive }));\n }))),\n props.isEditorial &&\n props.editorialItems.map((product, i) => (React.createElement(SwiperSlide, { key: product.ID, className: \"gallery__carousel-slide\" }, ({ isActive }) => React.createElement(IconGalleryEditorialItem, Object.assign({}, product, { disableFocus: isDesktop ? !visibleSlidesIndexes.includes(i) : !isActive }))))))),\n !isCarouselTouch && (React.createElement(\"div\", { className: \"col-lg-2 gallery__carousel-navigation-col justify-end\" }, (((_c = props.products) === null || _c === void 0 ? void 0 : _c.length) > 2 || ((_d = props === null || props === void 0 ? void 0 : props.editorialItems) === null || _d === void 0 ? void 0 : _d.length) > 2) && React.createElement(ButtonNavigation, { id: `gallery-${props.id}`, type: \"next\", isExtended: true }))))));\n};\nexport default IconGalleryCarousel;\n","import useMediaQueries from '@stone/hooks/useMediaQueries';\nimport useProductsList from '@stone/hooks/useProductsList';\nimport CarouselNavigation from '@stone/ui/button/CarouselNavigation';\nimport classNames from 'classnames';\nimport React, { useEffect, useMemo } from 'react';\nimport IconGalleryCarousel from './IconGalleryCarousel';\nimport ProductTilesListcontext from '@stone/scripts/contexts/ProductTilesListContext';\nimport '@stone/scss/components/gallery/_gallery.scss';\nimport { compileListName } from '@stone/utils/analytics';\nconst IconGallery = (props) => {\n // const category = JSON.parse(props?.category);\n // ANCHOR - HOOKS --------------------------------------------------------------------\n let listname = compileListName(props.itemListName || 'icon gallery');\n const { parseCategory, getProducts, resetProducts, products } = useProductsList(listname, props === null || props === void 0 ? void 0 : props.limit);\n const { isDesktop, isTouch, isWideDesktop } = useMediaQueries();\n // ANCHOR - COSTANTS --------------------------------------------------------------------\n const category = parseCategory(props);\n const dClasses = 'd-flex justify-end align-top';\n const editorialItems = useMemo(() => props.isEditorial && props.editorialItems && JSON.parse(props.editorialItems), [props]);\n const swiperDefaults = {\n slidesPerView: 'auto',\n watchSlidesProgress: true,\n };\n // ANCHOR - USE MEMO --------------------------------------------------------------------\n const isCarouselTouch = useMemo(() => !isDesktop || (isTouch && !isWideDesktop), [isDesktop, isTouch, isWideDesktop]);\n const listContext = useMemo(() => {\n let context = {};\n context.analyticsData = {\n item_list_name: listname,\n };\n return context;\n }, [props.itemListName]);\n // ANCHOR - USE EFFECT --------------------------------------------------------------------\n useEffect(() => {\n if (category && !props.isEditorial) {\n getProducts(category);\n }\n return () => resetProducts();\n }, []);\n // ANCHOR - COMPONENTS --------------------------------------------------------------------\n const renderLink = () => (React.createElement(\"a\", { href: props.linkUrl, className: \"button button--tertiary\", \"aria-label\": props.linkLabelA11n },\n React.createElement(\"span\", null, props.linkLabel)));\n const renderNavigation = () => React.createElement(CarouselNavigation, { id: `gallery-${props.uuid}` });\n // ANCHOR - RENDER --------------------------------------------------------------------\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"gallery\" },\n React.createElement(\"div\", { className: \"gallery__intro\" },\n React.createElement(\"div\", { className: \"container\" },\n React.createElement(\"div\", { className: \"row row-gap-24\" },\n React.createElement(\"div\", { className: classNames('col-lg-4', { 'd-flex justify-between align-middle': !isDesktop }) },\n React.createElement(\"h2\", { className: \"font__title\" }, props.title),\n !isDesktop && renderNavigation()),\n React.createElement(\"div\", { className: \"col-lg-7\" },\n React.createElement(\"p\", null, props.description)),\n props.linkLabel && props.linkUrl && React.createElement(\"div\", { className: `col-lg-7 offset-lg-${isCarouselTouch ? '4' : '6'} ${isDesktop ? dClasses : ''} ` }, renderLink()),\n isCarouselTouch && isDesktop && (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: `col-lg-2 ${dClasses}` }, renderNavigation())))))),\n React.createElement(ProductTilesListcontext.Provider, { value: listContext },\n React.createElement(\"div\", { className: \"gallery__carousel\" }, (!!(products === null || products === void 0 ? void 0 : products.length) || !!(editorialItems === null || editorialItems === void 0 ? void 0 : editorialItems.length)) && (React.createElement(React.Fragment, null,\n React.createElement(IconGalleryCarousel, { id: props.uuid, products: products, editorialItems: editorialItems, swiperDefaults: swiperDefaults, hideCtas: props.hiddenCtas, hidePrices: props.hiddenPrices, isEditorial: props.isEditorial }),\n ' ')))))));\n};\nexport default IconGallery;\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":["props","src","srcset","className","draggable","alt","width","height","ariaHidden","dataSizes","IconGalleryEditorialItem","_a","_b","isDesktop","useMediaQueries","tabIndex","link_url","href","link_label","disableFocus","Image","image","path","srcMobile","imageMobile","title","subtitle","link_label_a11n","undefined","_c","_d","swiperRef","useRef","containerRef","gap","useSwiperColGap","pagination","setPagination","useState","visibleSlidesIndexes","setVisibleSlidesIndexes","isTouch","isWideDesktop","isCarouselTouch","useMemo","paginationIndexes","active","Math","round","toString","padStart","total","isEditorial","editorialItems","length","products","swiperProps","spaceBetween","breakpoints","window","mqObj","lg","slidesPerView","useEffect","current","observer","ResizeObserver","maxHeight","querySelectorAll","forEach","entry","clientHeight","parentId","id","document","getElementById","style","setProperty","observe","disconnect","ref","type","isExtended","Object","assign","onSwiper","swiper","onSlideChange","activeIndex","swiperDefaults","slidesPerGroup","navigation","nextEl","prevEl","map","product","i","key","isActive","ProductTileSimple","index","showCTA","hideCtas","hidePrice","hidePrices","customImage","assetOverride","icongallery","includes","ID","listname","itemListName","parseCategory","getProducts","resetProducts","useProductsList","limit","category","dClasses","JSON","parse","listContext","context","analyticsData","item_list_name","renderNavigation","CarouselNavigation","uuid","description","linkLabel","linkUrl","linkLabelA11n","value","watchSlidesProgress","hiddenCtas","hiddenPrices","getReflowValue","documentHeight","innerHeight","visualViewport","mediaQueries","breakpoint","setBreakpoint","documentWidth","innerWidth","filtered","keys","filter","getInitialBreakpointValue","breakpointHeight","setBreakpointHeight","setIsTouch","firstRender","PointerEvent","navigator","maxTouchPoints","matchMedia","matches","TouchEvent","useLayoutEffect","handleResize","throttle","currentBr","getCurrentBreakpoint","currentHBr","addEventListener","removeEventListener","isTightMobile","xs","isMobile","isTablet","sm","isSmallDesktop","md","xxl","isReflow","cols","totalsCols","setGap","totals","listenGap","debounce","el","getBoundingClientRect","ButtonNavigation","t","labelMap","next","prev","textMap","name","family","inverted","opacityOnDisabled","opacityOnDisable","right","prevContent","nextContent","defaultProps","Icon","icon","ariaLabel","autoSize","args","avoidLazy"],"sourceRoot":""}