@aigamo/hydrangean-diva 0.0.1-alpha.25 → 0.0.1-alpha.26

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.
@@ -1,7 +1,9 @@
1
1
  import { IPlayQueueStore, RepeatMode } from '../../media-player.play-queue.abstractions';
2
2
  import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
3
3
  import { IPlayerStore } from './IPlayerStore';
4
+ import { IPlayerController } from '@aigamo/nostalgic-diva';
4
5
  export interface IBottomBarStore {
6
+ readonly controller: IPlayerController;
5
7
  readonly playing: boolean;
6
8
  readonly currentItem: IPlayQueueItemStore | undefined;
7
9
  readonly repeat: RepeatMode;
@@ -1,6 +1,7 @@
1
1
  import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
2
2
  import { IPlayerController, TimeEvent } from '@aigamo/nostalgic-diva';
3
3
  export interface IMiniPlayerStore {
4
+ readonly controller: IPlayerController;
4
5
  readonly currentItem: IPlayQueueItemStore | undefined;
5
6
  onLoaded(): Promise<void>;
6
7
  onPlay(): void;
@@ -7,8 +7,8 @@ import { IPlayerController } from '@aigamo/nostalgic-diva';
7
7
  export declare class BottomBarStore implements IBottomBarStore {
8
8
  readonly playerStore: IPlayerStore;
9
9
  readonly playQueueStore: IPlayQueueStore;
10
- private readonly diva;
11
- constructor(observableStateProvider: IObservableStateProvider, playerStore: IPlayerStore, playQueueStore: IPlayQueueStore, diva: IPlayerController);
10
+ constructor(observableStateProvider: IObservableStateProvider, playerStore: IPlayerStore, playQueueStore: IPlayQueueStore);
11
+ get controller(): IPlayerController;
12
12
  get playing(): boolean;
13
13
  get currentItem(): IPlayQueueItemStore | undefined;
14
14
  get repeat(): RepeatMode;
@@ -6,8 +6,8 @@ import { IPlayerController, TimeEvent } from '@aigamo/nostalgic-diva';
6
6
  export declare class MiniPlayerStore implements IMiniPlayerStore {
7
7
  private readonly playerStore;
8
8
  private readonly playQueueStore;
9
- private readonly diva;
10
- constructor(observableStateProvider: IObservableStateProvider, playerStore: IPlayerStore, playQueueStore: IPlayQueueStore, diva: IPlayerController);
9
+ constructor(observableStateProvider: IObservableStateProvider, playerStore: IPlayerStore, playQueueStore: IPlayQueueStore);
10
+ get controller(): IPlayerController;
11
11
  get currentItem(): IPlayQueueItemStore | undefined;
12
12
  onLoaded(): Promise<void>;
13
13
  onPlay(): void;
package/dist/index.cjs.js CHANGED
@@ -11,5 +11,5 @@ Check the top-level render call using <`+p+">.")}return c}}function dt(n,c){{if(
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} />`,Ve,ee,sr,ee),pt[ee+Ve]=!0}}return n===i?rr(N):tr(N),N}}function nr(n,c,p){return yt(n,c,p,!0)}function ir(n,c,p){return yt(n,c,p,!1)}var ar=ir,or=nr;me.Fragment=i,me.jsx=ar,me.jsxs=or})()),me}var gt;function vr(){return gt||(gt=1,process.env.NODE_ENV==="production"?_e.exports=hr():_e.exports=mr()),_e.exports}var ge=vr(),Ae={exports:{}},C={};var bt;function gr(){if(bt)return C;bt=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,i=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,y=e?Symbol.for("react.context"):60110,h=e?Symbol.for("react.async_mode"):60111,b=e?Symbol.for("react.concurrent_mode"):60111,S=e?Symbol.for("react.forward_ref"):60112,T=e?Symbol.for("react.suspense"):60113,z=e?Symbol.for("react.suspense_list"):60120,j=e?Symbol.for("react.memo"):60115,M=e?Symbol.for("react.lazy"):60116,V=e?Symbol.for("react.block"):60121,W=e?Symbol.for("react.fundamental"):60117,L=e?Symbol.for("react.responder"):60118,k=e?Symbol.for("react.scope"):60119;function D(f){if(typeof f=="object"&&f!==null){var Q=f.$$typeof;switch(Q){case t:switch(f=f.type,f){case h:case b:case i:case s:case a:case T:return f;default:switch(f=f&&f.$$typeof,f){case y:case S:case M:case j:case d:return f;default:return Q}}case r:return Q}}}function A(f){return D(f)===b}return C.AsyncMode=h,C.ConcurrentMode=b,C.ContextConsumer=y,C.ContextProvider=d,C.Element=t,C.ForwardRef=S,C.Fragment=i,C.Lazy=M,C.Memo=j,C.Portal=r,C.Profiler=s,C.StrictMode=a,C.Suspense=T,C.isAsyncMode=function(f){return A(f)||D(f)===h},C.isConcurrentMode=A,C.isContextConsumer=function(f){return D(f)===y},C.isContextProvider=function(f){return D(f)===d},C.isElement=function(f){return typeof f=="object"&&f!==null&&f.$$typeof===t},C.isForwardRef=function(f){return D(f)===S},C.isFragment=function(f){return D(f)===i},C.isLazy=function(f){return D(f)===M},C.isMemo=function(f){return D(f)===j},C.isPortal=function(f){return D(f)===r},C.isProfiler=function(f){return D(f)===s},C.isStrictMode=function(f){return D(f)===a},C.isSuspense=function(f){return D(f)===T},C.isValidElementType=function(f){return typeof f=="string"||typeof f=="function"||f===i||f===b||f===s||f===a||f===T||f===z||typeof f=="object"&&f!==null&&(f.$$typeof===M||f.$$typeof===j||f.$$typeof===d||f.$$typeof===y||f.$$typeof===S||f.$$typeof===W||f.$$typeof===L||f.$$typeof===k||f.$$typeof===V)},C.typeOf=D,C}var R={};var Pt;function br(){return Pt||(Pt=1,process.env.NODE_ENV!=="production"&&(function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,i=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,y=e?Symbol.for("react.context"):60110,h=e?Symbol.for("react.async_mode"):60111,b=e?Symbol.for("react.concurrent_mode"):60111,S=e?Symbol.for("react.forward_ref"):60112,T=e?Symbol.for("react.suspense"):60113,z=e?Symbol.for("react.suspense_list"):60120,j=e?Symbol.for("react.memo"):60115,M=e?Symbol.for("react.lazy"):60116,V=e?Symbol.for("react.block"):60121,W=e?Symbol.for("react.fundamental"):60117,L=e?Symbol.for("react.responder"):60118,k=e?Symbol.for("react.scope"):60119;function D(m){return typeof m=="string"||typeof m=="function"||m===i||m===b||m===s||m===a||m===T||m===z||typeof m=="object"&&m!==null&&(m.$$typeof===M||m.$$typeof===j||m.$$typeof===d||m.$$typeof===y||m.$$typeof===S||m.$$typeof===W||m.$$typeof===L||m.$$typeof===k||m.$$typeof===V)}function A(m){if(typeof m=="object"&&m!==null){var pe=m.$$typeof;switch(pe){case t:var ie=m.type;switch(ie){case h:case b:case i:case s:case a:case T:return ie;default:var Z=ie&&ie.$$typeof;switch(Z){case y:case S:case M:case j:case d:return Z;default:return pe}}case r:return pe}}}var f=h,Q=b,se=y,Se=d,Ee=t,De=S,Ne=i,we=M,G=j,J=r,X=s,Te=a,Ie=T,le=!1;function Ce(m){return le||(le=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),ue(m)||A(m)===h}function ue(m){return A(m)===b}function Re(m){return A(m)===y}function xe(m){return A(m)===d}function Oe(m){return typeof m=="object"&&m!==null&&m.$$typeof===t}function $e(m){return A(m)===S}function je(m){return A(m)===i}function ce(m){return A(m)===M}function de(m){return A(m)===j}function re(m){return A(m)===r}function fe(m){return A(m)===s}function ne(m){return A(m)===a}function qe(m){return A(m)===T}R.AsyncMode=f,R.ConcurrentMode=Q,R.ContextConsumer=se,R.ContextProvider=Se,R.Element=Ee,R.ForwardRef=De,R.Fragment=Ne,R.Lazy=we,R.Memo=G,R.Portal=J,R.Profiler=X,R.StrictMode=Te,R.Suspense=Ie,R.isAsyncMode=Ce,R.isConcurrentMode=ue,R.isContextConsumer=Re,R.isContextProvider=xe,R.isElement=Oe,R.isForwardRef=$e,R.isFragment=je,R.isLazy=ce,R.isMemo=de,R.isPortal=re,R.isProfiler=fe,R.isStrictMode=ne,R.isSuspense=qe,R.isValidElementType=D,R.typeOf=A})()),R}var St;function Pr(){return St||(St=1,process.env.NODE_ENV==="production"?Ae.exports=gr():Ae.exports=br()),Ae.exports}var Ye,Et;function Sr(){if(Et)return Ye;Et=1;var e=Pr(),t={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};s[e.ForwardRef]=i,s[e.Memo]=a;function d(M){return e.isMemo(M)?a:s[M.$$typeof]||t}var y=Object.defineProperty,h=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,S=Object.getOwnPropertyDescriptor,T=Object.getPrototypeOf,z=Object.prototype;function j(M,V,W){if(typeof V!="string"){if(z){var L=T(V);L&&L!==z&&j(M,L,W)}var k=h(V);b&&(k=k.concat(b(V)));for(var D=d(M),A=d(V),f=0;f<k.length;++f){var Q=k[f];if(!r[Q]&&!(W&&W[Q])&&!(A&&A[Q])&&!(D&&D[Q])){var se=S(V,Q);try{y(M,Q,se)}catch{}}}}return M}return Ye=j,Ye}Sr();var Er=!0;function wr(e,t,r){var i="";return r.split(" ").forEach(function(a){e[a]!==void 0?t.push(e[a]+";"):a&&(i+=a+" ")}),i}var Rt=function(t,r,i){var a=t.key+"-"+r.name;(i===!1||Er===!1)&&t.registered[a]===void 0&&(t.registered[a]=r.styles)},Tr=function(t,r,i){Rt(t,r,i);var a=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var s=r;do t.insert(r===s?"."+a:"",s,t.sheet,!0),s=s.next;while(s!==void 0)}};function Ir(e){for(var t=0,r,i=0,a=e.length;a>=4;++i,a-=4)r=e.charCodeAt(i)&255|(e.charCodeAt(++i)&255)<<8|(e.charCodeAt(++i)&255)<<16|(e.charCodeAt(++i)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(a){case 3:t^=(e.charCodeAt(i+2)&255)<<16;case 2:t^=(e.charCodeAt(i+1)&255)<<8;case 1:t^=e.charCodeAt(i)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Cr={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function Rr(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var xr=/[A-Z]|^ms/g,Or=/_EMO_([^_]+?)_([^]*?)_EMO_/g,xt=function(t){return t.charCodeAt(1)===45},wt=function(t){return t!=null&&typeof t!="boolean"},Be=Rr(function(e){return xt(e)?e:e.replace(xr,"-$&").toLowerCase()}),Tt=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(Or,function(i,a,s){return H={name:a,styles:s,next:H},a})}return Cr[t]!==1&&!xt(t)&&typeof r=="number"&&r!==0?r+"px":r};function be(e,t,r){if(r==null)return"";var i=r;if(i.__emotion_styles!==void 0)return i;switch(typeof r){case"boolean":return"";case"object":{var a=r;if(a.anim===1)return H={name:a.name,styles:a.styles,next:H},a.name;var s=r;if(s.styles!==void 0){var d=s.next;if(d!==void 0)for(;d!==void 0;)H={name:d.name,styles:d.styles,next:H},d=d.next;var y=s.styles+";";return y}return kr(e,t,r)}case"function":{if(e!==void 0){var h=H,b=r(e);return H=h,be(e,t,b)}break}}var S=r;return S}function kr(e,t,r){var i="";if(Array.isArray(r))for(var a=0;a<r.length;a++)i+=be(e,t,r[a])+";";else for(var s in r){var d=r[s];if(typeof d!="object"){var y=d;wt(y)&&(i+=Be(s)+":"+Tt(s,y)+";")}else if(Array.isArray(d)&&typeof d[0]=="string"&&t==null)for(var h=0;h<d.length;h++)wt(d[h])&&(i+=Be(s)+":"+Tt(s,d[h])+";");else{var b=be(e,t,d);switch(s){case"animation":case"animationName":{i+=Be(s)+":"+b+";";break}default:i+=s+"{"+b+"}"}}}return i}var It=/label:\s*([^\s;{]+)\s*(;|$)/g,H;function _r(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var i=!0,a="";H=void 0;var s=e[0];if(s==null||s.raw===void 0)i=!1,a+=be(r,t,s);else{var d=s;a+=d[0]}for(var y=1;y<e.length;y++)if(a+=be(r,t,e[y]),i){var h=s;a+=h[y]}It.lastIndex=0;for(var b="",S;(S=It.exec(a))!==null;)b+="-"+S[1];var T=Ir(a)+b;return{name:T,styles:a,next:H}}var Ar=function(t){return t()},Fr=K.useInsertionEffect?K.useInsertionEffect:!1,Mr=Fr||Ar,Ot=K.createContext(typeof HTMLElement<"u"?ur({key:"css"}):null);Ot.Provider;var Dr=function(t){return v.forwardRef(function(r,i){var a=v.useContext(Ot);return t(r,a,i)})},Nr=K.createContext({}),Fe={}.hasOwnProperty,He="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",kt=function(t,r){var i={};for(var a in r)Fe.call(r,a)&&(i[a]=r[a]);return i[He]=t,i},$r=function(t){var r=t.cache,i=t.serialized,a=t.isStringTag;return Rt(r,i,a),Mr(function(){return Tr(r,i,a)}),null},jr=Dr(function(e,t,r){var i=e.css;typeof i=="string"&&t.registered[i]!==void 0&&(i=t.registered[i]);var a=e[He],s=[i],d="";typeof e.className=="string"?d=wr(t.registered,s,e.className):e.className!=null&&(d=e.className+" ");var y=_r(s,void 0,K.useContext(Nr));d+=t.key+"-"+y.name;var h={};for(var b in e)Fe.call(e,b)&&b!=="css"&&b!==He&&(h[b]=e[b]);return h.className=d,r&&(h.ref=r),K.createElement(K.Fragment,null,K.createElement($r,{cache:t,serialized:y,isStringTag:typeof a=="string"}),K.createElement(a,h))}),_t=jr,Me=ge.Fragment,o=function(t,r,i){return Fe.call(r,"css")?ge.jsx(_t,kt(t,r),i):ge.jsx(t,r,i)},$=function(t,r,i){return Fe.call(r,"css")?ge.jsxs(_t,kt(t,r),i):ge.jsxs(t,r,i)};const qr={mediaPlayer:{enablePlaylists:process.env.NODE_ENV!=="production"}},zr="http://localhost".replace(/\/+$/,"");class At{constructor(t={}){this.configuration=t}set config(t){this.configuration=t}get basePath(){return this.configuration.basePath!=null?this.configuration.basePath:zr}get fetchApi(){return this.configuration.fetchApi}get middleware(){return this.configuration.middleware||[]}get queryParamsStringify(){return this.configuration.queryParamsStringify||Ft}get username(){return this.configuration.username}get password(){return this.configuration.password}get apiKey(){const t=this.configuration.apiKey;if(t)return typeof t=="function"?t:()=>t}get accessToken(){const t=this.configuration.accessToken;if(t)return typeof t=="function"?t:async()=>t}get headers(){return this.configuration.headers}get credentials(){return this.configuration.credentials}}const Lr=new At;class et{constructor(t=Lr){this.configuration=t,this.middleware=t.middleware}static jsonRegex=new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$","i");middleware;withMiddleware(...t){const r=this.clone();return r.middleware=r.middleware.concat(...t),r}withPreMiddleware(...t){const r=t.map(i=>({pre:i}));return this.withMiddleware(...r)}withPostMiddleware(...t){const r=t.map(i=>({post:i}));return this.withMiddleware(...r)}isJsonMime(t){return t?et.jsonRegex.test(t):!1}async request(t,r){const{url:i,init:a}=await this.createFetchParams(t,r),s=await this.fetchApi(i,a);if(s&&s.status>=200&&s.status<300)return s;throw new Vr(s,"Response returned an error code")}async createFetchParams(t,r){let i=this.configuration.basePath+t.path;t.query!==void 0&&Object.keys(t.query).length!==0&&(i+="?"+this.configuration.queryParamsStringify(t.query));const a=Object.assign({},this.configuration.headers,t.headers);Object.keys(a).forEach(S=>a[S]===void 0?delete a[S]:{});const s=typeof r=="function"?r:async()=>r,d={method:t.method,headers:a,body:t.body,credentials:this.configuration.credentials},y={...d,...await s({init:d,context:t})};let h;Ur(y.body)||y.body instanceof URLSearchParams||Qr(y.body)?h=y.body:this.isJsonMime(a["Content-Type"])?h=JSON.stringify(y.body):h=y.body;const b={...y,body:h};return{url:i,init:b}}fetchApi=async(t,r)=>{let i={url:t,init:r};for(const s of this.middleware)s.pre&&(i=await s.pre({fetch:this.fetchApi,...i})||i);let a;try{a=await(this.configuration.fetchApi||fetch)(i.url,i.init)}catch(s){for(const d of this.middleware)d.onError&&(a=await d.onError({fetch:this.fetchApi,url:i.url,init:i.init,error:s,response:a?a.clone():void 0})||a);if(a===void 0)throw s instanceof Error?new Yr(s,"The request failed and the interceptors did not return an alternative response"):s}for(const s of this.middleware)s.post&&(a=await s.post({fetch:this.fetchApi,url:i.url,init:i.init,response:a.clone()})||a);return a};clone(){const t=this.constructor,r=new t(this.configuration);return r.middleware=this.middleware.slice(),r}}function Qr(e){return typeof Blob<"u"&&e instanceof Blob}function Ur(e){return typeof FormData<"u"&&e instanceof FormData}class Vr extends Error{constructor(t,r){super(r),this.response=t}name="ResponseError"}class Yr extends Error{constructor(t,r){super(r),this.cause=t}name="FetchError"}class ve extends Error{constructor(t,r){super(r),this.field=t}name="RequiredError"}function Ft(e,t=""){return Object.keys(e).map(r=>Mt(r,e[r],t)).filter(r=>r.length>0).join("&")}function Mt(e,t,r=""){const i=r+(r.length?`[${e}]`:e);if(t instanceof Array){const a=t.map(s=>encodeURIComponent(String(s))).join(`&${encodeURIComponent(i)}=`);return`${encodeURIComponent(i)}=${a}`}if(t instanceof Set){const a=Array.from(t);return Mt(e,a,r)}return t instanceof Date?`${encodeURIComponent(i)}=${encodeURIComponent(t.toISOString())}`:t instanceof Object?Ft(t,i):`${encodeURIComponent(i)}=${encodeURIComponent(String(t))}`}class te{constructor(t,r=i=>i){this.raw=t,this.transformer=r}async value(){return this.transformer(await this.raw.json())}}function Dt(e){return Br(e)}function Br(e,t){return e==null?e:{id:e.id,name:e.name}}function Gr(e){return Hr(e)}function Hr(e,t){return e==null?e:{playlist:Dt(e.playlist)}}function Wr(e){return Jr(e)}function Jr(e,t){return e==null?e:{items:e.items.map(Dt)}}function Kr(e){return Xr(e)}function Xr(e,t){return e==null?e:{id:e.id,url:e.url,type:e.type,videoId:e.videoId,title:e.title}}function Zr(e){return en(e)}function en(e,t){return e==null?e:{items:e.items.map(Kr)}}function tn(e){return rn(e,!1)}function rn(e,t=!1){return e==null?e:{name:e.name}}function nn(e){return an(e,!1)}function an(e,t=!1){return e==null?e:{name:e.name}}class on extends et{async mediaPlayerPlaylistsGetRaw(t){const r={},i={},s=await this.request({path:"/media-player/playlists",method:"GET",headers:i,query:r},t);return new te(s,d=>Wr(d))}async mediaPlayerPlaylistsGet(t){return await(await this.mediaPlayerPlaylistsGetRaw(t)).value()}async mediaPlayerPlaylistsIdDeleteRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdDelete().');const i={},a={};let s="/media-player/playlists/{id}";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"DELETE",headers:a,query:i},r);return new te(d)}async mediaPlayerPlaylistsIdDelete(t,r){return await(await this.mediaPlayerPlaylistsIdDeleteRaw(t,r)).value()}async mediaPlayerPlaylistsIdGetRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdGet().');const i={},a={};let s="/media-player/playlists/{id}";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"GET",headers:a,query:i},r);return new te(d,y=>Gr(y))}async mediaPlayerPlaylistsIdGet(t,r){return await(await this.mediaPlayerPlaylistsIdGetRaw(t,r)).value()}async mediaPlayerPlaylistsIdRenamePostRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdRenamePost().');const i={},a={};a["Content-Type"]="application/json";let s="/media-player/playlists/{id}:rename";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"POST",headers:a,query:i,body:nn(t.hydrangeanDivaMediaPlayerEndpointsPlaylistsRenamePlaylistRequest)},r);return new te(d)}async mediaPlayerPlaylistsIdRenamePost(t,r){return await(await this.mediaPlayerPlaylistsIdRenamePostRaw(t,r)).value()}async mediaPlayerPlaylistsIdTracksGetRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdTracksGet().');const i={},a={};let s="/media-player/playlists/{id}/tracks";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"GET",headers:a,query:i},r);return new te(d,y=>Zr(y))}async mediaPlayerPlaylistsIdTracksGet(t,r){return await(await this.mediaPlayerPlaylistsIdTracksGetRaw(t,r)).value()}async mediaPlayerPlaylistsIdTracksPutRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdTracksPut().');const i={},a={};let s="/media-player/playlists/{id}/tracks";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"PUT",headers:a,query:i},r);return new te(d)}async mediaPlayerPlaylistsIdTracksPut(t,r){return await(await this.mediaPlayerPlaylistsIdTracksPutRaw(t,r)).value()}async mediaPlayerPlaylistsPostRaw(t,r){const i={},a={};a["Content-Type"]="application/json";const d=await this.request({path:"/media-player/playlists",method:"POST",headers:a,query:i,body:tn(t.hydrangeanDivaMediaPlayerEndpointsPlaylistsCreatePlaylistRequest)},r);return new te(d)}async mediaPlayerPlaylistsPost(t={},r){return await(await this.mediaPlayerPlaylistsPostRaw(t,r)).value()}}const sn=new At({basePath:new URL("api",window.location.origin).toString()}),ln=new on(sn),un=({disabled:e,onAddToPlaylist:t})=>{const[r,i]=v.useState(!1),[a,s]=v.useState("loading");return v.useEffect(()=>{ln.mediaPlayerPlaylistsGet().then(d=>s(d.items.map(y=>({key:y.id,label:y.name}))))},[]),o(l.EuiPopover,{panelPaddingSize:"none",button:o(l.EuiButton,{iconType:w.AddRegular,onClick:()=>i(!r),disabled:e,children:"Add to"}),isOpen:r,closePopover:()=>i(!1),children:o(l.EuiSelectable,{searchable:!0,searchProps:{compressed:!0},options:a==="loading"?void 0:a,isLoading:a==="loading",onChange:async(d,y,h)=>{i(!1),await t(h)},singleSelection:!0,children:(d,y)=>$("div",{style:{width:240},children:[o(l.EuiPopoverTitle,{paddingSize:"s",children:y}),d,o(l.EuiPopoverFooter,{paddingSize:"s",children:o(l.EuiButton,{size:"s",fullWidth:!0,iconType:w.AddRegular,children:"New playlist"})})]})})})},cn=({onCancel:e,onSave:t})=>{const r=l.useGeneratedHtmlId({prefix:"modalForm"}),[i,a]=v.useState(""),[s,d]=v.useState(""),[y,h]=v.useState(!1);return $(l.EuiModal,{onClose:e,initialFocus:"[name=url]",children:[o(l.EuiModalHeader,{children:o(l.EuiModalHeaderTitle,{children:"Add video"})}),o(l.EuiModalBody,{children:$(l.EuiForm,{id:r,component:"form",onSubmit:async b=>{b.preventDefault();try{h(!0),await t({url:i,title:s})}finally{h(!1)}},children:[o(l.EuiFormRow,{label:"URL",children:o(l.EuiFieldText,{name:"url",value:i,onChange:b=>a(b.target.value)})}),o(l.EuiFormRow,{label:"Title",children:o(l.EuiFieldText,{name:"title",value:s,onChange:b=>d(b.target.value)})})]})}),$(l.EuiModalFooter,{children:[o(l.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(l.EuiButton,{type:"submit",form:r,fill:!0,disabled:i.trim().length===0,isLoading:y,children:"Add video"})]})]})},Ct=v.memo(({onSave:e})=>{const[t,r]=v.useState(!1),i=v.useCallback(async a=>{await e(a),r(!1)},[e]);return $(Me,{children:[o(l.EuiButton,{onClick:()=>r(!0),iconType:w.AddRegular,color:"primary",children:"Add video"}),t&&o(cn,{onCancel:()=>r(!1),onSave:i})]})}),Nt={Audio:"",Dailymotion:"https://www.dailymotion.com/favicon.ico",Niconico:"https://www.nicovideo.jp/favicon.ico",SoundCloud:"https://soundcloud.com/favicon.ico",Twitch:"https://www.twitch.tv/favicon.ico",Vimeo:"https://vimeo.com/favicon.ico",YouTube:"https://www.youtube.com/favicon.ico"},dn=O.observer(({playQueueStore:e})=>{const{euiTheme:t}=l.useEuiTheme();return $(l.EuiTableHeader,{style:{position:"sticky",top:112,zIndex:998,background:t.colors.backgroundBasePlain},children:[o(l.EuiTableHeaderCellCheckbox,{children:o(l.EuiCheckbox,{id:"",checked:e.allItemsSelected,onChange:r=>{e.allItemsSelected=r.target.checked}})}),o(l.EuiTableHeaderCell,{width:24}),o(l.EuiTableHeaderCell,{children:"Title"}),o(l.EuiTableHeaderCell,{})]})}),fn=v.memo(({item:e,closePopover:t})=>{const r=v.useMemo(()=>[{id:0,items:[{name:"Play first",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.playFirst()}},{name:"Play next",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.playNext()}},{name:"Add to play queue",icon:o(l.EuiIcon,{type:w.AddRegular}),onClick:async()=>{t(),await e.addToPlayQueue()}},{isSeparator:!0},{name:"Move to the top",icon:o(l.EuiIcon,{type:w.ArrowUploadRegular}),onClick:async()=>{t(),e.moveToTop()},disabled:!e.canMoveToTop},{name:"Move to the bottom",icon:o(l.EuiIcon,{type:w.ArrowDownloadRegular}),onClick:async()=>{t(),e.moveToBottom()},disabled:!e.canMoveToBottom},{isSeparator:!0},{name:"Remove to the top",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.removeToTop()},disabled:!e.canRemoveToTop},{name:"Remove others",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.removeOthers()},disabled:!e.canRemoveOthers}]}],[t,e]);return o(l.EuiContextMenu,{initialPanelId:0,panels:r})}),pn=v.memo(({item:e})=>{const[t,r]=v.useState(!1),i=v.useCallback(()=>r(!t),[t]),a=v.useCallback(()=>r(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:w.MoreHorizontalFilled,size:"s",color:"text",onClick:i}),isOpen:t,closePopover:a,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(fn,{item:e,closePopover:a})})}),yn=O.observer(({item:e})=>{const t=B.useNostalgicDiva();return $(l.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[o(l.EuiButton,{iconType:w.PlayRegular,size:"s",onClick:async()=>{e.isCurrent?await t.setCurrentTime(0):e.play()},children:"Play"}),o(l.EuiButton,{iconType:w.DismissRegular,size:"s",onClick:e.remove,children:"Remove"}),o(pn,{item:e})]})}),hn=O.observer(({item:e})=>{const t=B.useNostalgicDiva();return $(l.EuiTableRow,{isSelected:e.isCurrent,children:[o(l.EuiTableRowCellCheckbox,{children:o(l.EuiCheckbox,{id:e.id.toString(),checked:e.isSelected,onChange:e.toggleSelected})}),o(l.EuiTableRowCell,{textOnly:!1,children:o("img",{src:Nt[e.type],width:16,height:16,alt:e.type})}),o(l.EuiTableRowCell,{children:o(l.EuiLink,{href:e.url,target:"_blank",external:!0,onClick:()=>t.pause(),children:e.title})}),o(yn,{item:e})]},e.id)}),mn=O.observer(({playQueueStore:e})=>o(cr.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(hn,{item:t},t.id))})),vn=O.observer(({playQueueStore:e})=>$(l.EuiTable,{children:[o(dn,{playQueueStore:e}),o(mn,{playQueueStore:e})]}));function gn(e){return e!==null&&typeof e=="object"&&"title"in e&&typeof e.title=="string"}const bn=O.observer(({playQueueStore:e})=>o(l.EuiButton,{iconType:w.AddRegular,onClick:e.addSelectedItems,disabled:e.isEmpty||e.selectedItems.length===0,children:"Add to play queue"}));O.observer(({playQueueStore:e})=>{const[t,r]=v.useState(!1);return $(Me,{children:[t&&o(l.EuiFlyout,{type:"push",size:"s",onClose:()=>r(!1),children:o("div",{style:{blockSize:"100%"},children:o(l.EuiCodeBlock,{language:"json",overflowHeight:"100%",isCopyable:!0,isVirtualized:!0,children:JSON.stringify(e.localStorageState,void 0,2)})})}),o(l.EuiButton,{onClick:()=>r(i=>!i),iconType:w.WindowDevToolsRegular,children:"Developer tools"})]})});const $t=O.observer(({playQueueStore:e})=>{const{euiTheme:t}=l.useEuiTheme(),r=v.useCallback(async()=>{},[]),i=v.useCallback(async a=>{const s=B.findVideoService(a.url);if(s!==void 0){const d=s.extractVideoId(a.url);if(d!==void 0){const h=await(await fetch(`https://noembed.com/embed?url=${encodeURIComponent(a.url)}`)).json();await e.addItems([e.createItem({url:a.url,type:s.type,videoId:d,title:a.title||(gn(h)?h.title:d)})])}}},[e]);return $(Me,{children:[$(l.EuiFlexGroup,{alignItems:"center",gutterSize:"m",style:{position:"sticky",top:48,zIndex:998,background:t.colors.backgroundBasePlain},children:[o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{disabled:e.isEmpty||e.selectedItems.length===0,onClick:e.playSelectedItemsNext,children:"Play next"})}),o(l.EuiFlexItem,{grow:!1,children:o(bn,{playQueueStore:e})}),o(l.EuiFlexItem,{grow:!1,children:o(un,{disabled:!qr.mediaPlayer.enablePlaylists,onAddToPlaylist:r})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:w.DismissRegular,onClick:e.removeSelectedItems,disabled:e.isEmpty||e.selectedItems.length===0,children:"Remove"})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:w.DeleteRegular,onClick:e.clear,disabled:e.isEmpty,children:"Clear"})}),o(l.EuiFlexItem,{grow:!0}),$(l.EuiFlexItem,{grow:!1,children:[!1,o(Ct,{onSave:i})]})]}),o(l.EuiSpacer,{size:"l",style:{position:"sticky",top:88,zIndex:998,background:t.colors.backgroundBasePlain}}),e.isEmpty?o(l.EuiEmptyPrompt,{title:o("h2",{children:"We couldn't find any videos"}),body:o("p",{children:"Your video library doesn't contain any video content."}),actions:o(Ct,{onSave:i})}):o(vn,{playQueueStore:e})]})}),Ge=new dr({coerceTypes:!0});function Pn(e,t){let r;if(r=Ge.getSchema(t),r===void 0&&(Ge.addSchema(e,t),r=Ge.getSchema(t)),r===void 0||r.schema!==e)throw new Error(`Invalid schema. Expected: '${JSON.stringify(e)}', but got '${JSON.stringify(r?.schema)}'.`);return r}const Sn={type:"object",properties:{url:{type:"string"},type:{type:"string"},videoId:{type:"string"},title:{type:"string"}},required:["url","type","videoId","title"]},En={type:"object",properties:{version:{type:"string",nullable:!0},repeat:{type:"string",enum:Object.values(_),nullable:!0},shuffle:{type:"boolean",nullable:!0},items:{type:"array",nullable:!0,items:Sn},currentIndex:{type:"integer",nullable:!0}}};class Pe{constructor(t,r,i){this.observableStateProvider=t,this.playQueueStore=r,this.dto=i,this.id=Pe.nextId++,t.makeObservable(this,{isSelected:u.observable,isCurrent:u.computed,index:u.computed,isFirst:u.computed,isLast:u.computed,canMoveToTop:u.computed,canMoveToBottom:u.computed,canRemoveToTop:u.computed,canRemoveOthers:u.computed,unselect:u.action,toggleSelected:u.action.bound,play:u.action,remove:u.action.bound,playFirst:u.action.bound,playNext:u.action.bound,addToPlayQueue:u.action.bound,moveToTop:u.action.bound,moveToBottom:u.action.bound,removeToTop:u.action.bound,removeOthers:u.action.bound})}static nextId=1;id;isSelected=!1;static fromDto(t,r,i){return new Pe(t,r,i)}get url(){return this.dto.url}get type(){return this.dto.type}get videoId(){return this.dto.videoId}get title(){return this.dto.title}get isCurrent(){return this.playQueueStore.currentItem===this}get index(){return this.playQueueStore.items.indexOf(this)}get isFirst(){return this.index===0}get isLast(){return this.index===this.playQueueStore.items.length-1}get canMoveToTop(){return!this.isFirst}get canMoveToBottom(){return!this.isLast}get canRemoveToTop(){return!this.isFirst}get canRemoveOthers(){return this.playQueueStore.hasMultipleItems}clone(){return this.playQueueStore.createItem(this.dto)}unselect(){this.isSelected=!1}toggleSelected(){this.isSelected=!this.isSelected}play(){this.playQueueStore.setCurrentItem(this)}remove(){return this.playQueueStore.removeItems([this])}async playFirst(){await this.playQueueStore.playFirst([this.clone()])}async playNext(){await this.playQueueStore.playNext([this.clone()])}async addToPlayQueue(){await this.playQueueStore.addItems([this.clone()])}moveToTop(){this.playQueueStore.moveItem(this,0)}moveToBottom(){this.playQueueStore.moveItem(this,this.playQueueStore.items.length-1)}removeToTop(){return this.playQueueStore.removeItemsAbove(this)}removeOthers(){return this.playQueueStore.removeOtherItems(this)}}class jt{constructor(t){this.observableStateProvider=t,t.makeObservable(this,{interacted:u.observable,items:u.observable,currentId:u.observable,repeat:u.observable,shuffle:u.observable,localStorageState:u.computed.struct,isEmpty:u.computed,currentItem:u.computed,canPlay:u.computed,canPause:u.computed,hasMultipleItems:u.computed,currentIndex:u.computed,hasPreviousItem:u.computed,hasNextItem:u.computed,isLastItem:u.computed,selectedItems:u.computed,allItemsSelected:u.computed,selectedItemsOrAllItems:u.computed,setItems:u.action,interact:u.action,clear:u.action.bound,unselectAll:u.action,setCurrentItem:u.action,setNextItems:u.action,clearAndSetItems:u.action,playNext:u.action,playSelectedItemsNext:u.action.bound,addItems:u.action,addSelectedItems:u.action.bound,playFirst:u.action,moveItem:u.action,goToFirst:u.action,removeItems:u.action,removeSelectedItems:u.action.bound,removeOtherItems:u.action,removeItemsAbove:u.action,toggleRepeat:u.action.bound,toggleShuffle:u.action.bound,previous:u.action,next:u.action.bound})}interacted=!1;items=[];currentId;repeat=_.Off;shuffle=!1;createItem(t){return Pe.fromDto(this.observableStateProvider,this,{url:t.url,type:t.type,videoId:t.videoId,title:t.title})}get localStorageState(){return{version:"1.0",repeat:this.repeat,shuffle:this.shuffle,items:this.items.map(t=>t.dto),currentIndex:this.currentIndex}}set localStorageState(t){this.repeat=t.repeat??_.Off,this.shuffle=t.shuffle??!1,this.items=t.items?.map(r=>this.createItem(r))??[],this.currentIndex=t.currentIndex}validateLocalStorageState(t){return Pn(En,"PlayQueueDto")(t)}get isEmpty(){return this.items.length===0}get currentItem(){return this.items.find(t=>t.id===this.currentId)}get canPlay(){return this.currentItem!==void 0}get canPause(){return this.currentItem!==void 0}get hasMultipleItems(){return this.items.length>1}get currentIndex(){return this.currentId!==void 0?this.items.findIndex(t=>t.id===this.currentId):void 0}set currentIndex(t){this.currentId=t!==void 0?this.items.at(t)?.id:void 0}get hasPreviousItem(){return this.hasMultipleItems&&this.currentIndex!==void 0&&this.currentIndex>0}get hasNextItem(){return this.hasMultipleItems&&this.currentIndex!==void 0&&this.currentIndex<this.items.length-1}get isLastItem(){return this.currentIndex!==void 0&&this.currentIndex===this.items.length-1}get selectedItems(){return this.items.filter(t=>t.isSelected)}get allItemsSelected(){return this.selectedItems.length===this.items.length}set allItemsSelected(t){for(const r of this.items)r.isSelected=t}get selectedItemsOrAllItems(){return this.selectedItems.length>0?this.selectedItems:this.items}setItems(t){this.items=t}interact(){this.interacted=!0}clear(){this.interact(),this.currentIndex=void 0,this.items=[]}unselectAll(){for(const t of this.items)t.unselect()}setCurrentItem(t){this.interact(),this.currentId=t?.id}setNextItems(t){this.currentIndex!==void 0&&this.items.splice(this.currentIndex+1,0,...t)}clearAndSetItems(t){this.clear(),this.setCurrentItem(t[0]),this.setNextItems(t)}async playNext(t){if(this.isEmpty){this.clearAndSetItems(t);return}this.setNextItems(t)}async playSelectedItemsNext(){await this.playNext(this.selectedItemsOrAllItems.map(t=>t.clone())),this.unselectAll()}async addItems(t){if(this.isEmpty){this.clearAndSetItems(t);return}this.items.push(...t)}async addSelectedItems(){await this.addItems(this.selectedItemsOrAllItems.map(t=>t.clone())),this.unselectAll()}async playFirst(t){if(this.isEmpty){this.clearAndSetItems(t);return}const{currentIndex:r}=this;r!==void 0&&(this.interact(),this.items.splice(r,0,...t),this.currentIndex=r)}moveItem(t,r){const i=this.items.splice(this.items.indexOf(t),1)[0];this.items.splice(r,0,i)}async goToFirst(){this.currentIndex!==void 0&&(this.currentIndex=0)}async removeItems(t){const{currentItem:r}=this;ht.pull(this.items,...t.filter(s=>s!==r));const{currentIndex:i,isLastItem:a}=this;ht.pull(this.items,t.find(s=>s===r)),this.currentItem!==r&&(this.interact(),a?await this.goToFirst():this.currentIndex=i)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(t){const r=t.id;return this.removeItems(this.items.filter(i=>i.id!==r))}async removeItemsAbove(t){const r=this.items.indexOf(t);return this.removeItems(this.items.filter((i,a)=>a<r))}toggleRepeat(){switch(this.repeat){case _.Off:this.repeat=_.All;break;case _.All:this.repeat=_.One;break;case _.One:this.repeat=_.Off;break}}toggleShuffle(){this.shuffle=!this.shuffle}async previous(){this.currentIndex!==void 0&&this.hasPreviousItem&&(this.interact(),this.currentIndex--)}async next(){this.currentIndex!==void 0&&this.hasNextItem&&(this.interact(),this.currentIndex++)}}const wn=({children:e})=>{const[t]=v.useState(()=>new jt(new Ke)),r=B.useNostalgicDiva();return v.useEffect(()=>u.reaction(()=>t.currentItem,async(i,a)=>{i===void 0||a===void 0||i.type===a.type&&i.videoId===a.videoId&&await r.setCurrentTime(0)}),[t,r]),o(Xe.Provider,{value:t,children:e})},Tn=({breadcrumbs:e,tabs:t,...r})=>{const i=fr.useRouter();return o(l.EuiPageTemplate.Header,{...r,breadcrumbs:e?.map(({linkProps:a,...s})=>({...s,href:a===void 0?void 0:i.buildLocation(a).href,onClick:a===void 0?void 0:async d=>{d.preventDefault(),await i.navigate(a)}})),tabs:t?.map(({linkProps:a,...s})=>({...s,href:a===void 0?void 0:i.buildLocation(a).href,onClick:a===void 0?void 0:async d=>{d.preventDefault(),await i.navigate(a)}}))})},In=()=>{const e=Ze();return $(Me,{children:[o(Tn,{pageTitle:"Play queue",rightSideItems:[]}),o(l.EuiPageTemplate.Section,{children:o($t,{playQueueStore:e})})]})},Cn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:`Shuffle: ${e.shuffle?"On":"Off"}`,"aria-label":`Shuffle: ${e.shuffle?"On":"Off"}`,iconType:e.shuffle?w.ArrowShuffleFilled:w.ArrowShuffleOffFilled,size:"s",iconSize:"l",onClick:e.toggleShuffle,disabled:!e.canToggleShuffle})),Rn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Previous","aria-label":"Previous",iconType:w.PreviousFilled,size:"s",iconSize:"l",onClick:e.previous,disabled:!e.canPrevious})),xn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Skip back 10 seconds","aria-label":"Skip back 10 seconds",iconType:w.SkipBack10Regular,size:"s",iconSize:"l",onClick:e.skipBack10,disabled:!e.canSkipBack10})),On=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Pause","aria-label":"Pause",iconType:w.PauseFilled,size:"s",iconSize:"l",onClick:e.pause,disabled:!e.canPause})),kn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Play","aria-label":"Play",iconType:w.PlayFilled,size:"s",iconSize:"l",onClick:e.play,disabled:!e.canPlay})),_n=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Skip forward 30 seconds","aria-label":"Skip forward 30 seconds",iconType:w.SkipForward30Regular,size:"s",iconSize:"l",onClick:e.skipForward30,disabled:!e.canSkipForward30})),An=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Next","aria-label":"Next",iconType:w.NextFilled,size:"s",iconSize:"l",onClick:e.next,disabled:!e.canNext})),Fn={[_.Off]:w.ArrowRepeatAllOffFilled,[_.All]:w.ArrowRepeatAllFilled,[_.One]:w.ArrowRepeat1Filled},Mn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:`Repeat: ${e.repeat===_.All?"All":e.repeat===_.One?"One":"Off"}`,"aria-label":`Repeat: ${e.repeat===_.All?"All":e.repeat===_.One?"One":"Off"}`,iconType:Fn[e.repeat],size:"s",iconSize:"l",onClick:e.toggleRepeat,disabled:!e.canToggleRepeat})),Dn=O.observer(({bottomBarStore:e})=>$(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(Cn,{bottomBarStore:e}),o(Rn,{bottomBarStore:e}),o(xn,{bottomBarStore:e}),e.playing?o(On,{bottomBarStore:e}):o(kn,{bottomBarStore:e}),o(_n,{bottomBarStore:e}),o(An,{bottomBarStore:e}),o(Mn,{bottomBarStore:e})]})),Nn=v.memo(({item:e,closePopover:t})=>{const r=B.useNostalgicDiva(),i=v.useMemo(()=>[{id:0,items:[{name:"Open in new tab",icon:o(l.EuiIcon,{type:w.OpenRegular}),onClick:async()=>{t(),await r.pause(),window.open(e.dto.url,"_blank")}},{name:"Copy link address",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await navigator.clipboard.writeText(e.dto.url)}},{name:"Copy link text",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await navigator.clipboard.writeText(e.dto.title)}}]}],[t,r,e]);return o(l.EuiContextMenu,{initialPanelId:0,panels:i})}),$n=v.memo(({item:e})=>{const[t,r]=v.useState(!1),i=v.useCallback(()=>r(!t),[t]),a=v.useCallback(()=>r(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonEmpty,{iconType:Nt[e.type],size:"s",onClick:i,children:e.title}),isOpen:t,closePopover:a,panelPaddingSize:"none",anchorPosition:"upLeft",children:o(Nn,{item:e,closePopover:a})})}),jn=O.observer(({bottomBarStore:e})=>o(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexStart",alignItems:"center",children:e.currentItem&&o($n,{item:e.currentItem})})),qn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Mute","aria-label":"Mute",iconType:w.Speaker2Regular,size:"s",iconSize:"l",disabled:!e.playerStore.controller.supports("setMuted")})),zn=O.observer(({bottomBarStore:e,button:t,isOpen:r,closePopover:i})=>{const[a,s]=v.useState("0"),d=B.useNostalgicDiva();v.useLayoutEffect(()=>{r&&d.getVolume().then(h=>{h!==void 0&&s(Math.floor(h*100).toString())})},[r,d]);const y=v.useCallback(async h=>{s(h.currentTarget.value),await d.setVolume(Number(h.currentTarget.value)/100)},[d]);return o(l.EuiPopover,{button:t,isOpen:r,closePopover:i,anchorPosition:"upRight",children:o(l.EuiFormRow,{children:$(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(qn,{bottomBarStore:e}),o(l.EuiRange,{min:0,max:100,step:1,value:a,onChange:y,css:{blockSize:32},disabled:!e.playerStore.controller.supports("setVolume")})]})})})}),Ln=O.observer(({bottomBarStore:e})=>{const[t,r]=v.useState(!1),i=()=>r(!t);return o(zn,{bottomBarStore:e,button:o(l.EuiButtonIcon,{title:"Volume","aria-label":"Volume",iconType:w.Speaker2Regular,size:"s",iconSize:"l",onClick:i,disabled:!e.playerStore.controller.supports("getVolume")}),isOpen:t,closePopover:()=>r(!1)})}),Qn=({onClickPlayQueueButton:e})=>o(l.EuiButtonIcon,{title:"Play queue","aria-label":"Play queue",iconType:w.NavigationPlayRegular,size:"s",iconSize:"l",onClick:e}),Un=O.observer(({bottomBarStore:e,closePopover:t})=>{const r=B.useNostalgicDiva(),i=v.useCallback(async()=>{await e.skipBack10(),t()},[e,t]),a=v.useCallback(async()=>{await e.skipForward30(),t()},[e,t]),s=v.useCallback(async T=>{await r.setPlaybackRate(T),t()},[r,t]),d=v.useCallback(async()=>{e.currentItem!==void 0&&await e.playQueueStore.removeItems([e.currentItem]),t()},[e,t]),[y,h]=v.useState(),b=v.useCallback(async()=>{await e.playerStore.controller.getPlaybackRate().then(T=>h(T))},[e]),S=v.useMemo(()=>[{id:0,items:[{name:"Speed",icon:o(l.EuiIcon,{type:w.TopSpeedRegular}),panel:1,onClick:b,disabled:!e.playerStore.controller.supports("getPlaybackRate")},{name:"Skip back 10 seconds",icon:o(l.EuiIcon,{type:w.SkipBack10Regular}),onClick:i,disabled:!e.canSkipBack10},{name:"Skip forward 30 seconds",icon:o(l.EuiIcon,{type:w.SkipForward30Regular}),onClick:a,disabled:!e.canSkipForward30},{isSeparator:!0},{name:"Remove from play queue",icon:o(l.EuiIcon,{type:w.DismissRegular}),onClick:d,disabled:e.playQueueStore.isEmpty}]},{id:1,title:"Speed",items:[.25,.5,.75,1,1.25,1.5,1.75,2].map(T=>({name:T.toString(),onClick:()=>s(T),icon:T===y?"check":"empty",disabled:!e.playerStore.controller.supports("setPlaybackRate")}))}],[e,b,i,a,d,s,y]);return o(l.EuiContextMenu,{initialPanelId:0,panels:S})}),Vn=v.memo(({bottomBarStore:e,button:t,isOpen:r,closePopover:i})=>o(l.EuiPopover,{button:t,isOpen:r,closePopover:i,panelPaddingSize:"none",anchorPosition:"upRight",children:o(Un,{bottomBarStore:e,closePopover:i})})),Yn=v.memo(({bottomBarStore:e})=>{const[t,r]=v.useState(!1),i=()=>r(!t);return o(Vn,{bottomBarStore:e,button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:w.MoreHorizontalFilled,size:"s",iconSize:"l",onClick:i}),isOpen:t,closePopover:()=>r(!1)})}),Bn=v.memo(({bottomBarStore:e,onClickPlayQueueButton:t})=>$(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexEnd",alignItems:"center",children:[o(Ln,{bottomBarStore:e}),t&&o(Qn,{onClickPlayQueueButton:t}),o(Yn,{bottomBarStore:e})]})),Gn=O.observer(({bottomBarStore:e})=>{const t=B.useNostalgicDiva(),r=v.useCallback(s=>{const d=Number(s.currentTarget.value)/100;e.playerStore.setPercent(d)},[e]),i=v.useCallback(s=>{s.button===0&&e.playerStore.setSeeking(!0)},[e]),a=v.useCallback(async s=>{if(s.button===0){const d=Number(s.currentTarget.value)/100;e.playerStore.setSeeking(!1);const y=await t.getDuration();y!==void 0&&await t.setCurrentTime(y*d)}},[e,t]);return o(l.EuiRange,{min:0,max:100,step:1e-7,value:e.playerStore.percent*100,onChange:r,onMouseDown:i,onMouseUp:a,fullWidth:!0,showRange:!0,css:{blockSize:32},disabled:e.playQueueStore.isEmpty})}),Hn=O.observer(({bottomBarStore:e,onClickPlayQueueButton:t})=>o(l.EuiBottomBar,{paddingSize:"s",children:$(l.EuiFlexGroup,{direction:"column",gutterSize:"none",children:[o(l.EuiFlexItem,{children:o(Gn,{bottomBarStore:e})}),o(l.EuiFlexItem,{children:$(l.EuiFlexGroup,{responsive:!1,children:[o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(jn,{bottomBarStore:e})}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Dn,{bottomBarStore:e})}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Bn,{bottomBarStore:e,onClickPlayQueueButton:t})})]})})]})})),Wn=e=>o(B.NostalgicDivaProvider,{...e}),We={width:400,height:225},Jn=O.observer(({children:e})=>{const t=Ze();return $(l.EuiPageTemplate,{panelled:!0,style:{minBlockSize:`max(460px, 100vh - ${Je}px)`},children:[e,!t.isEmpty&&o(l.EuiSpacer,{style:{blockSize:We.height}})]})}),Kn=O.observer(({miniPlayerStore:e})=>{const t=v.useMemo(()=>({onLoaded:e.onLoaded,onPlay:e.onPlay,onPause:e.onPause,onEnded:e.onEnded,onTimeUpdate:e.onTimeUpdate}),[e]);return o("div",{css:{position:"fixed",right:0,bottom:Je,width:We.width,height:We.height,zIndex:998,backgroundColor:"rgb(39, 39, 39)",display:"flex",flexDirection:"column"},children:o("div",{css:{flexGrow:1,backgroundColor:"black"},children:e.currentItem&&o(B.NostalgicDiva,{src:e.currentItem.url,options:t,onControllerChange:e.onControllerChange})})})});class qt{controller=B.nullPlayerController;playing=!1;percent=0;seeking=!1;constructor(t){t.makeObservable(this,{controller:u.observable,playing:u.observable,percent:u.observable,seeking:u.observable,setPlaying:u.action,setPercent:u.action,setSeeking:u.action,onControllerChange:u.action.bound,onPlay:u.action.bound,onPause:u.action.bound,onEnded:u.action.bound,onTimeUpdate:u.action.bound})}setPlaying(t){this.playing=t}setPercent(t){this.percent=t}setSeeking(t){this.seeking=t}onControllerChange(t){this.controller=t}onPlay(){this.playing=!0}onPause(){this.playing=!1}onEnded(){this.playing=!1}onTimeUpdate({percent:t}){t!==void 0&&(this.seeking||(this.percent=t))}}const zt=v.createContext(void 0),Xn=({children:e})=>{const[t]=v.useState(()=>new qt(new Ke));return o(zt.Provider,{value:t,children:e})},Zn=()=>v.useContext(zt);class ei{constructor(t,r,i,a){this.playerStore=r,this.playQueueStore=i,this.diva=a,t.makeObservable(this,{playing:u.computed,currentItem:u.computed,repeat:u.computed,shuffle:u.computed,canToggleRepeat:u.computed,canToggleShuffle:u.computed,canPlay:u.computed,canPause:u.computed,canPrevious:u.computed,canNext:u.computed,canSkipBack10:u.computed,canSkipForward30:u.computed,toggleRepeat:u.action.bound,toggleShuffle:u.action.bound,play:u.action.bound,pause:u.action.bound,previous:u.action.bound,next:u.action.bound,skipBack10:u.action.bound,skipForward30:u.action.bound})}get playing(){return this.playerStore.playing}get currentItem(){return this.playQueueStore.currentItem}get repeat(){return this.playQueueStore.repeat}get shuffle(){return this.playQueueStore.shuffle}get canToggleRepeat(){return!0}get canToggleShuffle(){return!1}get canPlay(){return this.playQueueStore.canPlay&&this.playerStore.controller.supports("play")}get canPause(){return this.playQueueStore.canPause&&this.playerStore.controller.supports("pause")}get canPrevious(){return!this.playQueueStore.isEmpty}get canNext(){return this.playQueueStore.hasNextItem}get canSkipBack10(){return!this.playQueueStore.isEmpty&&this.playerStore.controller.supports("setCurrentTime")}get canSkipForward30(){return!this.playQueueStore.isEmpty&&this.playerStore.controller.supports("setCurrentTime")}toggleRepeat(){this.playQueueStore.toggleRepeat()}toggleShuffle(){this.playQueueStore.toggleShuffle()}play(){return this.diva.play()}pause(){return this.diva.pause()}async previous(){if(this.playQueueStore.hasPreviousItem){const t=await this.diva.getCurrentTime();t===void 0||t<5?await this.playQueueStore.previous():await this.diva.setCurrentTime(0)}else await this.diva.setCurrentTime(0)}next(){return this.playQueueStore.next()}async skipBack10(){const t=await this.diva.getCurrentTime();t!==void 0&&await this.diva.setCurrentTime(t-10)}async skipForward30(){const t=await this.diva.getCurrentTime();t!==void 0&&await this.diva.setCurrentTime(t+30)}}class ti{constructor(t,r,i,a){this.playerStore=r,this.playQueueStore=i,this.diva=a,t.makeObservable(this,{currentItem:u.computed,onLoaded:u.action.bound,onPlay:u.action.bound,onPause:u.action.bound,onEnded:u.action.bound,onTimeUpdate:u.action.bound,onControllerChange:u.action.bound})}get currentItem(){return this.playQueueStore.currentItem}async onLoaded(){this.playQueueStore.interacted&&await this.diva.play()}onPlay(){this.playerStore.onPlay()}onPause(){this.playerStore.onPause()}async onEnded(){switch(this.playQueueStore.repeat){case _.One:await this.diva.setCurrentTime(0);break;case _.Off:case _.All:if(this.playQueueStore.isLastItem)switch(this.playQueueStore.repeat){case _.Off:this.playerStore.onEnded();break;case _.All:this.playQueueStore.hasMultipleItems?await this.playQueueStore.goToFirst():await this.diva.setCurrentTime(0);break}else await this.playQueueStore.next();break}}onTimeUpdate(t){this.playerStore.onTimeUpdate(t)}onControllerChange(t){this.playerStore.onControllerChange(t)}}exports.BottomBar=Hn;exports.BottomBarStore=ei;exports.HydrangeanDivaProvider=Wn;exports.MediaPlayerLayout=Jn;exports.MiniPlayer=Kn;exports.MiniPlayerStore=ti;exports.MobXObservableStateProvider=Ke;exports.ObservableStateProvider=yr;exports.PlayQueue=$t;exports.PlayQueueItemStore=Pe;exports.PlayQueuePage=In;exports.PlayQueueStore=jt;exports.PlayQueueStoreContext=Xe;exports.PlayQueueStoreProvider=wn;exports.PlayerStore=qt;exports.PlayerStoreProvider=Xn;exports.RepeatMode=_;exports.bottomBarHeight=Je;exports.usePlayQueueStore=Ze;exports.usePlayerStore=Zn;
14
+ <%s key={someKey} {...props} />`,Ve,ee,sr,ee),pt[ee+Ve]=!0}}return n===i?rr(N):tr(N),N}}function nr(n,c,p){return yt(n,c,p,!0)}function ir(n,c,p){return yt(n,c,p,!1)}var ar=ir,or=nr;me.Fragment=i,me.jsx=ar,me.jsxs=or})()),me}var gt;function vr(){return gt||(gt=1,process.env.NODE_ENV==="production"?_e.exports=hr():_e.exports=mr()),_e.exports}var ge=vr(),Ae={exports:{}},C={};var bt;function gr(){if(bt)return C;bt=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,i=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,y=e?Symbol.for("react.context"):60110,h=e?Symbol.for("react.async_mode"):60111,b=e?Symbol.for("react.concurrent_mode"):60111,S=e?Symbol.for("react.forward_ref"):60112,T=e?Symbol.for("react.suspense"):60113,z=e?Symbol.for("react.suspense_list"):60120,j=e?Symbol.for("react.memo"):60115,M=e?Symbol.for("react.lazy"):60116,V=e?Symbol.for("react.block"):60121,W=e?Symbol.for("react.fundamental"):60117,L=e?Symbol.for("react.responder"):60118,k=e?Symbol.for("react.scope"):60119;function D(f){if(typeof f=="object"&&f!==null){var Q=f.$$typeof;switch(Q){case t:switch(f=f.type,f){case h:case b:case i:case s:case a:case T:return f;default:switch(f=f&&f.$$typeof,f){case y:case S:case M:case j:case d:return f;default:return Q}}case r:return Q}}}function A(f){return D(f)===b}return C.AsyncMode=h,C.ConcurrentMode=b,C.ContextConsumer=y,C.ContextProvider=d,C.Element=t,C.ForwardRef=S,C.Fragment=i,C.Lazy=M,C.Memo=j,C.Portal=r,C.Profiler=s,C.StrictMode=a,C.Suspense=T,C.isAsyncMode=function(f){return A(f)||D(f)===h},C.isConcurrentMode=A,C.isContextConsumer=function(f){return D(f)===y},C.isContextProvider=function(f){return D(f)===d},C.isElement=function(f){return typeof f=="object"&&f!==null&&f.$$typeof===t},C.isForwardRef=function(f){return D(f)===S},C.isFragment=function(f){return D(f)===i},C.isLazy=function(f){return D(f)===M},C.isMemo=function(f){return D(f)===j},C.isPortal=function(f){return D(f)===r},C.isProfiler=function(f){return D(f)===s},C.isStrictMode=function(f){return D(f)===a},C.isSuspense=function(f){return D(f)===T},C.isValidElementType=function(f){return typeof f=="string"||typeof f=="function"||f===i||f===b||f===s||f===a||f===T||f===z||typeof f=="object"&&f!==null&&(f.$$typeof===M||f.$$typeof===j||f.$$typeof===d||f.$$typeof===y||f.$$typeof===S||f.$$typeof===W||f.$$typeof===L||f.$$typeof===k||f.$$typeof===V)},C.typeOf=D,C}var R={};var Pt;function br(){return Pt||(Pt=1,process.env.NODE_ENV!=="production"&&(function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,i=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,y=e?Symbol.for("react.context"):60110,h=e?Symbol.for("react.async_mode"):60111,b=e?Symbol.for("react.concurrent_mode"):60111,S=e?Symbol.for("react.forward_ref"):60112,T=e?Symbol.for("react.suspense"):60113,z=e?Symbol.for("react.suspense_list"):60120,j=e?Symbol.for("react.memo"):60115,M=e?Symbol.for("react.lazy"):60116,V=e?Symbol.for("react.block"):60121,W=e?Symbol.for("react.fundamental"):60117,L=e?Symbol.for("react.responder"):60118,k=e?Symbol.for("react.scope"):60119;function D(m){return typeof m=="string"||typeof m=="function"||m===i||m===b||m===s||m===a||m===T||m===z||typeof m=="object"&&m!==null&&(m.$$typeof===M||m.$$typeof===j||m.$$typeof===d||m.$$typeof===y||m.$$typeof===S||m.$$typeof===W||m.$$typeof===L||m.$$typeof===k||m.$$typeof===V)}function A(m){if(typeof m=="object"&&m!==null){var pe=m.$$typeof;switch(pe){case t:var ie=m.type;switch(ie){case h:case b:case i:case s:case a:case T:return ie;default:var Z=ie&&ie.$$typeof;switch(Z){case y:case S:case M:case j:case d:return Z;default:return pe}}case r:return pe}}}var f=h,Q=b,se=y,Se=d,Ee=t,De=S,Ne=i,we=M,G=j,J=r,X=s,Te=a,Ie=T,le=!1;function Ce(m){return le||(le=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),ue(m)||A(m)===h}function ue(m){return A(m)===b}function Re(m){return A(m)===y}function xe(m){return A(m)===d}function Oe(m){return typeof m=="object"&&m!==null&&m.$$typeof===t}function $e(m){return A(m)===S}function je(m){return A(m)===i}function ce(m){return A(m)===M}function de(m){return A(m)===j}function re(m){return A(m)===r}function fe(m){return A(m)===s}function ne(m){return A(m)===a}function qe(m){return A(m)===T}R.AsyncMode=f,R.ConcurrentMode=Q,R.ContextConsumer=se,R.ContextProvider=Se,R.Element=Ee,R.ForwardRef=De,R.Fragment=Ne,R.Lazy=we,R.Memo=G,R.Portal=J,R.Profiler=X,R.StrictMode=Te,R.Suspense=Ie,R.isAsyncMode=Ce,R.isConcurrentMode=ue,R.isContextConsumer=Re,R.isContextProvider=xe,R.isElement=Oe,R.isForwardRef=$e,R.isFragment=je,R.isLazy=ce,R.isMemo=de,R.isPortal=re,R.isProfiler=fe,R.isStrictMode=ne,R.isSuspense=qe,R.isValidElementType=D,R.typeOf=A})()),R}var St;function Pr(){return St||(St=1,process.env.NODE_ENV==="production"?Ae.exports=gr():Ae.exports=br()),Ae.exports}var Ye,Et;function Sr(){if(Et)return Ye;Et=1;var e=Pr(),t={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};s[e.ForwardRef]=i,s[e.Memo]=a;function d(M){return e.isMemo(M)?a:s[M.$$typeof]||t}var y=Object.defineProperty,h=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,S=Object.getOwnPropertyDescriptor,T=Object.getPrototypeOf,z=Object.prototype;function j(M,V,W){if(typeof V!="string"){if(z){var L=T(V);L&&L!==z&&j(M,L,W)}var k=h(V);b&&(k=k.concat(b(V)));for(var D=d(M),A=d(V),f=0;f<k.length;++f){var Q=k[f];if(!r[Q]&&!(W&&W[Q])&&!(A&&A[Q])&&!(D&&D[Q])){var se=S(V,Q);try{y(M,Q,se)}catch{}}}}return M}return Ye=j,Ye}Sr();var Er=!0;function wr(e,t,r){var i="";return r.split(" ").forEach(function(a){e[a]!==void 0?t.push(e[a]+";"):a&&(i+=a+" ")}),i}var Rt=function(t,r,i){var a=t.key+"-"+r.name;(i===!1||Er===!1)&&t.registered[a]===void 0&&(t.registered[a]=r.styles)},Tr=function(t,r,i){Rt(t,r,i);var a=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var s=r;do t.insert(r===s?"."+a:"",s,t.sheet,!0),s=s.next;while(s!==void 0)}};function Ir(e){for(var t=0,r,i=0,a=e.length;a>=4;++i,a-=4)r=e.charCodeAt(i)&255|(e.charCodeAt(++i)&255)<<8|(e.charCodeAt(++i)&255)<<16|(e.charCodeAt(++i)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(a){case 3:t^=(e.charCodeAt(i+2)&255)<<16;case 2:t^=(e.charCodeAt(i+1)&255)<<8;case 1:t^=e.charCodeAt(i)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Cr={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function Rr(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var xr=/[A-Z]|^ms/g,Or=/_EMO_([^_]+?)_([^]*?)_EMO_/g,xt=function(t){return t.charCodeAt(1)===45},wt=function(t){return t!=null&&typeof t!="boolean"},Be=Rr(function(e){return xt(e)?e:e.replace(xr,"-$&").toLowerCase()}),Tt=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(Or,function(i,a,s){return H={name:a,styles:s,next:H},a})}return Cr[t]!==1&&!xt(t)&&typeof r=="number"&&r!==0?r+"px":r};function be(e,t,r){if(r==null)return"";var i=r;if(i.__emotion_styles!==void 0)return i;switch(typeof r){case"boolean":return"";case"object":{var a=r;if(a.anim===1)return H={name:a.name,styles:a.styles,next:H},a.name;var s=r;if(s.styles!==void 0){var d=s.next;if(d!==void 0)for(;d!==void 0;)H={name:d.name,styles:d.styles,next:H},d=d.next;var y=s.styles+";";return y}return kr(e,t,r)}case"function":{if(e!==void 0){var h=H,b=r(e);return H=h,be(e,t,b)}break}}var S=r;return S}function kr(e,t,r){var i="";if(Array.isArray(r))for(var a=0;a<r.length;a++)i+=be(e,t,r[a])+";";else for(var s in r){var d=r[s];if(typeof d!="object"){var y=d;wt(y)&&(i+=Be(s)+":"+Tt(s,y)+";")}else if(Array.isArray(d)&&typeof d[0]=="string"&&t==null)for(var h=0;h<d.length;h++)wt(d[h])&&(i+=Be(s)+":"+Tt(s,d[h])+";");else{var b=be(e,t,d);switch(s){case"animation":case"animationName":{i+=Be(s)+":"+b+";";break}default:i+=s+"{"+b+"}"}}}return i}var It=/label:\s*([^\s;{]+)\s*(;|$)/g,H;function _r(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var i=!0,a="";H=void 0;var s=e[0];if(s==null||s.raw===void 0)i=!1,a+=be(r,t,s);else{var d=s;a+=d[0]}for(var y=1;y<e.length;y++)if(a+=be(r,t,e[y]),i){var h=s;a+=h[y]}It.lastIndex=0;for(var b="",S;(S=It.exec(a))!==null;)b+="-"+S[1];var T=Ir(a)+b;return{name:T,styles:a,next:H}}var Ar=function(t){return t()},Fr=K.useInsertionEffect?K.useInsertionEffect:!1,Mr=Fr||Ar,Ot=K.createContext(typeof HTMLElement<"u"?ur({key:"css"}):null);Ot.Provider;var Dr=function(t){return v.forwardRef(function(r,i){var a=v.useContext(Ot);return t(r,a,i)})},Nr=K.createContext({}),Fe={}.hasOwnProperty,He="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",kt=function(t,r){var i={};for(var a in r)Fe.call(r,a)&&(i[a]=r[a]);return i[He]=t,i},$r=function(t){var r=t.cache,i=t.serialized,a=t.isStringTag;return Rt(r,i,a),Mr(function(){return Tr(r,i,a)}),null},jr=Dr(function(e,t,r){var i=e.css;typeof i=="string"&&t.registered[i]!==void 0&&(i=t.registered[i]);var a=e[He],s=[i],d="";typeof e.className=="string"?d=wr(t.registered,s,e.className):e.className!=null&&(d=e.className+" ");var y=_r(s,void 0,K.useContext(Nr));d+=t.key+"-"+y.name;var h={};for(var b in e)Fe.call(e,b)&&b!=="css"&&b!==He&&(h[b]=e[b]);return h.className=d,r&&(h.ref=r),K.createElement(K.Fragment,null,K.createElement($r,{cache:t,serialized:y,isStringTag:typeof a=="string"}),K.createElement(a,h))}),_t=jr,Me=ge.Fragment,o=function(t,r,i){return Fe.call(r,"css")?ge.jsx(_t,kt(t,r),i):ge.jsx(t,r,i)},$=function(t,r,i){return Fe.call(r,"css")?ge.jsxs(_t,kt(t,r),i):ge.jsxs(t,r,i)};const qr={mediaPlayer:{enablePlaylists:process.env.NODE_ENV!=="production"}},zr="http://localhost".replace(/\/+$/,"");class At{constructor(t={}){this.configuration=t}set config(t){this.configuration=t}get basePath(){return this.configuration.basePath!=null?this.configuration.basePath:zr}get fetchApi(){return this.configuration.fetchApi}get middleware(){return this.configuration.middleware||[]}get queryParamsStringify(){return this.configuration.queryParamsStringify||Ft}get username(){return this.configuration.username}get password(){return this.configuration.password}get apiKey(){const t=this.configuration.apiKey;if(t)return typeof t=="function"?t:()=>t}get accessToken(){const t=this.configuration.accessToken;if(t)return typeof t=="function"?t:async()=>t}get headers(){return this.configuration.headers}get credentials(){return this.configuration.credentials}}const Lr=new At;class et{constructor(t=Lr){this.configuration=t,this.middleware=t.middleware}static jsonRegex=new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$","i");middleware;withMiddleware(...t){const r=this.clone();return r.middleware=r.middleware.concat(...t),r}withPreMiddleware(...t){const r=t.map(i=>({pre:i}));return this.withMiddleware(...r)}withPostMiddleware(...t){const r=t.map(i=>({post:i}));return this.withMiddleware(...r)}isJsonMime(t){return t?et.jsonRegex.test(t):!1}async request(t,r){const{url:i,init:a}=await this.createFetchParams(t,r),s=await this.fetchApi(i,a);if(s&&s.status>=200&&s.status<300)return s;throw new Vr(s,"Response returned an error code")}async createFetchParams(t,r){let i=this.configuration.basePath+t.path;t.query!==void 0&&Object.keys(t.query).length!==0&&(i+="?"+this.configuration.queryParamsStringify(t.query));const a=Object.assign({},this.configuration.headers,t.headers);Object.keys(a).forEach(S=>a[S]===void 0?delete a[S]:{});const s=typeof r=="function"?r:async()=>r,d={method:t.method,headers:a,body:t.body,credentials:this.configuration.credentials},y={...d,...await s({init:d,context:t})};let h;Ur(y.body)||y.body instanceof URLSearchParams||Qr(y.body)?h=y.body:this.isJsonMime(a["Content-Type"])?h=JSON.stringify(y.body):h=y.body;const b={...y,body:h};return{url:i,init:b}}fetchApi=async(t,r)=>{let i={url:t,init:r};for(const s of this.middleware)s.pre&&(i=await s.pre({fetch:this.fetchApi,...i})||i);let a;try{a=await(this.configuration.fetchApi||fetch)(i.url,i.init)}catch(s){for(const d of this.middleware)d.onError&&(a=await d.onError({fetch:this.fetchApi,url:i.url,init:i.init,error:s,response:a?a.clone():void 0})||a);if(a===void 0)throw s instanceof Error?new Yr(s,"The request failed and the interceptors did not return an alternative response"):s}for(const s of this.middleware)s.post&&(a=await s.post({fetch:this.fetchApi,url:i.url,init:i.init,response:a.clone()})||a);return a};clone(){const t=this.constructor,r=new t(this.configuration);return r.middleware=this.middleware.slice(),r}}function Qr(e){return typeof Blob<"u"&&e instanceof Blob}function Ur(e){return typeof FormData<"u"&&e instanceof FormData}class Vr extends Error{constructor(t,r){super(r),this.response=t}name="ResponseError"}class Yr extends Error{constructor(t,r){super(r),this.cause=t}name="FetchError"}class ve extends Error{constructor(t,r){super(r),this.field=t}name="RequiredError"}function Ft(e,t=""){return Object.keys(e).map(r=>Mt(r,e[r],t)).filter(r=>r.length>0).join("&")}function Mt(e,t,r=""){const i=r+(r.length?`[${e}]`:e);if(t instanceof Array){const a=t.map(s=>encodeURIComponent(String(s))).join(`&${encodeURIComponent(i)}=`);return`${encodeURIComponent(i)}=${a}`}if(t instanceof Set){const a=Array.from(t);return Mt(e,a,r)}return t instanceof Date?`${encodeURIComponent(i)}=${encodeURIComponent(t.toISOString())}`:t instanceof Object?Ft(t,i):`${encodeURIComponent(i)}=${encodeURIComponent(String(t))}`}class te{constructor(t,r=i=>i){this.raw=t,this.transformer=r}async value(){return this.transformer(await this.raw.json())}}function Dt(e){return Br(e)}function Br(e,t){return e==null?e:{id:e.id,name:e.name}}function Gr(e){return Hr(e)}function Hr(e,t){return e==null?e:{playlist:Dt(e.playlist)}}function Wr(e){return Jr(e)}function Jr(e,t){return e==null?e:{items:e.items.map(Dt)}}function Kr(e){return Xr(e)}function Xr(e,t){return e==null?e:{id:e.id,url:e.url,type:e.type,videoId:e.videoId,title:e.title}}function Zr(e){return en(e)}function en(e,t){return e==null?e:{items:e.items.map(Kr)}}function tn(e){return rn(e,!1)}function rn(e,t=!1){return e==null?e:{name:e.name}}function nn(e){return an(e,!1)}function an(e,t=!1){return e==null?e:{name:e.name}}class on extends et{async mediaPlayerPlaylistsGetRaw(t){const r={},i={},s=await this.request({path:"/media-player/playlists",method:"GET",headers:i,query:r},t);return new te(s,d=>Wr(d))}async mediaPlayerPlaylistsGet(t){return await(await this.mediaPlayerPlaylistsGetRaw(t)).value()}async mediaPlayerPlaylistsIdDeleteRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdDelete().');const i={},a={};let s="/media-player/playlists/{id}";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"DELETE",headers:a,query:i},r);return new te(d)}async mediaPlayerPlaylistsIdDelete(t,r){return await(await this.mediaPlayerPlaylistsIdDeleteRaw(t,r)).value()}async mediaPlayerPlaylistsIdGetRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdGet().');const i={},a={};let s="/media-player/playlists/{id}";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"GET",headers:a,query:i},r);return new te(d,y=>Gr(y))}async mediaPlayerPlaylistsIdGet(t,r){return await(await this.mediaPlayerPlaylistsIdGetRaw(t,r)).value()}async mediaPlayerPlaylistsIdRenamePostRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdRenamePost().');const i={},a={};a["Content-Type"]="application/json";let s="/media-player/playlists/{id}:rename";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"POST",headers:a,query:i,body:nn(t.hydrangeanDivaMediaPlayerEndpointsPlaylistsRenamePlaylistRequest)},r);return new te(d)}async mediaPlayerPlaylistsIdRenamePost(t,r){return await(await this.mediaPlayerPlaylistsIdRenamePostRaw(t,r)).value()}async mediaPlayerPlaylistsIdTracksGetRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdTracksGet().');const i={},a={};let s="/media-player/playlists/{id}/tracks";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"GET",headers:a,query:i},r);return new te(d,y=>Zr(y))}async mediaPlayerPlaylistsIdTracksGet(t,r){return await(await this.mediaPlayerPlaylistsIdTracksGetRaw(t,r)).value()}async mediaPlayerPlaylistsIdTracksPutRaw(t,r){if(t.id==null)throw new ve("id",'Required parameter "id" was null or undefined when calling mediaPlayerPlaylistsIdTracksPut().');const i={},a={};let s="/media-player/playlists/{id}/tracks";s=s.replace("{id}",encodeURIComponent(String(t.id)));const d=await this.request({path:s,method:"PUT",headers:a,query:i},r);return new te(d)}async mediaPlayerPlaylistsIdTracksPut(t,r){return await(await this.mediaPlayerPlaylistsIdTracksPutRaw(t,r)).value()}async mediaPlayerPlaylistsPostRaw(t,r){const i={},a={};a["Content-Type"]="application/json";const d=await this.request({path:"/media-player/playlists",method:"POST",headers:a,query:i,body:tn(t.hydrangeanDivaMediaPlayerEndpointsPlaylistsCreatePlaylistRequest)},r);return new te(d)}async mediaPlayerPlaylistsPost(t={},r){return await(await this.mediaPlayerPlaylistsPostRaw(t,r)).value()}}const sn=new At({basePath:new URL("api",window.location.origin).toString()}),ln=new on(sn),un=({disabled:e,onAddToPlaylist:t})=>{const[r,i]=v.useState(!1),[a,s]=v.useState("loading");return v.useEffect(()=>{ln.mediaPlayerPlaylistsGet().then(d=>s(d.items.map(y=>({key:y.id,label:y.name}))))},[]),o(l.EuiPopover,{panelPaddingSize:"none",button:o(l.EuiButton,{iconType:w.AddRegular,onClick:()=>i(!r),disabled:e,children:"Add to"}),isOpen:r,closePopover:()=>i(!1),children:o(l.EuiSelectable,{searchable:!0,searchProps:{compressed:!0},options:a==="loading"?void 0:a,isLoading:a==="loading",onChange:async(d,y,h)=>{i(!1),await t(h)},singleSelection:!0,children:(d,y)=>$("div",{style:{width:240},children:[o(l.EuiPopoverTitle,{paddingSize:"s",children:y}),d,o(l.EuiPopoverFooter,{paddingSize:"s",children:o(l.EuiButton,{size:"s",fullWidth:!0,iconType:w.AddRegular,children:"New playlist"})})]})})})},cn=({onCancel:e,onSave:t})=>{const r=l.useGeneratedHtmlId({prefix:"modalForm"}),[i,a]=v.useState(""),[s,d]=v.useState(""),[y,h]=v.useState(!1);return $(l.EuiModal,{onClose:e,initialFocus:"[name=url]",children:[o(l.EuiModalHeader,{children:o(l.EuiModalHeaderTitle,{children:"Add video"})}),o(l.EuiModalBody,{children:$(l.EuiForm,{id:r,component:"form",onSubmit:async b=>{b.preventDefault();try{h(!0),await t({url:i,title:s})}finally{h(!1)}},children:[o(l.EuiFormRow,{label:"URL",children:o(l.EuiFieldText,{name:"url",value:i,onChange:b=>a(b.target.value)})}),o(l.EuiFormRow,{label:"Title",children:o(l.EuiFieldText,{name:"title",value:s,onChange:b=>d(b.target.value)})})]})}),$(l.EuiModalFooter,{children:[o(l.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(l.EuiButton,{type:"submit",form:r,fill:!0,disabled:i.trim().length===0,isLoading:y,children:"Add video"})]})]})},Ct=v.memo(({onSave:e})=>{const[t,r]=v.useState(!1),i=v.useCallback(async a=>{await e(a),r(!1)},[e]);return $(Me,{children:[o(l.EuiButton,{onClick:()=>r(!0),iconType:w.AddRegular,color:"primary",children:"Add video"}),t&&o(cn,{onCancel:()=>r(!1),onSave:i})]})}),Nt={Audio:"",Dailymotion:"https://www.dailymotion.com/favicon.ico",Niconico:"https://www.nicovideo.jp/favicon.ico",SoundCloud:"https://soundcloud.com/favicon.ico",Twitch:"https://www.twitch.tv/favicon.ico",Vimeo:"https://vimeo.com/favicon.ico",YouTube:"https://www.youtube.com/favicon.ico"},dn=O.observer(({playQueueStore:e})=>{const{euiTheme:t}=l.useEuiTheme();return $(l.EuiTableHeader,{style:{position:"sticky",top:112,zIndex:998,background:t.colors.backgroundBasePlain},children:[o(l.EuiTableHeaderCellCheckbox,{children:o(l.EuiCheckbox,{id:"",checked:e.allItemsSelected,onChange:r=>{e.allItemsSelected=r.target.checked}})}),o(l.EuiTableHeaderCell,{width:24}),o(l.EuiTableHeaderCell,{children:"Title"}),o(l.EuiTableHeaderCell,{})]})}),fn=v.memo(({item:e,closePopover:t})=>{const r=v.useMemo(()=>[{id:0,items:[{name:"Play first",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.playFirst()}},{name:"Play next",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.playNext()}},{name:"Add to play queue",icon:o(l.EuiIcon,{type:w.AddRegular}),onClick:async()=>{t(),await e.addToPlayQueue()}},{isSeparator:!0},{name:"Move to the top",icon:o(l.EuiIcon,{type:w.ArrowUploadRegular}),onClick:async()=>{t(),e.moveToTop()},disabled:!e.canMoveToTop},{name:"Move to the bottom",icon:o(l.EuiIcon,{type:w.ArrowDownloadRegular}),onClick:async()=>{t(),e.moveToBottom()},disabled:!e.canMoveToBottom},{isSeparator:!0},{name:"Remove to the top",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.removeToTop()},disabled:!e.canRemoveToTop},{name:"Remove others",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await e.removeOthers()},disabled:!e.canRemoveOthers}]}],[t,e]);return o(l.EuiContextMenu,{initialPanelId:0,panels:r})}),pn=v.memo(({item:e})=>{const[t,r]=v.useState(!1),i=v.useCallback(()=>r(!t),[t]),a=v.useCallback(()=>r(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:w.MoreHorizontalFilled,size:"s",color:"text",onClick:i}),isOpen:t,closePopover:a,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(fn,{item:e,closePopover:a})})}),yn=O.observer(({item:e})=>{const t=B.useNostalgicDiva();return $(l.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[o(l.EuiButton,{iconType:w.PlayRegular,size:"s",onClick:async()=>{e.isCurrent?await t.setCurrentTime(0):e.play()},children:"Play"}),o(l.EuiButton,{iconType:w.DismissRegular,size:"s",onClick:e.remove,children:"Remove"}),o(pn,{item:e})]})}),hn=O.observer(({item:e})=>{const t=B.useNostalgicDiva();return $(l.EuiTableRow,{isSelected:e.isCurrent,children:[o(l.EuiTableRowCellCheckbox,{children:o(l.EuiCheckbox,{id:e.id.toString(),checked:e.isSelected,onChange:e.toggleSelected})}),o(l.EuiTableRowCell,{textOnly:!1,children:o("img",{src:Nt[e.type],width:16,height:16,alt:e.type})}),o(l.EuiTableRowCell,{children:o(l.EuiLink,{href:e.url,target:"_blank",external:!0,onClick:()=>t.pause(),children:e.title})}),o(yn,{item:e})]},e.id)}),mn=O.observer(({playQueueStore:e})=>o(cr.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(hn,{item:t},t.id))})),vn=O.observer(({playQueueStore:e})=>$(l.EuiTable,{children:[o(dn,{playQueueStore:e}),o(mn,{playQueueStore:e})]}));function gn(e){return e!==null&&typeof e=="object"&&"title"in e&&typeof e.title=="string"}const bn=O.observer(({playQueueStore:e})=>o(l.EuiButton,{iconType:w.AddRegular,onClick:e.addSelectedItems,disabled:e.isEmpty||e.selectedItems.length===0,children:"Add to play queue"}));O.observer(({playQueueStore:e})=>{const[t,r]=v.useState(!1);return $(Me,{children:[t&&o(l.EuiFlyout,{type:"push",size:"s",onClose:()=>r(!1),children:o("div",{style:{blockSize:"100%"},children:o(l.EuiCodeBlock,{language:"json",overflowHeight:"100%",isCopyable:!0,isVirtualized:!0,children:JSON.stringify(e.localStorageState,void 0,2)})})}),o(l.EuiButton,{onClick:()=>r(i=>!i),iconType:w.WindowDevToolsRegular,children:"Developer tools"})]})});const $t=O.observer(({playQueueStore:e})=>{const{euiTheme:t}=l.useEuiTheme(),r=v.useCallback(async()=>{},[]),i=v.useCallback(async a=>{const s=B.findVideoService(a.url);if(s!==void 0){const d=s.extractVideoId(a.url);if(d!==void 0){const h=await(await fetch(`https://noembed.com/embed?url=${encodeURIComponent(a.url)}`)).json();await e.addItems([e.createItem({url:a.url,type:s.type,videoId:d,title:a.title||(gn(h)?h.title:d)})])}}},[e]);return $(Me,{children:[$(l.EuiFlexGroup,{alignItems:"center",gutterSize:"m",style:{position:"sticky",top:48,zIndex:998,background:t.colors.backgroundBasePlain},children:[o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{disabled:e.isEmpty||e.selectedItems.length===0,onClick:e.playSelectedItemsNext,children:"Play next"})}),o(l.EuiFlexItem,{grow:!1,children:o(bn,{playQueueStore:e})}),o(l.EuiFlexItem,{grow:!1,children:o(un,{disabled:!qr.mediaPlayer.enablePlaylists,onAddToPlaylist:r})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:w.DismissRegular,onClick:e.removeSelectedItems,disabled:e.isEmpty||e.selectedItems.length===0,children:"Remove"})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:w.DeleteRegular,onClick:e.clear,disabled:e.isEmpty,children:"Clear"})}),o(l.EuiFlexItem,{grow:!0}),$(l.EuiFlexItem,{grow:!1,children:[!1,o(Ct,{onSave:i})]})]}),o(l.EuiSpacer,{size:"l",style:{position:"sticky",top:88,zIndex:998,background:t.colors.backgroundBasePlain}}),e.isEmpty?o(l.EuiEmptyPrompt,{title:o("h2",{children:"We couldn't find any videos"}),body:o("p",{children:"Your video library doesn't contain any video content."}),actions:o(Ct,{onSave:i})}):o(vn,{playQueueStore:e})]})}),Ge=new dr({coerceTypes:!0});function Pn(e,t){let r;if(r=Ge.getSchema(t),r===void 0&&(Ge.addSchema(e,t),r=Ge.getSchema(t)),r===void 0||r.schema!==e)throw new Error(`Invalid schema. Expected: '${JSON.stringify(e)}', but got '${JSON.stringify(r?.schema)}'.`);return r}const Sn={type:"object",properties:{url:{type:"string"},type:{type:"string"},videoId:{type:"string"},title:{type:"string"}},required:["url","type","videoId","title"]},En={type:"object",properties:{version:{type:"string",nullable:!0},repeat:{type:"string",enum:Object.values(_),nullable:!0},shuffle:{type:"boolean",nullable:!0},items:{type:"array",nullable:!0,items:Sn},currentIndex:{type:"integer",nullable:!0}}};class Pe{constructor(t,r,i){this.observableStateProvider=t,this.playQueueStore=r,this.dto=i,this.id=Pe.nextId++,t.makeObservable(this,{isSelected:u.observable,isCurrent:u.computed,index:u.computed,isFirst:u.computed,isLast:u.computed,canMoveToTop:u.computed,canMoveToBottom:u.computed,canRemoveToTop:u.computed,canRemoveOthers:u.computed,unselect:u.action,toggleSelected:u.action.bound,play:u.action,remove:u.action.bound,playFirst:u.action.bound,playNext:u.action.bound,addToPlayQueue:u.action.bound,moveToTop:u.action.bound,moveToBottom:u.action.bound,removeToTop:u.action.bound,removeOthers:u.action.bound})}static nextId=1;id;isSelected=!1;static fromDto(t,r,i){return new Pe(t,r,i)}get url(){return this.dto.url}get type(){return this.dto.type}get videoId(){return this.dto.videoId}get title(){return this.dto.title}get isCurrent(){return this.playQueueStore.currentItem===this}get index(){return this.playQueueStore.items.indexOf(this)}get isFirst(){return this.index===0}get isLast(){return this.index===this.playQueueStore.items.length-1}get canMoveToTop(){return!this.isFirst}get canMoveToBottom(){return!this.isLast}get canRemoveToTop(){return!this.isFirst}get canRemoveOthers(){return this.playQueueStore.hasMultipleItems}clone(){return this.playQueueStore.createItem(this.dto)}unselect(){this.isSelected=!1}toggleSelected(){this.isSelected=!this.isSelected}play(){this.playQueueStore.setCurrentItem(this)}remove(){return this.playQueueStore.removeItems([this])}async playFirst(){await this.playQueueStore.playFirst([this.clone()])}async playNext(){await this.playQueueStore.playNext([this.clone()])}async addToPlayQueue(){await this.playQueueStore.addItems([this.clone()])}moveToTop(){this.playQueueStore.moveItem(this,0)}moveToBottom(){this.playQueueStore.moveItem(this,this.playQueueStore.items.length-1)}removeToTop(){return this.playQueueStore.removeItemsAbove(this)}removeOthers(){return this.playQueueStore.removeOtherItems(this)}}class jt{constructor(t){this.observableStateProvider=t,t.makeObservable(this,{interacted:u.observable,items:u.observable,currentId:u.observable,repeat:u.observable,shuffle:u.observable,localStorageState:u.computed.struct,isEmpty:u.computed,currentItem:u.computed,canPlay:u.computed,canPause:u.computed,hasMultipleItems:u.computed,currentIndex:u.computed,hasPreviousItem:u.computed,hasNextItem:u.computed,isLastItem:u.computed,selectedItems:u.computed,allItemsSelected:u.computed,selectedItemsOrAllItems:u.computed,setItems:u.action,interact:u.action,clear:u.action.bound,unselectAll:u.action,setCurrentItem:u.action,setNextItems:u.action,clearAndSetItems:u.action,playNext:u.action,playSelectedItemsNext:u.action.bound,addItems:u.action,addSelectedItems:u.action.bound,playFirst:u.action,moveItem:u.action,goToFirst:u.action,removeItems:u.action,removeSelectedItems:u.action.bound,removeOtherItems:u.action,removeItemsAbove:u.action,toggleRepeat:u.action.bound,toggleShuffle:u.action.bound,previous:u.action,next:u.action.bound})}interacted=!1;items=[];currentId;repeat=_.Off;shuffle=!1;createItem(t){return Pe.fromDto(this.observableStateProvider,this,{url:t.url,type:t.type,videoId:t.videoId,title:t.title})}get localStorageState(){return{version:"1.0",repeat:this.repeat,shuffle:this.shuffle,items:this.items.map(t=>t.dto),currentIndex:this.currentIndex}}set localStorageState(t){this.repeat=t.repeat??_.Off,this.shuffle=t.shuffle??!1,this.items=t.items?.map(r=>this.createItem(r))??[],this.currentIndex=t.currentIndex}validateLocalStorageState(t){return Pn(En,"PlayQueueDto")(t)}get isEmpty(){return this.items.length===0}get currentItem(){return this.items.find(t=>t.id===this.currentId)}get canPlay(){return this.currentItem!==void 0}get canPause(){return this.currentItem!==void 0}get hasMultipleItems(){return this.items.length>1}get currentIndex(){return this.currentId!==void 0?this.items.findIndex(t=>t.id===this.currentId):void 0}set currentIndex(t){this.currentId=t!==void 0?this.items.at(t)?.id:void 0}get hasPreviousItem(){return this.hasMultipleItems&&this.currentIndex!==void 0&&this.currentIndex>0}get hasNextItem(){return this.hasMultipleItems&&this.currentIndex!==void 0&&this.currentIndex<this.items.length-1}get isLastItem(){return this.currentIndex!==void 0&&this.currentIndex===this.items.length-1}get selectedItems(){return this.items.filter(t=>t.isSelected)}get allItemsSelected(){return this.selectedItems.length===this.items.length}set allItemsSelected(t){for(const r of this.items)r.isSelected=t}get selectedItemsOrAllItems(){return this.selectedItems.length>0?this.selectedItems:this.items}setItems(t){this.items=t}interact(){this.interacted=!0}clear(){this.interact(),this.currentIndex=void 0,this.items=[]}unselectAll(){for(const t of this.items)t.unselect()}setCurrentItem(t){this.interact(),this.currentId=t?.id}setNextItems(t){this.currentIndex!==void 0&&this.items.splice(this.currentIndex+1,0,...t)}clearAndSetItems(t){this.clear(),this.setCurrentItem(t[0]),this.setNextItems(t)}async playNext(t){if(this.isEmpty){this.clearAndSetItems(t);return}this.setNextItems(t)}async playSelectedItemsNext(){await this.playNext(this.selectedItemsOrAllItems.map(t=>t.clone())),this.unselectAll()}async addItems(t){if(this.isEmpty){this.clearAndSetItems(t);return}this.items.push(...t)}async addSelectedItems(){await this.addItems(this.selectedItemsOrAllItems.map(t=>t.clone())),this.unselectAll()}async playFirst(t){if(this.isEmpty){this.clearAndSetItems(t);return}const{currentIndex:r}=this;r!==void 0&&(this.interact(),this.items.splice(r,0,...t),this.currentIndex=r)}moveItem(t,r){const i=this.items.splice(this.items.indexOf(t),1)[0];this.items.splice(r,0,i)}async goToFirst(){this.currentIndex!==void 0&&(this.currentIndex=0)}async removeItems(t){const{currentItem:r}=this;ht.pull(this.items,...t.filter(s=>s!==r));const{currentIndex:i,isLastItem:a}=this;ht.pull(this.items,t.find(s=>s===r)),this.currentItem!==r&&(this.interact(),a?await this.goToFirst():this.currentIndex=i)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(t){const r=t.id;return this.removeItems(this.items.filter(i=>i.id!==r))}async removeItemsAbove(t){const r=this.items.indexOf(t);return this.removeItems(this.items.filter((i,a)=>a<r))}toggleRepeat(){switch(this.repeat){case _.Off:this.repeat=_.All;break;case _.All:this.repeat=_.One;break;case _.One:this.repeat=_.Off;break}}toggleShuffle(){this.shuffle=!this.shuffle}async previous(){this.currentIndex!==void 0&&this.hasPreviousItem&&(this.interact(),this.currentIndex--)}async next(){this.currentIndex!==void 0&&this.hasNextItem&&(this.interact(),this.currentIndex++)}}const wn=({children:e})=>{const[t]=v.useState(()=>new jt(new Ke)),r=B.useNostalgicDiva();return v.useEffect(()=>u.reaction(()=>t.currentItem,async(i,a)=>{i===void 0||a===void 0||i.type===a.type&&i.videoId===a.videoId&&await r.setCurrentTime(0)}),[t,r]),o(Xe.Provider,{value:t,children:e})},Tn=({breadcrumbs:e,tabs:t,...r})=>{const i=fr.useRouter();return o(l.EuiPageTemplate.Header,{...r,breadcrumbs:e?.map(({linkProps:a,...s})=>({...s,href:a===void 0?void 0:i.buildLocation(a).href,onClick:a===void 0?void 0:async d=>{d.preventDefault(),await i.navigate(a)}})),tabs:t?.map(({linkProps:a,...s})=>({...s,href:a===void 0?void 0:i.buildLocation(a).href,onClick:a===void 0?void 0:async d=>{d.preventDefault(),await i.navigate(a)}}))})},In=()=>{const e=Ze();return $(Me,{children:[o(Tn,{pageTitle:"Play queue",rightSideItems:[]}),o(l.EuiPageTemplate.Section,{children:o($t,{playQueueStore:e})})]})},Cn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:`Shuffle: ${e.shuffle?"On":"Off"}`,"aria-label":`Shuffle: ${e.shuffle?"On":"Off"}`,iconType:e.shuffle?w.ArrowShuffleFilled:w.ArrowShuffleOffFilled,size:"s",iconSize:"l",onClick:e.toggleShuffle,disabled:!e.canToggleShuffle})),Rn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Previous","aria-label":"Previous",iconType:w.PreviousFilled,size:"s",iconSize:"l",onClick:e.previous,disabled:!e.canPrevious})),xn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Skip back 10 seconds","aria-label":"Skip back 10 seconds",iconType:w.SkipBack10Regular,size:"s",iconSize:"l",onClick:e.skipBack10,disabled:!e.canSkipBack10})),On=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Pause","aria-label":"Pause",iconType:w.PauseFilled,size:"s",iconSize:"l",onClick:e.pause,disabled:!e.canPause})),kn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Play","aria-label":"Play",iconType:w.PlayFilled,size:"s",iconSize:"l",onClick:e.play,disabled:!e.canPlay})),_n=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Skip forward 30 seconds","aria-label":"Skip forward 30 seconds",iconType:w.SkipForward30Regular,size:"s",iconSize:"l",onClick:e.skipForward30,disabled:!e.canSkipForward30})),An=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Next","aria-label":"Next",iconType:w.NextFilled,size:"s",iconSize:"l",onClick:e.next,disabled:!e.canNext})),Fn={[_.Off]:w.ArrowRepeatAllOffFilled,[_.All]:w.ArrowRepeatAllFilled,[_.One]:w.ArrowRepeat1Filled},Mn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:`Repeat: ${e.repeat===_.All?"All":e.repeat===_.One?"One":"Off"}`,"aria-label":`Repeat: ${e.repeat===_.All?"All":e.repeat===_.One?"One":"Off"}`,iconType:Fn[e.repeat],size:"s",iconSize:"l",onClick:e.toggleRepeat,disabled:!e.canToggleRepeat})),Dn=O.observer(({bottomBarStore:e})=>$(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(Cn,{bottomBarStore:e}),o(Rn,{bottomBarStore:e}),o(xn,{bottomBarStore:e}),e.playing?o(On,{bottomBarStore:e}):o(kn,{bottomBarStore:e}),o(_n,{bottomBarStore:e}),o(An,{bottomBarStore:e}),o(Mn,{bottomBarStore:e})]})),Nn=v.memo(({item:e,closePopover:t})=>{const r=B.useNostalgicDiva(),i=v.useMemo(()=>[{id:0,items:[{name:"Open in new tab",icon:o(l.EuiIcon,{type:w.OpenRegular}),onClick:async()=>{t(),await r.pause(),window.open(e.dto.url,"_blank")}},{name:"Copy link address",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await navigator.clipboard.writeText(e.dto.url)}},{name:"Copy link text",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{t(),await navigator.clipboard.writeText(e.dto.title)}}]}],[t,r,e]);return o(l.EuiContextMenu,{initialPanelId:0,panels:i})}),$n=v.memo(({item:e})=>{const[t,r]=v.useState(!1),i=v.useCallback(()=>r(!t),[t]),a=v.useCallback(()=>r(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonEmpty,{iconType:Nt[e.type],size:"s",onClick:i,children:e.title}),isOpen:t,closePopover:a,panelPaddingSize:"none",anchorPosition:"upLeft",children:o(Nn,{item:e,closePopover:a})})}),jn=O.observer(({bottomBarStore:e})=>o(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexStart",alignItems:"center",children:e.currentItem&&o($n,{item:e.currentItem})})),qn=O.observer(({bottomBarStore:e})=>o(l.EuiButtonIcon,{title:"Mute","aria-label":"Mute",iconType:w.Speaker2Regular,size:"s",iconSize:"l",disabled:!e.controller.supports("setMuted")})),zn=O.observer(({bottomBarStore:e,button:t,isOpen:r,closePopover:i})=>{const[a,s]=v.useState("0"),d=B.useNostalgicDiva();v.useLayoutEffect(()=>{r&&d.getVolume().then(h=>{h!==void 0&&s(Math.floor(h*100).toString())})},[r,d]);const y=v.useCallback(async h=>{s(h.currentTarget.value),await d.setVolume(Number(h.currentTarget.value)/100)},[d]);return o(l.EuiPopover,{button:t,isOpen:r,closePopover:i,anchorPosition:"upRight",children:o(l.EuiFormRow,{children:$(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(qn,{bottomBarStore:e}),o(l.EuiRange,{min:0,max:100,step:1,value:a,onChange:y,css:{blockSize:32},disabled:!e.controller.supports("setVolume")})]})})})}),Ln=O.observer(({bottomBarStore:e})=>{const[t,r]=v.useState(!1),i=()=>r(!t);return o(zn,{bottomBarStore:e,button:o(l.EuiButtonIcon,{title:"Volume","aria-label":"Volume",iconType:w.Speaker2Regular,size:"s",iconSize:"l",onClick:i,disabled:!e.controller.supports("getVolume")}),isOpen:t,closePopover:()=>r(!1)})}),Qn=({onClickPlayQueueButton:e})=>o(l.EuiButtonIcon,{title:"Play queue","aria-label":"Play queue",iconType:w.NavigationPlayRegular,size:"s",iconSize:"l",onClick:e}),Un=O.observer(({bottomBarStore:e,closePopover:t})=>{const r=B.useNostalgicDiva(),i=v.useCallback(async()=>{await e.skipBack10(),t()},[e,t]),a=v.useCallback(async()=>{await e.skipForward30(),t()},[e,t]),s=v.useCallback(async T=>{await r.setPlaybackRate(T),t()},[r,t]),d=v.useCallback(async()=>{e.currentItem!==void 0&&await e.playQueueStore.removeItems([e.currentItem]),t()},[e,t]),[y,h]=v.useState(),b=v.useCallback(async()=>{await e.controller.getPlaybackRate().then(T=>h(T))},[e]),S=v.useMemo(()=>[{id:0,items:[{name:"Speed",icon:o(l.EuiIcon,{type:w.TopSpeedRegular}),panel:1,onClick:b,disabled:!e.controller.supports("getPlaybackRate")},{name:"Skip back 10 seconds",icon:o(l.EuiIcon,{type:w.SkipBack10Regular}),onClick:i,disabled:!e.canSkipBack10},{name:"Skip forward 30 seconds",icon:o(l.EuiIcon,{type:w.SkipForward30Regular}),onClick:a,disabled:!e.canSkipForward30},{isSeparator:!0},{name:"Remove from play queue",icon:o(l.EuiIcon,{type:w.DismissRegular}),onClick:d,disabled:e.playQueueStore.isEmpty}]},{id:1,title:"Speed",items:[.25,.5,.75,1,1.25,1.5,1.75,2].map(T=>({name:T.toString(),onClick:()=>s(T),icon:T===y?"check":"empty",disabled:!e.controller.supports("setPlaybackRate")}))}],[e,b,i,a,d,s,y]);return o(l.EuiContextMenu,{initialPanelId:0,panels:S})}),Vn=v.memo(({bottomBarStore:e,button:t,isOpen:r,closePopover:i})=>o(l.EuiPopover,{button:t,isOpen:r,closePopover:i,panelPaddingSize:"none",anchorPosition:"upRight",children:o(Un,{bottomBarStore:e,closePopover:i})})),Yn=v.memo(({bottomBarStore:e})=>{const[t,r]=v.useState(!1),i=()=>r(!t);return o(Vn,{bottomBarStore:e,button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:w.MoreHorizontalFilled,size:"s",iconSize:"l",onClick:i}),isOpen:t,closePopover:()=>r(!1)})}),Bn=v.memo(({bottomBarStore:e,onClickPlayQueueButton:t})=>$(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexEnd",alignItems:"center",children:[o(Ln,{bottomBarStore:e}),t&&o(Qn,{onClickPlayQueueButton:t}),o(Yn,{bottomBarStore:e})]})),Gn=O.observer(({bottomBarStore:e})=>{const t=B.useNostalgicDiva(),r=v.useCallback(s=>{const d=Number(s.currentTarget.value)/100;e.playerStore.setPercent(d)},[e]),i=v.useCallback(s=>{s.button===0&&e.playerStore.setSeeking(!0)},[e]),a=v.useCallback(async s=>{if(s.button===0){const d=Number(s.currentTarget.value)/100;e.playerStore.setSeeking(!1);const y=await t.getDuration();y!==void 0&&await t.setCurrentTime(y*d)}},[e,t]);return o(l.EuiRange,{min:0,max:100,step:1e-7,value:e.playerStore.percent*100,onChange:r,onMouseDown:i,onMouseUp:a,fullWidth:!0,showRange:!0,css:{blockSize:32},disabled:e.playQueueStore.isEmpty})}),Hn=O.observer(({bottomBarStore:e,onClickPlayQueueButton:t})=>o(l.EuiBottomBar,{paddingSize:"s",children:$(l.EuiFlexGroup,{direction:"column",gutterSize:"none",children:[o(l.EuiFlexItem,{children:o(Gn,{bottomBarStore:e})}),o(l.EuiFlexItem,{children:$(l.EuiFlexGroup,{responsive:!1,children:[o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(jn,{bottomBarStore:e})}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Dn,{bottomBarStore:e})}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Bn,{bottomBarStore:e,onClickPlayQueueButton:t})})]})})]})})),Wn=e=>o(B.NostalgicDivaProvider,{...e}),We={width:400,height:225},Jn=O.observer(({children:e})=>{const t=Ze();return $(l.EuiPageTemplate,{panelled:!0,style:{minBlockSize:`max(460px, 100vh - ${Je}px)`},children:[e,!t.isEmpty&&o(l.EuiSpacer,{style:{blockSize:We.height}})]})}),Kn=O.observer(({miniPlayerStore:e})=>{const t=v.useMemo(()=>({onLoaded:e.onLoaded,onPlay:e.onPlay,onPause:e.onPause,onEnded:e.onEnded,onTimeUpdate:e.onTimeUpdate}),[e]);return o("div",{css:{position:"fixed",right:0,bottom:Je,width:We.width,height:We.height,zIndex:998,backgroundColor:"rgb(39, 39, 39)",display:"flex",flexDirection:"column"},children:o("div",{css:{flexGrow:1,backgroundColor:"black"},children:e.currentItem&&o(B.NostalgicDiva,{src:e.currentItem.url,options:t,onControllerChange:e.onControllerChange})})})});class qt{controller=B.nullPlayerController;playing=!1;percent=0;seeking=!1;constructor(t){t.makeObservable(this,{controller:u.observable,playing:u.observable,percent:u.observable,seeking:u.observable,setPlaying:u.action,setPercent:u.action,setSeeking:u.action,onControllerChange:u.action.bound,onPlay:u.action.bound,onPause:u.action.bound,onEnded:u.action.bound,onTimeUpdate:u.action.bound})}setPlaying(t){this.playing=t}setPercent(t){this.percent=t}setSeeking(t){this.seeking=t}onControllerChange(t){this.controller=t}onPlay(){this.playing=!0}onPause(){this.playing=!1}onEnded(){this.playing=!1}onTimeUpdate({percent:t}){t!==void 0&&(this.seeking||(this.percent=t))}}const zt=v.createContext(void 0),Xn=({children:e})=>{const[t]=v.useState(()=>new qt(new Ke));return o(zt.Provider,{value:t,children:e})},Zn=()=>v.useContext(zt);class ei{constructor(t,r,i){this.playerStore=r,this.playQueueStore=i,t.makeObservable(this,{controller:u.computed,playing:u.computed,currentItem:u.computed,repeat:u.computed,shuffle:u.computed,canToggleRepeat:u.computed,canToggleShuffle:u.computed,canPlay:u.computed,canPause:u.computed,canPrevious:u.computed,canNext:u.computed,canSkipBack10:u.computed,canSkipForward30:u.computed,toggleRepeat:u.action.bound,toggleShuffle:u.action.bound,play:u.action.bound,pause:u.action.bound,previous:u.action.bound,next:u.action.bound,skipBack10:u.action.bound,skipForward30:u.action.bound})}get controller(){return this.playerStore.controller}get playing(){return this.playerStore.playing}get currentItem(){return this.playQueueStore.currentItem}get repeat(){return this.playQueueStore.repeat}get shuffle(){return this.playQueueStore.shuffle}get canToggleRepeat(){return!0}get canToggleShuffle(){return!1}get canPlay(){return this.playQueueStore.canPlay&&this.controller.supports("play")}get canPause(){return this.playQueueStore.canPause&&this.controller.supports("pause")}get canPrevious(){return!this.playQueueStore.isEmpty}get canNext(){return this.playQueueStore.hasNextItem}get canSkipBack10(){return!this.playQueueStore.isEmpty&&this.controller.supports("setCurrentTime")}get canSkipForward30(){return!this.playQueueStore.isEmpty&&this.controller.supports("setCurrentTime")}toggleRepeat(){this.playQueueStore.toggleRepeat()}toggleShuffle(){this.playQueueStore.toggleShuffle()}play(){return this.controller.play()}pause(){return this.controller.pause()}async previous(){if(this.playQueueStore.hasPreviousItem){const t=await this.controller.getCurrentTime();t===void 0||t<5?await this.playQueueStore.previous():await this.controller.setCurrentTime(0)}else await this.controller.setCurrentTime(0)}next(){return this.playQueueStore.next()}async skipBack10(){const t=await this.controller.getCurrentTime();t!==void 0&&await this.controller.setCurrentTime(t-10)}async skipForward30(){const t=await this.controller.getCurrentTime();t!==void 0&&await this.controller.setCurrentTime(t+30)}}class ti{constructor(t,r,i){this.playerStore=r,this.playQueueStore=i,t.makeObservable(this,{controller:u.computed,currentItem:u.computed,onLoaded:u.action.bound,onPlay:u.action.bound,onPause:u.action.bound,onEnded:u.action.bound,onTimeUpdate:u.action.bound,onControllerChange:u.action.bound})}get controller(){return this.playerStore.controller}get currentItem(){return this.playQueueStore.currentItem}async onLoaded(){this.playQueueStore.interacted&&await this.controller.play()}onPlay(){this.playerStore.onPlay()}onPause(){this.playerStore.onPause()}async onEnded(){switch(this.playQueueStore.repeat){case _.One:await this.controller.setCurrentTime(0);break;case _.Off:case _.All:if(this.playQueueStore.isLastItem)switch(this.playQueueStore.repeat){case _.Off:this.playerStore.onEnded();break;case _.All:this.playQueueStore.hasMultipleItems?await this.playQueueStore.goToFirst():await this.controller.setCurrentTime(0);break}else await this.playQueueStore.next();break}}onTimeUpdate(t){this.playerStore.onTimeUpdate(t)}onControllerChange(t){this.playerStore.onControllerChange(t)}}exports.BottomBar=Hn;exports.BottomBarStore=ei;exports.HydrangeanDivaProvider=Wn;exports.MediaPlayerLayout=Jn;exports.MiniPlayer=Kn;exports.MiniPlayerStore=ti;exports.MobXObservableStateProvider=Ke;exports.ObservableStateProvider=yr;exports.PlayQueue=$t;exports.PlayQueueItemStore=Pe;exports.PlayQueuePage=In;exports.PlayQueueStore=jt;exports.PlayQueueStoreContext=Xe;exports.PlayQueueStoreProvider=wn;exports.PlayerStore=qt;exports.PlayerStoreProvider=Xn;exports.RepeatMode=_;exports.bottomBarHeight=Je;exports.usePlayQueueStore=Ze;exports.usePlayerStore=Zn;
15
15
  //# sourceMappingURL=index.cjs.js.map