{"version":3,"sources":["webpack:///./assets/javascripts/modules/utils/FocusableElementUtils.js","webpack:///./node_modules/bootstrap/js/dist lazy ^\\.\\/.*\\.js$ namespace object","webpack:///./node_modules/flatpickr/dist/l10n lazy ^\\.\\/.*\\.js$ namespace object","webpack:///./assets/javascripts/modules/components/VideoBrightcove.js","webpack:///./assets/javascripts/modules/utils/DependencyInjector.js","webpack:///./assets/javascripts/modules/abstracts/Component.js"],"names":["$","__webpack_require__","d","__webpack_exports__","getFirstFocusable","toggleTabIndex","FOCUSABLE_ELEMENTS","parent","querySelector","join","makeTabbable","el","hasAttribute","setAttribute","getAttribute","removeAttribute","makeUntabbable","classList","contains","add","focusable","els","Array","prototype","slice","call","find","getFocusableElements","forEach","map","./alert.js","./button.js","./carousel.js","./collapse.js","./dropdown.js","./index.js","./modal.js","./popover.js","./scrollspy.js","./tab.js","./toast.js","./tooltip.js","./util.js","webpackAsyncContext","req","ids","Promise","all","e","then","id","t","resolve","Error","code","keys","Object","module","exports","./ar.js","./at.js","./be.js","./bg.js","./bn.js","./cat.js","./cs.js","./cy.js","./da.js","./de.js","./default.js","./eo.js","./es.js","./et.js","./fa.js","./fi.js","./fr.js","./gr.js","./he.js","./hi.js","./hr.js","./hu.js","./id.js","./it.js","./ja.js","./km.js","./ko.js","./kz.js","./lt.js","./lv.js","./mk.js","./mn.js","./ms.js","./my.js","./nl.js","./no.js","./pa.js","./pl.js","./pt.js","./ro.js","./ru.js","./si.js","./sk.js","./sl.js","./sq.js","./sr.js","./sv.js","./th.js","./tr.js","./uk.js","./vn.js","./zh.js","VideoBrightcove","Component","console","info","SELECTORS","videoWrapper","each","i","wrapper","this","data","window","load","initPlayer","setup","triggerPlayButtonMobile","_get","__proto__","getPrototypeOf","init","playerElement","aspectratio","playerID","embed","controls","videoID","autoStart","startOnScroll","videoRepeat","playlistID","applicationID","muted","poster","hideVideo","accountId","width","videoplayer","length","on","ele","attr","opts","getOpts","parents","myPlayer","bc","currentElement","undefined","isElementInViewport","play","catch","error","hasClass","pause","eleID","videoPoster","brightcovePlayerLoader","reset","refNode","document","refNodeInsert","playerId","videoId","embedType","applicationId","media","embedOptions","tagName","unminified","responsive","aspectRatio","maxWidth","options","loop","onEmbedCreated","success","css","padding-top","onSuccess","ref","mediainfo","opacity","log","controlBar","hide","playVideo","finally","currentTime","bindEvents","manageCaptionsButton","get","togglePlayButtonMobile","background-image","removeClass","onFailure","arguments","removeVideo","videoJsId","remove","addClass","pp","offset","top","left","outerWidth","height","outerHeight","pageYOffset","innerHeight","pageXOffset","innerWidth","elem","obj","captionsControl","videoTracksControls","captionsIconOff","captionsIconOn","areCaptionsEnabled","findCaptionsTrack","textTracks","addEventListener","style","display","language","mode","kind","loadedDependency","existingDependency","name","saveDependency","lib","reject","DependencyInjector","logStr","myName","constructor","debug","componentName","thenPromise","catchPromise","bind","res","err","locale","widgetName","url","script","createElement","type","src","body","appendChild","stack","Component_classCallCheck","moduleLoader","$customEvents","CustomEvents","$matchMedia","match","$on","$emit","emit","$off","off","$one","one","$getFirstFocusable","warn"],"mappings":"6FAAA,SAAAA,GAAAC,EAAAC,EAAAC,EAAA,sBAAAC,IAAAH,EAAAC,EAAAC,EAAA,sBAAAE,IAAA,IAAMC,GAAsB,UAAW,6CAA8C,yBAA0B,2BAA4B,yBAA0B,mCAExJF,EAAoB,SAACG,GAChC,OAAOA,EAAOC,cAAcF,EAAmBG,KAAK,OAShDC,EAAe,SAACC,GAChBA,EAAGC,aAAa,iBAClBD,EAAGE,aAAa,WAAYF,EAAGG,aAAa,kBAE5CH,EAAGI,gBAAgB,aAIjBC,EAAiB,SAACL,GAClBA,EAAGC,aAAa,cAAgBD,EAAGM,UAAUC,SAAS,aACxDP,EAAGE,aAAa,gBAAiBF,EAAGG,aAAa,aAEnDH,EAAGM,UAAUE,IAAI,YACjBR,EAAGE,aAAa,YAAa,IAGlBR,EAAiB,SAACE,EAAQa,GACrC,IAAIC,EAvB8B,SAACV,GACnC,OAAOW,MAAMC,UAAUC,MAAMC,KAC3BzB,EAAEW,GAAIe,KAAKpB,EAAmBG,KAAK,OAqB3BkB,CAAqBpB,GAE/Ba,EACIC,EAAIO,QAAQlB,GACZW,EAAIO,QAAQZ,4CCjClB,IAAAa,GACAC,cACA,IACA,KAEAC,eACA,IACA,KAEAC,iBACA,IACA,KAEAC,iBACA,IACA,KAEAC,iBACA,IACA,EACA,KAEAC,cACA,IACA,KAEAC,cACA,IACA,KAEAC,gBACA,IACA,EACA,IACA,KAEAC,kBACA,IACA,KAEAC,YACA,IACA,KAEAC,cACA,IACA,KAEAC,gBACA,IACA,EACA,KAEAC,aACA,IACA,MAGA,SAAAC,EAAAC,GACA,IAAAC,EAAAhB,EAAAe,GACA,OAAAC,EAOAC,QAAAC,IAAAF,EAAArB,MAAA,GAAAK,IAAA5B,EAAA+C,IAAAC,KAAA,WACA,IAAAC,EAAAL,EAAA,GACA,OAAA5C,EAAAkD,EAAAD,EAAA,KARAJ,QAAAM,UAAAH,KAAA,WACA,IAAAD,EAAA,IAAAK,MAAA,uBAAAT,EAAA,KAEA,MADAI,EAAAM,KAAA,mBACAN,IAQAL,EAAAY,KAAA,WACA,OAAAC,OAAAD,KAAA1B,IAEAc,EAAAO,GAAA,IACAO,EAAAC,QAAAf,uBC5EA,IAAAd,GACA8B,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,YACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,gBACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEA9C,cACA,IACA,KAEA+C,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,MAGA,SAAAnE,EAAAC,GACA,IAAAC,EAAAhB,EAAAe,GACA,OAAAC,EAOA5C,EAAA+C,EAAAH,EAAA,IAAAI,KAAA,WACA,IAAAC,EAAAL,EAAA,GACA,OAAA5C,EAAAkD,EAAAD,EAAA,KARAJ,QAAAM,UAAAH,KAAA,WACA,IAAAD,EAAA,IAAAK,MAAA,uBAAAT,EAAA,KAEA,MADAI,EAAAM,KAAA,mBACAN,IAQAL,EAAAY,KAAA,WACA,OAAAC,OAAAD,KAAA1B,IAEAc,EAAAO,GAAA,IACAO,EAAAC,QAAAf,qUCjOqBoE,grBAAwBC,2CAwPzCC,QAAQC,KAAK,4BAEblH,EAAE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","file":"components-VideoBrightcove.chunks.js","sourcesContent":["const FOCUSABLE_ELEMENTS = ['a[href]', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', '[tabindex]:not([tabindex^=\"-\"])'];\n\nexport const getFirstFocusable = (parent) => {\n return parent.querySelector(FOCUSABLE_ELEMENTS.join(','));\n};\n\nexport const getFocusableElements = (el) => {\n return Array.prototype.slice.call(\n $(el).find(FOCUSABLE_ELEMENTS.join(','))\n )\n};\n\nconst makeTabbable = (el) => {\n if (el.hasAttribute('data-tabindex')) {\n el.setAttribute('tabindex', el.getAttribute('data-tabindex'));\n } else {\n el.removeAttribute('tabindex');\n }\n};\n\nconst makeUntabbable = (el) => {\n if (el.hasAttribute('tabindex') && !el.classList.contains('untabbed')) {\n el.setAttribute('data-tabindex', el.getAttribute('tabindex'));\n }\n el.classList.add('untabbed');\n el.setAttribute('tabindex', -1);\n};\n\nexport const toggleTabIndex = (parent, focusable) => {\n var els = getFocusableElements(parent)\n \n focusable\n ? els.forEach(makeTabbable)\n : els.forEach(makeUntabbable)\n};","var map = {\n\t\"./alert.js\": [\n\t\t322,\n\t\t186\n\t],\n\t\"./button.js\": [\n\t\t323,\n\t\t187\n\t],\n\t\"./carousel.js\": [\n\t\t324,\n\t\t188\n\t],\n\t\"./collapse.js\": [\n\t\t325,\n\t\t189\n\t],\n\t\"./dropdown.js\": [\n\t\t326,\n\t\t2,\n\t\t190\n\t],\n\t\"./index.js\": [\n\t\t327,\n\t\t191\n\t],\n\t\"./modal.js\": [\n\t\t328,\n\t\t192\n\t],\n\t\"./popover.js\": [\n\t\t329,\n\t\t2,\n\t\t171,\n\t\t193\n\t],\n\t\"./scrollspy.js\": [\n\t\t330,\n\t\t194\n\t],\n\t\"./tab.js\": [\n\t\t331,\n\t\t195\n\t],\n\t\"./toast.js\": [\n\t\t332,\n\t\t196\n\t],\n\t\"./tooltip.js\": [\n\t\t321,\n\t\t2,\n\t\t171\n\t],\n\t\"./util.js\": [\n\t\t320,\n\t\t197\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 291;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./ar.js\": [\n\t\t333,\n\t\t198\n\t],\n\t\"./at.js\": [\n\t\t334,\n\t\t199\n\t],\n\t\"./be.js\": [\n\t\t335,\n\t\t200\n\t],\n\t\"./bg.js\": [\n\t\t336,\n\t\t201\n\t],\n\t\"./bn.js\": [\n\t\t337,\n\t\t202\n\t],\n\t\"./cat.js\": [\n\t\t338,\n\t\t203\n\t],\n\t\"./cs.js\": [\n\t\t339,\n\t\t204\n\t],\n\t\"./cy.js\": [\n\t\t340,\n\t\t205\n\t],\n\t\"./da.js\": [\n\t\t341,\n\t\t206\n\t],\n\t\"./de.js\": [\n\t\t342,\n\t\t207\n\t],\n\t\"./default.js\": [\n\t\t343,\n\t\t208\n\t],\n\t\"./eo.js\": [\n\t\t344,\n\t\t209\n\t],\n\t\"./es.js\": [\n\t\t345,\n\t\t210\n\t],\n\t\"./et.js\": [\n\t\t346,\n\t\t211\n\t],\n\t\"./fa.js\": [\n\t\t347,\n\t\t212\n\t],\n\t\"./fi.js\": [\n\t\t348,\n\t\t213\n\t],\n\t\"./fr.js\": [\n\t\t349,\n\t\t214\n\t],\n\t\"./gr.js\": [\n\t\t350,\n\t\t215\n\t],\n\t\"./he.js\": [\n\t\t351,\n\t\t216\n\t],\n\t\"./hi.js\": [\n\t\t352,\n\t\t217\n\t],\n\t\"./hr.js\": [\n\t\t353,\n\t\t218\n\t],\n\t\"./hu.js\": [\n\t\t354,\n\t\t219\n\t],\n\t\"./id.js\": [\n\t\t355,\n\t\t220\n\t],\n\t\"./index.js\": [\n\t\t356,\n\t\t257\n\t],\n\t\"./it.js\": [\n\t\t357,\n\t\t221\n\t],\n\t\"./ja.js\": [\n\t\t358,\n\t\t222\n\t],\n\t\"./km.js\": [\n\t\t359,\n\t\t223\n\t],\n\t\"./ko.js\": [\n\t\t360,\n\t\t224\n\t],\n\t\"./kz.js\": [\n\t\t361,\n\t\t225\n\t],\n\t\"./lt.js\": [\n\t\t362,\n\t\t226\n\t],\n\t\"./lv.js\": [\n\t\t363,\n\t\t227\n\t],\n\t\"./mk.js\": [\n\t\t364,\n\t\t228\n\t],\n\t\"./mn.js\": [\n\t\t365,\n\t\t229\n\t],\n\t\"./ms.js\": [\n\t\t366,\n\t\t230\n\t],\n\t\"./my.js\": [\n\t\t367,\n\t\t231\n\t],\n\t\"./nl.js\": [\n\t\t368,\n\t\t232\n\t],\n\t\"./no.js\": [\n\t\t369,\n\t\t233\n\t],\n\t\"./pa.js\": [\n\t\t370,\n\t\t234\n\t],\n\t\"./pl.js\": [\n\t\t371,\n\t\t235\n\t],\n\t\"./pt.js\": [\n\t\t372,\n\t\t236\n\t],\n\t\"./ro.js\": [\n\t\t373,\n\t\t237\n\t],\n\t\"./ru.js\": [\n\t\t374,\n\t\t238\n\t],\n\t\"./si.js\": [\n\t\t375,\n\t\t239\n\t],\n\t\"./sk.js\": [\n\t\t376,\n\t\t240\n\t],\n\t\"./sl.js\": [\n\t\t377,\n\t\t241\n\t],\n\t\"./sq.js\": [\n\t\t378,\n\t\t242\n\t],\n\t\"./sr.js\": [\n\t\t379,\n\t\t243\n\t],\n\t\"./sv.js\": [\n\t\t380,\n\t\t244\n\t],\n\t\"./th.js\": [\n\t\t381,\n\t\t245\n\t],\n\t\"./tr.js\": [\n\t\t382,\n\t\t246\n\t],\n\t\"./uk.js\": [\n\t\t383,\n\t\t247\n\t],\n\t\"./vn.js\": [\n\t\t384,\n\t\t248\n\t],\n\t\"./zh.js\": [\n\t\t385,\n\t\t249\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 292;\nmodule.exports = webpackAsyncContext;","import Component from '../abstracts/Component';\nimport brightcovePlayerLoader from '@brightcove/player-loader';\n\n/**\n Video brightcove\n */\n\nexport default class VideoBrightcove extends Component {\n\n static get SELECTORS() {\n return {\n videoWrapper: '.brightcove-wrapper',\n videoplayer: 'video-js',\n videoTracksControls: '.brightcove-controls-tracks'\n };\n }\n\n static getOpts (playerElement) {\n var data = $(playerElement).data();\n\n var opts = {\n aspectratio: data['aspectratio'] || '16:9',\n playerID: data['playerId'] || 'default',\n embed: data['embed'] || 'in-page',\n controls: data['controls'] || false,\n videoID: data['videoId'],\n autoStart: data['autostart'] || false,\n startOnScroll: data['startOnScroll'] || false,\n videoRepeat: data['repeat'] || false,\n playlistID: data['playlistId'],\n applicationID: data['applicationId'],\n muted: data['muted'] || false,\n poster: data['videoPoster'],\n hideVideo: data['hideVideo'],\n accountId: data['accountId'],\n width: data['width'] || '100%'\n };\n\n return opts;\n }\n\n static bindEvents() {\n\n if ( $(VideoBrightcove.SELECTORS.videoplayer).length) {\n\n $(window).on('resize scroll', function (e) {\n\n $(VideoBrightcove.SELECTORS.videoplayer).each(function (i, ele) {\n\n let videoID = $(this).attr('id'),\n opts = VideoBrightcove.getOpts($(this).parents(VideoBrightcove.SELECTORS.videoWrapper)), // container of brightcove player\n myPlayer = bc(videoID),\n currentElement = $(ele);\n\n if (myPlayer !== undefined) {\n if (VideoBrightcove.isElementInViewport( currentElement )) {\n\n if (opts.startOnScroll) {\n\n myPlayer.play().then(function() {\n myPlayer.play();\n })\n .catch(function(error) {\n myPlayer.muted(true);\n myPlayer.play();\n });\n }\n }else{\n if (! myPlayer.hasClass('vjs-waiting') ){\n myPlayer.pause();\n }\n }\n }\n });\n });\n }\n }\n\n static initPlayer(wrapper, ele){\n\n let opts = VideoBrightcove.getOpts(ele),\n currentElement = $(ele),\n eleID = '#' + currentElement.attr('id'),\n videoPoster = '';\n\n if (opts.poster) {\n videoPoster = opts.poster;\n }\n\n brightcovePlayerLoader.reset();\n\n //https://support.brightcove.com/brightcove-player-loader\n // https://docs.brightcove.com/brightcove-player/1.x/Player.html\n\n brightcovePlayerLoader({\n refNode: document.querySelector(eleID),\n refNodeInsert: 'prepend',\n accountId: opts.accountId, //required - A Video Cloud account ID\n playerId: opts.playerID, //required\n videoId: opts.videoID,\n embedType: opts.embed, //in-page or iframe\n applicationId: opts.applicationID, // The application ID to be applied to the generated embed.\n media: opts.media,\n embedOptions: {\n tagName: 'video-js', // video-js or video - default is video-js\n unminified: false, // for debugging: use the un-minified version of the player\n responsive: {\n aspectRatio: opts.aspectratio,\n maxWidth : opts.width\n }\n },\n options : {\n // autoplay: opts.autoStart,\n controls: opts.controls,\n loop: opts.videoRepeat,\n muted: opts.muted,\n poster: videoPoster\n },\n\n onEmbedCreated: function(success){\n currentElement.css({\n 'padding-top': 0\n });\n },\n\n onSuccess: function (success) {\n\n let myPlayer = success.ref,\n videoID = $(myPlayer).attr('id');\n\n if (opts.poster) {\n videoPoster = opts.poster;\n }else{\n videoPoster = myPlayer.mediainfo.poster;\n }\n\n myPlayer.on('error', function (error) {\n console.info('[Video Brightcove] error general', error);\n });\n\n myPlayer.on('loadstart', function () {\n $('#' + videoID).css({'opacity': 0});\n });\n\n myPlayer.on('loadedmetadata', function () {\n $('#' + videoID).css({'opacity': 1});\n console.log('[Video Brightcove] loadedmetadata');\n\n if (!opts.controls) {\n myPlayer.controlBar.hide();\n }\n\n if (opts.autoStart) {\n let playVideo = myPlayer.play(); // Browser/platform autoplay policies - https://support.brightcove.com/autoplay-considerations\n\n if (playVideo !== undefined) { // check if the video played, otherwise I'll put the video on mute\n playVideo\n .then(function () {\n myPlayer.muted(opts.muted);\n })\n .catch(function (error) {\n myPlayer.muted(true);\n })\n .finally(function () {\n if (VideoBrightcove.isElementInViewport(currentElement)) {\n myPlayer.currentTime(0);\n myPlayer.play();\n } else {\n myPlayer.pause();\n }\n });\n }\n }\n\n });\n\n myPlayer.on('loadeddata', function () {\n console.log('[Video Brightcove] loadeddata');\n VideoBrightcove.bindEvents();\n VideoBrightcove.manageCaptionsButton(ele.get(0),this);\n });\n\n myPlayer.on('play', function () {\n VideoBrightcove.togglePlayButtonMobile(this);\n });\n\n\n myPlayer.on('pause', function () {\n VideoBrightcove.togglePlayButtonMobile(this,false);\n });\n\n myPlayer.on('ended', function () {\n\n if (opts.hideVideo){\n currentElement.css({\n 'background-image' :'url(' + currentElement.data('videoPoster') + ')'\n });\n\n myPlayer.hide();\n VideoBrightcove.togglePlayButtonMobile(this,false, true);\n\n }else{\n myPlayer.currentTime(0);\n\n let playerID = $(ele).attr('id');\n if ($('div').data('PlayerID', playerID)) {\n $('div').data('PlayerID', playerID).removeClass('pause-button');\n }\n }\n });\n\n },\n\n onFailure: function (error) {\n console.info('[Video Brightocove] Loading faild', error);\n }\n });\n\n }\n\n static togglePlayButtonMobile(ele, playVideo = true, removeVideo = false){\n\n let playerID = $(ele).attr('data-video-id'),\n videoJsId = '.brightcove-controls[data-player-id=\"player-' + playerID + '\"]';\n\n if (removeVideo){\n $(videoJsId).remove();\n return;\n }\n\n if (playVideo) {\n $(videoJsId).addClass('pause-button');\n }else{\n $(videoJsId).removeClass('pause-button');\n }\n }\n\n static isElementInViewport(el) {\n\n var pp = $(el).offset();\n var top = pp.top;\n var left = pp.left;\n var width = el.outerWidth();\n var height = el.outerHeight(true);\n\n return (\n top < (window.pageYOffset + window.innerHeight) &&\n left < (window.pageXOffset + window.innerWidth) &&\n (top + height) > window.pageYOffset &&\n (left + width) > window.pageXOffset\n );\n }\n\n setup(){\n\n console.info(\"[Video Brightcove] setup\");\n\n $(VideoBrightcove.SELECTORS.videoWrapper).each(function (i) {\n\n let wrapper = $(this);\n\n if (wrapper.data('asyncSrc')) {\n window.load = VideoBrightcove.initPlayer(i, wrapper);\n }else{\n VideoBrightcove.initPlayer(i, wrapper);\n }\n });\n }\n\n init() {\n // BrightCove: https://github.com/brightcove/player-loader\n\n console.info(\"[Video Brightcove] init\");\n this.setup();\n\n VideoBrightcove.triggerPlayButtonMobile();\n }\n\n static triggerPlayButtonMobile(){\n\n $('.brightcove-controls').on('click', function(){\n let playerID = $(this).data('playerId'),\n videoJsId = $('#' + playerID).find('video-js').attr('id'),\n myPlayer = window.bc(videoJsId);\n\n if ( $(this).hasClass('pause-button') ){\n myPlayer.pause();\n } else{\n myPlayer.play();\n $(this).addClass('pause-button')\n }\n\n });\n }\n\n static manageCaptionsButton(elem,obj) {\n // captions part\n let lang=\"en\";\n let captionsControl = elem.querySelector(VideoBrightcove.SELECTORS.videoTracksControls);\n let captionsIconOff = captionsControl.querySelector('.icon-captions-off');\n let captionsIconOn = captionsControl.querySelector('.icon-captions-on');\n let areCaptionsEnabled = false; // Initial state\n let captionsTrack = VideoBrightcove.findCaptionsTrack(obj.mediainfo.textTracks);\n // enable the button\n if (captionsTrack === null) {\n console.error('No captions or subtitles track found!');\n return;\n } else {\n // showing button\n captionsControl.classList.remove('d-none')\n }\n // bind click on controls\n captionsControl.addEventListener('click', () => {\n areCaptionsEnabled = !areCaptionsEnabled;\n if (areCaptionsEnabled) {\n captionsIconOff.style.display = 'none';\n captionsIconOn.style.display = 'block';\n // Open the English version captions\n for (var i = 0; i < (obj.textTracks().length); i++) {\n if (obj.textTracks()[i].language === lang) {\n obj.textTracks()[i].mode = \"showing\";\n }\n }\n } else {\n captionsIconOff.style.display = 'block';\n captionsIconOn.style.display = 'none';\n // close the English version captions\n for (var i = 0; i < (obj.textTracks().length); i++) {\n if (obj.textTracks()[i].language === lang) {\n obj.textTracks()[i].mode = \"hidden\";\n }\n }\n }\n });\n }\n static findCaptionsTrack(textTracks) {\n for (let i = 0; i < textTracks.length; i++) {\n if (textTracks[i].kind === 'captions' || textTracks[i].kind === 'subtitles') {\n return textTracks[i];\n }\n }\n return null; // No suitable track found\n }\n\n render() {\n super.render();\n this.init();\n }\n}\n","const loadedDependency = {};\n\nconst existingDependency = (name) => {\n return (name in loadedDependency) ? loadedDependency[name] : false;\n};\n\nconst saveDependency = (name, lib) => {\n return new Promise((resolve, reject) => {\n try {\n if (!existingDependency(name)) {\n loadedDependency[name] = lib;\n resolve(false);\n } else {\n resolve(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n};\n\n\n\n/**\n * This utility class is injected in all components that extends Component\n * and is used to lazy load third-part libraries\n */\nexport default class DependencyInjector {\n static get CUSTOM_STYLES() {\n return '../../../stylesheets';\n }\n\n static defaultCatchPromise(error) {\n console.error(\"Failed to inject dependency\", error.stack);\n }\n\n /**\n * Log utility\n * @param logStr\n */\n log(logStr = \"\") {\n if (logStr != \"\") {\n let myName = this.constructor.name;\n console.debug(`[${myName}] ${logStr}`);\n }\n }\n\n\n /**\n * Load a single bootstrap component from library\n * The SCSS file shoul be created due to the impossibility to import from bootstrap package\n * @param thenPromise\n * @param catchPromise\n */\n loadBootstrapJsComponentAndExecute(componentName, thenPromise, catchPromise) {\n this.log(`Loading Bootstrap ${componentName}`);\n\n import(/* webpackChunkName: `boostrap-js` */ `bootstrap/js/dist/${componentName}.js`).then(thenPromise).catch(catchPromise);\n }\n\n\n loadAos(thenPromise, catchPromise) {\n this.log('Loading aos');\n\n import(/* webpackChunkName: `aos` */ 'aos/dist/aos.css').then(\n () => {\n import(/* webpackChunkName: `aos` */ 'aos').then(thenPromise).catch(catchPromise);\n }).catch(catchPromise);\n }\n\n\n loadModalAndExecute(thenPromise, catchPromise) {\n this.log('Loading Modal');\n\n import(/* webpackChunkName: `vex` */ 'vex-js/dist/js/vex.js').then(thenPromise).catch(catchPromise);\n }\n\n loadCarouselAndExecute(thenPromise, catchPromise) {\n this.log('Loading Slick Carousel');\n if (existingDependency('carousel')) return thenPromise(existingDependency('carousel'));\n\n import(/* webpackChunkName: `slick` */ 'slick-carousel/slick/slick.scss').then( () => {\n import(/* webpackChunkName: `slick` */ \"slick-carousel/slick/slick-theme.scss\").then(() => {\n import(/* webpackChunkName: `slick` */ 'slick-carousel/slick/slick.js').then((res) => {\n saveDependency('carousel', res);\n thenPromise(res);\n }).catch(catchPromise);\n }).catch(err => {\n console.error('Failed slick css import')\n }); // js library\n }).catch(err => {\n console.error('Failed slick css theme')\n });\n\n }\n\n loadStickyAndExecute(thenPromise, catchPromise) {\n this.log('Loading stickybits');\n import(/* webpackChunkName: `stickybits` */ 'stickybits').then(thenPromise).catch(catchPromise);\n }\n\n loadSelect2(thenPromise, catchPromise) {\n this.log('Loading Select2');\n if (existingDependency('select2')) return thenPromise(existingDependency('carousel'));\n\n import(/* webpackChunkName: `flatpickr` */ 'select2/src/scss/core.scss').then(\n () => {\n import(/* webpackChunkName: `selectize` */ 'select2/dist/js/select2.js').then((res) => {\n saveDependency('select2', res);\n thenPromise(res);\n }).catch(catchPromise);\n }).catch(catchPromise);\n }\n\n loadFlatpickrLocale(locale, thenPromise, catchPromise) {\n import(/* webpackChunkName: `flatpickr-locale` */ `flatpickr/dist/l10n/${locale}.js`).then(thenPromise).catch(catchPromise)\n }\n\n loadFlatpickr(thenPromise, catchPromise) {\n this.log('Loading Flatpickr');\n\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/src/style/flatpickr.styl').then(\n () => {\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/src/style/themes/airbnb.styl');\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/dist/flatpickr.js').then(thenPromise).catch(catchPromise); // js library\n }).catch(catchPromise);\n }\n\n\n loadMasonry(thenPromise, catchPromise) {\n this.log('Loading Masonry');\n\n import(/* webpackChunkName: `masonry-layout` */ 'masonry-layout').then(thenPromise).catch(catchPromise);\n }\n\n /**\n * This method load the query-string library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when jscroll is ready\n * @param catchPromise the code that must be executed when jscrol fails to load\n */\n loadQueryStringAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading query-string\");\n import(/* webpackChunkName: `query-string` */ \"query-string\").then(thenPromise).catch(catchPromise);\n }\n\n /**\n * This method load the jscroll library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when jscroll is ready\n * @param catchPromise the code that must be executed when jscroll fails to load\n */\n // loadJscrollAndExecute(thenPromise, catchPromise) {\n // this.log(\"Loading jscroll\");\n // import(/* webpackChunkName: `jscroll` */ \"jscroll\").then(thenPromise).catch(catchPromise);\n // }\n\n /**\n * This method load the blueimp-file-upload library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when blueimp-file-upload is ready\n * @param catchPromise the code that must be executed when blueimp-file-upload fails to load\n */\n loadBlueimpFileUploadAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading BlueimpFileUpload\");\n import(/* webpackChunkName: `blueimp-file-upload` */ \"blueimp-file-upload\").then(\n () => {\n import(/* webpackChunkName: `blueimp-file-upload` */ 'blueimp-file-upload/css/jquery.fileupload.css').then(thenPromise).catch(catchPromise); // js library\n }).catch(catchPromise);\n }\n\n /**\n * Load all jquery ui js (1.5kb gzipped)\n * @param widgetName the name of jquery wigget\n * @param thenPromise the code that must be executed when the widget is ready\n * @param catchPromise the code that must be executed when the widget fails to load\n */\n loadJqueryUIWidgetAndExecute(widgetName, thenPromise, catchPromise) {\n this.log(`Loading jQuery UI dist for ${widgetName}`);\n\n import(\n /* webpackChunkName: `jquery-ui` */\n 'jquery-ui-dist/jquery-ui').then(thenPromise).catch(catchPromise);\n }\n\n loadExternalScript(url) {\n return new Promise((resolve, reject) => {\n let script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.addEventListener('load', () => resolve(script), false);\n script.addEventListener('error', () => reject(script), false);\n document.body.appendChild(script);\n });\n }\n}\n","import DependencyInjector from '../utils/DependencyInjector';\nimport { CustomEvents } from '../utils/CustomEvents';\nimport { match } from '../utils/ResolutionHandler';\nimport { getFirstFocusable } from \"../utils/FocusableElementUtils\";\nimport {on, emit, off, one} from '../utils/EventsBus';\n\n\n\n/**\n * Generic web component that expose a render method\n */\nexport default class Component {\n\n constructor() {\n this.moduleLoader = new DependencyInjector(); // Use this class to lazy load modules!!\n this.$customEvents = CustomEvents;\n this.$matchMedia = match;\n this.$on = on;\n this.$emit = emit;\n this.$off = off;\n this.$one = one;\n this.$getFirstFocusable = getFirstFocusable;\n }\n\n /**\n * Log utility\n * @param logStr\n */\n log(logStr = \"\") {\n if (logStr != \"\") {\n let myName = this.constructor.name;\n console.log(`%c[${myName}] %c${logStr}`, 'color: #f56c42', 'color: inherit');\n }\n }\n\n /**\n * Log utility\n * @param logStr\n */\n warn(logStr = \"\") {\n if (logStr != \"\") {\n let myName = this.constructor.name;\n console.warn(`[${myName}] ${logStr}`);\n }\n }\n\n /*\n Main method that execute the render logic of the component\n */\n render() {\n let myName = this.constructor.name;\n console.log(`[${myName}] Rendering..`);\n }\n}\n"],"sourceRoot":""}