{"version":3,"file":"Scripts_Components_ImageSlider_js.70876bbb64d11505fffc.js","mappings":"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","sources":["webpack:///./Scripts/Components/ImageSlider.js"],"sourcesContent":["import React, { useRef, useEffect, useState } from 'react';\nimport Carousel from 'react-multi-carousel';\nimport 'react-multi-carousel/lib/styles.css';\nimport useWindowRezise from './hooks/useWindowRezise';\n\nconst responsive = {\n    desktop: {\n        breakpoint: { max: 100000, min: 1024 },\n        items: 1,\n        slidesToSlide: 1, // optional, default to 1.\n        partialVisibilityGutter: 290\n    },\n    tablet: {\n        breakpoint: { max: 1024, min: 768 },\n        items: 1,\n        slidesToSlide: 1, // optional, default to 1.\n        partialVisibilityGutter: 80\n    },\n    mobile: {\n        breakpoint: { max: 767, min: 0 },\n        items: 1,\n        slidesToSlide: 1, // optional, default to 1.\n        partialVisibilityGutter: 0\n    },\n};\nconst ImageSlider = ({ values }) => {\n    const refPlayPause = useRef(null);\n    const refVideo = useRef(null);\n\n    let video;\n    let playPause;\n\n    const changeButtonState = (type) => {\n        if (type == 'playpause') {\n            if (video.paused || video.ended) {\n                playPause.classList.remove(\n                    'slider__video-item-play-pause--playing'\n                );\n            } else {\n                playPause.classList.add(\n                    'slider__video-item-play-pause--playing'\n                );\n            }\n        }\n    };\n    const [refAquired, setRefAquired] = useState(false);\n    const [isMobileWidth, setIsMobileWidth] = useState(false);\n    const { width } = useWindowRezise();\n\n    useEffect(() => {\n        setRefAquired(true);\n    }, []);\n    useEffect(() => {\n        video = refVideo.current;\n        playPause = refPlayPause.current;\n        const mobile = width < responsive.tablet.breakpoint.min;\n\n        setIsMobileWidth(mobile);\n        if (video && width >= 768) video.play();\n    }, [refAquired]);\n    const getPos = (e) => {\n        const bounds = e.currentTarget.getBoundingClientRect();\n        const x = e.clientX - bounds.left;\n        const y = e.clientY - bounds.top;\n\n        e.target.style.top =\n            '-' +\n            (y * (e.target.offsetHeight - e.currentTarget.offsetHeight)) /\n            e.currentTarget.offsetHeight +\n            'px';\n        e.target.style.left =\n            '-' +\n            (x * (e.target.offsetWidth - e.currentTarget.offsetWidth)) /\n            e.currentTarget.offsetWidth +\n            'px';\n    };\n\n    return width >= 768 ? null : (\n        <Carousel\n            swipeable={true}\n            draggable={false}\n            showDots={false}\n            responsive={responsive}\n            containerClass=\"carousel-container\"\n            dotListClass=\"custom-dot-list-style\"\n            itemClass=\"carousel-item-padding-8-px\"\n            keyBoardControl={true}\n            partialVisible={values.length > 1}\n            beforeChange={(nextSlide, { currentSlide, onMove }) => {\n                if (video) {\n                    if (width < responsive.mobile.breakpoint.max) {\n                        if (\n                            currentSlide === 1 &&\n                            (nextSlide === 0 || nextSlide === 2)\n                        ) {\n                            video.pause();\n                        }\n                    } else {\n                        if (nextSlide === 2 && currentSlide < 2) video.pause();\n                        else if (currentSlide === 2 && nextSlide < 2)\n                            video.play();\n                    }\n                }\n            }}\n        >\n            {values.map((value, index) =>\n                value.image ? (\n                    <div\n                        onMouseMove={(e) => getPos(e)}\n                        onMouseOut={(e) => {\n                            e.currentTarget.classList.remove(\n                                'slider__item--hover'\n                            );\n                        }}\n                        onMouseOver={(e) => {\n                            e.currentTarget.classList.add(\n                                'slider__item--hover'\n                            );\n                        }}\n                        className=\"slider__item\"\n                        key={`figure${index}`}\n                    >\n                        <a href={value.url}>                             \n                            <div dangerouslySetInnerHTML={{\n                                __html: value.image,\n                            }}></div>                          \n                        </a>\n                    </div>\n                ) : (\n                    <div className=\"slider__video-item\" key={`figure${index}`}>\n                        <figure className=\"slider__video-item-container\">\n                            <video\n                                onPlay={() => changeButtonState('playpause')}\n                                onPause={() => changeButtonState('playpause')}\n                                ref={refVideo}\n                                loop\n                                muted\n                                playsInline\n                                preload=\"metadata\"\n                            >\n                                <source\n                                    src={`${value.video}#t=0.001`}\n                                    type=\"video/mp4\"\n                                />\n                            </video>\n                            <div className=\"slider__video-item-controls\">\n                                <button\n                                    ref={refPlayPause}\n                                    className=\"slider__video-item-play-pause\"\n                                    type=\"button\"\n                                    onClick={() => {\n                                        if (video.paused || video.ended)\n                                            video.play();\n                                        else video.pause();\n                                    }}\n                                ></button>\n                            </div>\n                        </figure>\n                    </div>\n                )\n            )}\n        </Carousel>\n    );\n};\nexport default ImageSlider;\n"],"names":["React","useRef","useEffect","useState","Carousel","useWindowRezise","responsive","desktop","breakpoint","max","min","items","slidesToSlide","partialVisibilityGutter","tablet","mobile","ImageSlider","values","refPlayPause","refVideo","video","playPause","changeButtonState","type","paused","ended","classList","remove","add","refAquired","setRefAquired","isMobileWidth","setIsMobileWidth","width","current","play","getPos","e","bounds","currentTarget","getBoundingClientRect","x","clientX","left","y","clientY","top","target","style","offsetHeight","offsetWidth","length","nextSlide","currentSlide","onMove","pause","map","value","index","image","url","__html"],"sourceRoot":""}