{"version":3,"file":"slider-dots.js","mappings":"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","sources":["webpack://waves/webpack/bootstrap","webpack://waves/webpack/runtime/compat get default export","webpack://waves/webpack/runtime/define property getters","webpack://waves/webpack/runtime/hasOwnProperty shorthand","webpack://waves/external var \"ReactDOM\"","webpack://waves/external var \"React\"","webpack://waves/./src/projects/galleries/slider-dots/slider-dots-run.ts","webpack://waves/./src/domain/common.ts","webpack://waves/./src/projects/galleries/slider-dots/slider-dots.tsx","webpack://waves/./src/projects/galleries/slider-dots/index.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = ReactDOM;","const __WEBPACK_NAMESPACE_OBJECT__ = React;","export const RunSliderDots = (el :HTMLElement,autoScroll: number | null| undefined) => {\r\n //const animDuration = 600;\r\n //console.log('elSlider el: ',el);\r\n // const id = el.getAttribute(\"id\");\r\n el.addEventListener('touchstart', handleTouchStart, false);\r\n el.addEventListener('mousedown', handleTouchMouseStart, false);\r\n el.addEventListener('mouseup', handleTouchMouseEnd, false);\r\n el.addEventListener('touchmove', handleTouchMove, false);\r\n el.addEventListener('touchend', handleTouchEnd, false);\r\n\r\n //console.log(`RunSliderDots.el: ${id}`, el);\r\n\r\n const slider = el;\r\n const dots: any = slider.querySelector(\".dots\");\r\n const sliderImgs: any = slider.querySelectorAll(\".img\");\r\n\r\n let currImg = 0;\r\n let prevImg = sliderImgs.length - 1;\r\n\r\n // Creates dots and add listeners to them\r\n for (let i = 0; i < sliderImgs.length; ++i) {\r\n const dot = document.createElement(\"div\");\r\n dot.classList.add(\"dot\");\r\n dots.appendChild(dot);\r\n dot.addEventListener(\"click\", dotClick.bind(null, i), false);\r\n }\r\n const allDots = dots.querySelectorAll(\".dot\") as HTMLElement[];\r\n allDots[0].classList.add(\"active-dot\");\r\n\r\n sliderImgs[0].style.left = \"0\";\r\n let refreshIntervalId: NodeJS.Timer;\r\n if(autoScroll)\r\n refreshIntervalId = setInterval(runAutoScroll, autoScroll);\r\n function runAutoScroll( )\r\n {\r\n const allDots = dots.querySelectorAll(\".dot\") as HTMLElement[];\r\n for (let i = 0; i < allDots.length; ++i) {\r\n const dot = allDots[i];\r\n if((i+1) === allDots.length) {\r\n //allDots[0].click();\r\n dotAutoScroll(0);\r\n return false;\r\n }\r\n else if(dot.classList.contains(\"active-dot\")){\r\n //allDots[i+1].click();\r\n dotAutoScroll(i+1);\r\n return false;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Animates images\r\n * @param {number} [nextImg] - index of next image to show\r\n * @param {boolean} [right = false] - animate to right\r\n */\r\n function animateSlider(nextImg: number, right: boolean) {\r\n //console.log(`nextImg:${nextImg}, right:${right}`);\r\n if(nextImg === 0 || nextImg > sliderImgs.length)\r\n return;\r\n curDotNumber = nextImg;\r\n if (!nextImg)\r\n nextImg = currImg + 1 < sliderImgs.length ? currImg + 2 : 1;\r\n\r\n --nextImg;\r\n sliderImgs[prevImg].style.animationName = \"\";\r\n\r\n //console.log(`nextImg:${nextImg}`);\r\n if (!right) {\r\n sliderImgs[nextImg].style.animationName = \"leftNext\";\r\n sliderImgs[currImg].style.animationName = \"leftCurr\";\r\n } else {\r\n sliderImgs[nextImg].style.animationName = \"rightNext\";\r\n sliderImgs[currImg].style.animationName = \"rightCurr\";\r\n }\r\n\r\n prevImg = currImg;\r\n currImg = nextImg;\r\n\r\n const currDot = allDots[currImg];\r\n currDot.classList.add(\"active-dot\");\r\n const prevDot = allDots[prevImg];\r\n prevDot.classList.remove(\"active-dot\");\r\n }\r\n function removeLeftFromStyle(){\r\n if (sliderImgs[0].style.left === \"0px\") {\r\n sliderImgs[0].style.left = null;\r\n }\r\n }\r\n function dotAutoScroll(num: number) {\r\n //console.log('dotAutoScroll: aasas',num);\r\n removeLeftFromStyle();\r\n\r\n if (num === currImg)\r\n return false;\r\n\r\n if (num > currImg)\r\n animateSlider(num + 1, false);\r\n else\r\n animateSlider(num + 1, true);\r\n\r\n }\r\n /**\r\n * Decides if animate to left or right and highlights clicked dot\r\n * @param {number} num - index of clicked dot\r\n */\r\n function dotClick(num: number) {\r\n //console.log('dotClick: aasas',num);\r\n clearInterval(refreshIntervalId);\r\n removeLeftFromStyle();\r\n\r\n if (num === currImg)\r\n return false;\r\n\r\n if (num > currImg)\r\n animateSlider(num + 1, false);\r\n else\r\n animateSlider(num + 1, true);\r\n\r\n }\r\n\r\n\r\n var xDown: any = null;\r\n var yDown: any = null;\r\n\r\n var xDownEnd: any = null;\r\n var yDownEnd: any = null;\r\n\r\n var curDotNumber: number = 1;\r\n\r\n function getTouches(evt: any) {\r\n return evt.touches || // browser API\r\n evt.originalEvent.touches; // jQuery\r\n }\r\n\r\n function handleTouchStart(evt: any) {\r\n //evt.preventDefault();\r\n //console.log('handleTouchStart');\r\n const firstTouch = getTouches(evt)[0];\r\n xDown = firstTouch.clientX;\r\n yDown = firstTouch.clientY;\r\n };\r\n\r\n function handleTouchMouseStart(evt: any) {\r\n evt.preventDefault();\r\n //console.log('handleTouchMouseStart',evt);\r\n xDown = evt.clientX;\r\n yDown = evt.clientY;\r\n };\r\n\r\n function handleTouchMouseEnd(evt: any) {\r\n evt.preventDefault();\r\n //console.log('handleTouchMouseEnd',evt);\r\n if (xDown < evt.clientX) {\r\n //console.log('mouse swap right');\r\n if(curDotNumber > 1) {\r\n clearInterval(refreshIntervalId);\r\n removeLeftFromStyle();\r\n animateSlider(curDotNumber - 1, true);\r\n }\r\n\r\n }\r\n if (xDown > evt.clientX) {\r\n //console.log(`mouse swap left curDotNumber:${curDotNumber}`,sliderImgs.length);\r\n if(curDotNumber < sliderImgs.length) {\r\n clearInterval(refreshIntervalId);\r\n removeLeftFromStyle();\r\n animateSlider(curDotNumber + 1, false);\r\n }\r\n }\r\n //xDown = 0;\r\n //yDown = 0;\r\n };\r\n\r\n function handleTouchMove(evt: any) {\r\n //console.log('handleTouchMove');\r\n if (!xDown || !yDown) {\r\n return;\r\n }\r\n\r\n xDownEnd = evt.touches[0].clientX;\r\n yDownEnd = evt.touches[0].clientY;\r\n };\r\n function handleTouchEnd(evt: any) {\r\n //console.log(`handleTouchEnd xDown:${xDown} / xDownEnd:${xDownEnd}, yDown:${yDown} / yDownEnd:${yDownEnd}`);\r\n if (!xDownEnd || !yDownEnd) {\r\n return;\r\n }\r\n\r\n // const xDiff = xDown - xDownEnd;\r\n // const yDiff = yDown - yDownEnd;\r\n\r\n if (Math.abs(xDown) > Math.abs(xDownEnd)) {/*most significant*/\r\n\r\n /* left swipe */\r\n //console.log('left swipe',curDotNumber);\r\n if(curDotNumber < sliderImgs.length) {\r\n clearInterval(refreshIntervalId);\r\n removeLeftFromStyle();\r\n animateSlider(curDotNumber + 1, false);\r\n }\r\n\r\n } else {\r\n /* right swipe */\r\n //console.log('right swipe');\r\n if(curDotNumber > 1) {\r\n clearInterval(refreshIntervalId);\r\n removeLeftFromStyle();\r\n animateSlider(curDotNumber - 1, true);\r\n }\r\n }\r\n xDownEnd = null;\r\n yDownEnd = null;\r\n }\r\n}","/**\r\n * get JSON from HTML element on the page\r\n */\r\nimport React, {useEffect, useState} from \"react\";\r\n\r\n\r\nexport const getJSONFromHtml = ($el: HTMLElement|null) => {\r\n if(!$el || !$el.textContent) return null;\r\n\r\n let json = null;\r\n\r\n try{\r\n json = JSON.parse($el.textContent);\r\n }\r\n catch(ex){}\r\n\r\n return json;\r\n};\r\n\r\n/**\r\n * get setting fromHTML\r\n *