{"version":3,"sources":["webpack:///./Scripts/Actions/LightboxImages.action.js","webpack:///./Scripts/Components/LightboxImages.js"],"names":["show","visible","type","LIGHTBOX_IMAGES_SHOW","payload","customStyles","content","background","padding","border","overlay","zIndex","LightboxSettings","showStatus","showIndicators","useKeyboardArrows","thumbWidth","autoPlay","autoFocus","renderThumbnails","children","map","item","index","props","imageElement","find","ele","src","key","style","backgroundImage","className","dispatch","useDispatch","useSelector","state","lightboxImages","onClose","useCallback","onClickThumbnail","LIGHTBOX_IMAGES_SET_CURRENT_IMAGE","setCurrentIndex","images","length","Fragment","data-src","href","itemProp","onClick","e","preventDefault","rel","dangerouslySetInnerHTML","__html","html","image","ariaHideApp","preventScroll","isOpen","onRequestClose","shouldCloseOnOverlayClick","selectedItem","renderThumbs","value"],"mappings":"yLAKO,MAOMA,EAAQC,IAAD,CAChBC,KAAMC,KACNC,QAAS,CACLH,a,+MCRR,MAAMI,EAAe,CACjBC,QAAS,CACLC,WAAY,OACZC,QAAS,EACTC,OAAQ,QAEZC,QAAS,CACLH,WAAY,qBACZI,OAAQ,OAGVC,EAAmB,CACrBC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,WAAY,GACZC,UAAU,EACVC,WAAW,GAGTC,EAAoBC,GACPA,EAASC,KAAI,CAACC,EAAMC,KAC/B,IAAKD,IAASA,EAAKE,QAAUF,EAAKE,MAAMJ,SACpC,OAIJ,MAAMK,EAAeH,EAAKE,MAAMJ,SAASM,MACpCC,GAAqB,QAAbA,EAAIzB,OAEjB,OAAKuB,GAAiBA,EAAaD,OAAUC,EAAaD,MAAMI,IAK5D,uBACIC,IAAKN,EACLO,MAAO,CACHC,gBAAiB,OAASN,EAAaD,MAAMI,IAAM,KAEvDI,UAAU,0BAVlB,KAkHR,EAhGwBR,IACpB,MAAMS,GAAWC,WACX,QAAEjC,EAAF,MAAWsB,IAAUY,SAAaC,GAAUA,EAAMC,iBAClDC,GAAUC,kBAAY,IAAMN,EAASjC,GAAK,KAAS,CAACiC,IACpDO,EAAoBjB,IACtBU,EAASjC,GAAK,IACdiC,EDxDwBV,KAAD,CAC3BrB,KAAMuC,KACNrC,QAAS,CACLmB,WCqDSmB,CAAgBnB,KAG7B,OAAQC,EAAMmB,QAAUnB,EAAMmB,OAAOC,OAAS,EAC1C,gBAAC,EAAAC,SAAD,MAEA,gBAAC,EAAAA,SAAD,KACI,uBAAKb,UAAU,oCACX,2BACI,0BAAQA,UAAU,mCACd,qBACIc,WAAUtB,EAAMmB,OAAO,GAAGf,IAC1BmB,KAAK,IACLC,SAAS,MACTC,QAAUC,IACNA,EAAEC,iBACFX,EAAiB,IAErBR,UAAU,gBACVoB,IAAI,WACJC,wBAAyB,CACrBC,OAAQ9B,EAAMmB,OAAO,GAAGY,UAKxC,2BACI,uBAAKvB,UAAU,oCACVR,EAAMmB,OAAOtB,KACV,CAACmC,EAAOjC,IACJA,EAAQ,GACJ,uBACIS,UAAU,kCACVH,IAAKN,GAEL,qBACIuB,WAAUU,EAAM5B,IAChBmB,KAAK,IACLC,SAAS,MACTC,QAAUC,IACNA,EAAEC,iBACFX,EAAiBjB,IAErBS,UAAU,gBACVoB,IAAI,WACJC,wBAAyB,CACrBC,OACI9B,EAAMmB,OAAOpB,GAAOgC,cAS5D,gBAAC,IAAD,CACIE,aAAa,EACbC,eAAe,EACfC,OAAQ1D,EACR2D,eAAgBtB,EAChBR,MAAOzB,EACPwD,2BAA2B,GAE3B,gBAAC,KAAD,KACQjD,EADR,CAEIkD,aAAcvC,EACdS,UAAU,YACV+B,aAAc5C,IAEbK,EAAMmB,OAAOtB,KAAI,CAAC2C,EAAOzC,IACtB,uBACIM,IAAM,SAAQN,IACdS,UAAU,wBAEV,0BACIiB,QAASX,EACTN,UAAU,wBAFd,KAMA,uBAAKJ,IAAKoC,EAAMpC,IAAKI,UAAU","file":"496.688bc5502df68db71e93.js","sourcesContent":["import {\n    LIGHTBOX_IMAGES_SET_CURRENT_IMAGE,\n    LIGHTBOX_IMAGES_SHOW,\n} from '../constants';\n\nexport const setCurrentIndex = (index) => ({\n    type: LIGHTBOX_IMAGES_SET_CURRENT_IMAGE,\n    payload: {\n        index,\n    },\n});\n\nexport const show = (visible) => ({\n    type: LIGHTBOX_IMAGES_SHOW,\n    payload: {\n        visible,\n    },\n});\n","import React, { Fragment, useCallback } from 'react';\nimport Modal from 'react-modal';\nimport 'react-responsive-carousel/lib/styles/carousel.min.css';\nimport { Carousel as Lightbox } from 'react-responsive-carousel';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { show, setCurrentIndex } from '../Actions/LightboxImages.action';\n\nconst customStyles = {\n    content: {\n        background: 'none',\n        padding: 0,\n        border: 'none',\n    },\n    overlay: {\n        background: 'rgba(0, 0, 0, 0.8)',\n        zIndex: 2003,\n    },\n};\nconst LightboxSettings = {\n    showStatus: false,\n    showIndicators: false,\n    useKeyboardArrows: true,\n    thumbWidth: 50,\n    autoPlay: false,\n    autoFocus: true,\n};\n\nconst renderThumbnails = (children) => {\n    const images = children.map((item, index) => {\n        if (!item || !item.props || !item.props.children) {\n            return undefined;\n        }\n\n        // find img to get source\n        const imageElement = item.props.children.find(\n            (ele) => ele.type === 'img'\n        );\n        if (!imageElement || !imageElement.props || !imageElement.props.src) {\n            return undefined;\n        }\n\n        return (\n            <div\n                key={index}\n                style={{\n                    backgroundImage: 'url(' + imageElement.props.src + ')',\n                }}\n                className=\"thumbnail__image\"\n            />\n        );\n    });\n\n    return images;\n};\n\nconst LightboxImages = (props) => {\n    const dispatch = useDispatch();\n    const { visible, index } = useSelector((state) => state.lightboxImages);\n    const onClose = useCallback(() => dispatch(show(false)), [dispatch]);\n    const onClickThumbnail = (index) => {\n        dispatch(show(true));\n        dispatch(setCurrentIndex(index));\n    };\n\n    return !props.images || props.images.length < 1 ? (\n        <Fragment />\n    ) : (\n        <Fragment>\n            <div className=\"product-detail__images-container\">\n                <div>\n                    <figure className=\"product-detail__image-container\">\n                        <a\n                            data-src={props.images[0].src}\n                            href=\"#\"\n                            itemProp=\"url\"\n                            onClick={(e) => {\n                                e.preventDefault();\n                                onClickThumbnail(0);\n                            }}\n                            className=\"product-image\"\n                            rel=\"nofollow\"\n                            dangerouslySetInnerHTML={{\n                                __html: props.images[0].html,\n                            }}\n                        ></a>\n                    </figure>\n                </div>\n                <div>\n                    <div className=\"product-detail__image-thumbnails\">\n                        {props.images.map(\n                            (image, index) =>\n                                index > 0 && (\n                                    <div\n                                        className=\"product-detail__image-container\"\n                                        key={index}\n                                    >\n                                        <a\n                                            data-src={image.src}\n                                            href=\"#\"\n                                            itemProp=\"url\"\n                                            onClick={(e) => {\n                                                e.preventDefault();\n                                                onClickThumbnail(index);\n                                            }}\n                                            className=\"product-image\"\n                                            rel=\"nofollow\"\n                                            dangerouslySetInnerHTML={{\n                                                __html:\n                                                    props.images[index].html,\n                                            }}\n                                        ></a>\n                                    </div>\n                                )\n                        )}\n                    </div>\n                </div>\n            </div>\n            <Modal\n                ariaHideApp={false}\n                preventScroll={true}\n                isOpen={visible}\n                onRequestClose={onClose}\n                style={customStyles}\n                shouldCloseOnOverlayClick={false}\n            >\n                <Lightbox\n                    {...LightboxSettings}\n                    selectedItem={index}\n                    className=\"light-box\"\n                    renderThumbs={renderThumbnails}\n                >\n                    {props.images.map((value, index) => (\n                        <div\n                            key={`figure${index}`}\n                            className=\"light-box__container\"\n                        >\n                            <button\n                                onClick={onClose}\n                                className=\"light-box__close-btn\"\n                            >\n                                &times;\n                            </button>\n                            <img src={value.src} className=\"light-box__image\" />\n                        </div>\n                    ))}\n                </Lightbox>\n            </Modal>\n        </Fragment>\n    );\n};\n\nexport default LightboxImages;\n"],"sourceRoot":""}