{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"/home/gkkdzdg/www/src/components/VideoLoop/VideoLoop.js\",\n    _this = this,\n    _s = $RefreshSig$();\n\nimport cn from 'classnames';\nimport { useRef, useState } from 'react';\nimport styles from './VideoLoop.module.scss';\n\nvar VideoLoop = function VideoLoop(_ref) {\n  _s();\n\n  var className = _ref.className,\n      videos = _ref.videos;\n\n  var _useState = useState(0),\n      index = _useState[0],\n      setIndex = _useState[1];\n\n  var preloadingRef = useRef();\n  var playingRef = useRef(); // console.log('VideoLoop.js::12 videos', videos)\n\n  if (videos.length == 0) return null;\n\n  if (videos.length == 1) {\n    return /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.container, className),\n      children: /*#__PURE__*/_jsxDEV(\"video\", {\n        className: cn(styles.video),\n        autoPlay: true,\n        muted: true,\n        loop: true,\n        ref: playingRef,\n        children: /*#__PURE__*/_jsxDEV(\"source\", {\n          src: videos[0],\n          type: \"video/mp4\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 24,\n          columnNumber: 13\n        }, _this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 17,\n        columnNumber: 10\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 16,\n      columnNumber: 14\n    }, _this);\n  }\n\n  var onEnded = function onEnded() {\n    preloadingRef && preloadingRef.current && preloadingRef.current.play();\n    playingRef && playingRef.current && playingRef.current.pause();\n    setIndex(function (i) {\n      return i + 1 == videos.length ? 0 : i + 1;\n    });\n  };\n\n  var previousVideo = videos.length > 1 && videos[index - 1 >= 0 ? index - 1 : videos.length - 1];\n  var currentVideo = videos[index];\n  var nextVideo = videos.length > 1 && videos[index + 1 == videos.length ? 0 : index + 1];\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.container, className),\n    children: [nextVideo && /*#__PURE__*/_jsxDEV(\"video\", {\n      className: cn(styles.nextVideo),\n      ref: preloadingRef,\n      muted: true,\n      children: /*#__PURE__*/_jsxDEV(\"source\", {\n        src: nextVideo,\n        type: \"video/mp4\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 48,\n        columnNumber: 13\n      }, _this)\n    }, nextVideo + '-preload', false, {\n      fileName: _jsxFileName,\n      lineNumber: 42,\n      columnNumber: 24\n    }, _this), previousVideo && /*#__PURE__*/_jsxDEV(\"video\", {\n      className: cn(styles.previousVideo),\n      muted: true,\n      children: /*#__PURE__*/_jsxDEV(\"source\", {\n        src: nextVideo,\n        type: \"video/mp4\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 55,\n        columnNumber: 13\n      }, _this)\n    }, previousVideo, false, {\n      fileName: _jsxFileName,\n      lineNumber: 50,\n      columnNumber: 28\n    }, _this), /*#__PURE__*/_jsxDEV(\"video\", {\n      className: cn(styles.video),\n      autoPlay: true,\n      muted: true,\n      onEnded: nextVideo && onEnded,\n      loop: nextVideo ? false : true,\n      ref: playingRef,\n      children: /*#__PURE__*/_jsxDEV(\"source\", {\n        src: currentVideo,\n        type: \"video/mp4\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 66,\n        columnNumber: 13\n      }, _this)\n    }, currentVideo, false, {\n      fileName: _jsxFileName,\n      lineNumber: 57,\n      columnNumber: 10\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 41,\n    columnNumber: 7\n  }, _this);\n};\n\n_s(VideoLoop, \"lX5ZrKebng6TcAsmQlgMpj4fR7Y=\");\n\n_c = VideoLoop;\nexport default VideoLoop;\n\nvar _c;\n\n$RefreshReg$(_c, \"VideoLoop\");","map":{"version":3,"sources":["/home/gkkdzdg/www/src/components/VideoLoop/VideoLoop.js"],"names":["cn","useRef","useState","styles","VideoLoop","className","videos","index","setIndex","preloadingRef","playingRef","length","container","video","onEnded","current","play","pause","i","previousVideo","currentVideo","nextVideo"],"mappings":"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","sourcesContent":["\nimport cn from 'classnames'\nimport { useRef, useState } from 'react'\nimport styles from './VideoLoop.module.scss'\n\nconst VideoLoop = ({ className, videos, }) => {\n\n   const [index, setIndex] = useState(0)\n   const preloadingRef = useRef()\n   const playingRef = useRef()\n\n   // console.log('VideoLoop.js::12 videos', videos)\n\n   if(videos.length == 0) return null\n   if(videos.length == 1) {\n      return <div className={cn(styles.container, className)}>\n         <video\n            className={cn(styles.video)}\n            autoPlay\n            muted\n            loop\n            ref={playingRef}\n         >\n            <source src={videos[0]} type=\"video/mp4\" />\n         </video>\n      </div>\n   }\n\n   const onEnded = () => {\n      preloadingRef && preloadingRef.current && preloadingRef.current.play()\n      playingRef && playingRef.current && playingRef.current.pause()\n\n      setIndex(i => (i + 1 == videos.length ? 0 : i + 1))\n   }\n\n   const previousVideo = videos.length > 1 && videos[index - 1 >= 0 ? index - 1 : videos.length - 1]\n   const currentVideo = videos[index]\n   const nextVideo = videos.length > 1 && videos[index + 1 == videos.length ? 0 : index + 1]\n\n   return (\n      <div className={cn(styles.container, className)}>\n         {nextVideo && <video\n            className={cn(styles.nextVideo)}\n            ref={preloadingRef}\n            muted\n            key={nextVideo + '-preload'}\n         >\n            <source src={nextVideo} type=\"video/mp4\" />\n         </video>}\n         {previousVideo && <video\n            className={cn(styles.previousVideo)}\n            muted\n            key={previousVideo}\n         >\n            <source src={nextVideo} type=\"video/mp4\" />\n         </video>}\n         <video\n            className={cn(styles.video)}\n            autoPlay\n            muted\n            onEnded={nextVideo && onEnded}\n            key={currentVideo}\n            loop={nextVideo ? false : true}\n            ref={playingRef}\n         >\n            <source src={currentVideo} type=\"video/mp4\" />\n         </video>\n      </div>\n   )\n}\n\nexport default VideoLoop\n\n"]},"metadata":{},"sourceType":"module"}