{"version":3,"sources":["webpack:///./Scripts/Rollco/Actions/LightboxImages.action.js","webpack:///./Scripts/Rollco/galleryscroller/galleryscroller.js","webpack:///./Scripts/Rollco/Components/LightboxImages.js"],"names":["show","visible","type","LIGHTBOX_IMAGES_SHOW","payload","galleryScroller","document","querySelectorAll","forEach","el","intervalId","startTimerTimoutId","isAnimating","direction","circles","querySelector","thumbnails","currentIndex","scrollCallback","clearInterval","undefined","classList","remove","getBoundingClientRect","index","children","length","childRect","parentRect","percentage","left","width","isLast","add","isFirst","clearTimeout","setTimeout","startTimer","scrollNext","e","scrollToIndex","scrollPrev","speed","dataset","object","property","endValue","duration","onComplete","startValue","startTime","performance","now","update","currentTime","progress","x","Math","pow","min","scrollLeft","requestAnimationFrame","animateProperty","offsetLeft","timerCallback","timer","setInterval","addEventListener","i","div","createElement","appendChild","Array","prototype","indexOf","call","currentTarget","createCircles","child","innerHTML","getAttribute","createThumbnails","customStyles","content","background","padding","border","overlay","zIndex","LightboxSettings","showStatus","showIndicators","useKeyboardArrows","thumbWidth","autoPlay","autoFocus","renderThumbnails","map","item","props","imageElement","find","ele","src","key","style","backgroundImage","className","dispatch","useDispatch","useSelector","state","lightboxImages","onClose","useCallback","onClickThumbnail","LIGHTBOX_IMAGES_SET_CURRENT_IMAGE","setCurrentIndex","useEffect","images","Fragment","image","itemProp","onClick","alt","ariaHideApp","preventScroll","isOpen","onRequestClose","shouldCloseOnOverlayClick","selectedItem","renderThumbs","value"],"mappings":"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","file":"270.5c90480e5718107d1fc1.js","sourcesContent":["import {\r\n LIGHTBOX_IMAGES_SET_CURRENT_IMAGE,\r\n LIGHTBOX_IMAGES_SHOW,\r\n} from '../constants';\r\n\r\nexport const setCurrentIndex = (index) => ({\r\n type: LIGHTBOX_IMAGES_SET_CURRENT_IMAGE,\r\n payload: {\r\n index,\r\n },\r\n});\r\n\r\nexport const show = (visible) => ({\r\n type: LIGHTBOX_IMAGES_SHOW,\r\n payload: {\r\n visible,\r\n },\r\n});\r\n","export function galleryScroller() {\r\n var gallery = document.querySelectorAll(\".gallery-scroller\");\r\n gallery.forEach(el => {\r\n var direction = \"right\";\r\n var circles = el.querySelector(\".circles\");\r\n var thumbnails = el.querySelector(\".thumbnails\");\r\n var galleryScroller = el.querySelector(\".scroller\");\r\n var currentIndex = 0;\r\n var intervalId;\r\n var startTimerTimoutId;\r\n var isAnimating;\r\n\r\n function init() {\r\n galleryScroller.addEventListener(\"scroll\", scrollCallback);\r\n if (el.querySelector(\".btn.next\")) {\r\n el.querySelector(\".btn.next\").addEventListener(\"click\", scrollNext);\r\n }\r\n if (el.querySelector(\".btn.prev\")) {\r\n el.querySelector(\".btn.prev\").addEventListener(\"click\", scrollPrev);\r\n }\r\n createCircles();\r\n createThumbnails();\r\n scrollCallback();\r\n startTimer();\r\n }\r\n\r\n function scrollCallback() {\r\n stopInterval();\r\n if (el.querySelector(\".btn.next\")) {\r\n el.querySelector(\".btn.next\").classList.remove(\"hide\");\r\n }\r\n if (el.querySelector(\".btn.prev\")) {\r\n el.querySelector(\".btn.prev\").classList.remove(\"hide\");\r\n }\r\n\r\n var r = galleryScroller.getBoundingClientRect();\r\n for (let index = 0; index < galleryScroller.children.length; index++) {\r\n const child = galleryScroller.children[index];\r\n let childRect = child.getBoundingClientRect();\r\n let parentRect = galleryScroller.getBoundingClientRect();\r\n let left = childRect.left - parentRect.left;\r\n let width = childRect.width;\r\n let parentWidth = parentRect.width;\r\n let percentage = ((left + width / 2) / parentWidth + 0.5) * 100;\r\n if (percentage >= 50 && percentage <= 150) {\r\n if (circles && circles.children.length > 0) {\r\n circles.children[currentIndex].classList.remove(\"active\");\r\n }\r\n\r\n if (thumbnails && thumbnails.children.length > 0) {\r\n thumbnails.children[currentIndex].classList.remove(\"active\");\r\n }\r\n currentIndex = index;\r\n }\r\n\r\n if (isLast() && el.querySelector(\".btn.next\")) {\r\n el.querySelector(\".btn.next\").classList.add(\"hide\");\r\n }\r\n\r\n if (isFirst() && el.querySelector(\".btn.prev\")) {\r\n el.querySelector(\".btn.prev\").classList.add(\"hide\");\r\n }\r\n if (circles && circles.children.length > 0) {\r\n circles.children[currentIndex].classList.add(\"active\");\r\n }\r\n\r\n if (thumbnails && thumbnails.children.length > 0) {\r\n thumbnails.children[currentIndex].classList.add(\"active\");\r\n }\r\n }\r\n clearTimeout(startTimerTimoutId)\r\n startTimerTimoutId = setTimeout(startTimer, 1000)\r\n }\r\n\r\n function scrollNext(e) {\r\n direction = \"right\";\r\n scrollToIndex(++currentIndex);\r\n }\r\n function scrollPrev(e) {\r\n direction = \"left\";\r\n scrollToIndex(--currentIndex);\r\n }\r\n\r\n function scrollToIndex(index) {\r\n if (isAnimating) {\r\n return;\r\n }\r\n index = index < 0 ? 0 : index;\r\n index = index >= galleryScroller.children.length ? galleryScroller.children.length - 1 : index;\r\n galleryScroller.classList.remove(\"snap\");\r\n isAnimating = true;\r\n var speed = el.dataset.speed == undefined ? 500 : el.dataset.speed * 1000;\r\n animateProperty(galleryScroller, \"scrollLeft\", galleryScroller.children[index].offsetLeft, speed, () => {\r\n isAnimating = false;\r\n galleryScroller.classList.add(\"snap\");\r\n });\r\n }\r\n\r\n function isFirst() {\r\n return currentIndex == 0;\r\n }\r\n\r\n function isLast() {\r\n return currentIndex >= galleryScroller.children.length - 1;\r\n }\r\n\r\n function timerCallback() {\r\n if (direction == \"right\") {\r\n if (isLast()) {\r\n direction = \"left\";\r\n timerCallback();\r\n } else {\r\n scrollNext();\r\n }\r\n } else {\r\n if (isFirst()) {\r\n direction = \"right\";\r\n timerCallback();\r\n } else {\r\n scrollPrev();\r\n }\r\n }\r\n }\r\n\r\n function createCircles() {\r\n if (!circles || galleryScroller.children.length == 1) {\r\n return;\r\n }\r\n for (let i = 0; i < galleryScroller.children.length; i++) {\r\n const div = document.createElement(\"div\");\r\n circles.appendChild(div);\r\n if (i == 0) {\r\n div.classList.add(\"active\");\r\n }\r\n div.addEventListener(\"click\", function (e) {\r\n const index = Array.prototype.indexOf.call(circles.children, e.currentTarget);\r\n currentIndex = index;\r\n scrollToIndex(currentIndex);\r\n });\r\n }\r\n }\r\n\r\n function createThumbnails() {\r\n if (!thumbnails || galleryScroller.children.length == 1) {\r\n return;\r\n }\r\n for (let i = 0; i < galleryScroller.children.length; i++) {\r\n var child = galleryScroller.children[i];\r\n const div = document.createElement(\"button\");\r\n thumbnails.appendChild(div);\r\n div.classList.add('thumbnail');\r\n div.innerHTML = ''\r\n if (i == 0) {\r\n div.classList.add(\"active\");\r\n }\r\n div.addEventListener(\"click\", function (e) {\r\n const index = Array.prototype.indexOf.call(thumbnails.children, e.currentTarget);\r\n currentIndex = index;\r\n scrollToIndex(currentIndex);\r\n });\r\n }\r\n }\r\n\r\n function startTimer() {\r\n if (el.dataset.timer != undefined && galleryScroller.children.length > 1) {\r\n clearInterval(intervalId);\r\n intervalId = setInterval(timerCallback, el.dataset.timer * 1 * 1000);\r\n }\r\n }\r\n\r\n function stopInterval() {\r\n clearInterval(intervalId);\r\n intervalId = undefined;\r\n }\r\n\r\n init();\r\n });\r\n\r\n function easeInOutCubic(x) {\r\n return x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2;\r\n }\r\n\r\n function animateProperty(object, property, endValue, duration, onComplete) {\r\n let startValue = object[property];\r\n let startTime = performance.now();\r\n\r\n function update(currentTime) {\r\n let elapsed = currentTime - startTime;\r\n let progress = easeInOutCubic(elapsed / duration);\r\n progress = Math.min(progress, 1);\r\n object.scrollLeft = startValue + (endValue - startValue) * progress;\r\n if (progress < 1) {\r\n requestAnimationFrame(update);\r\n } else if (onComplete) {\r\n onComplete();\r\n }\r\n }\r\n requestAnimationFrame(update);\r\n }\r\n}","import React, { Fragment, useCallback, useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport 'react-responsive-carousel/lib/styles/carousel.min.css';\r\nimport { Carousel as Lightbox } from 'react-responsive-carousel';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { show, setCurrentIndex } from '../Actions/LightboxImages.action';\r\nimport { galleryScroller } from '../galleryscroller/galleryscroller';\r\n\r\n\r\n\r\nconst customStyles = {\r\n content: {\r\n background: 'none',\r\n padding: 0,\r\n border: 'none',\r\n },\r\n overlay: {\r\n background: 'rgba(0, 0, 0, 0.8)',\r\n zIndex: 2003,\r\n },\r\n};\r\nconst LightboxSettings = {\r\n showStatus: false,\r\n showIndicators: false,\r\n useKeyboardArrows: true,\r\n thumbWidth: 50,\r\n autoPlay: false,\r\n autoFocus: true,\r\n};\r\n\r\nconst renderThumbnails = (children) => {\r\n const images = children.map((item, index) => {\r\n if (!item || !item.props || !item.props.children) {\r\n return undefined;\r\n }\r\n // find img to get source\r\n const imageElement = item.props.children.find(\r\n (ele) => ele.type === 'img'\r\n );\r\n if (!imageElement || !imageElement.props || !imageElement.props.src) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n