UNPKG

@hirebus/academy

Version:

React component library for academy and learning platforms

2 lines (1 loc) 3.13 kB
"use strict";const d=require("./index-BH5PkfxW.cjs"),D=require("react");function C(t,e){for(var r=0;r<e.length;r++){const a=e[r];if(typeof a!="string"&&!Array.isArray(a)){for(const s in a)if(s!=="default"&&!(s in t)){const i=Object.getOwnPropertyDescriptor(a,s);i&&Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:()=>a[s]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var N=Object.create,l=Object.defineProperty,I=Object.getOwnPropertyDescriptor,M=Object.getOwnPropertyNames,S=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,A=(t,e,r)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,R=(t,e)=>{for(var r in e)l(t,r,{get:e[r],enumerable:!0})},P=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of M(e))!j.call(t,s)&&s!==r&&l(t,s,{get:()=>e[s],enumerable:!(a=I(e,s))||a.enumerable});return t},H=(t,e,r)=>(r=t!=null?N(S(t)):{},P(!t||!t.__esModule?l(r,"default",{value:t,enumerable:!0}):r,t)),x=t=>P(l({},"__esModule",{value:!0}),t),n=(t,e,r)=>(A(t,typeof e!="symbol"?e+"":e,r),r),f={};R(f,{default:()=>h});var v=x(f),_=H(D),c=d.utils,u=d.patterns;const F="https://player.twitch.tv/js/embed/v1.js",U="Twitch",K="twitch-player-";class h extends _.Component{constructor(){super(...arguments),n(this,"callPlayer",c.callPlayer),n(this,"playerID",this.props.config.playerId||`${K}${(0,c.randomString)()}`),n(this,"mute",()=>{this.callPlayer("setMuted",!0)}),n(this,"unmute",()=>{this.callPlayer("setMuted",!1)})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e,r){const{playsinline:a,onError:s,config:i,controls:g}=this.props,o=u.MATCH_URL_TWITCH_CHANNEL.test(e),p=o?e.match(u.MATCH_URL_TWITCH_CHANNEL)[1]:e.match(u.MATCH_URL_TWITCH_VIDEO)[1];if(r){o?this.player.setChannel(p):this.player.setVideo("v"+p);return}(0,c.getSDK)(F,U).then(y=>{this.player=new y.Player(this.playerID,{video:o?"":p,channel:o?p:"",height:"100%",width:"100%",playsinline:a,autoplay:this.props.playing,muted:this.props.muted,controls:o?!0:g,time:(0,c.parseStartTime)(e),...i.options});const{READY:m,PLAYING:E,PAUSE:O,ENDED:L,ONLINE:b,OFFLINE:w,SEEK:T}=y.Player;this.player.addEventListener(m,this.props.onReady),this.player.addEventListener(E,this.props.onPlay),this.player.addEventListener(O,this.props.onPause),this.player.addEventListener(L,this.props.onEnded),this.player.addEventListener(T,this.props.onSeek),this.player.addEventListener(b,this.props.onLoaded),this.player.addEventListener(w,this.props.onLoaded)},s)}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){this.callPlayer("pause")}seekTo(e,r=!0){this.callPlayer("seek",e),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e)}getDuration(){return this.callPlayer("getDuration")}getCurrentTime(){return this.callPlayer("getCurrentTime")}getSecondsLoaded(){return null}render(){const e={width:"100%",height:"100%"};return _.default.createElement("div",{style:e,id:this.playerID})}}n(h,"displayName","Twitch");n(h,"canPlay",u.canPlay.twitch);n(h,"loopOnEnded",!0);const V=d.getDefaultExportFromCjs(v),$=C({__proto__:null,default:V},[v]);exports.Twitch=$;