{"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":""}