{"version":3,"sources":["webpack:///./assets/javascripts/modules/abstracts/Component.js","webpack:///./assets/javascripts/modules/utils/ajaxUtil.js","webpack:///./assets/javascripts/modules/utils/DependencyInjector.js","webpack:///./node_modules/bootstrap/js/src lazy ^\\.\\/.*$ namespace object","webpack:///./node_modules/flatpickr/dist/l10n lazy ^\\.\\/.*\\.js$ namespace object","webpack:///./assets/javascripts/modules/utils/FocusableElementUtils.js","webpack:///./assets/javascripts/modules/components/VideoBrightcoveComponent.js"],"names":["Component","_classCallCheck","this","moduleLoader","DependencyInjector","$customEvents","CustomEvents","$matchMedia","Matchmq","$on","on","$emit","emit","$off","off","$one","one","$doAjax","doAjax","$getFirstFocusable","getFirstFocusable","$importComponent","importComponent","logStr","arguments","length","undefined","params","myName","constructor","name","console","log","warn","component","$","append","options","extend","cache","async","type","ajax","ajaxAction","classEl","source","target","functionName","context","args","namespaces","Array","prototype","slice","call","split","func","pop","i","apply","uri","key","value","re","RegExp","separator","indexOf","match","replace","query","ajaxConf","url","res","_this","contentname","fallbacks","response","DOMParser","parseFromString","querySelector","SELECTORS","document","innerHTML","AJAX_EVENTS","loaded","updated","isArray","forEach","callback","executeFunctionByName","window","loadedDependency","existingDependency","saveDependency","lib","Promise","resolve","reject","e","debug","componentName","thenPromise","catchPromise","__webpack_require__","then","catch","t","bind","err","error","locale","widgetName","script","createElement","src","addEventListener","body","appendChild","stack","map","./","./alert","./alert.js","./button","./button.js","./carousel","./carousel.js","./collapse","./collapse.js","./dropdown","./dropdown.js","./index","./index.js","./modal","./modal.js","./popover","./popover.js","./scrollspy","./scrollspy.js","./tab","./tab.js","./toast","./toast.js","./tools/sanitizer","./tools/sanitizer.js","./tooltip","./tooltip.js","./util","./util.js","webpackAsyncContext","req","o","Error","code","ids","id","all","keys","Object","module","exports","./ar.js","./at.js","./az.js","./be.js","./bg.js","./bn.js","./bs.js","./cat.js","./cs.js","./cy.js","./da.js","./de.js","./default.js","./eo.js","./es.js","./et.js","./fa.js","./fi.js","./fo.js","./fr.js","./ga.js","./gr.js","./he.js","./hi.js","./hr.js","./hu.js","./id.js","./is.js","./it.js","./ja.js","./ka.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-cyr.js","./sr.js","./sv.js","./th.js","./tr.js","./uk.js","./uz.js","./uz_latn.js","./vn.js","./zh-tw.js","./zh.js","d","__webpack_exports__","parent","VideoBrightcoveComponent","each","wrapper","data","load","initPlayer","setup","_get","__proto__","getPrototypeOf","init","playerElement","isMobile","matchMedia","matches","aspectratio","playerID","embed","controls","videoID","autoStart","startOnScroll","videoRepeat","playlistID","applicationID","muted","poster","hideVideo","accountId","width","videoplayer","ele","attr","opts","getOpts","parents","videoWrapper","myPlayer","bc","currentElement","isElementInViewport","play","hasClass","pause","eleID","videoPoster","brightcovePlayerLoader","reset","refNode","refNodeInsert","playerId","videoId","embedType","applicationId","media","embedOptions","tagName","unminified","responsive","aspectRatio","maxWidth","autoplay","loop","onSuccess","success","ref","mediainfo","info","controlBar","hide","playVideo","finally","currentTime","bindEvents","css","background-image","thumbnail","onFailure","el","pp","offset","top","left","outerWidth","height","outerHeight","pageYOffset","innerHeight","pageXOffset","innerWidth"],"mappings":"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A,IACA,KAGA,SAAAC,EAAAC,GACA,IAAA/C,EAAAgD,EAAAhC,EAAA+B,GACA,OAAAvD,QAAAC,UAAAQ,KAAA,WACA,IAAAN,EAAA,IAAAsD,MAAA,uBAAAF,EAAA,KAEA,MADApD,EAAAuD,KAAA,mBACAvD,IAIA,IAAAwD,EAAAnC,EAAA+B,GAAAK,EAAAD,EAAA,GACA,OAAA3D,QAAA6D,IAAAF,EAAArG,MAAA,GAAAkE,IAAAhB,EAAAL,IAAAM,KAAA,WACA,OAAAD,EAAAoD,KAGAN,EAAAQ,KAAA,WACA,OAAAC,OAAAD,KAAAtC,IAEA8B,EAAAM,GAAA,IACAI,EAAAC,QAAAX,uBCjJA,IAAA9B,GACA0C,WACA,IACA,KAEAC,WACA,IACA,KAEAC,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,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAvD,cACA,IACA,KAEAwD,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,KA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","file":"components-VideoBrightcoveComponent.chunks.js","sourcesContent":["import DependencyInjector from '../utils/DependencyInjector';\nimport { CustomEvents } from '../utils/CustomEvents';\nimport { Matchmq } from '../utils/ResolutionHandler';\nimport { getFirstFocusable } from '../utils/FocusableElementUtils';\nimport { on, emit, off, one } from '../utils/EventsBus';\nimport { doAjax } from '../utils/ajaxUtil';\n\n/**\n * Generic web component that expose a render method\n */\nexport default class Component {\n constructor() {\n this.moduleLoader = new DependencyInjector(); // Use this class to lazy load modules!!\n this.$customEvents = CustomEvents;\n this.$matchMedia = Matchmq;\n this.$on = on;\n this.$emit = emit;\n this.$off = off;\n this.$one = one;\n this.$doAjax = doAjax;\n this.$getFirstFocusable = getFirstFocusable;\n this.$importComponent = this.importComponent;\n }\n\n /**\n * Log utility\n * @param logStr\n */\n log(logStr = '', params = '') {\n if (logStr != '') {\n let myName = this.constructor.name;\n console.log(`[${myName}] ${logStr} ${params}`);\n }\n }\n\n /**\n * Log utility\n * @param logStr\n */\n warn(logStr = '', params = '') {\n if (logStr != '') {\n let myName = this.constructor.name;\n console.warn(`[${myName}] ${logStr} ${params}`);\n }\n }\n\n importComponent(component) {\n $('body').append(`
`);\n return true;\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","import {on, emit} from './EventsBus';\nimport { CustomEvents } from './CustomEvents';\n\nexport const doAjax = options => {\n options = $.extend(\n true,\n {},\n {\n cache: false,\n async: true,\n type: 'GET'\n },\n options\n );\n return $.ajax(options);\n};\n\nexport default class ajaxAction {\n\n static get SELECTORS() {\n return {\n source: '[data-ajax-source]',\n target: '[data-ajax-target]'\n };\n }\n\n constructor(classEl) {\n this.classEl = classEl;\n }\n\n // basics\n executeFunctionByName(functionName, context , args = false ) {\n var args = Array.prototype.slice.call(arguments, 2);\n var namespaces = functionName.split(\".\");\n var func = namespaces.pop();\n for(var i = 0; i < namespaces.length; i++) {\n context = context[namespaces[i]];\n }\n return context[func].apply(context, args);\n }\n\n updateQueryStringParameter(uri, key, value) {\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|$)\", \"i\");\n var separator = uri.indexOf('?') !== -1 ? \"&\" : \"?\";\n if (uri.match(re)) {\n return uri.replace(re, '$1' + key + \"=\" + value + '$2');\n }\n else {\n return uri + separator + key + \"=\" + value;\n }\n }\n\n // ajax function\n getPage(query) {\n // json configuration\n let ajaxConf = {\n type: 'GET',\n url: query,\n };\n // returns\n return $.ajax(ajaxConf);\n }\n\n // content replacing function\n renderContent(res, contentname = false , fallbacks = false ){\n // response\n const response = new DOMParser ().parseFromString(res, 'text/html');\n // update content\n let source = (contentname) ? response.querySelector('[data-ajax-source='+contentname+']') : response.querySelector(this.SELECTORS.source);\n let target = (contentname) ? document.querySelector('[data-ajax-target='+contentname+']') : document.querySelector(this.SELECTORS.target);\n if(typeof source !== 'undefined' && source != null && typeof target !== 'undefined' && target != null ) {\n // update the html pager\n target.innerHTML = source.innerHTML;\n emit(CustomEvents.AJAX_EVENTS.loaded);\n emit(CustomEvents.AJAX_EVENTS.updated);\n }\n //\n if(fallbacks && fallbacks.isArray()){\n fallbacks.forEach(callback => {\n this.executeFunctionByName(callback, window);\n })\n }\n //\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 * 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 * 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/src/${componentName}`).then(thenPromise).catch(catchPromise);\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 loadModalAndExecute(thenPromise, catchPromise) {\n this.log('Loading Modal');\n if (existingDependency('vex')) return thenPromise(existingDependency('vex'));\n\n import(/* webpackChunkName: `vex` */ 'vex-js/dist/js/vex.js').then((res) => {\n saveDependency('vex', res);\n thenPromise(res);\n }).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-carousel` */ 'slick-carousel/slick/slick.scss').then( () => {\n import(/* webpackChunkName: `slick-carousel` */ \"slick-carousel/slick/slick-theme.scss\").then(() => {\n import(/* webpackChunkName: `slick-carousel` */ '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 loadStickyAndExecute(thenPromise, catchPromise) {\n this.log('Loading stickybits');\n import(/* webpackChunkName: `stickybits` */ 'stickybits').then(thenPromise).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 * 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 loadJqueryValidationAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading jquery-validation\");\n import( /* webpackChunkName: `jquery-validation` */ \"jquery-validation\").then(thenPromise).catch(catchPromise);\n }\n\n loadSimpleBarAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading SimpleBar\");\n if (existingDependency('simplebar')) return thenPromise(existingDependency('simplebar'));\n import( /* webpackChunkName: `simplebar` */ \"simplebar\").then((res) => {\n saveDependency('simplebar', res);\n thenPromise(res);\n }).catch(catchPromise);\n }\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","var map = {\n\t\"./\": [\n\t\t265,\n\t\t2,\n\t\t8\n\t],\n\t\"./alert\": [\n\t\t271,\n\t\t10\n\t],\n\t\"./alert.js\": [\n\t\t271,\n\t\t10\n\t],\n\t\"./button\": [\n\t\t272,\n\t\t15\n\t],\n\t\"./button.js\": [\n\t\t272,\n\t\t15\n\t],\n\t\"./carousel\": [\n\t\t273,\n\t\t20\n\t],\n\t\"./carousel.js\": [\n\t\t273,\n\t\t20\n\t],\n\t\"./collapse\": [\n\t\t274,\n\t\t21\n\t],\n\t\"./collapse.js\": [\n\t\t274,\n\t\t21\n\t],\n\t\"./dropdown\": [\n\t\t275,\n\t\t2,\n\t\t22\n\t],\n\t\"./dropdown.js\": [\n\t\t275,\n\t\t2,\n\t\t22\n\t],\n\t\"./index\": [\n\t\t265,\n\t\t2,\n\t\t8\n\t],\n\t\"./index.js\": [\n\t\t265,\n\t\t2,\n\t\t8\n\t],\n\t\"./modal\": [\n\t\t276,\n\t\t11\n\t],\n\t\"./modal.js\": [\n\t\t276,\n\t\t11\n\t],\n\t\"./popover\": [\n\t\t277,\n\t\t2,\n\t\t12\n\t],\n\t\"./popover.js\": [\n\t\t277,\n\t\t2,\n\t\t12\n\t],\n\t\"./scrollspy\": [\n\t\t278,\n\t\t13\n\t],\n\t\"./scrollspy.js\": [\n\t\t278,\n\t\t13\n\t],\n\t\"./tab\": [\n\t\t279,\n\t\t14\n\t],\n\t\"./tab.js\": [\n\t\t279,\n\t\t14\n\t],\n\t\"./toast\": [\n\t\t280,\n\t\t16\n\t],\n\t\"./toast.js\": [\n\t\t280,\n\t\t16\n\t],\n\t\"./tools/sanitizer\": [\n\t\t269,\n\t\t17\n\t],\n\t\"./tools/sanitizer.js\": [\n\t\t269,\n\t\t17\n\t],\n\t\"./tooltip\": [\n\t\t268,\n\t\t2,\n\t\t18\n\t],\n\t\"./tooltip.js\": [\n\t\t268,\n\t\t2,\n\t\t18\n\t],\n\t\"./util\": [\n\t\t267,\n\t\t19\n\t],\n\t\"./util.js\": [\n\t\t267,\n\t\t19\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\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\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 284;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./ar.js\": [\n\t\t299,\n\t\t158\n\t],\n\t\"./at.js\": [\n\t\t300,\n\t\t159\n\t],\n\t\"./az.js\": [\n\t\t301,\n\t\t170\n\t],\n\t\"./be.js\": [\n\t\t302,\n\t\t180\n\t],\n\t\"./bg.js\": [\n\t\t303,\n\t\t191\n\t],\n\t\"./bn.js\": [\n\t\t304,\n\t\t202\n\t],\n\t\"./bs.js\": [\n\t\t305,\n\t\t213\n\t],\n\t\"./cat.js\": [\n\t\t306,\n\t\t217\n\t],\n\t\"./cs.js\": [\n\t\t307,\n\t\t218\n\t],\n\t\"./cy.js\": [\n\t\t308,\n\t\t219\n\t],\n\t\"./da.js\": [\n\t\t309,\n\t\t160\n\t],\n\t\"./de.js\": [\n\t\t310,\n\t\t161\n\t],\n\t\"./default.js\": [\n\t\t311,\n\t\t162\n\t],\n\t\"./eo.js\": [\n\t\t312,\n\t\t163\n\t],\n\t\"./es.js\": [\n\t\t313,\n\t\t164\n\t],\n\t\"./et.js\": [\n\t\t314,\n\t\t165\n\t],\n\t\"./fa.js\": [\n\t\t315,\n\t\t166\n\t],\n\t\"./fi.js\": [\n\t\t316,\n\t\t167\n\t],\n\t\"./fo.js\": [\n\t\t317,\n\t\t168\n\t],\n\t\"./fr.js\": [\n\t\t318,\n\t\t169\n\t],\n\t\"./ga.js\": [\n\t\t319,\n\t\t171\n\t],\n\t\"./gr.js\": [\n\t\t320,\n\t\t172\n\t],\n\t\"./he.js\": [\n\t\t321,\n\t\t173\n\t],\n\t\"./hi.js\": [\n\t\t322,\n\t\t174\n\t],\n\t\"./hr.js\": [\n\t\t323,\n\t\t175\n\t],\n\t\"./hu.js\": [\n\t\t324,\n\t\t176\n\t],\n\t\"./id.js\": [\n\t\t325,\n\t\t177\n\t],\n\t\"./index.js\": [\n\t\t326,\n\t\t227\n\t],\n\t\"./is.js\": [\n\t\t327,\n\t\t178\n\t],\n\t\"./it.js\": [\n\t\t328,\n\t\t179\n\t],\n\t\"./ja.js\": [\n\t\t329,\n\t\t181\n\t],\n\t\"./ka.js\": [\n\t\t330,\n\t\t182\n\t],\n\t\"./km.js\": [\n\t\t331,\n\t\t183\n\t],\n\t\"./ko.js\": [\n\t\t332,\n\t\t184\n\t],\n\t\"./kz.js\": [\n\t\t333,\n\t\t185\n\t],\n\t\"./lt.js\": [\n\t\t334,\n\t\t186\n\t],\n\t\"./lv.js\": [\n\t\t335,\n\t\t187\n\t],\n\t\"./mk.js\": [\n\t\t336,\n\t\t188\n\t],\n\t\"./mn.js\": [\n\t\t337,\n\t\t189\n\t],\n\t\"./ms.js\": [\n\t\t338,\n\t\t190\n\t],\n\t\"./my.js\": [\n\t\t339,\n\t\t192\n\t],\n\t\"./nl.js\": [\n\t\t340,\n\t\t193\n\t],\n\t\"./no.js\": [\n\t\t341,\n\t\t194\n\t],\n\t\"./pa.js\": [\n\t\t342,\n\t\t195\n\t],\n\t\"./pl.js\": [\n\t\t343,\n\t\t196\n\t],\n\t\"./pt.js\": [\n\t\t344,\n\t\t197\n\t],\n\t\"./ro.js\": [\n\t\t345,\n\t\t198\n\t],\n\t\"./ru.js\": [\n\t\t346,\n\t\t199\n\t],\n\t\"./si.js\": [\n\t\t347,\n\t\t200\n\t],\n\t\"./sk.js\": [\n\t\t348,\n\t\t201\n\t],\n\t\"./sl.js\": [\n\t\t349,\n\t\t203\n\t],\n\t\"./sq.js\": [\n\t\t350,\n\t\t204\n\t],\n\t\"./sr-cyr.js\": [\n\t\t351,\n\t\t205\n\t],\n\t\"./sr.js\": [\n\t\t352,\n\t\t206\n\t],\n\t\"./sv.js\": [\n\t\t353,\n\t\t207\n\t],\n\t\"./th.js\": [\n\t\t354,\n\t\t208\n\t],\n\t\"./tr.js\": [\n\t\t355,\n\t\t209\n\t],\n\t\"./uk.js\": [\n\t\t356,\n\t\t210\n\t],\n\t\"./uz.js\": [\n\t\t357,\n\t\t211\n\t],\n\t\"./uz_latn.js\": [\n\t\t358,\n\t\t212\n\t],\n\t\"./vn.js\": [\n\t\t359,\n\t\t214\n\t],\n\t\"./zh-tw.js\": [\n\t\t360,\n\t\t215\n\t],\n\t\"./zh.js\": [\n\t\t361,\n\t\t216\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\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\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 285;\nmodule.exports = webpackAsyncContext;","const focusableSelectors = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"]), [role=\"button\"]';\nexport const getFirstFocusable = (parent) => {\n return parent.querySelector(focusableSelectors);\n};\n","import Component from '../abstracts/Component';\nimport brightcovePlayerLoader from '@brightcove/player-loader';\n\n/**\n Video brightcove\n */\nexport default class VideoBrightcoveComponent extends Component {\n\n static get SELECTORS() {\n return {\n videoWrapper: '.brightcove-wrapper',\n videoplayer: 'video-js'\n };\n }\n\n static getOpts (playerElement) {\n var data = $(playerElement).data();\n let isMobile = window.matchMedia('(max-width:767px)').matches;\n var opts = {\n aspectratio: isMobile & data['videoMobileId'] !== '' ? (data['aspectratioMobile'] || '16:9') : data['aspectratio'],\n playerID: data['playerId'] || 'default',\n embed: data['embed'],\n controls: data['controls'] || false,\n videoID: isMobile & data['videoMobileId'] !== '' ? data['videoMobileId'] : 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 ( $(VideoBrightcoveComponent.SELECTORS.videoplayer).length) {\n\n $(window).on('resize scroll', function (e ) {\n\n $(VideoBrightcoveComponent.SELECTORS.videoplayer).each(function (i, ele) {\n\n let videoID = $(this).attr('id'),\n opts = VideoBrightcoveComponent.getOpts($(this).parents(VideoBrightcoveComponent.SELECTORS.videoWrapper)), // container of brightcove player\n myPlayer = bc(videoID),\n currentElement = $(ele);\n\n if (myPlayer !== undefined) {\n if (VideoBrightcoveComponent.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 = VideoBrightcoveComponent.getOpts(ele),\n currentElement = $(ele),\n eleID = '#' + currentElement.attr('id'),\n videoPoster = '';\n\n console.log('Init: ', opts);\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 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\n myPlayer.on('loadstart', function () {\n myPlayer.poster(videoPoster);\n });\n\n myPlayer.on('loadedmetadata', function () {\n\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\n console.info('autostart', opts.autoStart);\n\n if (VideoBrightcoveComponent.isElementInViewport(currentElement)) {\n myPlayer.currentTime(0);\n myPlayer.play();\n } else {\n myPlayer.pause();\n }\n });\n }\n }\n });\n\n myPlayer.on('loadeddata', function () {\n console.log('[Video Brightcove] loadeddata');\n VideoBrightcoveComponent.bindEvents();\n });\n\n myPlayer.on('ended', function () {\n if (opts.hideVideo){\n currentElement.css({\n 'background-image' :'url(' + currentElement.data('videoPoster') + ')'\n });\n myPlayer.hide();\n }else{\n myPlayer.currentTime(0);\n }\n\n console.log('[Video Brightcove] ended player ');\n console.info('opts.poster', opts.poster);\n console.info('media', myPlayer.mediainfo.poster);\n console.info('media', myPlayer.mediainfo.thumbnail);\n });\n\n },\n\n onFailure: function (error) {\n console.info('[Video Brightocove] Loading faild', error);\n }\n });\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 $('.brightcove-wrapper').each(function (i) {\n let wrapper = $(this);\n\n if (wrapper.data('asyncSrc')) {\n window.load = VideoBrightcoveComponent.initPlayer(i, wrapper);\n }else{\n VideoBrightcoveComponent.initPlayer(i, wrapper);\n }\n });\n }\n\n init() {\n // BrightCove: https://github.com/brightcove/player-loader\n this.setup();\n }\n\n render() {\n this.log('Rendering...');\n super.render();\n this.init();\n }\n}\n"],"sourceRoot":""}