{"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":""}