@lanaco/lnc-react-ui
Version:
React component library
2 lines (1 loc) • 3.19 kB
JavaScript
"use strict";const D=require("./_commonjsHelpers-DwTZ_eVU.cjs"),C=require("react"),_=require("./SearchSection-CgbZsVg2.cjs");function N(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 o=Object.getOwnPropertyDescriptor(a,s);o&&Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:()=>a[s]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var S=Object.create,l=Object.defineProperty,j=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyNames,M=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty,H=(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 I(e))!A.call(t,s)&&s!==r&&l(t,s,{get:()=>e[s],enumerable:!(a=j(e,s))||a.enumerable});return t},F=(t,e,r)=>(r=t!=null?S(M(t)):{},P(!t||!t.__esModule?l(r,"default",{value:t,enumerable:!0}):r,t)),U=t=>P(l({},"__esModule",{value:!0}),t),n=(t,e,r)=>(H(t,typeof e!="symbol"?e+"":e,r),r),f={};R(f,{default:()=>h});var v=U(f),y=F(C),c=_.utils,u=_.patterns;const x="https://player.twitch.tv/js/embed/v1.js",K="Twitch",V="twitch-player-";class h extends y.Component{constructor(){super(...arguments),n(this,"callPlayer",c.callPlayer),n(this,"playerID",this.props.config.playerId||`${V}${(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:o,controls:g}=this.props,i=u.MATCH_URL_TWITCH_CHANNEL.test(e),p=i?e.match(u.MATCH_URL_TWITCH_CHANNEL)[1]:e.match(u.MATCH_URL_TWITCH_VIDEO)[1];if(r){i?this.player.setChannel(p):this.player.setVideo("v"+p);return}(0,c.getSDK)(x,K).then(d=>{this.player=new d.Player(this.playerID,{video:i?"":p,channel:i?p:"",height:"100%",width:"100%",playsinline:a,autoplay:this.props.playing,muted:this.props.muted,controls:i?!0:g,time:(0,c.parseStartTime)(e),...o.options});const{READY:m,PLAYING:E,PAUSE:O,ENDED:L,ONLINE:b,OFFLINE:w,SEEK:T}=d.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 y.default.createElement("div",{style:e,id:this.playerID})}}n(h,"displayName","Twitch");n(h,"canPlay",u.canPlay.twitch);n(h,"loopOnEnded",!0);const q=D.getDefaultExportFromCjs(v),W=N({__proto__:null,default:q},[v]);exports.Twitch=W;