{"version":3,"file":"chunks/212e5c6647afab.js","mappings":"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","sources":["webpack:///./resources/js/components/generic/video-link.ts"],"sourcesContent":["import * as $ from \"jquery\";\nimport imkt from '../../imkt';\nimport url from '../../utils/url';\nimport Modal from '../../components/generic/modal';\n\nexport default class VideoLink {\n sources = {\n youtube: function () {\n var srcUrl = \"https://www.youtube.com/embed/\" + this.params.videoId,\n videoParams = {\n autoplay: this.params.autoplay,\n modestbranding: this.params.modestbranding,\n enablejsapi: 1,\n rel: 0,\n },\n $embed = $(\"<iframe frameborder='0' allowfullscreen></iframe>\");\n\n srcUrl = url.addUrlParams(videoParams, srcUrl);\n\n $embed.attr(\"src\", srcUrl).addClass(\"youtube video video-tracking\");\n return $embed;\n },\n vimeo: function () {\n var srcUrl = \"//player.vimeo.com/video/\" + this.params.videoId,\n videoParams = {\n autoplay: this.params.autoplay,\n title: 0,\n portrait: 0,\n byline: 0,\n },\n $embed = $(\"<iframe frameborder='0' allowfullscreen></iframe>\");\n\n srcUrl = url.addUrlParams(videoParams, srcUrl);\n\n $embed.attr(\"src\", srcUrl).addClass(\"vimeo video\");\n\n return $embed;\n },\n };\n\n behaviors = {\n overlaySection: function () {\n if (!this.modal) {\n this.modal = new Modal({\n modalType: \"video\",\n fixed: false,\n centerVertically: false,\n modalContainer: this.domRoot.closest(\"section, .container-fluid\"),\n id: this.params.videoId,\n });\n\n this.bindModalEvents();\n\n this.$videoPlayer = this.getVideoEmbed();\n this.modal.$modalContent.html(this.$videoPlayer);\n this.modal.$overlay\n .on(\"modal.place\", $.proxy(this.placeSectionVideo, this))\n .on(\n \"modal.show\",\n $.proxy(function () {\n this.modal.params.modalContainer.addClass(\"modal-video\");\n }, this)\n )\n .on(\n \"modal.hide\",\n $.proxy(function () {\n this.modal.params.modalContainer.removeClass(\"modal-video\");\n }, this)\n );\n }\n this.modal.show();\n this.modal.place();\n },\n modal: function () {\n if (!this.modal) {\n this.modal = new Modal({\n modalType: \"video\",\n });\n\n this.bindModalEvents();\n\n this.$videoPlayer = this.getVideoEmbed();\n this.modal.$modalContent.html(this.$videoPlayer);\n this.modal.$overlay.on(\n \"modal.place\",\n $.proxy(this.placeModalVideo, this)\n );\n }\n this.modal.show();\n this.modal.place();\n },\n };\n domRoot: JQuery<HTMLElement>;\n params: any;\n $videoPlayer: any;\n modal: any;\n\n constructor(domRoot: HTMLElement, params: any) {\n this.domRoot = $(domRoot);\n this.params = {\n // define default params here\n autoplay: 1,\n modestbranding: 1,\n rel: 0,\n aspectRatio: 16 / 9,\n addPlayButton: false,\n buttonSize: \"medium\",\n ...params,\n };\n this.init();\n }\n\n init() {\n if (!imkt.core.is.mobile()) {\n this.domRoot.on(\"click\", $.proxy(this.onclick, this));\n }\n }\n\n onclick(e) {\n if (\n this.params.behavior &&\n this.behaviors.hasOwnProperty(this.params.behavior)\n ) {\n e.preventDefault();\n this.behaviors[this.params.behavior].call(this);\n }\n }\n\n getVideoEmbed() {\n if (this.params.source && this.sources.hasOwnProperty(this.params.source)) {\n return this.sources[this.params.source].call(this);\n }\n }\n\n getVideoDimensions($container) {\n var r = {\n height: null,\n width: null,\n };\n\n if (\n $container.outerWidth() / $container.outerHeight() >\n this.params.aspectRatio\n ) {\n r.top = 0;\n r.height = Math.round($container.outerHeight());\n r.width = Math.round(r.height * this.params.aspectRatio);\n } else {\n r.width = Math.round($container.outerWidth());\n r.height = Math.round(r.width / this.params.aspectRatio);\n r.top = Math.round(($container.outerHeight() - r.height) / 2);\n }\n\n return r;\n }\n\n pauseVideo() {\n if (this.params.source === \"youtube\") {\n this.issueYoutubeCommand(\"pauseVideo\");\n // ID for Optimizely\n this.$videoPlayer.removeAttr(\"id\");\n } else if (this.params.source === \"vimeo\") {\n this.issueVimeoCommand(\"pause\");\n }\n }\n\n playVideo() {\n if (this.params.source === \"youtube\") {\n this.issueYoutubeCommand(\"playVideo\");\n // ID for Optimizely\n this.$videoPlayer.attr(\"id\", \"youtube-video-active\");\n } else if (this.params.source === \"vimeo\") {\n this.issueVimeoCommand(\"play\");\n }\n }\n\n issueYoutubeCommand(command) {\n var iframe;\n if (this.$videoPlayer && this.$videoPlayer.length) {\n iframe = this.$videoPlayer[0].contentWindow;\n iframe.postMessage(\n '{\"event\":\"command\",\"func\":\"' + command + '\",\"args\":\"\"}',\n \"*\"\n );\n }\n }\n\n issueVimeoCommand(command) {\n var iframe;\n if (this.$videoPlayer && this.$videoPlayer.length) {\n iframe = this.$videoPlayer[0].contentWindow;\n iframe.postMessage('{\"method\":\"' + command + '\",\"value\":\"\"}', \"*\");\n }\n }\n\n placeVideo(width, height, top, additionalClasses) {\n this.$videoPlayer\n .css({\n width: width,\n height: height,\n })\n .addClass(additionalClasses);\n\n this.modal.$modal.css({\n top: top,\n });\n }\n\n placeSectionVideo() {\n if (this.modal.$overlay) {\n var videoDimensions = this.getVideoDimensions(this.modal.$overlay);\n this.placeVideo(\n videoDimensions.width,\n videoDimensions.height,\n Math.max(0, videoDimensions.top)\n );\n }\n }\n\n placeModalVideo() {\n if (this.modal.$modal) {\n var videoWidth = this.modal.$modal.width();\n this.placeVideo(videoWidth, videoWidth / this.params.aspectRatio);\n this.modal.centerModal();\n }\n }\n\n bindModalEvents() {\n this.modal.$overlay\n .on(\"modal.shown\", $.proxy(this.playVideo, this))\n .on(\"modal.hide\", $.proxy(this.pauseVideo, this));\n }\n}\n"],"names":["VideoLink","domRoot","params","_classCallCheck","_defineProperty","youtube","srcUrl","this","videoId","videoParams","autoplay","modestbranding","enablejsapi","rel","$embed","$","url","attr","addClass","vimeo","title","portrait","byline","overlaySection","modal","Modal","modalType","fixed","centerVertically","modalContainer","closest","id","bindModalEvents","$videoPlayer","getVideoEmbed","$modalContent","html","$overlay","on","placeSectionVideo","removeClass","show","place","placeModalVideo","_objectSpread","aspectRatio","addPlayButton","buttonSize","init","key","value","imkt","onclick","e","behavior","behaviors","hasOwnProperty","preventDefault","call","source","sources","$container","r","height","width","outerWidth","outerHeight","top","Math","round","issueYoutubeCommand","removeAttr","issueVimeoCommand","command","length","contentWindow","postMessage","additionalClasses","css","$modal","videoDimensions","getVideoDimensions","placeVideo","max","videoWidth","centerModal","playVideo","pauseVideo"],"sourceRoot":""}