{"version":3,"sources":["webpack://HSVideoPlayer/webpack/universalModuleDefinition","webpack://HSVideoPlayer/webpack/bootstrap","webpack://HSVideoPlayer/./src/js/hs-video-player.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","defaults","parentSelector","targetSelector","classMap","toggle","videoType","videoId","isAutoplay","isMuted","youTubeAPISrc","isYouTubeAPICreated","vimeoAPISrc","isVimeoAPICreated","HSVideoPlayer","el","options","id","this","collection","elems","HTMLElement","document","querySelectorAll","length","addToCollection","_init","that","_options","_$el","$el","_youTubeAPI","_vimeoAPI","addEventListener","querySelector","classList","_vimeoPlayer","_html5Player","_youTubePlayer","$initializedEl","settings","YTScriptTag","createElement","DOMFirstScriptTag","getElementsByTagName","src","parentNode","insertBefore","VimeoScriptTag","optionsWithSpecificAPI","assign","playerVars","origin","location","autoplay","specificAPIOptions","YT","Player","slice","muted","vimeoIframe","getElementById","Vimeo","on","iframe","style","height","width","insertAdjacentHTML","isLoop","item","push","hasAttribute","JSON","parse","getAttribute","find"],"mappings":"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","file":"hs-video-player.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"HSVideoPlayer\"] = factory();\n\telse\n\t\troot[\"HSVideoPlayer\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/hs-video-player.js\");\n","/*\n* HSVideoPlayer Plugin\n* @version: 3.0.0 (Wed, 17 Mar 2021)\n* @author: HtmlStream\n* @event-namespace: .HSVideoPlayer\n* @license: Htmlstream Libraries (https://htmlstream.com/)\n* Copyright 2021 Htmlstream\n*/\n\nconst dataAttributeName = 'data-hs-video-player-options'\nconst defaults = {\n parentSelector: null,\n targetSelector: null,\n\n classMap: {\n toggle: 'video-player-played'\n },\n\n videoType: 'you-tube',\n videoId: null,\n\n isAutoplay: false,\n isMuted: false,\n\n youTubeAPISrc: '//www.youtube.com/player_api',\n isYouTubeAPICreated: false,\n\n vimeoAPISrc: '//player.vimeo.com/api/player.js',\n isVimeoAPICreated: false\n}\n\nexport default class HSVideoPlayer {\n constructor(el, options, id) {\n this.collection = []\n const that = this\n let elems\n\n if (el instanceof HTMLElement) {\n elems = [el]\n } else if (el instanceof Object) {\n elems = el\n } else {\n elems = document.querySelectorAll(el)\n }\n\n for (let i = 0; i < elems.length; i += 1) {\n that.addToCollection(elems[i], options, id || elems[i].id)\n }\n\n if (!that.collection.length) {\n return false\n }\n\n // initialization calls\n that._init()\n\n return this\n }\n\n _init() {\n const that = this;\n\n for (let i = 0; i < that.collection.length; i += 1) {\n let _$el\n let _options\n\n if (that.collection[i].hasOwnProperty('$initializedEl')) {\n continue\n }\n\n _$el = that.collection[i].$el\n _options = that.collection[i].options\n\n if (_options.videoType === 'you-tube') {\n that._youTubeAPI(_$el, _options)\n }\n\n if (_options.videoType === 'vimeo') {\n that._vimeoAPI(_$el, _options)\n }\n\n _$el.addEventListener('click', () => {\n document.querySelector(_options.parentSelector).classList.toggle(_options.classMap.toggle)\n\n if (_options.videoType === 'vimeo') {\n that._vimeoPlayer(_$el, _options)\n } else if (_options.videoType === 'html5') {\n that._html5Player(_$el, _options)\n } else {\n that._youTubePlayer(_$el, _options)\n }\n })\n\n that.collection[i].$initializedEl = _options\n }\n }\n\n _youTubeAPI($el, settings) {\n if (settings.isYouTubeAPICreated) {\n return\n }\n\n let YTScriptTag = document.createElement('script'),\n DOMFirstScriptTag = document.getElementsByTagName('script')[0]\n\n YTScriptTag.src = settings.youTubeAPISrc\n\n DOMFirstScriptTag.parentNode.insertBefore(YTScriptTag, DOMFirstScriptTag)\n\n settings.isYouTubeAPICreated = true\n }\n\n _vimeoAPI($el, settings) {\n if (settings.isVimeoAPICreated) {\n return\n }\n\n let VimeoScriptTag = document.createElement('script'),\n DOMFirstScriptTag = document.querySelector('script')\n\n VimeoScriptTag.src = settings.vimeoAPISrc\n\n DOMFirstScriptTag.parentNode.insertBefore(VimeoScriptTag, DOMFirstScriptTag)\n\n settings.isVimeoAPICreated = true\n }\n\n _youTubePlayer($el, settings) {\n let optionsWithSpecificAPI = Object.assign({}, {\n videoId: settings.videoId,\n playerVars: {\n origin: window.location.origin,\n autoplay: settings.isAutoplay === true ? 1 : 0\n }\n }, settings.specificAPIOptions)\n\n const YTPlayer = new YT.Player(settings.targetSelector.slice(1, settings.targetSelector.length), optionsWithSpecificAPI)\n }\n\n _vimeoPlayer($el, settings) {\n let optionsWithSpecificAPI = Object.assign({}, {\n id: settings.videoId,\n autoplay: settings.isAutoplay === true ? 1 : 0,\n muted: settings.isMuted === true ? 1 : 0\n }, settings.specificAPIOptions)\n\n let vimeoIframe = document.getElementById(settings.targetSelector.slice(1, settings.targetSelector.length)),\n vimeoPlayer = new Vimeo.Player(vimeoIframe, optionsWithSpecificAPI)\n\n vimeoPlayer.on('loaded', () => {\n const iframe = vimeoIframe.querySelector('iframe')\n iframe.style.height = '100%'\n iframe.style.width = '100%'\n })\n }\n\n _html5Player($el, settings) {\n let $html5Iframe = document.querySelector(settings.targetSelector)\n $html5Iframe.insertAdjacentHTML('beforeend', `\n\t\t\t\t`)\n }\n\n addToCollection(item, options, id) {\n this.collection.push({\n $el: item,\n id: id || null,\n options: Object.assign(\n {},\n defaults,\n item.hasAttribute(dataAttributeName)\n ? JSON.parse(item.getAttribute(dataAttributeName))\n : {},\n options,\n ),\n })\n }\n\n getItem(item) {\n if (typeof item === 'number') {\n return this.collection[item].$initializedEl;\n } else {\n return this.collection.find(el => {\n return el.id === item;\n }).$initializedEl;\n }\n }\n}\n"],"sourceRoot":""}