UNPKG

js-player-module-brightcove

Version:

Brightcove custom player using the Brightcove Player API.

159 lines (155 loc) 31.2 kB
/*! @yama-dev/js-player-module-brightcove version:7.0.1 repository:https://github.com/yama-dev/js-player-module-brightcove copyright:yama-dev licensed:MIT */ (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.PLAYER_MODULE_BRIGHTCOVE=t())})(this,function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=((n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)))(o(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define([],r):typeof e==`object`?e.JS_DOM=r():n.JS_DOM=r()})(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t||4&t&&typeof e==`object`&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&typeof e!=`string`)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,`a`,t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=``,n(n.s=0)}([function(e,t,n){"use strict";function r(e){try{return e instanceof HTMLElement}catch(e){return!1}}function i(e){try{return typeof e==`string`}catch(e){return!1}}function a(e){if(!e)return!1;var t;if(!Array.isArray(e)&&!e.length||i(e))t=r(e)?Array(e):Array.prototype.slice.call(document.querySelectorAll(e));else{if(!r(e[0]))return!1;t=Array.prototype.slice.call(e)}return t.length===0&&(t=null),t}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.r(t),n.d(t,`default`,function(){return s});var s=function(){function e(){(function(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)})(this,e)}var t,n,s;return t=e,s=[{key:`isDom`,value:function(e){return r(e)}},{key:`isStr`,value:function(e){return i(e)}},{key:`selectDom`,value:function(e){return a(e)}}],(n=[{key:`selectDom`,value:function(e){return a(e)}},{key:`hasClass`,value:function(e,t){return function(e,t){return r(e)?e.classList.contains(t):document.querySelector(e).classList.contains(t)}(e,t)}},{key:`addClass`,value:function(e,t){return function(e,t){var n=a(e);if(!n)return!1;n.map(function(e){e.classList.add(t)})}(e,t)}},{key:`removeClass`,value:function(e,t){return function(e,t){var n=a(e);if(!n)return!1;n.map(function(e){e.classList.remove(t)})}(e,t)}},{key:`toggleClass`,value:function(e,t){return function(e,t){var n=a(e);if(!n)return!1;n.map(function(e){e.classList.toggle(t)})}(e,t)}},{key:`addEvent`,value:function(e,t,n){return function(e,t,n){if(e===window)window.addEventListener(t,n,{passive:!1});else{var r=a(e);if(!r)return!1;r.map(function(e){e.addEventListener(t,n,{passive:!1})})}}(e,t,n)}},{key:`removeEvent`,value:function(e,t,n){return function(e,t,n){if(e===window)window.removeEventListener(t,n);else{var r=a(e);if(!r)return!1;r.map(function(e){e.removeEventListener(t,n)})}}(e,t,n)}},{key:`setHtml`,value:function(e,t){return function(e,t){var n=a(e);if(!n)return!1;n.map(function(e){e.innerHTML=t})}(e,t)}},{key:`appendHtml`,value:function(e,t){return function(e,t){var n=a(e);if(!n)return!1;n.map(function(e){e.innerHTML+=t})}(e,t)}},{key:`setStyle`,value:function(e,t){return function(e,t){var n=a(e);if(!n)return!1;n.map(function(e){var n=``;Object.keys(t).forEach(function(e){t[e]!==null&&(n+=e.replace(/([A-Z])/g,`-$1`).toLowerCase()+`: `+t[e]+`;`)}),e.setAttribute(`style`,n)})}(e,t)}},{key:`setAttribute`,value:function(e,t){return function(e,t){var n=a(e);if(!n)return!1;n.map(function(e){var n=``;Object.keys(t).forEach(function(r){n=r.replace(/([A-Z])/g,`-$1`).toLowerCase(),e.setAttribute(n,t[r])})})}(e,t)}}])&&o(t.prototype,n),s&&o(t,s),e}()}]).default})}))());function l(e){"@babel/helpers - typeof";return l=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},l(e)}function u(e,t){if(l(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(l(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function d(e){var t=u(e,`string`);return l(t)==`symbol`?t:t+``}function f(e,t,n){return(t=d(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?p(Object(n),!0).forEach(function(t){f(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h(e){let t=typeof e==`number`?String(e):e;return Number(t)<10&&t.length<2?`0`+t:t}function g(e,t,n){return n=n||`0`,e+=``,e.length>=t?e:Array(t-e.length+1).join(n)+e}function _(e,t,n){let r=Math.pow(n||10,t);return Math.round(Number(e)*r)/r}function v(){return{playerElem:[],playerElemMainWrap:[],uiBtnPlay:[],uiBtnStop:[],uiBtnPause:[],uiBtnMute:[],uiBtnVolon:[],uiBtnVoloff:[],uiDisplayTime:[],uiDisplayTimeNow:[],uiDisplayTimeTotal:[],uiDisplayTimeDown:[],uiDisplayTimePar:[],uiDisplayPoster:[],uiDisplayPosterBg:[],uiDisplayName:[],uiSeekbarVol:[],uiSeekbarVolBg:[],uiSeekbarVolCover:[],uiSeekbarTime:[],uiSeekbarTimeBg:[],uiSeekbarTimeCover:[],uiBtnChange:[],uiBtnDataId:[]}}function ee(e,t){let n=`#${t.id}`;return{playerElem:e.selectDom(n),playerElemMainWrap:e.selectDom(`${n} #${t.player_id_wrap}`),uiBtnPlay:e.selectDom(`${n} .ui-btn-play`),uiBtnStop:e.selectDom(`${n} .ui-btn-stop`),uiBtnPause:e.selectDom(`${n} .ui-btn-pause`),uiBtnMute:e.selectDom(`${n} .ui-btn-mute`),uiBtnVolon:e.selectDom(`${n} .ui-btn-volon`),uiBtnVoloff:e.selectDom(`${n} .ui-btn-voloff`),uiDisplayTime:e.selectDom(`${n} .ui-time`),uiDisplayTimeNow:e.selectDom(`${n} .ui-time-now`),uiDisplayTimeTotal:e.selectDom(`${n} .ui-time-total`),uiDisplayTimeDown:e.selectDom(`${n} .ui-time-down`),uiDisplayTimePar:e.selectDom(`${n} .ui-time-par`),uiDisplayPoster:e.selectDom(`${n} .ui-poster`),uiDisplayPosterBg:e.selectDom(`${n} .ui-poster-background`),uiDisplayName:e.selectDom(`${n} .ui-name`),uiSeekbarVol:e.selectDom(`${n} .ui-seekbar-vol`),uiSeekbarVolBg:e.selectDom(`${n} .ui-seekbar-vol .ui-seekbar-vol-bg`),uiSeekbarVolCover:e.selectDom(`${n} .ui-seekbar-vol span`),uiSeekbarTime:e.selectDom(`${n} .ui-seekbar-time`),uiSeekbarTimeBg:e.selectDom(`${n} .ui-seekbar-time .ui-seekbar-time-bg`),uiSeekbarTimeCover:e.selectDom(`${n} .ui-seekbar-time span`),uiBtnChange:e.selectDom(`${n} .ui-btn-change`),uiBtnDataId:e.selectDom(`[data-pmb-id]`)}}function y(e){let t=h(Math.floor(e.currentTime()/60)),n=h(Math.floor(e.currentTime()%60));return isFinite(Number(n))&&isFinite(Number(t))?`${t}:${n}`:`00:00`}function b(e){let t=e.duration()-Math.floor(e.currentTime()),n=h(Math.floor(t/60)),r=h(Math.floor(t%60));return isFinite(Number(r))&&isFinite(Number(n))?`${n}:${r}`:`00:00`}function x(e){return`${h(Math.floor(e.duration()/60))}:${h(Math.floor(e.duration()%60))}`}function S(e){return Math.floor(e.currentTime()/e.duration()*1e3)/1e3}function C(e){let t=Math.floor(e.currentTime()/e.duration()*1e3)/10;return isFinite(t)?`${t}%`:`0%`}function w(e){return{current:y(e),max:x(e),down:b(e),ratio:S(e),par:C(e)}}var T=o(((e,t)=>{(function(n,r){if(typeof e==`object`&&typeof t==`object`)t.exports=r();else if(typeof define==`function`&&define.amd)define([],r);else{var i=r();for(var a in i)(typeof e==`object`?e:n)[a]=i[a]}})(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t||4&t&&typeof e==`object`&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&typeof e!=`string`)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,`a`,t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=``,n(n.s=0)}([function(e,t,n){"use strict";function r(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`_blank`;return e?e.replace(/((h?)(ttps?:\/\/[a-zA-Z0-9.\-_@:\/~?%&;=+#',()*!]+))/g,function(e,n,r,i){return`<a href="${r+i}" target="${t}">${n}</a>`}):!1}function i(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`_blank`;return!!e&&e.replace(/\#(\S*)\s?/g,`<a href="https://twitter.com/search?q=%23$1" target="`+t+`">#$1</a>`)}function a(e,t){var n=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];if(!e)return!1;for(var r in t){RegExp(`({{.?`+r+`.?}})`,`g`);var i=RegExp(`{{.?(`+r+`).?}}`,`g`);e.match(i);var a=RegExp.$1;e=e.replace(i,t[a])}return n&&(e=e.replace(/({{.*}})/g,``)),e}function o(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`0`;return!!e&&(typeof e==`number`&&(e=String(e)),t||(t=e.length),String.prototype.padStart||(String.prototype.padStart=function(e,t){return e>>=0,t=String(t===void 0?` `:t),this.length>=e?String(this):((e-=this.length)>t.length&&(t+=t.repeat(e/t.length)),t.slice(0,e)+String(this))}),e.padStart(t,n))}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.r(t),n.d(t,`PARSE_MODULE`,function(){return c});var c=function(){function e(){(function(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)})(this,e)}var t,n,c;return t=e,c=[{key:`Str2AddLink`,value:function(e){return r(e,arguments.length>1&&arguments[1]!==void 0?arguments[1]:`_blank`)}},{key:`Str2AddLinkHashtag`,value:function(e){return i(e,arguments.length>1&&arguments[1]!==void 0?arguments[1]:`_blank`)}},{key:`Str2DateFormat`,value:function(e){return function(e){if(!e)return!1;var t=e.split(/\D/);if(t.length>=4){var n=[];t.map(function(e){if(e==``)return!1;n.push(e)}),t=n}return(t=t.map(function(e){var t=e;return Number(e)<=9&&(t=`0`+Number(e)),t})).join(`-`)}(e)}},{key:`Str2Mustache`,value:function(e,t){return a(e,t,!(arguments.length>2&&arguments[2]!==void 0)||arguments[2])}},{key:`Str2zeroPadding`,value:function(e,t){return o(e,t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:`0`)}}],(n=null)&&s(t.prototype,n),c&&s(t,c),e}()}])})}))(),E=`//players.brightcove.net/{{ account }}/{{ player }}_default/index.min.js`,D=` <video id="{{ player_id }}" data-video-id="{{ videoid }}" data-account="{{ account }}" data-player="{{ player }}" data-embed="default" data-application-id class="video-js" width="{{ width }}" height="{{ height }}" {{title}} {{ui_controls}} {{ui_autoplay}} {{playsinline}} {{loop}} {{muted}} {{poster}} ></video> `,O=` <div class="ui-time"></div> <div class="ui-time-now"></div> <div class="ui-time-down"></div> <div class="ui-time-total"></div> <div class="ui-time-par"></div> <button class="ui-btn-play btn">play</button> <button class="ui-btn-pause btn">pause</button> <button class="ui-btn-stop btn">stop</button> <button class="ui-btn-mute btn">mute</button> <div class="ui-seekbar-time"><div class="ui-seekbar-time-bg"></div><span></span></div> <div class="ui-seekbar-vol"><div class="ui-seekbar-vol-bg"></div><span></span></div> <button class="ui-btn-volon btn">volume on</button> <button class="ui-btn-voloff btn">volume off</button> <div class="ui-poster"><img src="" alt=""></div> <div class="ui-poster-background"></div> <div class="ui-name"></div> `,k=` #{{ id }} { position: relative; } #{{ id }} .on { display: none; } #{{ id }} .off { display: block; } #{{ id }} .ui-btn-play { width: 120px; display: block; cursor: pointer; } #{{ id }} .ui-btn-play.active { display: none; } #{{ id }} .ui-btn-play:hover .on { display: block; } #{{ id }} .ui-btn-play:hover .off { display: none; } #{{ id }} .ui-btn-pause { width: 120px; display: none; cursor: pointer; } #{{ id }} .ui-btn-pause.active { display: block; } #{{ id }} .ui-btn-pause:hover .on { display: block; } #{{ id }} .ui-btn-pause:hover .off { display: none; } #{{ id }} .ui-btn-stop { width: 120px; cursor: pointer; } #{{ id }} .ui-btn-stop.active { display: block; } #{{ id }} .ui-btn-stop:hover .on { display: block; } #{{ id }} .ui-btn-stop:hover .off { display: none; } #{{ id }} .ui-btn-mute { width: 120px; cursor: pointer; } #{{ id }} .ui-btn-mute.active .on { display: block; } #{{ id }} .ui-btn-mute.active .off { display: none; } #{{ id }} .ui-seekbar-vol { width: 100%; height: 13px; padding: 4px 0; position: relative; cursor: pointer; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; touch-action: manipulation; } #{{ id }} .ui-seekbar-vol .ui-seekbar-vol-bg { width: 100%; height: 5px; background: #ddd; position: absolute; top: 0; left: 0; margin: 4px 0; } #{{ id }} .ui-seekbar-vol span { display: block; width: 0%; height: 100%; background: #666; position: relative; } #{{ id }} .ui-seekbar-time { width: 100%; height: 13px; padding: 4px 0; position: relative; cursor: pointer; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; touch-action: manipulation; } #{{ id }} .ui-seekbar-time .ui-seekbar-time-bg { width: 100%; height: 5px; background: #ddd; position: absolute; top: 0; left: 0; margin: 4px 0; } #{{ id }} .ui-seekbar-time span { display: block; width: 0%; height: 100%; background: #666; position: relative; } #{{ id }} .ui-display-poster img { max-width: 100%; } `,A=T.PARSE_MODULE.Str2Mustache;function j(e){let t=m(m({},e),{},{poster:e.poster?`poster="${e.poster}"`:``,title:e.video_title?`title="${e.video_title}"`:``}),n=``;return e.mode==`audio`&&(n+=`#${e.player_id} { opacity: 0.001; }`),e.add_style&&(n+=e.add_style),{playerHtml:A(D,t),playerUiHtml:A(O,t),playerCss:A(k,t),playerCssOption:n,playerScriptCode:A(E,t)}}function M(e,t,n,r,i){let a=document.createElement(`div`);a.id=e.player_ui_id,a.innerHTML=n.playerUiHtml,e.ui_default&&t.playerElem[0].insertBefore(a,t.playerElem[0].firstElementChild);let o=document.createElement(`div`);o.id=e.player_id_wrap,o.innerHTML=n.playerHtml,t.playerElem[0].insertBefore(o,t.playerElem[0].firstElementChild);let s=document.createElement(`style`);s.innerHTML=n.playerCss,s.id=e.id+`_scripttag`,e.ui_default_css?(s.innerHTML=n.playerCss,s.innerHTML+=n.playerCssOption,r.selectDom(`#${e.id} #${e.player_style_id}`)||t.playerElem[0].appendChild(s)):(s.innerHTML=n.playerCssOption,r.selectDom(`#${e.id} #${e.player_style_id}`)||t.playerElem[0].appendChild(s));let c=document.createElement(`script`);c.id=`${e.id}_scripttag`,c.onload=function(){i()},c.onerror=function(){console.log(`ERROR: not script loaded.`)},c.src=`${n.playerScriptCode}?${Date.now()}`,document.body.appendChild(c)}function N(e,t){let n=!1,r=()=>{if(n)return;n=!0,e.setVolume(e.config.volume),e.setInfo(),e.setPoster(),e.update();let r=e.getCache();r.playerElem&&t.addClass(r.playerElem,e.config.classname_loaded_wrap),e.callbacks.PlayerInit&&typeof e.callbacks.PlayerInit==`function`&&e.callbacks.PlayerInit(e.instance,e.player)};e.player.on(`loadedmetadata`,r),e.player.on(`loadeddata`,r),e.player.on(`timeupdate`,()=>{e.update()}),e.player.on(`volumechange`,()=>{let n=e.player.volume(),r=e.getCache();t.setStyle(r.uiSeekbarVolCover,{width:n*100+`%`}),e.callbacks.VolumeChange&&typeof e.callbacks.VolumeChange==`function`&&e.callbacks.VolumeChange({volume:_(n,3),par:_(n*100,1)})}),e.player.on(`ended`,()=>{e.stop(),e.callbacks.PlayerEnded&&typeof e.callbacks.PlayerEnded==`function`&&e.callbacks.PlayerEnded(e.instance,e.player)}),e.player.on(`play`,()=>{e.classOn(),e.callbacks.PlayerPlay&&typeof e.callbacks.PlayerPlay==`function`&&e.callbacks.PlayerPlay(e.instance,e.player)}),e.player.on(`pause`,()=>{e.classOff(),e.callbacks.PlayerPause&&typeof e.callbacks.PlayerPause==`function`&&e.callbacks.PlayerPause(e.instance,e.player)}),e.player.on(`error`,e=>{console.log(e)})}function P(e,t,n){let r=window;r.PLAYER_MODULE_ALL_PLATLIST===void 0&&(r.PLAYER_MODULE_ALL_PLATLIST=[]),r.PLAYER_MODULE_ALL_PLATLIST.push({instance:e,Player:t,videoid:n.videoid,id:n.id,player_id:n.player_id})}function F(){window.PLAYER_MODULE_ALL_PLATLIST.map(e=>{e.instance.Pause()})}function I(){window.PLAYER_MODULE_ALL_PLATLIST.map(e=>{e.instance.Stop()})}function L(e,t,n){e.playerElem&&n.addClass(e.playerElem,t.classname_active_wrap),e.uiBtnPlay&&n.addClass(e.uiBtnPlay,t.classname_active),e.uiBtnPause&&n.addClass(e.uiBtnPause,t.classname_active),e.uiBtnDataId&&e.uiBtnDataId.map(e=>{t.videoid==e.getAttribute(`data-pmb-id`)&&n.addClass(e,t.classname_active)})}function R(e,t,n){e.playerElem&&n.removeClass(e.playerElem,t.classname_active_wrap),e.uiBtnPlay&&n.removeClass(e.uiBtnPlay,t.classname_active),e.uiBtnPause&&n.removeClass(e.uiBtnPause,t.classname_active),e.uiBtnDataId&&n.removeClass(e.uiBtnDataId,t.classname_active)}function te(e,t,n,r){e.uiDisplayTime&&r.setHtml(e.uiDisplayTime,t.current+`/`+t.max),e.uiDisplayTimeNow&&r.setHtml(e.uiDisplayTimeNow,t.current),e.uiDisplayTimeDown&&r.setHtml(e.uiDisplayTimeDown,t.down),e.uiDisplayTimeTotal&&r.setHtml(e.uiDisplayTimeTotal,t.max),e.uiDisplayTimePar&&r.setHtml(e.uiDisplayTimePar,t.par),e.uiSeekbarTimeCover&&(e.uiSeekbarTimeCover[0].style.width=t.par),n.TimeUpdate&&typeof n.TimeUpdate==`function`&&n.TimeUpdate(t)}function z(e,t){e.uiDisplayTime&&t.setHtml(e.uiDisplayTime,`00:00/00:00`),e.uiDisplayTimeNow&&t.setHtml(e.uiDisplayTimeNow,`00:00`),e.uiDisplayTimeDown&&t.setHtml(e.uiDisplayTimeDown,`00:00`),e.uiDisplayTimeTotal&&t.setHtml(e.uiDisplayTimeTotal,`00:00`),e.uiDisplayTimePar&&t.setHtml(e.uiDisplayTimePar,`0%`),e.uiSeekbarTimeCover&&(e.uiSeekbarTimeCover[0].style.width=`0%`)}function B(e,t,n){e.player.paused()||t==1?(!e.callbacks.PlayPrep&&n&&(e.callbacks.PlayPrep=n),e.callbacks.PlayPrep&&typeof e.callbacks.PlayPrep==`function`&&e.callbacks.PlayPrep(e.instance,e.player),e.player.play(),e.classOn(),!e.callbacks.Play&&n&&(e.callbacks.Play=n),e.callbacks.Play&&typeof e.callbacks.Play==`function`&&e.callbacks.Play(e.instance,e.player)):(e.pause(),e.classOff())}function V(e,t){e.player.pause(),e.player.currentTime(0),e.classOff(),!e.callbacks.Stop&&t&&(e.callbacks.Stop=t),e.callbacks.Stop&&typeof e.callbacks.Stop==`function`&&e.callbacks.Stop(e.instance,e.player)}function H(e,t){e.player.pause(),e.classOff(),!e.callbacks.Pause&&t&&(e.callbacks.Pause=t),e.callbacks.Pause&&typeof e.callbacks.Pause==`function`&&e.callbacks.Pause(e.instance,e.player)}function U(e,t){e.player.muted()?(e.player.muted(!1),e.setVolume(e.config.volume),t.removeClass(e.cache.uiBtnMute,e.config.classname_active)):(e.player.muted(!0),e.player.volume(0),t.addClass(e.cache.uiBtnMute,e.config.classname_active))}function W(e,t){if(!t||typeof t==`object`||typeof t==`function`||(typeof t==`string`&&(t=Number(t)),!t))return!1;e.currentTime(t)}function G(e,t,n){if(n===`off`&&e.volume(0),typeof n==`number`){if(Number(n)<0||1<Number(n))return!1;t.volume=Number(n),e.volume(t.volume)}}function K(e,t,n,r=null,i){if(n==``||n==null||n==null)return;if(!e.isPlayerChangeLoad())return!1;let a=e.player.paused(),o=e.player.muted();if(e.config.videoid!==n){e.setPlayerChangeLoad(!1),e.config.videoid=n;let s=window.navigator.userAgent.toLowerCase();s.indexOf(`msie`)==-1&&s.indexOf(`trident`)==-1&&s.indexOf(`edge`),o&&e.player.muted(!0),e.cache.playerElem&&t.removeClass(e.cache.playerElem,e.config.classname_loaded_wrap),e.player.catalog.getVideo(n,(t,n)=>{e.player.catalog.load(n),e.setInfo(),e.setPoster(),setTimeout(()=>{e.classOff(),(a===!1||r===!0)&&e.play(!0),o===!1&&e.player.muted(!1)},100),setTimeout(()=>{!e.callbacks.Change&&i&&(e.callbacks.Change=i),e.callbacks.Change&&typeof e.callbacks.Change==`function`&&e.callbacks.Change(e.instance,e.player)},300),setTimeout(()=>{e.setPlayerChangeLoad(!0)},500)}),e.player.on(`loadeddata`,()=>{e.setPlayerChangeLoad(!0),e.player.off(`loadeddata`)})}else r&&e.play(),!e.callbacks.Change&&i&&(e.callbacks.Change=i),e.callbacks.Change&&typeof e.callbacks.Change==`function`&&e.callbacks.Change(e.instance,e.player)}function q(){return`ontouchstart`in window||navigator.maxTouchPoints>0}function J(e,t){e.$.uiBtnPlay&&t.addEvent(e.$.uiBtnPlay,`click`,()=>{e.Player.paused()?e.Play():e.Pause()})}function Y(e,t){e.$.uiBtnPause&&t.addEvent(e.$.uiBtnPause,`click`,()=>{e.Pause()})}function X(e,t){e.$.uiBtnStop&&t.addEvent(e.$.uiBtnStop,`click`,()=>{e.Stop()}),t.addEvent(window,`blur`,()=>{e.CONFIG.stop_outfocus&&e.Stop()})}function Z(e,t){e.$.uiBtnMute&&t.addEvent(e.$.uiBtnMute,`click`,()=>{e.Mute()})}function Q(e,t){e.$.uiBtnVolon&&t.addEvent(e.$.uiBtnVolon,`click`,()=>{e.SetVolume(e.CONFIG.volume),t.removeClass(e.$.uiBtnVolon,e.CONFIG.classname_active)})}function ne(e,t){e.$.uiBtnVoloff&&t.addEvent(e.$.uiBtnVoloff,`click`,()=>{e.SetVolume(`off`),t.addClass(e.$.uiBtnVoloff,e.CONFIG.classname_active)})}function re(e,t){if(e.$.uiSeekbarVol){let n=!1,r=0;t.setStyle(e.$.uiSeekbarVolCover,{width:`100%`}),t.addEvent(e.$.uiSeekbarVol,`mousedown`,t=>{n=!0;let i=t.currentTarget,a=i.clientWidth,o=i.getBoundingClientRect().left;r=(t.pageX-o)/a,e.SetVolume(r)}),t.addEvent(e.$.uiSeekbarVol,`mouseleave`,()=>{n=!1}),t.addEvent(e.$.uiSeekbarVol,`mouseup`,()=>{n=!1}),t.addEvent(e.$.uiSeekbarVol,`mousemove`,t=>{if(n===!0){let n=t.currentTarget,i=n.clientWidth,a=n.getBoundingClientRect().left;r=(t.pageX-a)/i,e.Player.muted()&&e.Player.muted(!1),e.SetVolume(r)}})}}function ie(e,t){if(e.$.uiSeekbarTime){let n=0;q()?(t.addEvent(e.$.uiSeekbarTime,`touchstart`,r=>{e.PlayerChangeSeekingFlg=!0;let i=r.touches[0].target,a=i.clientWidth,o=i.getBoundingClientRect().left,s=(r.touches[0].pageX-o)/a;n=e.Player.duration()*s,t.setStyle(e.$.uiSeekbarTimeCover,{width:s*100+`%`}),e.Player.currentTime(n)}),t.addEvent(e.$.uiSeekbarTime,`touchcancel`,()=>{e.PlayerChangeSeekingFlg&&(e.Play(),setTimeout(()=>{e.Play(),e.PlayerChangeSeekingFlg=!1},100))}),t.addEvent(e.$.uiSeekbarTime,`touchend`,()=>{e.PlayerChangeSeekingFlg&&(e.Play(),setTimeout(()=>{e.Play(),e.PlayerChangeSeekingFlg=!1},100))}),t.addEvent(e.$.uiSeekbarTime,`touchmove`,r=>{if(e.PlayerChangeSeekingFlg){let i=r.touches[0].target,a=i.clientWidth,o=i.getBoundingClientRect().left,s=(r.touches[0].pageX-o)/a;n=e.Player.duration()*s,s>=1&&(s=1),s<=0&&(s=0),t.setStyle(e.$.uiSeekbarTimeCover,{width:s*100+`%`}),e.Player.currentTime(n)}})):(t.addEvent(e.$.uiSeekbarTime,`mousedown`,r=>{e.PlayerChangeSeekingFlg=!0;let i=r.currentTarget,a=i.clientWidth,o=i.getBoundingClientRect().left,s=(r.pageX-o)/a;n=e.Player.duration()*s,t.setStyle(e.$.uiSeekbarTimeCover,{width:s*100+`%`}),e.Player.currentTime(n)}),t.addEvent(e.$.uiSeekbarTime,`mouseleave`,()=>{e.PlayerChangeSeekingFlg&&(e.Play(),setTimeout(()=>{e.Play(),e.PlayerChangeSeekingFlg=!1},100))}),t.addEvent(e.$.uiSeekbarTime,`mouseup`,()=>{e.PlayerChangeSeekingFlg&&(e.Play(),setTimeout(()=>{e.Play(),e.PlayerChangeSeekingFlg=!1},100))}),t.addEvent(e.$.uiSeekbarTime,`mousemove`,r=>{if(e.PlayerChangeSeekingFlg){let i=r.currentTarget,a=i.clientWidth,o=i.getBoundingClientRect().left,s=(r.pageX-o)/a;n=e.Player.duration()*s,s>=1&&(s=1),s<=0&&(s=0),t.setStyle(e.$.uiSeekbarTimeCover,{width:s*100+`%`}),e.Player.currentTime(n)}}))}}function ae(e,t){e.$.uiBtnChange&&t.addEvent(e.$.uiBtnChange,`click`,t=>{let n=t.currentTarget.dataset.pmbId;e.Change(n)})}var oe={PlayerInit:null,PlayerEnded:null,PlayerPlay:null,PlayerPause:null,TimeUpdate:null,VolumeChange:null,PlayPrep:null,Play:null,Pause:null,Stop:null,PauseAll:null,StopAll:null,Change:null},se={mode:`movie`,id:`pmb`,player_id:`pmb_player`,player_id_wrap:`pmb_player_wrap`,player_ui_id:`pmb_ui`,player_style_id:`pmb_style`,videoid:``,account:``,width:``,height:``,video_title:``,player:`default`,volume:1,playsinline:`webkit-playsinline playsinline`,loop:``,muted:``,ui_controls:``,ui_autoplay:``,ui_default:!1,ui_default_css:!0,stop_outfocus:!1,poster:``,add_style:``,classname_loaded_wrap:`is-pmb-loaded-wrap`,classname_active_wrap:`is-pmb-active-wrap`,classname_active:`is-pmb-active`};function ce(e){let t=e.id||`pmb`;return{mode:e.mode||`movie`,id:t,player_id:`${t}_player`,player_id_wrap:`${t}_player_wrap`,player_ui_id:`${t}_ui`,player_style_id:`${t}_style`,videoid:e.videoid||`4929511769001`,account:e.account||``,width:e.width||``,height:e.height||``,video_title:e.video_title||``,player:e.player||`default`,volume:e.volume===void 0?1:e.volume,playsinline:e.playsinline===!1?``:`webkit-playsinline playsinline`,loop:e.loop===!0?`loop`:``,muted:e.muted===!0?`muted`:``,ui_controls:e.ui_controls===!0?`controls`:``,ui_autoplay:e.ui_autoplay===!0?`autoplay`:``,ui_default:e.ui_default!==!1,ui_default_css:e.ui_default_css!==!1,stop_outfocus:e.stop_outfocus===!0,poster:e.poster||``,add_style:e.add_style||``,classname_loaded_wrap:e.classname_loaded_wrap||`is-pmb-loaded-wrap`,classname_active_wrap:e.classname_active_wrap||`is-pmb-active-wrap`,classname_active:e.classname_active||`is-pmb-active`}}var $=new c.default;return class{constructor(e){this.VERSION=`7.0.1`,this.PlayerChangeLoadFlg=!0,this.CONFIG=m({},se),this.on=m({},oe),this.Player=null,this.$=v(),this.playerHtml=``,this.playerUiHtml=``,this.playerCss=``,this.playerCssOption=``,this.playerScriptCode=``,this.PlayerJson={},this.PlayerChangeSeekingFlg=!1,this.state={poster:``},(!e.id||!e.videoid)&&console.log(`Inadequate parameters (id, videoid)`),this.CONFIG=ce(e),e.on&&(this.on=m(m({},this.on),e.on)),this.$.playerElem=$.selectDom(`#${this.CONFIG.id}`),this.CONFIG.mode==`audio`&&(this.CONFIG.width=`1`,this.CONFIG.height=`1`);let t=j(this.CONFIG);this.playerHtml=t.playerHtml,this.playerUiHtml=t.playerUiHtml,this.playerCss=t.playerCss,this.playerCssOption=t.playerCssOption,this.playerScriptCode=t.playerScriptCode,document.readyState==`complete`||document.readyState==`interactive`?this.BuildPlayer():document.addEventListener(`DOMContentLoaded`,()=>{this.BuildPlayer()})}BuildPlayer(){M(this.CONFIG,this.$,{playerHtml:this.playerHtml,playerUiHtml:this.playerUiHtml,playerCss:this.playerCss,playerCssOption:this.playerCssOption,playerScriptCode:this.playerScriptCode},$,()=>{this.PlayerInstance()}),this.CacheElement()}PlayerInstance(){this.Player=videojs(this.CONFIG.player_id),this.PlayerJson=this.Player.toJSON(),this.EventPlay(),this.EventPause(),this.EventStop(),this.EventMute(),this.EventVolon(),this.EventVoloff(),this.EventSeekbarVol(),this.EventSeekbarTime(),this.EventChangeVideo(),this.AddGlobalObject(),N({instance:this,player:this.Player,config:this.CONFIG,callbacks:this.on,getCache:()=>this.$,setVolume:e=>{this.SetVolume(e)},setInfo:()=>{this._setInfo()},setPoster:()=>{this.SetPoster()},update:()=>{this.Update()},stop:()=>{this.Stop()},classOn:()=>{this.ClassOn()},classOff:()=>{this.ClassOff()}},$)}AddGlobalObject(){P(this,this.Player,this.CONFIG)}CacheElement(){this.$=ee($,this.CONFIG)}EventPlay(){J(this,$)}EventPause(){Y(this,$)}EventStop(){X(this,$)}EventMute(){Z(this,$)}EventVolon(){Q(this,$)}EventVoloff(){ne(this,$)}EventSeekbarVol(){re(this,$)}EventSeekbarTime(){ie(this,$)}EventChangeVideo(){ae(this,$)}ClassOn(){this.CacheElement(),L(this.$,this.CONFIG,$)}ClassOff(){this.CacheElement(),R(this.$,this.CONFIG,$)}Update(){if(!this.PlayerChangeSeekingFlg)if(this.PlayerChangeLoadFlg){let e=w(this.Player);te(this.$,e,this.on,$)}else z(this.$,$)}_getControlContext(){return{instance:this,player:this.Player,config:this.CONFIG,callbacks:this.on,cache:this.$,classOn:()=>{this.ClassOn()},classOff:()=>{this.ClassOff()},pause:e=>{this.Pause(e)},setVolume:e=>this.SetVolume(e)}}_getChangeContext(){return{instance:this,player:this.Player,config:this.CONFIG,callbacks:this.on,cache:this.$,isPlayerChangeLoad:()=>this.PlayerChangeLoadFlg,setPlayerChangeLoad:e=>{this.PlayerChangeLoadFlg=e},setInfo:()=>{this._setInfo()},setPoster:()=>{this.SetPoster()},classOff:()=>{this.ClassOff()},play:(e,t)=>{this.Play(e,t)}}}Play(e,t){B(this._getControlContext(),e,t)}Stop(e){V(this._getControlContext(),e)}Pause(e){H(this._getControlContext(),e)}Mute(){U(this._getControlContext(),$)}Change(e,t=null,n){return K(this._getChangeContext(),$,e,t,n)}PauseAll(e){F(),!this.on.PauseAll&&e&&(this.on.PauseAll=e),this.on.PauseAll&&typeof this.on.PauseAll==`function`&&this.on.PauseAll(this,this.Player)}StopAll(e){I(),!this.on.StopAll&&e&&(this.on.StopAll=e),this.on.StopAll&&typeof this.on.StopAll==`function`&&this.on.StopAll(this,this.Player)}SeekTo(e){return W(this.Player,e)}GetTime(){return y(this.Player)}GetTimeDown(){return b(this.Player)}GetTimeMax(){return x(this.Player)}GetTimeRatio(){return S(this.Player)}GetTimePar(){return C(this.Player)}GetPoster(){return this.Player.poster()}GetMediaInfo(){return this.Player.mediainfo}SetVolume(e){return G(this.Player,this.CONFIG,e)}SetVideoTitle(e){this.Player.el().querySelector(`video`).setAttribute(`title`,e)}Destroy(){this.Player.reset()}SetPoster(e){e!=null&&this.Player.poster(e),this.state.poster=this.GetPoster(),this.state.poster&&(this.$.uiDisplayPoster&&(this.CONFIG.mode==`audio`?$.setHtml(this.$.uiDisplayPoster,``):$.setHtml(this.$.uiDisplayPoster,`<img src="${this.state.poster}" alt="">`)),this.$.uiDisplayPosterBg&&this.CONFIG.mode!=`audio`&&$.setStyle(this.$.uiDisplayPosterBg,{backgroundImage:`url(${this.state.poster})`}))}_setInfo(){this.$.uiDisplayName&&$.setHtml(this.$.uiDisplayName,this.Player.mediainfo.name)}static parseNumber(e){return h(e)}static pad(e,t,n){return g(e,t,n)}static toFixedNumber(e,t,n){return _(e,t,n)}}});