{"version":3,"sources":["webpack:///./Scripts/Components/LightboxImages.js","webpack:///./Scripts/Containers/LightboxImages.container.js","webpack:///./Scripts/VanillaComponents/imageSlider.js"],"names":["LightboxImages","props","React","createElement","Fragment","className","badges","map","badge","index","concat","key","data-src","images","src","itemProp","onClick","onClickThumbnail","thumbnails","length","image","e","swipeImage","Lightbox","_extends","showThumbnails","showImageCount","ActionLink","endItem","direction","currentTarget","classList","list","document","querySelector","items","querySelectorAll","hiddenItems","score","forEach","item","contains","push","parentElement","offsetWidth","nextElementSibling","_unused","_unused2","add","remove","connect","state","isOpen","lightboxImages","visible","currentImage","dispatch","onClose","show","onClickNext","next","onClickPrev","previous","setCurrentIndex"],"mappings":"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","file":"18.js","sourcesContent":["import React, { Fragment } from 'react';\r\nimport Lightbox from 'react-images';\r\n\r\nconst LightboxImages = props => (\r\n    <Fragment>\r\n        <div className=\"product-images\">\r\n\r\n            <div className=\"product-detail__image-container\">\r\n                <div className=\"product__tags product__tags--lower\">\r\n                    {props.badges.map((badge, index) => (\r\n                        badge.className !== 'product__badge--upper-lower' &&\r\n                        <span className={`product-detail__label ${badge.className}`} key={index} />\r\n                    ))}\r\n                </div>\r\n\r\n                <figure className=\"product-detail__figure\">\r\n                    <a data-src={props.images[0].src} itemProp=\"url\" onClick={() => props.onClickThumbnail(0)} className=\"product-image\">\r\n                        <img className=\"product-detail__image--main\" itemProp=\"image\" src={props.thumbnails[0].src} />\r\n                    </a>\r\n                </figure>\r\n\r\n            </div>\r\n\r\n            {props.images.length > 1 && \r\n                <div className=\"product-detail__slider\">\r\n                    <ul className={\"product-detail__image-container--thumbnails \" + (props.images.length <= 4 ? 'full-width' : '')}>\r\n                        {props.images.map((image, index) => (\r\n                            index > 0 &&\r\n                            <li className=\"product-detail__thumbnails\" key={index}>\r\n                                <a className=\"product-detail__thumbnails-link\" data-src={image.src} itemProp=\"url\" onClick={() => props.onClickThumbnail(index)}>\r\n                                    <img className=\"product-detail__image--alter\" itemProp=\"image\" src={props.thumbnails[index].src} />\r\n                                </a>\r\n                            </li>\r\n                        ))}\r\n                    </ul>\r\n                    {props.images.length > 4 &&\r\n                        <button className=\"product__image--arrow left\" onClick={(e) => props.swipeImage(e)} />\r\n                    }\r\n                    {props.images.length > 4 &&\r\n                        <button className=\"product__image--arrow right\" onClick={(e) => props.swipeImage(e)} />\r\n                    }\r\n                </div>\r\n            }\r\n        </div>\r\n        <Lightbox\r\n            showThumbnails={true}\r\n            showImageCount={false}\r\n            {...props}\r\n        />\r\n    </Fragment>\r\n)\r\n\r\nexport default LightboxImages;","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport LightboxImages from '../Components/LightboxImages';\r\nimport { setCurrentIndex, show, previous, next } from '../Actions/LightboxImages.action';\r\nimport * as Slider from '../VanillaComponents/imageSlider';\r\n\r\nfunction ActionLink(e) {\r\n    let direction = e.currentTarget.classList[1];\r\n    Slider.initiateSlider(direction);\r\n}\r\n\r\nconst LightboxImagesContainer = props => <LightboxImages {...props} />;\r\n\r\nconst mapStateToProps = (state) => {    \r\n    return {\r\n        isOpen: state.lightboxImages.visible,\r\n        currentImage: state.lightboxImages.index,\r\n        swipeImage: (e) => ActionLink(e),\r\n    }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n    return {\r\n        onClose: () => dispatch(show(false)),\r\n        onClickNext: () => dispatch(next()),\r\n        onClickPrev: () => dispatch(previous()),\r\n        onClickThumbnail: (index) => {\r\n            dispatch(show(true));\r\n            dispatch(setCurrentIndex(index));\r\n        },\r\n    }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LightboxImagesContainer);","export function initiateSlider(direction) {\r\n    const slider = document.querySelector('.product-detail__slider');\r\n    const list = slider.querySelector('ul');\r\n    const items = list.querySelectorAll('li');\r\n\r\n    const hiddenItems = [];\r\n\r\n    items.forEach(function (item) {\r\n        if (item.classList.contains('hidden')) {\r\n            hiddenItems.push(item);\r\n        }\r\n    });\r\n\r\n    let score = hiddenItems.length;\r\n    let endItem;\r\n\r\n    if (list.parentElement.offsetWidth > 400) {\r\n        try {\r\n            endItem = items[score].nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling;\r\n        } catch {\r\n            endItem = null;\r\n        }   \r\n    } else {\r\n        try {\r\n            endItem = items[score].nextElementSibling.nextElementSibling.nextElementSibling;\r\n        } catch {\r\n            endItem = null;\r\n        }\r\n    }\r\n\r\n    if (direction === 'right') {\r\n        if (endItem === null || endItem === undefined) {\r\n            return;\r\n        } else {\r\n            items[score].classList.add('hidden');\r\n            return score++;\r\n        }\r\n    }\r\n\r\n    if (direction === 'left') {\r\n        if (score <= 0) {\r\n            return;\r\n        } else {\r\n            items[score - 1].classList.remove('hidden');\r\n            return score--;\r\n        }\r\n    }\r\n}\r\n\r\n"],"sourceRoot":""}