{"version":3,"file":"76.543570e144b5eb637afb.js","mappings":"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","sources":["webpack://gyldendal-uddannelse/./src/Foundation/Frontend/js/utils/gsap.js","webpack://gyldendal-uddannelse/./src/Foundation/Frontend/ReactComponents/VideoPlayer/video-player.js","webpack://gyldendal-uddannelse/./src/Foundation/Frontend/ReactViews/VideoPlayer/video-player-view.js"],"sourcesContent":["let gsap = undefined;\r\nif (global.canUseDOM) {\r\n gsap = require(\"gsap\").gsap;\r\n}\r\n\r\nexport { gsap };\r\n","/* eslint-disable jsx-a11y/iframe-has-title */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component, Suspense } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { gsap } from \"Utils/gsap\";\r\n\r\nconst Youtube = React.lazy(() => import(\"react-youtube\"));\r\n\r\nclass VideoPlayer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n currentVideoType: null,\r\n currentHostName: null,\r\n currentVideoId: null,\r\n currentVideoTokenId: null\r\n };\r\n this.closePlayer = this.closePlayer.bind(this);\r\n this.twentythreeVideo = this.twentythreeVideo.bind(this);\r\n }\r\n\r\n setCurrentVideo(e) {\r\n let url = e.currentTarget.dataset.video || e.currentTarget.getAttribute(\"href\");\r\n url = url.replace(\"http:\", \"\");\r\n url = url.replace(\"https:\", \"\");\r\n let videoId;\r\n let hostName;\r\n\r\n if (url.includes(\"youtube\")) {\r\n hostName = url.split(\"v=\")[0];\r\n videoId = url.split(\"v=\")[1];\r\n if (videoId.indexOf(\"&\") != -1) {\r\n videoId = videoId.split(\"&\")[0];\r\n }\r\n\r\n this.setState({\r\n currentVideoType: \"youtube\",\r\n currentHostName: url.split(\"v=\")[0],\r\n currentVideoId: videoId\r\n });\r\n }\r\n\r\n if (url.includes(\"23video.com\") || url.includes(this.props.TwentyThreeVideoDomain)) {\r\n const splitter = url.includes(\"/video/\") ? \"/video/\" : \"/secret/\";\r\n hostName = url.split(splitter)[0];\r\n videoId = url.split(splitter)[1].split(\"/\")[0];\r\n const videoTokenId = splitter === \"/secret/\" ? url.split(splitter)[1].split(\"/\")[1] : null;\r\n\r\n this.setState({\r\n currentVideoType: \"23video\",\r\n currentHostName: hostName,\r\n currentVideoId: videoId,\r\n currentVideoTokenId: videoTokenId\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n if (!global.canUseDOM) {\r\n return;\r\n }\r\n\r\n const elements = document.querySelectorAll(\r\n `[data-video], [href*='youtube.com/watch'], [href*='23video.com'], [href*='${this.props.TwentyThreeVideoDomain}']`\r\n );\r\n\r\n elements.forEach(elem => {\r\n elem.addEventListener(\"click\", e => {\r\n const targetContainsVideoLink = e.target && e.target.classList.contains(\"video-link\");\r\n\r\n if (targetContainsVideoLink) {\r\n e.preventDefault();\r\n this.setCurrentVideo(e);\r\n return false;\r\n }\r\n });\r\n });\r\n\r\n document.addEventListener(\"keyup\", e => {\r\n if (!global.canUseDOM || e.key !== \"Escape\") {\r\n return;\r\n }\r\n\r\n this.closePlayer();\r\n });\r\n }\r\n\r\n UNSAFE_componentWillUpdate() {\r\n if (global.canUseDOM) {\r\n window.requestAnimationFrame(() => {\r\n const el = this.refs.playerbox;\r\n if (el) {\r\n gsap.from(el, { duration: 0.25, opacity: 0 });\r\n }\r\n });\r\n }\r\n }\r\n\r\n closePlayer() {\r\n if (global.canUseDOM && this.refs.playerbox) {\r\n const el = this.refs.playerbox;\r\n gsap.to(el, {\r\n duration: 0.25,\r\n opacity: 0,\r\n onComplete: () => {\r\n this.setState({\r\n currentVideoId: null,\r\n currentVideoType: null,\r\n currentHostName: null,\r\n currentVideoTokenId: null\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n currentVideoId: null,\r\n currentVideoType: null,\r\n current: null,\r\n currentVideoTokenId: null\r\n });\r\n }\r\n }\r\n\r\n twentythreeVideo() {\r\n // https://www.twentythree.net/help/embedding-your-videos\r\n\r\n // PUBLIC URL (e.g. https://magnetix.23video.com/video/11982413/hk-oliver-winther)\r\n // Default player: src={`http://magnetix.23video.com/v.ihtml/player.html?showDescriptions=1&source=site&photo%5fid=11982413`}\r\n // Custom player: src={`http://magnetix.23video.com/9271000.ihtml/player.html?showDescriptions=1&source=site&photo%5fid=11982413`}\r\n\r\n // SECRET URL (e.g. https://magnetix.23video.com/secret/11982413/05b72fccdf19747d82fa721cc4dbc4f4)\r\n // Default player: src={`http://magnetix.23video.com/v.ihtml/player.html?token=05b72fccdf19747d82fa721cc4dbc4f4&source=embed&photo%5fid=11982413`}\r\n // Custom player: src={`http://magnetix.23video.com/9271000.ihtml/player.html?token=05b72fccdf19747d82fa721cc4dbc4f4&source=embed&photo%5fid=11982413`}\r\n\r\n // TwentyThreeVideoDomain examples:\r\n //https://gyldendaluddannelse.videomarketingplatform.co\r\n //https://hansreitzel.videomarketingplatform.co\r\n //https://munksgaard.videomarketingplatform.co\r\n\r\n const playerId = this.props.TwentyThreeVideoPlayerId || \"v\";\r\n const domain = `${this.state.currentHostName}/${playerId}.ihtml/player.html`;\r\n const tokenId = this.state.currentVideoTokenId;\r\n const token = `token=${tokenId}`;\r\n const videoId = this.state.currentVideoId;\r\n const video = `photo%5fid=${videoId}`;\r\n\r\n let src;\r\n if (tokenId) {\r\n src = `${domain}?${token}&source=embed&${video}`;\r\n } else {\r\n src = `${domain}?source=site&${video}`;\r\n }\r\n\r\n return (\r\n