@aigamo/nostalgic-diva 1.17.2 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AudioPlayer-BZVzeLpd.cjs → AudioPlayer-B3HUFxrt.cjs} +2 -2
- package/dist/{AudioPlayer-BZVzeLpd.cjs.map → AudioPlayer-B3HUFxrt.cjs.map} +1 -1
- package/dist/{AudioPlayer-D6hktnhD.js → AudioPlayer-D3YsODf_.js} +2 -2
- package/dist/{AudioPlayer-D6hktnhD.js.map → AudioPlayer-D3YsODf_.js.map} +1 -1
- package/dist/{DailymotionPlayer-NqmzC1es.js → DailymotionPlayer-BbM7QPqY.js} +3 -3
- package/dist/{DailymotionPlayer-NqmzC1es.js.map → DailymotionPlayer-BbM7QPqY.js.map} +1 -1
- package/dist/{DailymotionPlayer-Bi8E4whf.cjs → DailymotionPlayer-CUowHniC.cjs} +2 -2
- package/dist/{DailymotionPlayer-Bi8E4whf.cjs.map → DailymotionPlayer-CUowHniC.cjs.map} +1 -1
- package/dist/{NiconicoPlayer-mu8oAJRF.js → NiconicoPlayer-BQO6a8Vb.js} +2 -2
- package/dist/{NiconicoPlayer-mu8oAJRF.js.map → NiconicoPlayer-BQO6a8Vb.js.map} +1 -1
- package/dist/{NiconicoPlayer-CJGCtIIc.cjs → NiconicoPlayer-DpSXQj5m.cjs} +2 -2
- package/dist/{NiconicoPlayer-CJGCtIIc.cjs.map → NiconicoPlayer-DpSXQj5m.cjs.map} +1 -1
- package/dist/{SoundCloudPlayer-CMm5InlF.js → SoundCloudPlayer-B8jkHu8t.js} +3 -3
- package/dist/{SoundCloudPlayer-CMm5InlF.js.map → SoundCloudPlayer-B8jkHu8t.js.map} +1 -1
- package/dist/{SoundCloudPlayer-BP5pJQjT.cjs → SoundCloudPlayer-BV22QlM7.cjs} +2 -2
- package/dist/{SoundCloudPlayer-BP5pJQjT.cjs.map → SoundCloudPlayer-BV22QlM7.cjs.map} +1 -1
- package/dist/{TwitchPlayer-EgP5jHii.js → TwitchPlayer-C9mAN-zs.js} +3 -3
- package/dist/{TwitchPlayer-EgP5jHii.js.map → TwitchPlayer-C9mAN-zs.js.map} +1 -1
- package/dist/{TwitchPlayer-CMQ4ZQB0.cjs → TwitchPlayer-CAtEBZ_D.cjs} +2 -2
- package/dist/{TwitchPlayer-CMQ4ZQB0.cjs.map → TwitchPlayer-CAtEBZ_D.cjs.map} +1 -1
- package/dist/{VimeoPlayer-CvFLZFMf.cjs → VimeoPlayer-BeD9InZ2.cjs} +2 -2
- package/dist/{VimeoPlayer-CvFLZFMf.cjs.map → VimeoPlayer-BeD9InZ2.cjs.map} +1 -1
- package/dist/{VimeoPlayer-BAYaY4oI.js → VimeoPlayer-Dj_TPJOD.js} +3 -3
- package/dist/{VimeoPlayer-BAYaY4oI.js.map → VimeoPlayer-Dj_TPJOD.js.map} +1 -1
- package/dist/{YouTubePlayer-B1_fn24Y.cjs → YouTubePlayer-DLqd36LF.cjs} +2 -2
- package/dist/{YouTubePlayer-B1_fn24Y.cjs.map → YouTubePlayer-DLqd36LF.cjs.map} +1 -1
- package/dist/{YouTubePlayer-CT5Q9YWC.js → YouTubePlayer-DnM2aTnC.js} +3 -3
- package/dist/{YouTubePlayer-CT5Q9YWC.js.map → YouTubePlayer-DnM2aTnC.js.map} +1 -1
- package/dist/controllers/index.d.ts +1 -0
- package/dist/{ensureScriptLoaded-jXzaqDQh.cjs → ensureScriptLoaded-Blm1fjMc.cjs} +2 -2
- package/dist/{ensureScriptLoaded-jXzaqDQh.cjs.map → ensureScriptLoaded-Blm1fjMc.cjs.map} +1 -1
- package/dist/{ensureScriptLoaded-O_gkv8-u.js → ensureScriptLoaded-Jw9e6HLc.js} +2 -2
- package/dist/{ensureScriptLoaded-O_gkv8-u.js.map → ensureScriptLoaded-Jw9e6HLc.js.map} +1 -1
- package/dist/{index-CLTpMeB0.js → index-D5CazY1_.js} +13 -12
- package/dist/{index-CLTpMeB0.js.map → index-D5CazY1_.js.map} +1 -1
- package/dist/{index-B8wtI_1x.cjs → index-DFsUhc9i.cjs} +7 -7
- package/dist/{index-B8wtI_1x.cjs.map → index-DFsUhc9i.cjs.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +19 -17
- package/package.json +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";const o=require("react"),
|
|
2
|
-
`+te+t}}var re=!1,H;{var
|
|
1
|
+
"use strict";const o=require("react"),Ot=require("react-dom");var X={exports:{}},q={};var Ae;function jt(){if(Ae)return q;Ae=1;var n=o,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,d=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,m={key:!0,ref:!0,__self:!0,__source:!0};function R(P,v,w){var E,T={},_=null,N=null;w!==void 0&&(_=""+w),v.key!==void 0&&(_=""+v.key),v.ref!==void 0&&(N=v.ref);for(E in v)l.call(v,E)&&!m.hasOwnProperty(E)&&(T[E]=v[E]);if(P&&P.defaultProps)for(E in v=P.defaultProps,v)T[E]===void 0&&(T[E]=v[E]);return{$$typeof:e,type:P,key:_,ref:N,props:T,_owner:d.current}}return q.Fragment=r,q.jsx=R,q.jsxs=R,q}var G={};var Oe;function Ut(){return Oe||(Oe=1,process.env.NODE_ENV!=="production"&&(function(){var n=o,e=Symbol.for("react.element"),r=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),m=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),P=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),E=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),N=Symbol.for("react.offscreen"),O=Symbol.iterator,I="@@iterator";function j(t){if(t===null||typeof t!="object")return null;var a=O&&t[O]||t[I];return typeof a=="function"?a:null}var C=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(t){{for(var a=arguments.length,i=new Array(a>1?a-1:0),s=1;s<a;s++)i[s-1]=arguments[s];tt("error",t,i)}}function tt(t,a,i){{var s=C.ReactDebugCurrentFrame,p=s.getStackAddendum();p!==""&&(a+="%s",i=i.concat([p]));var f=i.map(function(c){return String(c)});f.unshift("Warning: "+a),Function.prototype.apply.call(console[t],console,f)}}var rt=!1,at=!1,nt=!1,it=!1,st=!1,ce;ce=Symbol.for("react.module.reference");function ot(t){return!!(typeof t=="string"||typeof t=="function"||t===l||t===m||st||t===d||t===w||t===E||it||t===N||rt||at||nt||typeof t=="object"&&t!==null&&(t.$$typeof===_||t.$$typeof===T||t.$$typeof===R||t.$$typeof===P||t.$$typeof===v||t.$$typeof===ce||t.getModuleId!==void 0))}function lt(t,a,i){var s=t.displayName;if(s)return s;var p=a.displayName||a.name||"";return p!==""?i+"("+p+")":i}function de(t){return t.displayName||"Context"}function x(t){if(t==null)return null;if(typeof t.tag=="number"&&h("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case l:return"Fragment";case r:return"Portal";case m:return"Profiler";case d:return"StrictMode";case w:return"Suspense";case E:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case P:var a=t;return de(a)+".Consumer";case R:var i=t;return de(i._context)+".Provider";case v:return lt(t,t.render,"ForwardRef");case T:var s=t.displayName||null;return s!==null?s:x(t.type)||"Memo";case _:{var p=t,f=p._payload,c=p._init;try{return x(c(f))}catch{return null}}}return null}var U=Object.assign,W=0,he,pe,ye,fe,ve,me,ge;function be(){}be.__reactDisabledLog=!0;function ut(){{if(W===0){he=console.log,pe=console.info,ye=console.warn,fe=console.error,ve=console.group,me=console.groupCollapsed,ge=console.groupEnd;var t={configurable:!0,enumerable:!0,value:be,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}W++}}function ct(){{if(W--,W===0){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:U({},t,{value:he}),info:U({},t,{value:pe}),warn:U({},t,{value:ye}),error:U({},t,{value:fe}),group:U({},t,{value:ve}),groupCollapsed:U({},t,{value:me}),groupEnd:U({},t,{value:ge})})}W<0&&h("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ee=C.ReactCurrentDispatcher,te;function B(t,a,i){{if(te===void 0)try{throw Error()}catch(p){var s=p.stack.trim().match(/\n( *(at )?)/);te=s&&s[1]||""}return`
|
|
2
|
+
`+te+t}}var re=!1,H;{var dt=typeof WeakMap=="function"?WeakMap:Map;H=new dt}function Ee(t,a){if(!t||re)return"";{var i=H.get(t);if(i!==void 0)return i}var s;re=!0;var p=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var f;f=ee.current,ee.current=null,ut();try{if(a){var c=function(){throw Error()};if(Object.defineProperty(c.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(c,[])}catch(D){s=D}Reflect.construct(t,[],c)}else{try{c.call()}catch(D){s=D}t.call(c.prototype)}}else{try{throw Error()}catch(D){s=D}t()}}catch(D){if(D&&s&&typeof D.stack=="string"){for(var u=D.stack.split(`
|
|
3
3
|
`),k=s.stack.split(`
|
|
4
4
|
`),g=u.length-1,b=k.length-1;g>=1&&b>=0&&u[g]!==k[b];)b--;for(;g>=1&&b>=0;g--,b--)if(u[g]!==k[b]){if(g!==1||b!==1)do if(g--,b--,b<0||u[g]!==k[b]){var S=`
|
|
5
|
-
`+u[g].replace(" at new "," at ");return t.displayName&&S.includes("<anonymous>")&&(S=S.replace("<anonymous>",t.displayName)),typeof t=="function"&&H.set(t,S),S}while(g>=1&&b>=0);break}}}finally{re=!1,ee.current=f,
|
|
5
|
+
`+u[g].replace(" at new "," at ");return t.displayName&&S.includes("<anonymous>")&&(S=S.replace("<anonymous>",t.displayName)),typeof t=="function"&&H.set(t,S),S}while(g>=1&&b>=0);break}}}finally{re=!1,ee.current=f,ct(),Error.prepareStackTrace=p}var $=t?t.displayName||t.name:"",F=$?B($):"";return typeof t=="function"&&H.set(t,F),F}function ht(t,a,i){return Ee(t,!1)}function pt(t){var a=t.prototype;return!!(a&&a.isReactComponent)}function J(t,a,i){if(t==null)return"";if(typeof t=="function")return Ee(t,pt(t));if(typeof t=="string")return B(t);switch(t){case w:return B("Suspense");case E:return B("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case v:return ht(t.render);case T:return J(t.type,a,i);case _:{var s=t,p=s._payload,f=s._init;try{return J(f(p),a,i)}catch{}}}return""}var L=Object.prototype.hasOwnProperty,Ce={},Pe=C.ReactDebugCurrentFrame;function K(t){if(t){var a=t._owner,i=J(t.type,t._source,a?a.type:null);Pe.setExtraStackFrame(i)}else Pe.setExtraStackFrame(null)}function yt(t,a,i,s,p){{var f=Function.call.bind(L);for(var c in t)if(f(t,c)){var u=void 0;try{if(typeof t[c]!="function"){var k=Error((s||"React class")+": "+i+" type `"+c+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[c]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw k.name="Invariant Violation",k}u=t[c](a,c,s,i,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(g){u=g}u&&!(u instanceof Error)&&(K(p),h("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",i,c,typeof u),K(null)),u instanceof Error&&!(u.message in Ce)&&(Ce[u.message]=!0,K(p),h("Failed %s type: %s",i,u.message),K(null))}}}var ft=Array.isArray;function ae(t){return ft(t)}function vt(t){{var a=typeof Symbol=="function"&&Symbol.toStringTag,i=a&&t[Symbol.toStringTag]||t.constructor.name||"Object";return i}}function mt(t){try{return we(t),!1}catch{return!0}}function we(t){return""+t}function Te(t){if(mt(t))return h("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",vt(t)),we(t)}var Re=C.ReactCurrentOwner,gt={key:!0,ref:!0,__self:!0,__source:!0},ke,De;function bt(t){if(L.call(t,"ref")){var a=Object.getOwnPropertyDescriptor(t,"ref").get;if(a&&a.isReactWarning)return!1}return t.ref!==void 0}function Et(t){if(L.call(t,"key")){var a=Object.getOwnPropertyDescriptor(t,"key").get;if(a&&a.isReactWarning)return!1}return t.key!==void 0}function Ct(t,a){typeof t.ref=="string"&&Re.current}function Pt(t,a){{var i=function(){ke||(ke=!0,h("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};i.isReactWarning=!0,Object.defineProperty(t,"key",{get:i,configurable:!0})}}function wt(t,a){{var i=function(){De||(De=!0,h("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};i.isReactWarning=!0,Object.defineProperty(t,"ref",{get:i,configurable:!0})}}var Tt=function(t,a,i,s,p,f,c){var u={$$typeof:e,type:t,key:a,ref:i,props:c,_owner:f};return u._store={},Object.defineProperty(u._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(u,"_self",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.defineProperty(u,"_source",{configurable:!1,enumerable:!1,writable:!1,value:p}),Object.freeze&&(Object.freeze(u.props),Object.freeze(u)),u};function Rt(t,a,i,s,p){{var f,c={},u=null,k=null;i!==void 0&&(Te(i),u=""+i),Et(a)&&(Te(a.key),u=""+a.key),bt(a)&&(k=a.ref,Ct(a,p));for(f in a)L.call(a,f)&&!gt.hasOwnProperty(f)&&(c[f]=a[f]);if(t&&t.defaultProps){var g=t.defaultProps;for(f in g)c[f]===void 0&&(c[f]=g[f])}if(u||k){var b=typeof t=="function"?t.displayName||t.name||"Unknown":t;u&&Pt(c,b),k&&wt(c,b)}return Tt(t,u,k,p,s,Re.current,c)}}var ne=C.ReactCurrentOwner,_e=C.ReactDebugCurrentFrame;function Y(t){if(t){var a=t._owner,i=J(t.type,t._source,a?a.type:null);_e.setExtraStackFrame(i)}else _e.setExtraStackFrame(null)}var ie;ie=!1;function se(t){return typeof t=="object"&&t!==null&&t.$$typeof===e}function Se(){{if(ne.current){var t=x(ne.current.type);if(t)return`
|
|
6
6
|
|
|
7
|
-
Check the render method of \``+t+"`."}return""}}function
|
|
7
|
+
Check the render method of \``+t+"`."}return""}}function kt(t){return""}var Ve={};function Dt(t){{var a=Se();if(!a){var i=typeof t=="string"?t:t.displayName||t.name;i&&(a=`
|
|
8
8
|
|
|
9
|
-
Check the top-level render call using <`+i+">.")}return a}}function Ne(t,a){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var i=
|
|
9
|
+
Check the top-level render call using <`+i+">.")}return a}}function Ne(t,a){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var i=Dt(a);if(Ve[i])return;Ve[i]=!0;var s="";t&&t._owner&&t._owner!==ne.current&&(s=" It was passed a child from "+x(t._owner.type)+"."),Y(t),h('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',i,s),Y(null)}}function Ie(t,a){{if(typeof t!="object")return;if(ae(t))for(var i=0;i<t.length;i++){var s=t[i];se(s)&&Ne(s,a)}else if(se(t))t._store&&(t._store.validated=!0);else if(t){var p=j(t);if(typeof p=="function"&&p!==t.entries)for(var f=p.call(t),c;!(c=f.next()).done;)se(c.value)&&Ne(c.value,a)}}}function _t(t){{var a=t.type;if(a==null||typeof a=="string")return;var i;if(typeof a=="function")i=a.propTypes;else if(typeof a=="object"&&(a.$$typeof===v||a.$$typeof===T))i=a.propTypes;else return;if(i){var s=x(a);yt(i,t.props,"prop",s,t)}else if(a.PropTypes!==void 0&&!ie){ie=!0;var p=x(a);h("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",p||"Unknown")}typeof a.getDefaultProps=="function"&&!a.getDefaultProps.isReactClassApproved&&h("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function St(t){{for(var a=Object.keys(t.props),i=0;i<a.length;i++){var s=a[i];if(s!=="children"&&s!=="key"){Y(t),h("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),Y(null);break}}t.ref!==null&&(Y(t),h("Invalid attribute `ref` supplied to `React.Fragment`."),Y(null))}}var xe={};function Me(t,a,i,s,p,f){{var c=ot(t);if(!c){var u="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(u+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var k=kt();k?u+=k:u+=Se();var g;t===null?g="null":ae(t)?g="array":t!==void 0&&t.$$typeof===e?(g="<"+(x(t.type)||"Unknown")+" />",u=" Did you accidentally export a JSX literal instead of a component?"):g=typeof t,h("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",g,u)}var b=Rt(t,a,i,p,f);if(b==null)return b;if(c){var S=a.children;if(S!==void 0)if(s)if(ae(S)){for(var $=0;$<S.length;$++)Ie(S[$],t);Object.freeze&&Object.freeze(S)}else h("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ie(S,t)}if(L.call(a,"key")){var F=x(t),D=Object.keys(a).filter(function(At){return At!=="key"}),oe=D.length>0?"{key: someKey, "+D.join(": ..., ")+": ...}":"{key: someKey}";if(!xe[F+oe]){var Mt=D.length>0?"{"+D.join(": ..., ")+": ...}":"{}";h(`A props object containing a "key" prop is being spread into JSX:
|
|
10
10
|
let props = %s;
|
|
11
11
|
<%s {...props} />
|
|
12
12
|
React keys must be passed directly to JSX without using spread:
|
|
13
13
|
let props = %s;
|
|
14
|
-
<%s key={someKey} {...props} />`,oe,F,xt,F),xe[F+oe]=!0}}return t===l?_t(b):Dt(b),b}}function St(t,a,i){return Me(t,a,i,!0)}function Vt(t,a,i){return Me(t,a,i,!1)}var Nt=Vt,It=St;G.Fragment=l,G.jsx=Nt,G.jsxs=It})()),G}var je;function Ut(){return je||(je=1,process.env.NODE_ENV==="production"?X.exports=Ot():X.exports=jt()),X.exports}var V=Ut(),y=(n=>(n[n.Trace=0]="Trace",n[n.Debug=1]="Debug",n[n.Information=2]="Information",n[n.Warning=3]="Warning",n[n.Error=4]="Error",n[n.Critical=5]="Critical",n[n.None=6]="None",n))(y||{});class Ft{title="nostalgic-diva";createMessage(e){return`[${this.title}] ${e}`}debug(e,...r){console.debug(this.createMessage(e),...r)}error(e,...r){console.error(this.createMessage(e),...r)}warn(e,...r){console.warn(this.createMessage(e),...r)}isEnabled(){return!0}log(e,r,...l){switch(e){case 1:this.debug(r,...l);break;case 3:this.warn(r,...l);break;case 4:this.error(r,...l);break}}}const Yt=new Ft;class $t{async attach(){}async detach(){}async loadVideo(e){}async play(){}async pause(){}async setCurrentTime(e){}async setVolume(e){}async setMuted(e){}async setPlaybackRate(e){}async getDuration(){return 0}async getCurrentTime(){return 0}async getVolume(){return 0}async getMuted(){return!1}async getPlaybackRate(){return 0}supports(e){return!1}}const z=new $t,Ge=o.createContext(void 0),ze=({children:n,logger:e=Yt})=>{const r=o.useRef(z),l=o.useCallback(h=>{e.log(y.Debug,"NostalgicDivaProvider.handleControllerChange",r.current,h),r.current=h},[e]),d=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.loadVideo",r.current),await r.current.loadVideo(h)},[e]),m=o.useCallback(async()=>{e.log(y.Debug,"NostalgicDivaProvider.play",r.current),await r.current.play()},[e]),R=o.useCallback(async()=>{e.log(y.Debug,"NostalgicDivaProvider.pause",r.current),await r.current.pause()},[e]),P=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setCurrentTime",r.current),await r.current.setCurrentTime(h),await r.current.play()},[e]),v=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setVolume",r.current),await r.current.setVolume(h)},[e]),w=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setMuted",r.current),await r.current.setMuted(h)},[e]),E=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setPlaybackRate",r.current),await r.current.setPlaybackRate(h)},[e]),T=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getDuration",r.current),await r.current.getDuration()),[e]),_=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getCurrentTime",r.current),await r.current.getCurrentTime()),[e]),N=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getVolume",r.current),await r.current.getVolume()),[e]),O=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getMuted",r.current),await r.current.getMuted()),[e]),I=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getPlaybackRate",r.current),await r.current.getPlaybackRate()),[e]),j=o.useCallback(h=>r.current.supports(h),[]),C=o.useMemo(()=>({logger:e,handleControllerChange:l,loadVideo:d,play:m,pause:R,setCurrentTime:P,setVolume:v,setMuted:w,setPlaybackRate:E,getDuration:T,getCurrentTime:_,getVolume:N,getMuted:O,getPlaybackRate:I,supports:j}),[e,l,d,m,R,P,v,w,E,T,_,N,O,I,j]);return V.jsx(Ge.Provider,{value:C,children:n})},Be=()=>o.useContext(Ge);class M{constructor(e){this.type=e}}const Wt=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,Lt=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i;class qt extends M{constructor(){super("Audio")}canPlay(e){return Wt.test(e)||Lt.test(e)}extractVideoId(e){return e}}const Ue=/^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?(?:[\w.#_-]+)?/;class Gt extends M{constructor(){super("Dailymotion")}canPlay(e){return Ue.test(e)}extractVideoId(e){return Ue.exec(e)?.[1]}}const Fe=/(?:www\.|)?nicovideo\.jp\/watch\/(\w+)$/;class zt extends M{constructor(){super("Niconico")}canPlay(e){return Fe.test(e)}extractVideoId(e){return Fe.exec(e)?.[1]}}const Bt=/(?:soundcloud\.com|snd\.sc)\/[^.]+$/;class Ht extends M{constructor(){super("SoundCloud")}canPlay(e){return Bt.test(e)}extractVideoId(e){return e}}const Ye=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/;class Jt extends M{constructor(){super("Twitch")}canPlay(e){return Ye.test(e)}extractVideoId(e){return Ye.exec(e)?.[1]}}const $e=/vimeo\.com\/(\d+)$/;class Kt extends M{constructor(){super("Vimeo")}canPlay(e){return $e.test(e)}extractVideoId(e){return $e.exec(e)?.[1]}}const We=/(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//;class Xt extends M{constructor(){super("YouTube")}canPlay(e){return We.test(e)}extractVideoId(e){return We.exec(e)?.[1]}}const He=[new Xt,new Jt,new Kt,new Gt,new Ht,new qt,new zt];function Je(n){return He.find(e=>e.canPlay(n))}const Ke=new Map(Object.entries({Audio:o.lazy(()=>Promise.resolve().then(()=>require("./AudioPlayer-BZVzeLpd.cjs"))),Dailymotion:o.lazy(()=>Promise.resolve().then(()=>require("./DailymotionPlayer-Bi8E4whf.cjs"))),Niconico:o.lazy(()=>Promise.resolve().then(()=>require("./NiconicoPlayer-CJGCtIIc.cjs"))),SoundCloud:o.lazy(()=>Promise.resolve().then(()=>require("./SoundCloudPlayer-BP5pJQjT.cjs"))),Twitch:o.lazy(()=>Promise.resolve().then(()=>require("./TwitchPlayer-CMQ4ZQB0.cjs"))),Vimeo:o.lazy(()=>Promise.resolve().then(()=>require("./VimeoPlayer-CvFLZFMf.cjs"))),YouTube:o.lazy(()=>Promise.resolve().then(()=>require("./YouTubePlayer-B1_fn24Y.cjs")))}));function Zt(n){const e=Je(n);if(e===void 0)return;const{type:r,extractVideoId:l}=e,d=l(n);if(d!==void 0)return{type:r,videoId:d}}const Le=o.memo(()=>V.jsx("div",{style:{width:"100%",height:"100%"},children:V.jsx("iframe",{src:"about:blank",title:"about:blank",style:{width:"100%",height:"100%",border:0}})})),Xe=o.memo(({src:n,options:e,onControllerChange:r})=>{const l=Be(),d=o.useCallback(w=>{l.handleControllerChange(w),r?.(w)},[l,r]);l.logger.log(y.Debug,"NostalgicDiva");const m=Zt(n);if(m===void 0)return l.logger.log(y.Warning,`Failed to extract type and videoId from src: "${n}". Returning EmptyPlayer.`),V.jsx(Le,{});const{type:R,videoId:P}=m,v=Ke.get(R);return v===void 0?(l.logger.log(y.Warning,`No player found for type "${R}" (videoId: "${P}"). Returning EmptyPlayer.`),V.jsx(Le,{})):V.jsx(o.Suspense,{fallback:null,children:V.jsx(v,{logger:l.logger,type:R,onControllerChange:d,videoId:P,options:e})})});class Ze extends HTMLElement{static observedAttributes=["src"];container;controller=z;constructor(){super(),this.container=this.attachShadow({mode:"closed"})}get src(){return this.getAttribute("src")??""}set src(e){this.setAttribute("src",e)}#t={onError:e=>this.dispatchEvent(new CustomEvent("error",{detail:e})),onLoaded:e=>this.dispatchEvent(new CustomEvent("loaded",{detail:e})),onPlay:()=>this.dispatchEvent(new CustomEvent("play")),onPause:()=>this.dispatchEvent(new CustomEvent("pause")),onEnded:()=>this.dispatchEvent(new CustomEvent("ended")),onTimeUpdate:e=>this.dispatchEvent(new CustomEvent("timeupdate",{detail:e}))};#r=e=>{console.debug("[@nostalgic-diva/web-components] handleControllerChange"),this.controller=e};#e(){At.render(V.jsx(ze,{children:V.jsx(Xe,{src:this.src,options:this.#t,onControllerChange:this.#r})}),this.container)}connectedCallback(){console.debug("[@nostalgic-diva/web-components] connectedCallback"),this.#e()}disconnectedCallback(){console.debug("[@nostalgic-diva/web-components] disconnectedCallback")}attributeChangedCallback(){console.debug("[@nostalgic-diva/web-components] attributeChangedCallback"),this.#e()}async loadVideo(e){await this.controller.loadVideo(e)}async play(){await this.controller.play()}async pause(){await this.controller.pause()}async setCurrentTime(e){await this.controller.setCurrentTime(e)}async setVolume(e){await this.controller.setVolume(e)}async setMuted(e){await this.controller.setMuted(e)}async setPlaybackRate(e){await this.controller.setPlaybackRate(e)}async getDuration(){return await this.controller.getDuration()}async getCurrentTime(){return await this.controller.getCurrentTime()}async getVolume(){return await this.controller.getVolume()}async getMuted(){return await this.controller.getMuted()}async getPlaybackRate(){return await this.controller.getPlaybackRate()}supports(e){return this.controller.supports(e)}}function Qt(){customElements.define("nostalgic-diva",Ze)}function er(){const n=o.useRef(!0);return n.current?(n.current=!1,!0):n.current}const tr=(n,e)=>n===e;function rr(n,e=tr){const r=o.useRef(),l=o.useRef(n);return!er()&&!e(l.current,n)&&(r.current=l.current,l.current=n),r.current}class A{constructor(e,r,l){this.logger=e,this.player=r,this.options=l,this.logger.log(y.Debug,"ctor")}supports(e){return this[e]!==void 0}}class Q{constructor(e,r,l,d,m){this.logger=e,this.type=r,this.player=l,this.options=d,this.controllerFactory=m,this.id=Q.nextId++}static nextId=1;id;impl;createMessage(e){return`${this.type}#${this.id} ${e}`}debug(e,...r){this.logger.log(y.Debug,this.createMessage(e),...r)}error(e,...r){this.logger.log(y.Error,this.createMessage(e),...r)}async attach(e){if(this.debug("attach",e),this.impl){this.debug("player is already attached");return}this.debug("Attaching player..."),this.impl=new this.controllerFactory(this.logger,this.player,this.options),await this.impl.attach(e),this.debug("player attached")}createPlayerNotAttachedError(){return this.error("player is not attached"),new Error("player is not attached")}createCommandNotSupportedError(e){return new Error(`${e} is not supported`)}async detach(){if(this.debug("detach"),this.impl===void 0)throw this.createPlayerNotAttachedError();await this.impl.detach(),this.impl=void 0}async loadVideo(e){if(this.debug("loadVideo",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.loadVideo===void 0)throw this.createCommandNotSupportedError("loadVideo");this.debug("Loading video..."),await this.impl.loadVideo(e),this.debug("video loaded",e)}play(){if(this.debug("play"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.play===void 0)throw this.createCommandNotSupportedError("play");return this.impl.play()}pause(){if(this.debug("pause"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.pause===void 0)throw this.createCommandNotSupportedError("pause");return this.impl.pause()}setCurrentTime(e){if(this.debug("setCurrentTime",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setCurrentTime===void 0)throw this.createCommandNotSupportedError("setCurrentTime");return this.impl.setCurrentTime(e)}setVolume(e){if(this.debug("setVolume",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setVolume===void 0)throw this.createCommandNotSupportedError("setVolume");return this.impl.setVolume(e)}setMuted(e){if(this.debug("setMuted",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setMuted===void 0)throw this.createCommandNotSupportedError("setMuted");return this.impl.setMuted(e)}setPlaybackRate(e){if(this.debug("setPlaybackRate",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setPlaybackRate===void 0)throw this.createCommandNotSupportedError("setPlaybackRate");return this.impl.setPlaybackRate(e)}getDuration(){if(this.debug("getDuration"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getDuration===void 0)throw this.createCommandNotSupportedError("getDuration");return this.impl.getDuration()}getCurrentTime(){if(this.debug("getCurrentTime"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getCurrentTime===void 0)throw this.createCommandNotSupportedError("getCurrentTime");return this.impl.getCurrentTime()}getVolume(){if(this.debug("getVolume"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getVolume===void 0)throw this.createCommandNotSupportedError("getVolume");return this.impl.getVolume()}getMuted(){if(this.debug("getMuted"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getMuted===void 0)throw this.createCommandNotSupportedError("getMuted");return this.impl.getMuted()}getPlaybackRate(){if(this.debug("getPlaybackRate"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getPlaybackRate===void 0)throw this.createCommandNotSupportedError("getPlaybackRate");return this.impl.getPlaybackRate()}supports(e){if(this.impl===void 0)throw this.createPlayerNotAttachedError();return this.impl.supports(e)}}const ar=({logger:n,type:e,loadScript:r,playerFactory:l,onControllerChange:d,videoId:m,options:R,controllerFactory:P,children:v})=>{n.log(y.Debug,"PlayerContainer");const w=o.useRef(m),E=o.useRef(void 0),[T,_]=o.useState(),[N,O]=o.useState(z),I=o.useCallback(C=>{O(C),d?.(C)},[d]);o.useEffect(()=>{(r?.()??Promise.resolve()).then(()=>l(E.current,w.current)).then(C=>_(C))},[r,l]),o.useEffect(()=>{if(T===void 0)return;const C=new Q(n,e,T,R,P);return C.attach(w.current).then(()=>I(C)),()=>{C.detach().finally(()=>I(z))}},[n,e,r,T,R,P,I]);const j=rr(m);return o.useEffect(()=>{j!==void 0&&N.loadVideo(m)},[j,m,N]),V.jsx(V.Fragment,{children:v(E,w.current)})};class nr extends A{async attach(){this.player.onerror=e=>this.options?.onError?.(e),this.player.onloadeddata=()=>this.options?.onLoaded?.({id:this.player.src}),this.player.onplay=()=>this.options?.onPlay?.(),this.player.onpause=()=>this.options?.onPause?.(),this.player.onended=()=>this.options?.onEnded?.(),this.player.ontimeupdate=()=>{this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime})}}async detach(){this.player.onerror=null,this.player.onloadeddata=null,this.player.onplay=null,this.player.onpause=null,this.player.onended=null,this.player.ontimeupdate=null}async loadVideo(e){this.player.src=e}async play(){await this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.currentTime=e}async setVolume(e){this.player.volume=e}async setMuted(e){this.player.muted=e}async setPlaybackRate(e){this.player.playbackRate=e}async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}async getPlaybackRate(){return this.player.playbackRate}}const qe=["apiready","seeked","video_end","durationchange","pause","playing","error"];class ir extends A{handlePlayerEvents=e=>{switch(e.type){case"apiready":this.options?.onLoaded?.({id:this.player.video.videoId});break;case"seeked":this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime});break;case"video_end":this.options?.onEnded?.();break;case"durationchange":break;case"pause":this.options?.onPause?.();break;case"playing":this.options?.onPlay?.();break;case"error":this.options?.onError?.(e);break}};async attach(e){for(const r of qe)this.player.addEventListener(r,this.handlePlayerEvents)}async detach(){for(const e of qe)this.player.removeEventListener(e,this.handlePlayerEvents)}async loadVideo(e){this.player.load(e)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}getPlaybackRate=void 0}var le=(n=>(n[n.Play=2]="Play",n[n.Pause=3]="Pause",n[n.End=4]="End",n))(le||{});class Z extends A{static origin="https://embed.nicovideo.jp";duration=0;currentTime=0;volume=0;muted=!1;handleMessage=e=>{if(e.origin!==Z.origin)return;const r=e.data;switch(r.eventName){case"playerStatusChange":this.logger.log(y.Debug,`player status changed: ${le[r.data.playerStatus]??r.data.playerStatus}`);break;case"statusChange":switch(this.logger.log(y.Debug,`status changed: ${le[r.data.playerStatus]??r.data.playerStatus}`),r.data.playerStatus){case 2:this.options?.onPlay?.();break;case 3:this.options?.onPause?.();break;case 4:this.options?.onEnded?.();break}break;case"playerMetadataChange":r.data.duration!==void 0&&(this.duration=r.data.duration/1e3),this.currentTime=r.data.currentTime===void 0?0:r.data.currentTime/1e3,this.volume=r.data.volume,this.muted=r.data.muted,this.options?.onTimeUpdate?.({duration:this.duration,percent:this.currentTime!==0&&this.duration!==0?this.currentTime/this.duration:0,seconds:this.currentTime});break;case"loadComplete":this.logger.log(y.Debug,"load completed"),this.duration=r.data.videoInfo.lengthInSeconds,this.options?.onLoaded?.({id:r.data.videoInfo.watchId});break;case"error":this.options?.onError?.(r);break;case"player-error:video:play":case"player-error:video:seek":this.options?.onError?.(r);break;default:this.logger.log(y.Debug,"message",r.eventName,r.data);break}};async attach(){window.addEventListener("message",this.handleMessage)}async detach(){window.removeEventListener("message",this.handleMessage)}async loadVideo(e){return new Promise((r,l)=>{this.duration=0,this.currentTime=0,this.volume=0,this.muted=!1,this.player.onload=()=>{this.player.onload=null,r()},this.player.src=`https://embed.nicovideo.jp/watch/${e}?jsapi=1&playerId=1`})}postMessage(e){this.player.contentWindow?.postMessage({...e,playerId:"1",sourceConnectorType:1},Z.origin)}async play(){this.postMessage({eventName:"play"})}async pause(){this.postMessage({eventName:"pause"})}async setCurrentTime(e){this.postMessage({eventName:"seek",data:{time:e*1e3}})}async setVolume(e){this.postMessage({eventName:"volumeChange",data:{volume:e}})}async setMuted(e){this.postMessage({eventName:"mute",data:{mute:e}})}setPlaybackRate=void 0;async getDuration(){return this.duration}async getCurrentTime(){return this.currentTime}async getVolume(){return this.volume}async getMuted(){return this.muted}getPlaybackRate=void 0}class ue extends A{getDurationCore(){return new Promise((e,r)=>{this.player.getDuration(e)})}attach(e){return new Promise((r,l)=>{this.player.bind(SC.Widget.Events.READY,()=>{this.player.bind(SC.Widget.Events.PLAY_PROGRESS,async d=>{const m=await this.getDurationCore();this.options?.onTimeUpdate?.({duration:m/1e3,percent:d.currentPosition/m,seconds:d.currentPosition/1e3})}),this.player.bind(SC.Widget.Events.ERROR,d=>this.options?.onError?.(d)),this.player.bind(SC.Widget.Events.PLAY,()=>this.options?.onPlay?.()),this.player.bind(SC.Widget.Events.PAUSE,()=>this.options?.onPause?.()),this.player.bind(SC.Widget.Events.FINISH,()=>this.options?.onEnded?.()),this.options?.onLoaded?.({id:e}),r()})})}async detach(){this.player.unbind(SC.Widget.Events.READY),this.player.unbind(SC.Widget.Events.PLAY_PROGRESS),this.player.unbind(SC.Widget.Events.ERROR),this.player.unbind(SC.Widget.Events.PLAY),this.player.unbind(SC.Widget.Events.PAUSE),this.player.unbind(SC.Widget.Events.FINISH)}static playerLoadAsync(e,r,l){return new Promise((d,m)=>{e.load(r,{...l,callback:d})})}async loadVideo(e){await ue.playerLoadAsync(this.player,e,{auto_play:!0}),this.options?.onLoaded?.({id:e})}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seekTo(e*1e3)}async setVolume(e){this.player.setVolume(e*100)}setMuted=void 0;setPlaybackRate=void 0;async getDuration(){return await this.getDurationCore()/1e3}getCurrentTimeCore(){return new Promise((e,r)=>{this.player.getPosition(e)})}async getCurrentTime(){return await this.getCurrentTimeCore()/1e3}getVolumeCore(){return new Promise((e,r)=>{this.player.getVolume(e)})}async getVolume(){return await this.getVolumeCore()/100}getMuted=void 0;getPlaybackRate=void 0}class sr extends A{handleReady=()=>{this.options?.onLoaded?.({id:this.player.getVideo()})};handlePlay=()=>{this.options?.onPlay?.()};handlePause=()=>{this.options?.onPause?.()};handleEnded=()=>{this.options?.onEnded?.()};handleSeek=()=>{this.options?.onTimeUpdate?.({duration:0,percent:0,seconds:0})};async attach(e){this.player.addEventListener(Twitch.Player.READY,this.handleReady),this.player.addEventListener(Twitch.Player.PLAYING,this.handlePlay),this.player.addEventListener(Twitch.Player.PAUSE,this.handlePause),this.player.addEventListener(Twitch.Player.ENDED,this.handleEnded),this.player.addEventListener(Twitch.Player.SEEK,this.handleSeek)}async detach(){}async loadVideo(e){this.player.setVideo(e,0)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return this.player.getMuted()}getPlaybackRate=void 0}class or extends A{async attach(){await this.player.ready(),this.player.on("error",e=>this.options?.onError?.(e)),this.player.on("loaded",e=>this.options?.onLoaded?.({id:e.id.toString()})),this.player.on("play",()=>this.options?.onPlay?.()),this.player.on("pause",()=>this.options?.onPause?.()),this.player.on("ended",()=>this.options?.onEnded?.()),this.player.on("timeupdate",e=>{this.options?.onTimeUpdate?.({duration:e.duration,percent:e.percent,seconds:e.seconds})})}async detach(){this.player.off("error"),this.player.off("loaded"),this.player.off("play"),this.player.off("pause"),this.player.off("ended"),this.player.off("timeupdate")}async loadVideo(e){await this.player.loadVideo(e)}async play(){await this.player.play()}async pause(){await this.player.pause()}async setCurrentTime(e){await this.player.setCurrentTime(e)}async setVolume(e){await this.player.setVolume(e)}async setMuted(e){await this.player.setMuted(e)}async setPlaybackRate(e){await this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return await this.player.getMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}}var Qe=(n=>(n[n.UNSTARTED=-1]="UNSTARTED",n[n.ENDED=0]="ENDED",n[n.PLAYING=1]="PLAYING",n[n.PAUSED=2]="PAUSED",n[n.BUFFERING=3]="BUFFERING",n[n.CUED=5]="CUED",n))(Qe||{});class lr extends A{previousTime;timeUpdateIntervalId;clearTimeUpdateInterval(){this.logger.log(y.Debug,"clearTimeUpdateInterval",this.timeUpdateIntervalId),window.clearInterval(this.timeUpdateIntervalId),this.timeUpdateIntervalId=void 0}invokeTimeUpdate(e){const r=e.getCurrentTime();if(r===this.previousTime)return;const l=e.getDuration();this.options?.onTimeUpdate?.({duration:l,percent:r/l,seconds:r}),this.previousTime=r}setTimeUpdateInterval(){this.logger.log(y.Debug,"setTimeUpdateInterval"),this.clearTimeUpdateInterval(),this.timeUpdateIntervalId=window.setInterval(()=>this.invokeTimeUpdate(this.player),250),this.logger.log(y.Debug,"timeUpdateIntervalId",this.timeUpdateIntervalId),this.invokeTimeUpdate(this.player)}attach(e){return new Promise((r,l)=>{this.player.addEventListener("onReady",async()=>{this.player.addEventListener("onError",d=>this.options?.onError?.(d.data)),this.player.addEventListener("onStateChange",d=>{switch(this.logger.log(y.Debug,`state changed: ${Qe[d.data]}`),d.data){case YT.PlayerState.CUED:this.options?.onLoaded?.({id:e});break;case YT.PlayerState.PLAYING:this.options?.onPlay?.(),this.setTimeUpdateInterval();break;case YT.PlayerState.PAUSED:this.options?.onPause?.(),this.clearTimeUpdateInterval();break;case YT.PlayerState.ENDED:this.options?.onEnded?.(),this.clearTimeUpdateInterval();break}}),await this.loadVideo(e),r()})})}async detach(){this.clearTimeUpdateInterval()}async loadVideo(e){this.previousTime=void 0,this.player.cueVideoById(e)}async play(){this.player.playVideo()}async pause(){this.player.pauseVideo()}async setCurrentTime(e){this.player.seekTo(e),this.invokeTimeUpdate(this.player)}async setVolume(e){this.player.setVolume(e*100)}async setMuted(e){e?this.player.mute():this.player.unMute()}async setPlaybackRate(e){this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()/100}async getMuted(){return this.player.isMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}}exports.AudioPlayerController=nr;exports.DailymotionPlayerController=ir;exports.LogLevel=y;exports.NiconicoPlayerController=Z;exports.NostalgicDiva=Xe;exports.NostalgicDivaElement=Ze;exports.NostalgicDivaProvider=ze;exports.PlayerContainer=ar;exports.PlayerController=Q;exports.PlayerControllerImpl=A;exports.SoundCloudPlayerController=ue;exports.TwitchPlayerController=sr;exports.VideoService=M;exports.VimeoPlayerController=or;exports.YouTubePlayerController=lr;exports.defineNostalgicDiva=Qt;exports.findVideoService=Je;exports.jsxRuntimeExports=V;exports.nullPlayerController=z;exports.players=Ke;exports.useNostalgicDiva=Be;exports.videoServices=He;
|
|
15
|
-
//# sourceMappingURL=index-
|
|
14
|
+
<%s key={someKey} {...props} />`,oe,F,Mt,F),xe[F+oe]=!0}}return t===l?St(b):_t(b),b}}function Vt(t,a,i){return Me(t,a,i,!0)}function Nt(t,a,i){return Me(t,a,i,!1)}var It=Nt,xt=Vt;G.Fragment=l,G.jsx=It,G.jsxs=xt})()),G}var je;function Ft(){return je||(je=1,process.env.NODE_ENV==="production"?X.exports=jt():X.exports=Ut()),X.exports}var V=Ft(),y=(n=>(n[n.Trace=0]="Trace",n[n.Debug=1]="Debug",n[n.Information=2]="Information",n[n.Warning=3]="Warning",n[n.Error=4]="Error",n[n.Critical=5]="Critical",n[n.None=6]="None",n))(y||{});class Yt{title="nostalgic-diva";createMessage(e){return`[${this.title}] ${e}`}debug(e,...r){console.debug(this.createMessage(e),...r)}error(e,...r){console.error(this.createMessage(e),...r)}warn(e,...r){console.warn(this.createMessage(e),...r)}isEnabled(){return!0}log(e,r,...l){switch(e){case 1:this.debug(r,...l);break;case 3:this.warn(r,...l);break;case 4:this.error(r,...l);break}}}const Ge=new Yt;class $t{async attach(){}async detach(){}async loadVideo(e){}async play(){}async pause(){}async setCurrentTime(e){}async setVolume(e){}async setMuted(e){}async setPlaybackRate(e){}async getDuration(){return 0}async getCurrentTime(){return 0}async getVolume(){return 0}async getMuted(){return!1}async getPlaybackRate(){return 0}supports(e){return!1}}const z=new $t,ze=o.createContext(void 0),Be=({children:n,logger:e=Ge})=>{const r=o.useRef(z),l=o.useCallback(h=>{e.log(y.Debug,"NostalgicDivaProvider.handleControllerChange",r.current,h),r.current=h},[e]),d=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.loadVideo",r.current),await r.current.loadVideo(h)},[e]),m=o.useCallback(async()=>{e.log(y.Debug,"NostalgicDivaProvider.play",r.current),await r.current.play()},[e]),R=o.useCallback(async()=>{e.log(y.Debug,"NostalgicDivaProvider.pause",r.current),await r.current.pause()},[e]),P=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setCurrentTime",r.current),await r.current.setCurrentTime(h),await r.current.play()},[e]),v=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setVolume",r.current),await r.current.setVolume(h)},[e]),w=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setMuted",r.current),await r.current.setMuted(h)},[e]),E=o.useCallback(async h=>{e.log(y.Debug,"NostalgicDivaProvider.setPlaybackRate",r.current),await r.current.setPlaybackRate(h)},[e]),T=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getDuration",r.current),await r.current.getDuration()),[e]),_=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getCurrentTime",r.current),await r.current.getCurrentTime()),[e]),N=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getVolume",r.current),await r.current.getVolume()),[e]),O=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getMuted",r.current),await r.current.getMuted()),[e]),I=o.useCallback(async()=>(e.log(y.Debug,"NostalgicDivaProvider.getPlaybackRate",r.current),await r.current.getPlaybackRate()),[e]),j=o.useCallback(h=>r.current.supports(h),[]),C=o.useMemo(()=>({logger:e,handleControllerChange:l,loadVideo:d,play:m,pause:R,setCurrentTime:P,setVolume:v,setMuted:w,setPlaybackRate:E,getDuration:T,getCurrentTime:_,getVolume:N,getMuted:O,getPlaybackRate:I,supports:j}),[e,l,d,m,R,P,v,w,E,T,_,N,O,I,j]);return V.jsx(ze.Provider,{value:C,children:n})},He=()=>o.useContext(ze);class M{constructor(e){this.type=e}}const Wt=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,Lt=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i;class qt extends M{constructor(){super("Audio")}canPlay(e){return Wt.test(e)||Lt.test(e)}extractVideoId(e){return e}}const Ue=/^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?(?:[\w.#_-]+)?/;class Gt extends M{constructor(){super("Dailymotion")}canPlay(e){return Ue.test(e)}extractVideoId(e){return Ue.exec(e)?.[1]}}const Fe=/(?:www\.|)?nicovideo\.jp\/watch\/(\w+)$/;class zt extends M{constructor(){super("Niconico")}canPlay(e){return Fe.test(e)}extractVideoId(e){return Fe.exec(e)?.[1]}}const Bt=/(?:soundcloud\.com|snd\.sc)\/[^.]+$/;class Ht extends M{constructor(){super("SoundCloud")}canPlay(e){return Bt.test(e)}extractVideoId(e){return e}}const Ye=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/;class Jt extends M{constructor(){super("Twitch")}canPlay(e){return Ye.test(e)}extractVideoId(e){return Ye.exec(e)?.[1]}}const $e=/vimeo\.com\/(\d+)$/;class Kt extends M{constructor(){super("Vimeo")}canPlay(e){return $e.test(e)}extractVideoId(e){return $e.exec(e)?.[1]}}const We=/(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//;class Xt extends M{constructor(){super("YouTube")}canPlay(e){return We.test(e)}extractVideoId(e){return We.exec(e)?.[1]}}const Je=[new Xt,new Jt,new Kt,new Gt,new Ht,new qt,new zt];function Ke(n){return Je.find(e=>e.canPlay(n))}const Xe=new Map(Object.entries({Audio:o.lazy(()=>Promise.resolve().then(()=>require("./AudioPlayer-B3HUFxrt.cjs"))),Dailymotion:o.lazy(()=>Promise.resolve().then(()=>require("./DailymotionPlayer-CUowHniC.cjs"))),Niconico:o.lazy(()=>Promise.resolve().then(()=>require("./NiconicoPlayer-DpSXQj5m.cjs"))),SoundCloud:o.lazy(()=>Promise.resolve().then(()=>require("./SoundCloudPlayer-BV22QlM7.cjs"))),Twitch:o.lazy(()=>Promise.resolve().then(()=>require("./TwitchPlayer-CAtEBZ_D.cjs"))),Vimeo:o.lazy(()=>Promise.resolve().then(()=>require("./VimeoPlayer-BeD9InZ2.cjs"))),YouTube:o.lazy(()=>Promise.resolve().then(()=>require("./YouTubePlayer-DLqd36LF.cjs")))}));function Zt(n){const e=Ke(n);if(e===void 0)return;const{type:r,extractVideoId:l}=e,d=l(n);if(d!==void 0)return{type:r,videoId:d}}const Le=o.memo(()=>V.jsx("div",{style:{width:"100%",height:"100%"},children:V.jsx("iframe",{src:"about:blank",title:"about:blank",style:{width:"100%",height:"100%",border:0}})})),Ze=o.memo(({src:n,options:e,onControllerChange:r})=>{const l=He(),d=o.useCallback(w=>{l.handleControllerChange(w),r?.(w)},[l,r]);l.logger.log(y.Debug,"NostalgicDiva");const m=Zt(n);if(m===void 0)return l.logger.log(y.Warning,`Failed to extract type and videoId from src: "${n}". Returning EmptyPlayer.`),V.jsx(Le,{});const{type:R,videoId:P}=m,v=Xe.get(R);return v===void 0?(l.logger.log(y.Warning,`No player found for type "${R}" (videoId: "${P}"). Returning EmptyPlayer.`),V.jsx(Le,{})):V.jsx(o.Suspense,{fallback:null,children:V.jsx(v,{logger:l.logger,type:R,onControllerChange:d,videoId:P,options:e})})});class Qe extends HTMLElement{static observedAttributes=["src"];container;controller=z;constructor(){super(),this.container=this.attachShadow({mode:"closed"})}get src(){return this.getAttribute("src")??""}set src(e){this.setAttribute("src",e)}#t={onError:e=>this.dispatchEvent(new CustomEvent("error",{detail:e})),onLoaded:e=>this.dispatchEvent(new CustomEvent("loaded",{detail:e})),onPlay:()=>this.dispatchEvent(new CustomEvent("play")),onPause:()=>this.dispatchEvent(new CustomEvent("pause")),onEnded:()=>this.dispatchEvent(new CustomEvent("ended")),onTimeUpdate:e=>this.dispatchEvent(new CustomEvent("timeupdate",{detail:e}))};#r=e=>{console.debug("[@nostalgic-diva/web-components] handleControllerChange"),this.controller=e};#e(){Ot.render(V.jsx(Be,{children:V.jsx(Ze,{src:this.src,options:this.#t,onControllerChange:this.#r})}),this.container)}connectedCallback(){console.debug("[@nostalgic-diva/web-components] connectedCallback"),this.#e()}disconnectedCallback(){console.debug("[@nostalgic-diva/web-components] disconnectedCallback")}attributeChangedCallback(){console.debug("[@nostalgic-diva/web-components] attributeChangedCallback"),this.#e()}async loadVideo(e){await this.controller.loadVideo(e)}async play(){await this.controller.play()}async pause(){await this.controller.pause()}async setCurrentTime(e){await this.controller.setCurrentTime(e)}async setVolume(e){await this.controller.setVolume(e)}async setMuted(e){await this.controller.setMuted(e)}async setPlaybackRate(e){await this.controller.setPlaybackRate(e)}async getDuration(){return await this.controller.getDuration()}async getCurrentTime(){return await this.controller.getCurrentTime()}async getVolume(){return await this.controller.getVolume()}async getMuted(){return await this.controller.getMuted()}async getPlaybackRate(){return await this.controller.getPlaybackRate()}supports(e){return this.controller.supports(e)}}function Qt(){customElements.define("nostalgic-diva",Qe)}function er(){const n=o.useRef(!0);return n.current?(n.current=!1,!0):n.current}const tr=(n,e)=>n===e;function rr(n,e=tr){const r=o.useRef(),l=o.useRef(n);return!er()&&!e(l.current,n)&&(r.current=l.current,l.current=n),r.current}class A{constructor(e,r,l){this.logger=e,this.player=r,this.options=l,this.logger.log(y.Debug,"ctor")}supports(e){return this[e]!==void 0}}class Q{constructor(e,r,l,d,m){this.logger=e,this.type=r,this.player=l,this.options=d,this.controllerFactory=m,this.id=Q.nextId++}static nextId=1;id;impl;createMessage(e){return`${this.type}#${this.id} ${e}`}debug(e,...r){this.logger.log(y.Debug,this.createMessage(e),...r)}error(e,...r){this.logger.log(y.Error,this.createMessage(e),...r)}async attach(e){if(this.debug("attach",e),this.impl){this.debug("player is already attached");return}this.debug("Attaching player..."),this.impl=new this.controllerFactory(this.logger,this.player,this.options),await this.impl.attach(e),this.debug("player attached")}createPlayerNotAttachedError(){return this.error("player is not attached"),new Error("player is not attached")}createCommandNotSupportedError(e){return new Error(`${e} is not supported`)}async detach(){if(this.debug("detach"),this.impl===void 0)throw this.createPlayerNotAttachedError();await this.impl.detach(),this.impl=void 0}async loadVideo(e){if(this.debug("loadVideo",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.loadVideo===void 0)throw this.createCommandNotSupportedError("loadVideo");this.debug("Loading video..."),await this.impl.loadVideo(e),this.debug("video loaded",e)}play(){if(this.debug("play"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.play===void 0)throw this.createCommandNotSupportedError("play");return this.impl.play()}pause(){if(this.debug("pause"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.pause===void 0)throw this.createCommandNotSupportedError("pause");return this.impl.pause()}setCurrentTime(e){if(this.debug("setCurrentTime",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setCurrentTime===void 0)throw this.createCommandNotSupportedError("setCurrentTime");return this.impl.setCurrentTime(e)}setVolume(e){if(this.debug("setVolume",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setVolume===void 0)throw this.createCommandNotSupportedError("setVolume");return this.impl.setVolume(e)}setMuted(e){if(this.debug("setMuted",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setMuted===void 0)throw this.createCommandNotSupportedError("setMuted");return this.impl.setMuted(e)}setPlaybackRate(e){if(this.debug("setPlaybackRate",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setPlaybackRate===void 0)throw this.createCommandNotSupportedError("setPlaybackRate");return this.impl.setPlaybackRate(e)}getDuration(){if(this.debug("getDuration"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getDuration===void 0)throw this.createCommandNotSupportedError("getDuration");return this.impl.getDuration()}getCurrentTime(){if(this.debug("getCurrentTime"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getCurrentTime===void 0)throw this.createCommandNotSupportedError("getCurrentTime");return this.impl.getCurrentTime()}getVolume(){if(this.debug("getVolume"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getVolume===void 0)throw this.createCommandNotSupportedError("getVolume");return this.impl.getVolume()}getMuted(){if(this.debug("getMuted"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getMuted===void 0)throw this.createCommandNotSupportedError("getMuted");return this.impl.getMuted()}getPlaybackRate(){if(this.debug("getPlaybackRate"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getPlaybackRate===void 0)throw this.createCommandNotSupportedError("getPlaybackRate");return this.impl.getPlaybackRate()}supports(e){if(this.impl===void 0)throw this.createPlayerNotAttachedError();return this.impl.supports(e)}}const ar=({logger:n,type:e,loadScript:r,playerFactory:l,onControllerChange:d,videoId:m,options:R,controllerFactory:P,children:v})=>{n.log(y.Debug,"PlayerContainer");const w=o.useRef(m),E=o.useRef(void 0),[T,_]=o.useState(),[N,O]=o.useState(z),I=o.useCallback(C=>{O(C),d?.(C)},[d]);o.useEffect(()=>{(r?.()??Promise.resolve()).then(()=>l(E.current,w.current)).then(C=>_(C))},[r,l]),o.useEffect(()=>{if(T===void 0)return;const C=new Q(n,e,T,R,P);return C.attach(w.current).then(()=>I(C)),()=>{C.detach().finally(()=>I(z))}},[n,e,r,T,R,P,I]);const j=rr(m);return o.useEffect(()=>{j!==void 0&&N.loadVideo(m)},[j,m,N]),V.jsx(V.Fragment,{children:v(E,w.current)})};class nr extends A{async attach(){this.player.onerror=e=>this.options?.onError?.(e),this.player.onloadeddata=()=>this.options?.onLoaded?.({id:this.player.src}),this.player.onplay=()=>this.options?.onPlay?.(),this.player.onpause=()=>this.options?.onPause?.(),this.player.onended=()=>this.options?.onEnded?.(),this.player.ontimeupdate=()=>{this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime})}}async detach(){this.player.onerror=null,this.player.onloadeddata=null,this.player.onplay=null,this.player.onpause=null,this.player.onended=null,this.player.ontimeupdate=null}async loadVideo(e){this.player.src=e}async play(){await this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.currentTime=e}async setVolume(e){this.player.volume=e}async setMuted(e){this.player.muted=e}async setPlaybackRate(e){this.player.playbackRate=e}async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}async getPlaybackRate(){return this.player.playbackRate}}const qe=["apiready","seeked","video_end","durationchange","pause","playing","error"];class ir extends A{handlePlayerEvents=e=>{switch(e.type){case"apiready":this.options?.onLoaded?.({id:this.player.video.videoId});break;case"seeked":this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime});break;case"video_end":this.options?.onEnded?.();break;case"durationchange":break;case"pause":this.options?.onPause?.();break;case"playing":this.options?.onPlay?.();break;case"error":this.options?.onError?.(e);break}};async attach(e){for(const r of qe)this.player.addEventListener(r,this.handlePlayerEvents)}async detach(){for(const e of qe)this.player.removeEventListener(e,this.handlePlayerEvents)}async loadVideo(e){this.player.load(e)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}getPlaybackRate=void 0}var le=(n=>(n[n.Play=2]="Play",n[n.Pause=3]="Pause",n[n.End=4]="End",n))(le||{});class Z extends A{static origin="https://embed.nicovideo.jp";duration=0;currentTime=0;volume=0;muted=!1;handleMessage=e=>{if(e.origin!==Z.origin)return;const r=e.data;switch(r.eventName){case"playerStatusChange":this.logger.log(y.Debug,`player status changed: ${le[r.data.playerStatus]??r.data.playerStatus}`);break;case"statusChange":switch(this.logger.log(y.Debug,`status changed: ${le[r.data.playerStatus]??r.data.playerStatus}`),r.data.playerStatus){case 2:this.options?.onPlay?.();break;case 3:this.options?.onPause?.();break;case 4:this.options?.onEnded?.();break}break;case"playerMetadataChange":r.data.duration!==void 0&&(this.duration=r.data.duration/1e3),this.currentTime=r.data.currentTime===void 0?0:r.data.currentTime/1e3,this.volume=r.data.volume,this.muted=r.data.muted,this.options?.onTimeUpdate?.({duration:this.duration,percent:this.currentTime!==0&&this.duration!==0?this.currentTime/this.duration:0,seconds:this.currentTime});break;case"loadComplete":this.logger.log(y.Debug,"load completed"),this.duration=r.data.videoInfo.lengthInSeconds,this.options?.onLoaded?.({id:r.data.videoInfo.watchId});break;case"error":this.options?.onError?.(r);break;case"player-error:video:play":case"player-error:video:seek":this.options?.onError?.(r);break;default:this.logger.log(y.Debug,"message",r.eventName,r.data);break}};async attach(){window.addEventListener("message",this.handleMessage)}async detach(){window.removeEventListener("message",this.handleMessage)}async loadVideo(e){return new Promise((r,l)=>{this.duration=0,this.currentTime=0,this.volume=0,this.muted=!1,this.player.onload=()=>{this.player.onload=null,r()},this.player.src=`https://embed.nicovideo.jp/watch/${e}?jsapi=1&playerId=1`})}postMessage(e){this.player.contentWindow?.postMessage({...e,playerId:"1",sourceConnectorType:1},Z.origin)}async play(){this.postMessage({eventName:"play"})}async pause(){this.postMessage({eventName:"pause"})}async setCurrentTime(e){this.postMessage({eventName:"seek",data:{time:e*1e3}})}async setVolume(e){this.postMessage({eventName:"volumeChange",data:{volume:e}})}async setMuted(e){this.postMessage({eventName:"mute",data:{mute:e}})}setPlaybackRate=void 0;async getDuration(){return this.duration}async getCurrentTime(){return this.currentTime}async getVolume(){return this.volume}async getMuted(){return this.muted}getPlaybackRate=void 0}class ue extends A{getDurationCore(){return new Promise((e,r)=>{this.player.getDuration(e)})}attach(e){return new Promise((r,l)=>{this.player.bind(SC.Widget.Events.READY,()=>{this.player.bind(SC.Widget.Events.PLAY_PROGRESS,async d=>{const m=await this.getDurationCore();this.options?.onTimeUpdate?.({duration:m/1e3,percent:d.currentPosition/m,seconds:d.currentPosition/1e3})}),this.player.bind(SC.Widget.Events.ERROR,d=>this.options?.onError?.(d)),this.player.bind(SC.Widget.Events.PLAY,()=>this.options?.onPlay?.()),this.player.bind(SC.Widget.Events.PAUSE,()=>this.options?.onPause?.()),this.player.bind(SC.Widget.Events.FINISH,()=>this.options?.onEnded?.()),this.options?.onLoaded?.({id:e}),r()})})}async detach(){this.player.unbind(SC.Widget.Events.READY),this.player.unbind(SC.Widget.Events.PLAY_PROGRESS),this.player.unbind(SC.Widget.Events.ERROR),this.player.unbind(SC.Widget.Events.PLAY),this.player.unbind(SC.Widget.Events.PAUSE),this.player.unbind(SC.Widget.Events.FINISH)}static playerLoadAsync(e,r,l){return new Promise((d,m)=>{e.load(r,{...l,callback:d})})}async loadVideo(e){await ue.playerLoadAsync(this.player,e,{auto_play:!0}),this.options?.onLoaded?.({id:e})}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seekTo(e*1e3)}async setVolume(e){this.player.setVolume(e*100)}setMuted=void 0;setPlaybackRate=void 0;async getDuration(){return await this.getDurationCore()/1e3}getCurrentTimeCore(){return new Promise((e,r)=>{this.player.getPosition(e)})}async getCurrentTime(){return await this.getCurrentTimeCore()/1e3}getVolumeCore(){return new Promise((e,r)=>{this.player.getVolume(e)})}async getVolume(){return await this.getVolumeCore()/100}getMuted=void 0;getPlaybackRate=void 0}class sr extends A{handleReady=()=>{this.options?.onLoaded?.({id:this.player.getVideo()})};handlePlay=()=>{this.options?.onPlay?.()};handlePause=()=>{this.options?.onPause?.()};handleEnded=()=>{this.options?.onEnded?.()};handleSeek=()=>{this.options?.onTimeUpdate?.({duration:0,percent:0,seconds:0})};async attach(e){this.player.addEventListener(Twitch.Player.READY,this.handleReady),this.player.addEventListener(Twitch.Player.PLAYING,this.handlePlay),this.player.addEventListener(Twitch.Player.PAUSE,this.handlePause),this.player.addEventListener(Twitch.Player.ENDED,this.handleEnded),this.player.addEventListener(Twitch.Player.SEEK,this.handleSeek)}async detach(){}async loadVideo(e){this.player.setVideo(e,0)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return this.player.getMuted()}getPlaybackRate=void 0}class or extends A{async attach(){await this.player.ready(),this.player.on("error",e=>this.options?.onError?.(e)),this.player.on("loaded",e=>this.options?.onLoaded?.({id:e.id.toString()})),this.player.on("play",()=>this.options?.onPlay?.()),this.player.on("pause",()=>this.options?.onPause?.()),this.player.on("ended",()=>this.options?.onEnded?.()),this.player.on("timeupdate",e=>{this.options?.onTimeUpdate?.({duration:e.duration,percent:e.percent,seconds:e.seconds})})}async detach(){this.player.off("error"),this.player.off("loaded"),this.player.off("play"),this.player.off("pause"),this.player.off("ended"),this.player.off("timeupdate")}async loadVideo(e){await this.player.loadVideo(e)}async play(){await this.player.play()}async pause(){await this.player.pause()}async setCurrentTime(e){await this.player.setCurrentTime(e)}async setVolume(e){await this.player.setVolume(e)}async setMuted(e){await this.player.setMuted(e)}async setPlaybackRate(e){await this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return await this.player.getMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}}var et=(n=>(n[n.UNSTARTED=-1]="UNSTARTED",n[n.ENDED=0]="ENDED",n[n.PLAYING=1]="PLAYING",n[n.PAUSED=2]="PAUSED",n[n.BUFFERING=3]="BUFFERING",n[n.CUED=5]="CUED",n))(et||{});class lr extends A{previousTime;timeUpdateIntervalId;clearTimeUpdateInterval(){this.logger.log(y.Debug,"clearTimeUpdateInterval",this.timeUpdateIntervalId),window.clearInterval(this.timeUpdateIntervalId),this.timeUpdateIntervalId=void 0}invokeTimeUpdate(e){const r=e.getCurrentTime();if(r===this.previousTime)return;const l=e.getDuration();this.options?.onTimeUpdate?.({duration:l,percent:r/l,seconds:r}),this.previousTime=r}setTimeUpdateInterval(){this.logger.log(y.Debug,"setTimeUpdateInterval"),this.clearTimeUpdateInterval(),this.timeUpdateIntervalId=window.setInterval(()=>this.invokeTimeUpdate(this.player),250),this.logger.log(y.Debug,"timeUpdateIntervalId",this.timeUpdateIntervalId),this.invokeTimeUpdate(this.player)}attach(e){return new Promise((r,l)=>{this.player.addEventListener("onReady",async()=>{this.player.addEventListener("onError",d=>this.options?.onError?.(d.data)),this.player.addEventListener("onStateChange",d=>{switch(this.logger.log(y.Debug,`state changed: ${et[d.data]}`),d.data){case YT.PlayerState.CUED:this.options?.onLoaded?.({id:e});break;case YT.PlayerState.PLAYING:this.options?.onPlay?.(),this.setTimeUpdateInterval();break;case YT.PlayerState.PAUSED:this.options?.onPause?.(),this.clearTimeUpdateInterval();break;case YT.PlayerState.ENDED:this.options?.onEnded?.(),this.clearTimeUpdateInterval();break}}),await this.loadVideo(e),r()})})}async detach(){this.clearTimeUpdateInterval()}async loadVideo(e){this.previousTime=void 0,this.player.cueVideoById(e)}async play(){this.player.playVideo()}async pause(){this.player.pauseVideo()}async setCurrentTime(e){this.player.seekTo(e),this.invokeTimeUpdate(this.player)}async setVolume(e){this.player.setVolume(e*100)}async setMuted(e){e?this.player.mute():this.player.unMute()}async setPlaybackRate(e){this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()/100}async getMuted(){return this.player.isMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}}exports.AudioPlayerController=nr;exports.DailymotionPlayerController=ir;exports.LogLevel=y;exports.NiconicoPlayerController=Z;exports.NostalgicDiva=Ze;exports.NostalgicDivaElement=Qe;exports.NostalgicDivaProvider=Be;exports.PlayerContainer=ar;exports.PlayerController=Q;exports.PlayerControllerImpl=A;exports.SoundCloudPlayerController=ue;exports.TwitchPlayerController=sr;exports.VideoService=M;exports.VimeoPlayerController=or;exports.YouTubePlayerController=lr;exports.defaultLogger=Ge;exports.defineNostalgicDiva=Qt;exports.findVideoService=Ke;exports.jsxRuntimeExports=V;exports.nullPlayerController=z;exports.players=Xe;exports.useNostalgicDiva=He;exports.videoServices=Je;
|
|
15
|
+
//# sourceMappingURL=index-DFsUhc9i.cjs.map
|