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

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.
Files changed (37) hide show
  1. package/dist/features/index.d.ts +5 -0
  2. package/dist/features/media-player/components/HydrangeanDivaProvider.d.ts +7 -0
  3. package/dist/features/media-player/components/index.d.ts +1 -0
  4. package/dist/features/media-player/index.d.ts +1 -0
  5. package/dist/features/media-player.play-queue/components/DeveloperToolsButton.d.ts +9 -0
  6. package/dist/features/media-player.play-queue/components/index.d.ts +0 -1
  7. package/dist/features/media-player.play-queue/index.d.ts +0 -1
  8. package/dist/features/media-player.play-queue/stores/PlayQueueItemStore.d.ts +4 -3
  9. package/dist/features/media-player.play-queue/stores/PlayQueueStore.d.ts +6 -1
  10. package/dist/features/media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore.d.ts +2 -1
  11. package/dist/features/media-player.play-queue.abstractions/interfaces/IPlayQueueStore.d.ts +10 -2
  12. package/dist/features/media-player.player/components/{PlayerStoreContext.d.ts → PlayerStoreProvider.d.ts} +0 -2
  13. package/dist/features/media-player.player/components/bottom-bar/BottomBar.d.ts +1 -3
  14. package/dist/features/media-player.player/components/bottom-bar/BottomBarStoreProvider.d.ts +6 -0
  15. package/dist/features/media-player.player/components/bottom-bar/index.d.ts +1 -0
  16. package/dist/features/media-player.player/components/index.d.ts +2 -4
  17. package/dist/features/media-player.player/components/mini-player/MiniPlayer.d.ts +4 -0
  18. package/dist/features/media-player.player/components/mini-player/MiniPlayerStoreProvider.d.ts +6 -0
  19. package/dist/features/media-player.player/components/mini-player/index.d.ts +1 -0
  20. package/dist/features/media-player.player/contexts/BottomBarStoreContext.d.ts +3 -0
  21. package/dist/features/media-player.player/contexts/MiniPlayerStoreContext.d.ts +3 -0
  22. package/dist/features/media-player.player/contexts/PlayerStoreContext.d.ts +3 -0
  23. package/dist/features/media-player.player/index.d.ts +0 -1
  24. package/dist/features/media-player.player/interfaces/IBottomBarStore.d.ts +7 -4
  25. package/dist/features/media-player.player/stores/BottomBarStore.d.ts +9 -3
  26. package/dist/features/media-player.player/stores/MiniPlayerStore.d.ts +3 -3
  27. package/dist/features/media-player.playlists/stores/PlaylistStore.d.ts +3 -2
  28. package/dist/index.cjs.js +8 -8
  29. package/dist/index.cjs.js.map +1 -1
  30. package/dist/index.d.ts +1 -4
  31. package/dist/index.es.js +2174 -2099
  32. package/dist/index.es.js.map +1 -1
  33. package/package.json +1 -1
  34. package/dist/features/media-player.play-queue/stores/index.d.ts +0 -2
  35. package/dist/features/media-player.player/components/HydrangeanDivaProvider.d.ts +0 -4
  36. package/dist/features/media-player.player/components/MiniPlayer.d.ts +0 -9
  37. package/dist/features/media-player.player/stores/index.d.ts +0 -3
package/dist/index.cjs.js CHANGED
@@ -1,15 +1,15 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("mobx"),v=require("react"),ur=require("@emotion/cache"),l=require("@elastic/eui"),w=require("@fluentui/react-icons"),B=require("@aigamo/nostalgic-diva"),O=require("mobx-react-lite"),cr=require("react-sortablejs"),dr=require("ajv"),ht=require("lodash-es"),fr=require("@tanstack/react-router");function pr(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const K=pr(v),Je=81;class Ke{makeObservable(t,r){return u.makeObservable(t,r)}}class yr{makeObservable(t,r){return t}}const Xe=v.createContext(void 0),Ze=()=>v.useContext(Xe);var _=(e=>(e.Off="Off",e.All="All",e.One="One",e))(_||{}),_e={exports:{}},he={};var mt;function hr(){if(mt)return he;mt=1;var e=v,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function d(y,h,b){var S,T={},z=null,j=null;b!==void 0&&(z=""+b),h.key!==void 0&&(z=""+h.key),h.ref!==void 0&&(j=h.ref);for(S in h)i.call(h,S)&&!s.hasOwnProperty(S)&&(T[S]=h[S]);if(y&&y.defaultProps)for(S in h=y.defaultProps,h)T[S]===void 0&&(T[S]=h[S]);return{$$typeof:t,type:y,key:z,ref:j,props:T,_owner:a.current}}return he.Fragment=r,he.jsx=d,he.jsxs=d,he}var me={};var vt;function mr(){return vt||(vt=1,process.env.NODE_ENV!=="production"&&(function(){var e=v,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),y=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),S=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),j=Symbol.for("react.offscreen"),M=Symbol.iterator,V="@@iterator";function W(n){if(n===null||typeof n!="object")return null;var c=M&&n[M]||n[V];return typeof c=="function"?c:null}var L=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function k(n){{for(var c=arguments.length,p=new Array(c>1?c-1:0),g=1;g<c;g++)p[g-1]=arguments[g];D("error",n,p)}}function D(n,c,p){{var g=L.ReactDebugCurrentFrame,I=g.getStackAddendum();I!==""&&(c+="%s",p=p.concat([I]));var x=p.map(function(E){return String(E)});x.unshift("Warning: "+c),Function.prototype.apply.call(console[n],console,x)}}var A=!1,f=!1,Q=!1,se=!1,Se=!1,Ee;Ee=Symbol.for("react.module.reference");function De(n){return!!(typeof n=="string"||typeof n=="function"||n===i||n===s||Se||n===a||n===b||n===S||se||n===j||A||f||Q||typeof n=="object"&&n!==null&&(n.$$typeof===z||n.$$typeof===T||n.$$typeof===d||n.$$typeof===y||n.$$typeof===h||n.$$typeof===Ee||n.getModuleId!==void 0))}function Ne(n,c,p){var g=n.displayName;if(g)return g;var I=c.displayName||c.name||"";return I!==""?p+"("+I+")":p}function we(n){return n.displayName||"Context"}function G(n){if(n==null)return null;if(typeof n.tag=="number"&&k("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case i:return"Fragment";case r:return"Portal";case s:return"Profiler";case a:return"StrictMode";case b:return"Suspense";case S:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case y:var c=n;return we(c)+".Consumer";case d:var p=n;return we(p._context)+".Provider";case h:return Ne(n,n.render,"ForwardRef");case T:var g=n.displayName||null;return g!==null?g:G(n.type)||"Memo";case z:{var I=n,x=I._payload,E=I._init;try{return G(E(x))}catch{return null}}}return null}var J=Object.assign,X=0,Te,Ie,le,Ce,ue,Re,xe;function Oe(){}Oe.__reactDisabledLog=!0;function $e(){{if(X===0){Te=console.log,Ie=console.info,le=console.warn,Ce=console.error,ue=console.group,Re=console.groupCollapsed,xe=console.groupEnd;var n={configurable:!0,enumerable:!0,value:Oe,writable:!0};Object.defineProperties(console,{info:n,log:n,warn:n,error:n,group:n,groupCollapsed:n,groupEnd:n})}X++}}function je(){{if(X--,X===0){var n={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:J({},n,{value:Te}),info:J({},n,{value:Ie}),warn:J({},n,{value:le}),error:J({},n,{value:Ce}),group:J({},n,{value:ue}),groupCollapsed:J({},n,{value:Re}),groupEnd:J({},n,{value:xe})})}X<0&&k("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ce=L.ReactCurrentDispatcher,de;function re(n,c,p){{if(de===void 0)try{throw Error()}catch(I){var g=I.stack.trim().match(/\n( *(at )?)/);de=g&&g[1]||""}return`
2
- `+de+n}}var fe=!1,ne;{var qe=typeof WeakMap=="function"?WeakMap:Map;ne=new qe}function m(n,c){if(!n||fe)return"";{var p=ne.get(n);if(p!==void 0)return p}var g;fe=!0;var I=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var x;x=ce.current,ce.current=null,$e();try{if(c){var E=function(){throw Error()};if(Object.defineProperty(E.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(E,[])}catch(U){g=U}Reflect.construct(n,[],E)}else{try{E.call()}catch(U){g=U}n.call(E.prototype)}}else{try{throw Error()}catch(U){g=U}n()}}catch(U){if(U&&g&&typeof U.stack=="string"){for(var P=U.stack.split(`
3
- `),q=g.stack.split(`
4
- `),F=P.length-1,N=q.length-1;F>=1&&N>=0&&P[F]!==q[N];)N--;for(;F>=1&&N>=0;F--,N--)if(P[F]!==q[N]){if(F!==1||N!==1)do if(F--,N--,N<0||P[F]!==q[N]){var Y=`
5
- `+P[F].replace(" at new "," at ");return n.displayName&&Y.includes("<anonymous>")&&(Y=Y.replace("<anonymous>",n.displayName)),typeof n=="function"&&ne.set(n,Y),Y}while(F>=1&&N>=0);break}}}finally{fe=!1,ce.current=x,je(),Error.prepareStackTrace=I}var oe=n?n.displayName||n.name:"",ee=oe?re(oe):"";return typeof n=="function"&&ne.set(n,ee),ee}function pe(n,c,p){return m(n,!1)}function ie(n){var c=n.prototype;return!!(c&&c.isReactComponent)}function Z(n,c,p){if(n==null)return"";if(typeof n=="function")return m(n,ie(n));if(typeof n=="string")return re(n);switch(n){case b:return re("Suspense");case S:return re("SuspenseList")}if(typeof n=="object")switch(n.$$typeof){case h:return pe(n.render);case T:return Z(n.type,c,p);case z:{var g=n,I=g._payload,x=g._init;try{return Z(x(I),c,p)}catch{}}}return""}var ye=Object.prototype.hasOwnProperty,tt={},rt=L.ReactDebugCurrentFrame;function ke(n){if(n){var c=n._owner,p=Z(n.type,n._source,c?c.type:null);rt.setExtraStackFrame(p)}else rt.setExtraStackFrame(null)}function Lt(n,c,p,g,I){{var x=Function.call.bind(ye);for(var E in n)if(x(n,E)){var P=void 0;try{if(typeof n[E]!="function"){var q=Error((g||"React class")+": "+p+" type `"+E+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof n[E]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw q.name="Invariant Violation",q}P=n[E](c,E,g,p,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(F){P=F}P&&!(P instanceof Error)&&(ke(I),k("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",g||"React class",p,E,typeof P),ke(null)),P instanceof Error&&!(P.message in tt)&&(tt[P.message]=!0,ke(I),k("Failed %s type: %s",p,P.message),ke(null))}}}var Qt=Array.isArray;function ze(n){return Qt(n)}function Ut(n){{var c=typeof Symbol=="function"&&Symbol.toStringTag,p=c&&n[Symbol.toStringTag]||n.constructor.name||"Object";return p}}function Vt(n){try{return nt(n),!1}catch{return!0}}function nt(n){return""+n}function it(n){if(Vt(n))return k("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ut(n)),nt(n)}var at=L.ReactCurrentOwner,Yt={key:!0,ref:!0,__self:!0,__source:!0},ot,st;function Bt(n){if(ye.call(n,"ref")){var c=Object.getOwnPropertyDescriptor(n,"ref").get;if(c&&c.isReactWarning)return!1}return n.ref!==void 0}function Gt(n){if(ye.call(n,"key")){var c=Object.getOwnPropertyDescriptor(n,"key").get;if(c&&c.isReactWarning)return!1}return n.key!==void 0}function Ht(n,c){typeof n.ref=="string"&&at.current}function Wt(n,c){{var p=function(){ot||(ot=!0,k("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",c))};p.isReactWarning=!0,Object.defineProperty(n,"key",{get:p,configurable:!0})}}function Jt(n,c){{var p=function(){st||(st=!0,k("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",c))};p.isReactWarning=!0,Object.defineProperty(n,"ref",{get:p,configurable:!0})}}var Kt=function(n,c,p,g,I,x,E){var P={$$typeof:t,type:n,key:c,ref:p,props:E,_owner:x};return P._store={},Object.defineProperty(P._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(P,"_self",{configurable:!1,enumerable:!1,writable:!1,value:g}),Object.defineProperty(P,"_source",{configurable:!1,enumerable:!1,writable:!1,value:I}),Object.freeze&&(Object.freeze(P.props),Object.freeze(P)),P};function Xt(n,c,p,g,I){{var x,E={},P=null,q=null;p!==void 0&&(it(p),P=""+p),Gt(c)&&(it(c.key),P=""+c.key),Bt(c)&&(q=c.ref,Ht(c,I));for(x in c)ye.call(c,x)&&!Yt.hasOwnProperty(x)&&(E[x]=c[x]);if(n&&n.defaultProps){var F=n.defaultProps;for(x in F)E[x]===void 0&&(E[x]=F[x])}if(P||q){var N=typeof n=="function"?n.displayName||n.name||"Unknown":n;P&&Wt(E,N),q&&Jt(E,N)}return Kt(n,P,q,I,g,at.current,E)}}var Le=L.ReactCurrentOwner,lt=L.ReactDebugCurrentFrame;function ae(n){if(n){var c=n._owner,p=Z(n.type,n._source,c?c.type:null);lt.setExtraStackFrame(p)}else lt.setExtraStackFrame(null)}var Qe;Qe=!1;function Ue(n){return typeof n=="object"&&n!==null&&n.$$typeof===t}function ut(){{if(Le.current){var n=G(Le.current.type);if(n)return`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("mobx"),h=require("react"),ur=require("@emotion/cache"),dr=require("ajv"),ht=require("lodash-es"),Y=require("@aigamo/nostalgic-diva"),c=require("@elastic/eui"),w=require("@fluentui/react-icons"),O=require("mobx-react-lite"),fr=require("react-sortablejs"),pr=require("@tanstack/react-router");function mr(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const K=mr(h),Xe=81;class Pe{makeObservable(e,r){return l.makeObservable(e,r)}}class hr{makeObservable(e,r){return e}}var Fe={exports:{}},he={};var yt;function yr(){if(yt)return he;yt=1;var t=h,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function d(m,y,g){var E,I={},z=null,j=null;g!==void 0&&(z=""+g),y.key!==void 0&&(z=""+y.key),y.ref!==void 0&&(j=y.ref);for(E in y)i.call(y,E)&&!s.hasOwnProperty(E)&&(I[E]=y[E]);if(m&&m.defaultProps)for(E in y=m.defaultProps,y)I[E]===void 0&&(I[E]=y[E]);return{$$typeof:e,type:m,key:z,ref:j,props:I,_owner:a.current}}return he.Fragment=r,he.jsx=d,he.jsxs=d,he}var ye={};var vt;function vr(){return vt||(vt=1,process.env.NODE_ENV!=="production"&&(function(){var t=h,e=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),m=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),E=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),j=Symbol.for("react.offscreen"),M=Symbol.iterator,U="@@iterator";function W(n){if(n===null||typeof n!="object")return null;var u=M&&n[M]||n[U];return typeof u=="function"?u:null}var L=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function k(n){{for(var u=arguments.length,p=new Array(u>1?u-1:0),b=1;b<u;b++)p[b-1]=arguments[b];D("error",n,p)}}function D(n,u,p){{var b=L.ReactDebugCurrentFrame,C=b.getStackAddendum();C!==""&&(u+="%s",p=p.concat([C]));var x=p.map(function(S){return String(S)});x.unshift("Warning: "+u),Function.prototype.apply.call(console[n],console,x)}}var A=!1,f=!1,Q=!1,se=!1,we=!1,Ie;Ie=Symbol.for("react.module.reference");function $e(n){return!!(typeof n=="string"||typeof n=="function"||n===i||n===s||we||n===a||n===g||n===E||se||n===j||A||f||Q||typeof n=="object"&&n!==null&&(n.$$typeof===z||n.$$typeof===I||n.$$typeof===d||n.$$typeof===m||n.$$typeof===y||n.$$typeof===Ie||n.getModuleId!==void 0))}function je(n,u,p){var b=n.displayName;if(b)return b;var C=u.displayName||u.name||"";return C!==""?p+"("+C+")":p}function Ce(n){return n.displayName||"Context"}function G(n){if(n==null)return null;if(typeof n.tag=="number"&&k("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case i:return"Fragment";case r:return"Portal";case s:return"Profiler";case a:return"StrictMode";case g:return"Suspense";case E:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case m:var u=n;return Ce(u)+".Consumer";case d:var p=n;return Ce(p._context)+".Provider";case y:return je(n,n.render,"ForwardRef");case I:var b=n.displayName||null;return b!==null?b:G(n.type)||"Memo";case z:{var C=n,x=C._payload,S=C._init;try{return G(S(x))}catch{return null}}}return null}var J=Object.assign,X=0,Te,Re,le,xe,ce,Oe,ke;function _e(){}_e.__reactDisabledLog=!0;function qe(){{if(X===0){Te=console.log,Re=console.info,le=console.warn,xe=console.error,ce=console.group,Oe=console.groupCollapsed,ke=console.groupEnd;var n={configurable:!0,enumerable:!0,value:_e,writable:!0};Object.defineProperties(console,{info:n,log:n,warn:n,error:n,group:n,groupCollapsed:n,groupEnd:n})}X++}}function ze(){{if(X--,X===0){var n={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:J({},n,{value:Te}),info:J({},n,{value:Re}),warn:J({},n,{value:le}),error:J({},n,{value:xe}),group:J({},n,{value:ce}),groupCollapsed:J({},n,{value:Oe}),groupEnd:J({},n,{value:ke})})}X<0&&k("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ue=L.ReactCurrentDispatcher,de;function re(n,u,p){{if(de===void 0)try{throw Error()}catch(C){var b=C.stack.trim().match(/\n( *(at )?)/);de=b&&b[1]||""}return`
2
+ `+de+n}}var fe=!1,ne;{var Le=typeof WeakMap=="function"?WeakMap:Map;ne=new Le}function v(n,u){if(!n||fe)return"";{var p=ne.get(n);if(p!==void 0)return p}var b;fe=!0;var C=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var x;x=ue.current,ue.current=null,qe();try{if(u){var S=function(){throw Error()};if(Object.defineProperty(S.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(S,[])}catch(B){b=B}Reflect.construct(n,[],S)}else{try{S.call()}catch(B){b=B}n.call(S.prototype)}}else{try{throw Error()}catch(B){b=B}n()}}catch(B){if(B&&b&&typeof B.stack=="string"){for(var P=B.stack.split(`
3
+ `),q=b.stack.split(`
4
+ `),F=P.length-1,N=q.length-1;F>=1&&N>=0&&P[F]!==q[N];)N--;for(;F>=1&&N>=0;F--,N--)if(P[F]!==q[N]){if(F!==1||N!==1)do if(F--,N--,N<0||P[F]!==q[N]){var V=`
5
+ `+P[F].replace(" at new "," at ");return n.displayName&&V.includes("<anonymous>")&&(V=V.replace("<anonymous>",n.displayName)),typeof n=="function"&&ne.set(n,V),V}while(F>=1&&N>=0);break}}}finally{fe=!1,ue.current=x,ze(),Error.prepareStackTrace=C}var oe=n?n.displayName||n.name:"",ee=oe?re(oe):"";return typeof n=="function"&&ne.set(n,ee),ee}function pe(n,u,p){return v(n,!1)}function ie(n){var u=n.prototype;return!!(u&&u.isReactComponent)}function Z(n,u,p){if(n==null)return"";if(typeof n=="function")return v(n,ie(n));if(typeof n=="string")return re(n);switch(n){case g:return re("Suspense");case E:return re("SuspenseList")}if(typeof n=="object")switch(n.$$typeof){case y:return pe(n.render);case I:return Z(n.type,u,p);case z:{var b=n,C=b._payload,x=b._init;try{return Z(x(C),u,p)}catch{}}}return""}var me=Object.prototype.hasOwnProperty,tt={},rt=L.ReactDebugCurrentFrame;function Ae(n){if(n){var u=n._owner,p=Z(n.type,n._source,u?u.type:null);rt.setExtraStackFrame(p)}else rt.setExtraStackFrame(null)}function Qt(n,u,p,b,C){{var x=Function.call.bind(me);for(var S in n)if(x(n,S)){var P=void 0;try{if(typeof n[S]!="function"){var q=Error((b||"React class")+": "+p+" type `"+S+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof n[S]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw q.name="Invariant Violation",q}P=n[S](u,S,b,p,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(F){P=F}P&&!(P instanceof Error)&&(Ae(C),k("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",b||"React class",p,S,typeof P),Ae(null)),P instanceof Error&&!(P.message in tt)&&(tt[P.message]=!0,Ae(C),k("Failed %s type: %s",p,P.message),Ae(null))}}}var Bt=Array.isArray;function Qe(n){return Bt(n)}function Ut(n){{var u=typeof Symbol=="function"&&Symbol.toStringTag,p=u&&n[Symbol.toStringTag]||n.constructor.name||"Object";return p}}function Vt(n){try{return nt(n),!1}catch{return!0}}function nt(n){return""+n}function it(n){if(Vt(n))return k("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ut(n)),nt(n)}var at=L.ReactCurrentOwner,Yt={key:!0,ref:!0,__self:!0,__source:!0},ot,st;function Gt(n){if(me.call(n,"ref")){var u=Object.getOwnPropertyDescriptor(n,"ref").get;if(u&&u.isReactWarning)return!1}return n.ref!==void 0}function Ht(n){if(me.call(n,"key")){var u=Object.getOwnPropertyDescriptor(n,"key").get;if(u&&u.isReactWarning)return!1}return n.key!==void 0}function Wt(n,u){typeof n.ref=="string"&&at.current}function Jt(n,u){{var p=function(){ot||(ot=!0,k("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",u))};p.isReactWarning=!0,Object.defineProperty(n,"key",{get:p,configurable:!0})}}function Kt(n,u){{var p=function(){st||(st=!0,k("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",u))};p.isReactWarning=!0,Object.defineProperty(n,"ref",{get:p,configurable:!0})}}var Xt=function(n,u,p,b,C,x,S){var P={$$typeof:e,type:n,key:u,ref:p,props:S,_owner:x};return P._store={},Object.defineProperty(P._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(P,"_self",{configurable:!1,enumerable:!1,writable:!1,value:b}),Object.defineProperty(P,"_source",{configurable:!1,enumerable:!1,writable:!1,value:C}),Object.freeze&&(Object.freeze(P.props),Object.freeze(P)),P};function Zt(n,u,p,b,C){{var x,S={},P=null,q=null;p!==void 0&&(it(p),P=""+p),Ht(u)&&(it(u.key),P=""+u.key),Gt(u)&&(q=u.ref,Wt(u,C));for(x in u)me.call(u,x)&&!Yt.hasOwnProperty(x)&&(S[x]=u[x]);if(n&&n.defaultProps){var F=n.defaultProps;for(x in F)S[x]===void 0&&(S[x]=F[x])}if(P||q){var N=typeof n=="function"?n.displayName||n.name||"Unknown":n;P&&Jt(S,N),q&&Kt(S,N)}return Xt(n,P,q,C,b,at.current,S)}}var Be=L.ReactCurrentOwner,lt=L.ReactDebugCurrentFrame;function ae(n){if(n){var u=n._owner,p=Z(n.type,n._source,u?u.type:null);lt.setExtraStackFrame(p)}else lt.setExtraStackFrame(null)}var Ue;Ue=!1;function Ve(n){return typeof n=="object"&&n!==null&&n.$$typeof===e}function ct(){{if(Be.current){var n=G(Be.current.type);if(n)return`
6
6
 
7
- Check the render method of \``+n+"`."}return""}}function Zt(n){return""}var ct={};function er(n){{var c=ut();if(!c){var p=typeof n=="string"?n:n.displayName||n.name;p&&(c=`
7
+ Check the render method of \``+n+"`."}return""}}function er(n){return""}var ut={};function tr(n){{var u=ct();if(!u){var p=typeof n=="string"?n:n.displayName||n.name;p&&(u=`
8
8
 
9
- Check the top-level render call using <`+p+">.")}return c}}function dt(n,c){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var p=er(c);if(ct[p])return;ct[p]=!0;var g="";n&&n._owner&&n._owner!==Le.current&&(g=" It was passed a child from "+G(n._owner.type)+"."),ae(n),k('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',p,g),ae(null)}}function ft(n,c){{if(typeof n!="object")return;if(ze(n))for(var p=0;p<n.length;p++){var g=n[p];Ue(g)&&dt(g,c)}else if(Ue(n))n._store&&(n._store.validated=!0);else if(n){var I=W(n);if(typeof I=="function"&&I!==n.entries)for(var x=I.call(n),E;!(E=x.next()).done;)Ue(E.value)&&dt(E.value,c)}}}function tr(n){{var c=n.type;if(c==null||typeof c=="string")return;var p;if(typeof c=="function")p=c.propTypes;else if(typeof c=="object"&&(c.$$typeof===h||c.$$typeof===T))p=c.propTypes;else return;if(p){var g=G(c);Lt(p,n.props,"prop",g,n)}else if(c.PropTypes!==void 0&&!Qe){Qe=!0;var I=G(c);k("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",I||"Unknown")}typeof c.getDefaultProps=="function"&&!c.getDefaultProps.isReactClassApproved&&k("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function rr(n){{for(var c=Object.keys(n.props),p=0;p<c.length;p++){var g=c[p];if(g!=="children"&&g!=="key"){ae(n),k("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",g),ae(null);break}}n.ref!==null&&(ae(n),k("Invalid attribute `ref` supplied to `React.Fragment`."),ae(null))}}var pt={};function yt(n,c,p,g,I,x){{var E=De(n);if(!E){var P="";(n===void 0||typeof n=="object"&&n!==null&&Object.keys(n).length===0)&&(P+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var q=Zt();q?P+=q:P+=ut();var F;n===null?F="null":ze(n)?F="array":n!==void 0&&n.$$typeof===t?(F="<"+(G(n.type)||"Unknown")+" />",P=" Did you accidentally export a JSX literal instead of a component?"):F=typeof n,k("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",F,P)}var N=Xt(n,c,p,I,x);if(N==null)return N;if(E){var Y=c.children;if(Y!==void 0)if(g)if(ze(Y)){for(var oe=0;oe<Y.length;oe++)ft(Y[oe],n);Object.freeze&&Object.freeze(Y)}else k("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ft(Y,n)}if(ye.call(c,"key")){var ee=G(n),U=Object.keys(c).filter(function(lr){return lr!=="key"}),Ve=U.length>0?"{key: someKey, "+U.join(": ..., ")+": ...}":"{key: someKey}";if(!pt[ee+Ve]){var sr=U.length>0?"{"+U.join(": ..., ")+": ...}":"{}";k(`A props object containing a "key" prop is being spread into JSX:
9
+ Check the top-level render call using <`+p+">.")}return u}}function dt(n,u){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var p=tr(u);if(ut[p])return;ut[p]=!0;var b="";n&&n._owner&&n._owner!==Be.current&&(b=" It was passed a child from "+G(n._owner.type)+"."),ae(n),k('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',p,b),ae(null)}}function ft(n,u){{if(typeof n!="object")return;if(Qe(n))for(var p=0;p<n.length;p++){var b=n[p];Ve(b)&&dt(b,u)}else if(Ve(n))n._store&&(n._store.validated=!0);else if(n){var C=W(n);if(typeof C=="function"&&C!==n.entries)for(var x=C.call(n),S;!(S=x.next()).done;)Ve(S.value)&&dt(S.value,u)}}}function rr(n){{var u=n.type;if(u==null||typeof u=="string")return;var p;if(typeof u=="function")p=u.propTypes;else if(typeof u=="object"&&(u.$$typeof===y||u.$$typeof===I))p=u.propTypes;else return;if(p){var b=G(u);Qt(p,n.props,"prop",b,n)}else if(u.PropTypes!==void 0&&!Ue){Ue=!0;var C=G(u);k("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",C||"Unknown")}typeof u.getDefaultProps=="function"&&!u.getDefaultProps.isReactClassApproved&&k("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function nr(n){{for(var u=Object.keys(n.props),p=0;p<u.length;p++){var b=u[p];if(b!=="children"&&b!=="key"){ae(n),k("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",b),ae(null);break}}n.ref!==null&&(ae(n),k("Invalid attribute `ref` supplied to `React.Fragment`."),ae(null))}}var pt={};function mt(n,u,p,b,C,x){{var S=$e(n);if(!S){var P="";(n===void 0||typeof n=="object"&&n!==null&&Object.keys(n).length===0)&&(P+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var q=er();q?P+=q:P+=ct();var F;n===null?F="null":Qe(n)?F="array":n!==void 0&&n.$$typeof===e?(F="<"+(G(n.type)||"Unknown")+" />",P=" Did you accidentally export a JSX literal instead of a component?"):F=typeof n,k("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",F,P)}var N=Zt(n,u,p,C,x);if(N==null)return N;if(S){var V=u.children;if(V!==void 0)if(b)if(Qe(V)){for(var oe=0;oe<V.length;oe++)ft(V[oe],n);Object.freeze&&Object.freeze(V)}else k("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ft(V,n)}if(me.call(u,"key")){var ee=G(n),B=Object.keys(u).filter(function(cr){return cr!=="key"}),Ye=B.length>0?"{key: someKey, "+B.join(": ..., ")+": ...}":"{key: someKey}";if(!pt[ee+Ye]){var lr=B.length>0?"{"+B.join(": ..., ")+": ...}":"{}";k(`A props object containing a "key" prop is being spread into JSX:
10
10
  let props = %s;
11
11
  <%s {...props} />
12
12
  React keys must be passed directly to JSX without using spread:
13
13
  let props = %s;
14
- <%s key={someKey} {...props} />`,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;
14
+ <%s key={someKey} {...props} />`,Ye,ee,lr,ee),pt[ee+Ye]=!0}}return n===i?nr(N):rr(N),N}}function ir(n,u,p){return mt(n,u,p,!0)}function ar(n,u,p){return mt(n,u,p,!1)}var or=ar,sr=ir;ye.Fragment=i,ye.jsx=or,ye.jsxs=sr})()),ye}var gt;function gr(){return gt||(gt=1,process.env.NODE_ENV==="production"?Fe.exports=yr():Fe.exports=vr()),Fe.exports}var ge=gr(),Me={exports:{}},T={};var bt;function br(){if(bt)return T;bt=1;var t=typeof Symbol=="function"&&Symbol.for,e=t?Symbol.for("react.element"):60103,r=t?Symbol.for("react.portal"):60106,i=t?Symbol.for("react.fragment"):60107,a=t?Symbol.for("react.strict_mode"):60108,s=t?Symbol.for("react.profiler"):60114,d=t?Symbol.for("react.provider"):60109,m=t?Symbol.for("react.context"):60110,y=t?Symbol.for("react.async_mode"):60111,g=t?Symbol.for("react.concurrent_mode"):60111,E=t?Symbol.for("react.forward_ref"):60112,I=t?Symbol.for("react.suspense"):60113,z=t?Symbol.for("react.suspense_list"):60120,j=t?Symbol.for("react.memo"):60115,M=t?Symbol.for("react.lazy"):60116,U=t?Symbol.for("react.block"):60121,W=t?Symbol.for("react.fundamental"):60117,L=t?Symbol.for("react.responder"):60118,k=t?Symbol.for("react.scope"):60119;function D(f){if(typeof f=="object"&&f!==null){var Q=f.$$typeof;switch(Q){case e:switch(f=f.type,f){case y:case g:case i:case s:case a:case I:return f;default:switch(f=f&&f.$$typeof,f){case m:case E:case M:case j:case d:return f;default:return Q}}case r:return Q}}}function A(f){return D(f)===g}return T.AsyncMode=y,T.ConcurrentMode=g,T.ContextConsumer=m,T.ContextProvider=d,T.Element=e,T.ForwardRef=E,T.Fragment=i,T.Lazy=M,T.Memo=j,T.Portal=r,T.Profiler=s,T.StrictMode=a,T.Suspense=I,T.isAsyncMode=function(f){return A(f)||D(f)===y},T.isConcurrentMode=A,T.isContextConsumer=function(f){return D(f)===m},T.isContextProvider=function(f){return D(f)===d},T.isElement=function(f){return typeof f=="object"&&f!==null&&f.$$typeof===e},T.isForwardRef=function(f){return D(f)===E},T.isFragment=function(f){return D(f)===i},T.isLazy=function(f){return D(f)===M},T.isMemo=function(f){return D(f)===j},T.isPortal=function(f){return D(f)===r},T.isProfiler=function(f){return D(f)===s},T.isStrictMode=function(f){return D(f)===a},T.isSuspense=function(f){return D(f)===I},T.isValidElementType=function(f){return typeof f=="string"||typeof f=="function"||f===i||f===g||f===s||f===a||f===I||f===z||typeof f=="object"&&f!==null&&(f.$$typeof===M||f.$$typeof===j||f.$$typeof===d||f.$$typeof===m||f.$$typeof===E||f.$$typeof===W||f.$$typeof===L||f.$$typeof===k||f.$$typeof===U)},T.typeOf=D,T}var R={};var Pt;function Pr(){return Pt||(Pt=1,process.env.NODE_ENV!=="production"&&(function(){var t=typeof Symbol=="function"&&Symbol.for,e=t?Symbol.for("react.element"):60103,r=t?Symbol.for("react.portal"):60106,i=t?Symbol.for("react.fragment"):60107,a=t?Symbol.for("react.strict_mode"):60108,s=t?Symbol.for("react.profiler"):60114,d=t?Symbol.for("react.provider"):60109,m=t?Symbol.for("react.context"):60110,y=t?Symbol.for("react.async_mode"):60111,g=t?Symbol.for("react.concurrent_mode"):60111,E=t?Symbol.for("react.forward_ref"):60112,I=t?Symbol.for("react.suspense"):60113,z=t?Symbol.for("react.suspense_list"):60120,j=t?Symbol.for("react.memo"):60115,M=t?Symbol.for("react.lazy"):60116,U=t?Symbol.for("react.block"):60121,W=t?Symbol.for("react.fundamental"):60117,L=t?Symbol.for("react.responder"):60118,k=t?Symbol.for("react.scope"):60119;function D(v){return typeof v=="string"||typeof v=="function"||v===i||v===g||v===s||v===a||v===I||v===z||typeof v=="object"&&v!==null&&(v.$$typeof===M||v.$$typeof===j||v.$$typeof===d||v.$$typeof===m||v.$$typeof===E||v.$$typeof===W||v.$$typeof===L||v.$$typeof===k||v.$$typeof===U)}function A(v){if(typeof v=="object"&&v!==null){var pe=v.$$typeof;switch(pe){case e:var ie=v.type;switch(ie){case y:case g:case i:case s:case a:case I:return ie;default:var Z=ie&&ie.$$typeof;switch(Z){case m:case E:case M:case j:case d:return Z;default:return pe}}case r:return pe}}}var f=y,Q=g,se=m,we=d,Ie=e,$e=E,je=i,Ce=M,G=j,J=r,X=s,Te=a,Re=I,le=!1;function xe(v){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.")),ce(v)||A(v)===y}function ce(v){return A(v)===g}function Oe(v){return A(v)===m}function ke(v){return A(v)===d}function _e(v){return typeof v=="object"&&v!==null&&v.$$typeof===e}function qe(v){return A(v)===E}function ze(v){return A(v)===i}function ue(v){return A(v)===M}function de(v){return A(v)===j}function re(v){return A(v)===r}function fe(v){return A(v)===s}function ne(v){return A(v)===a}function Le(v){return A(v)===I}R.AsyncMode=f,R.ConcurrentMode=Q,R.ContextConsumer=se,R.ContextProvider=we,R.Element=Ie,R.ForwardRef=$e,R.Fragment=je,R.Lazy=Ce,R.Memo=G,R.Portal=J,R.Profiler=X,R.StrictMode=Te,R.Suspense=Re,R.isAsyncMode=xe,R.isConcurrentMode=ce,R.isContextConsumer=Oe,R.isContextProvider=ke,R.isElement=_e,R.isForwardRef=qe,R.isFragment=ze,R.isLazy=ue,R.isMemo=de,R.isPortal=re,R.isProfiler=fe,R.isStrictMode=ne,R.isSuspense=Le,R.isValidElementType=D,R.typeOf=A})()),R}var Et;function Er(){return Et||(Et=1,process.env.NODE_ENV==="production"?Me.exports=br():Me.exports=Pr()),Me.exports}var Ge,St;function Sr(){if(St)return Ge;St=1;var t=Er(),e={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[t.ForwardRef]=i,s[t.Memo]=a;function d(M){return t.isMemo(M)?a:s[M.$$typeof]||e}var m=Object.defineProperty,y=Object.getOwnPropertyNames,g=Object.getOwnPropertySymbols,E=Object.getOwnPropertyDescriptor,I=Object.getPrototypeOf,z=Object.prototype;function j(M,U,W){if(typeof U!="string"){if(z){var L=I(U);L&&L!==z&&j(M,L,W)}var k=y(U);g&&(k=k.concat(g(U)));for(var D=d(M),A=d(U),f=0;f<k.length;++f){var Q=k[f];if(!r[Q]&&!(W&&W[Q])&&!(A&&A[Q])&&!(D&&D[Q])){var se=E(U,Q);try{m(M,Q,se)}catch{}}}}return M}return Ge=j,Ge}Sr();var wr=!0;function Ir(t,e,r){var i="";return r.split(" ").forEach(function(a){t[a]!==void 0?e.push(t[a]+";"):a&&(i+=a+" ")}),i}var Rt=function(e,r,i){var a=e.key+"-"+r.name;(i===!1||wr===!1)&&e.registered[a]===void 0&&(e.registered[a]=r.styles)},Cr=function(e,r,i){Rt(e,r,i);var a=e.key+"-"+r.name;if(e.inserted[r.name]===void 0){var s=r;do e.insert(r===s?"."+a:"",s,e.sheet,!0),s=s.next;while(s!==void 0)}};function Tr(t){for(var e=0,r,i=0,a=t.length;a>=4;++i,a-=4)r=t.charCodeAt(i)&255|(t.charCodeAt(++i)&255)<<8|(t.charCodeAt(++i)&255)<<16|(t.charCodeAt(++i)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,e=(r&65535)*1540483477+((r>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(a){case 3:e^=(t.charCodeAt(i+2)&255)<<16;case 2:e^=(t.charCodeAt(i+1)&255)<<8;case 1:e^=t.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var Rr={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 xr(t){var e=Object.create(null);return function(r){return e[r]===void 0&&(e[r]=t(r)),e[r]}}var Or=/[A-Z]|^ms/g,kr=/_EMO_([^_]+?)_([^]*?)_EMO_/g,xt=function(e){return e.charCodeAt(1)===45},wt=function(e){return e!=null&&typeof e!="boolean"},He=xr(function(t){return xt(t)?t:t.replace(Or,"-$&").toLowerCase()}),It=function(e,r){switch(e){case"animation":case"animationName":if(typeof r=="string")return r.replace(kr,function(i,a,s){return H={name:a,styles:s,next:H},a})}return Rr[e]!==1&&!xt(e)&&typeof r=="number"&&r!==0?r+"px":r};function be(t,e,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 m=s.styles+";";return m}return _r(t,e,r)}case"function":{if(t!==void 0){var y=H,g=r(t);return H=y,be(t,e,g)}break}}var E=r;return E}function _r(t,e,r){var i="";if(Array.isArray(r))for(var a=0;a<r.length;a++)i+=be(t,e,r[a])+";";else for(var s in r){var d=r[s];if(typeof d!="object"){var m=d;wt(m)&&(i+=He(s)+":"+It(s,m)+";")}else if(Array.isArray(d)&&typeof d[0]=="string"&&e==null)for(var y=0;y<d.length;y++)wt(d[y])&&(i+=He(s)+":"+It(s,d[y])+";");else{var g=be(t,e,d);switch(s){case"animation":case"animationName":{i+=He(s)+":"+g+";";break}default:i+=s+"{"+g+"}"}}}return i}var Ct=/label:\s*([^\s;{]+)\s*(;|$)/g,H;function Ar(t,e,r){if(t.length===1&&typeof t[0]=="object"&&t[0]!==null&&t[0].styles!==void 0)return t[0];var i=!0,a="";H=void 0;var s=t[0];if(s==null||s.raw===void 0)i=!1,a+=be(r,e,s);else{var d=s;a+=d[0]}for(var m=1;m<t.length;m++)if(a+=be(r,e,t[m]),i){var y=s;a+=y[m]}Ct.lastIndex=0;for(var g="",E;(E=Ct.exec(a))!==null;)g+="-"+E[1];var I=Tr(a)+g;return{name:I,styles:a,next:H}}var Fr=function(e){return e()},Mr=K.useInsertionEffect?K.useInsertionEffect:!1,Dr=Mr||Fr,Ot=K.createContext(typeof HTMLElement<"u"?ur({key:"css"}):null);Ot.Provider;var Nr=function(e){return h.forwardRef(function(r,i){var a=h.useContext(Ot);return e(r,a,i)})},$r=K.createContext({}),Ne={}.hasOwnProperty,Je="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",kt=function(e,r){var i={};for(var a in r)Ne.call(r,a)&&(i[a]=r[a]);return i[Je]=e,i},jr=function(e){var r=e.cache,i=e.serialized,a=e.isStringTag;return Rt(r,i,a),Dr(function(){return Cr(r,i,a)}),null},qr=Nr(function(t,e,r){var i=t.css;typeof i=="string"&&e.registered[i]!==void 0&&(i=e.registered[i]);var a=t[Je],s=[i],d="";typeof t.className=="string"?d=Ir(e.registered,s,t.className):t.className!=null&&(d=t.className+" ");var m=Ar(s,void 0,K.useContext($r));d+=e.key+"-"+m.name;var y={};for(var g in t)Ne.call(t,g)&&g!=="css"&&g!==Je&&(y[g]=t[g]);return y.className=d,r&&(y.ref=r),K.createElement(K.Fragment,null,K.createElement(jr,{cache:e,serialized:m,isStringTag:typeof a=="string"}),K.createElement(a,y))}),_t=qr,Ee=ge.Fragment,o=function(e,r,i){return Ne.call(r,"css")?ge.jsx(_t,kt(e,r),i):ge.jsx(e,r,i)},$=function(e,r,i){return Ne.call(r,"css")?ge.jsxs(_t,kt(e,r),i):ge.jsxs(e,r,i)};const zr=({components:t=[],children:e})=>o(Ee,{children:t.reduceRight((r,i)=>o(i,{children:r}),e)}),Ze=h.createContext(void 0),Se=()=>h.useContext(Ze),We=new dr({coerceTypes:!0});function Lr(t,e){let r;if(r=We.getSchema(e),r===void 0&&(We.addSchema(t,e),r=We.getSchema(e)),r===void 0||r.schema!==t)throw new Error(`Invalid schema. Expected: '${JSON.stringify(t)}', but got '${JSON.stringify(r?.schema)}'.`);return r}const Qr={type:"object",properties:{url:{type:"string"},type:{type:"string"},videoId:{type:"string"},title:{type:"string"}},required:["url","type","videoId","title"]};var _=(t=>(t.Off="Off",t.All="All",t.One="One",t))(_||{});const Br={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:Qr},currentIndex:{type:"integer",nullable:!0}}};class De{constructor(e,r,i){this.observableStateProvider=e,this.playQueue=r,this.dto=i,this.id=De.nextId++,e.makeObservable(this,{isSelected:l.observable,isCurrent:l.computed,index:l.computed,isFirst:l.computed,isLast:l.computed,canMoveToTop:l.computed,canMoveToBottom:l.computed,canRemoveToTop:l.computed,canRemoveOthers:l.computed,unselect:l.action,select:l.action,toggleSelected:l.action.bound,play:l.action,remove:l.action.bound,playFirst:l.action.bound,playNext:l.action.bound,addToPlayQueue:l.action.bound,moveToTop:l.action.bound,moveToBottom:l.action.bound,removeToTop:l.action.bound,removeOthers:l.action.bound})}static nextId=1;id;isSelected=!1;static fromDto(e,r,i){return new De(e,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.playQueue.currentItem===this}get index(){return this.playQueue.items.indexOf(this)}get isFirst(){return this.index===0}get isLast(){return this.index===this.playQueue.items.length-1}get canMoveToTop(){return!this.isFirst}get canMoveToBottom(){return!this.isLast}get canRemoveToTop(){return!this.isFirst}get canRemoveOthers(){return this.playQueue.hasMultipleItems}clone(){return this.playQueue.createItem(this.dto)}unselect(){this.isSelected=!1}select(){this.isSelected=!0}toggleSelected(){this.isSelected=!this.isSelected}play(){this.playQueue.setCurrentItem(this)}remove(){return this.playQueue.removeItems([this])}async playFirst(){await this.playQueue.playFirst([this.clone()])}async playNext(){await this.playQueue.playNext([this.clone()])}async addToPlayQueue(){await this.playQueue.addItems([this.clone()])}moveToTop(){this.playQueue.moveItem(this,0)}moveToBottom(){this.playQueue.moveItem(this,this.playQueue.items.length-1)}removeToTop(){return this.playQueue.removeItemsAbove(this)}removeOthers(){return this.playQueue.removeOtherItems(this)}}class Ur{constructor(e){this.observableStateProvider=e,e.makeObservable(this,{interacted:l.observable,items:l.observable,currentId:l.observable,repeat:l.observable,shuffle:l.observable,localStorageState:l.computed.struct,isEmpty:l.computed,canClear:l.computed,currentItem:l.computed,canPlay:l.computed,canPause:l.computed,hasMultipleItems:l.computed,currentIndex:l.computed,hasPreviousItem:l.computed,hasNextItem:l.computed,isLastItem:l.computed,selectedItems:l.computed,allItemsSelected:l.computed,hasSelectedItems:l.computed,selectedItemsOrAllItems:l.computed,canAddSelectedItems:l.computed,canPlaySelectedItemsNext:l.computed,canRemoveSelectedItems:l.computed,setItems:l.action,interact:l.action,clear:l.action.bound,unselectAll:l.action,selectAll:l.action,setCurrentItem:l.action,setNextItems:l.action,clearAndSetItems:l.action,playNext:l.action,playSelectedItemsNext:l.action.bound,addItems:l.action,addSelectedItems:l.action.bound,playFirst:l.action,moveItem:l.action,goToFirst:l.action,removeItems:l.action,removeSelectedItems:l.action.bound,removeOtherItems:l.action,removeItemsAbove:l.action,toggleRepeat:l.action.bound,toggleShuffle:l.action.bound,previous:l.action,next:l.action.bound})}interacted=!1;items=[];currentId;repeat=_.Off;shuffle=!1;createItem(e){return De.fromDto(this.observableStateProvider,this,{url:e.url,type:e.type,videoId:e.videoId,title:e.title})}get localStorageState(){return{version:"1.0",repeat:this.repeat,shuffle:this.shuffle,items:this.items.map(e=>e.dto),currentIndex:this.currentIndex}}set localStorageState(e){this.repeat=e.repeat??_.Off,this.shuffle=e.shuffle??!1,this.items=e.items?.map(r=>this.createItem(r))??[],this.currentIndex=e.currentIndex}validateLocalStorageState(e){return Lr(Br,"PlayQueueDto")(e)}get isEmpty(){return this.items.length===0}get canClear(){return!this.isEmpty}get currentItem(){return this.items.find(e=>e.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(e=>e.id===this.currentId):void 0}set currentIndex(e){this.currentId=e!==void 0?this.items.at(e)?.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(e=>e.isSelected)}get allItemsSelected(){return this.selectedItems.length===this.items.length}get hasSelectedItems(){return this.selectedItems.length>0}get selectedItemsOrAllItems(){return this.hasSelectedItems?this.selectedItems:this.items}get canAddSelectedItems(){return!this.isEmpty&&this.hasSelectedItems}get canPlaySelectedItemsNext(){return!this.isEmpty&&this.hasSelectedItems}get canRemoveSelectedItems(){return!this.isEmpty&&this.hasSelectedItems}setItems(e){this.items=e}interact(){this.interacted=!0}clear(){this.interact(),this.currentIndex=void 0,this.items=[]}unselectAll(){for(const e of this.items)e.unselect()}selectAll(){for(const e of this.items)e.select()}setCurrentItem(e){this.interact(),this.currentId=e?.id}setNextItems(e){this.currentIndex!==void 0&&this.items.splice(this.currentIndex+1,0,...e)}clearAndSetItems(e){this.clear(),this.setCurrentItem(e[0]),this.setNextItems(e)}async playNext(e){if(this.isEmpty){this.clearAndSetItems(e);return}this.setNextItems(e)}async playSelectedItemsNext(){await this.playNext(this.selectedItemsOrAllItems.map(e=>e.clone())),this.unselectAll()}async addItems(e){if(this.isEmpty){this.clearAndSetItems(e);return}this.items.push(...e)}async addSelectedItems(){await this.addItems(this.selectedItemsOrAllItems.map(e=>e.clone())),this.unselectAll()}async playFirst(e){if(this.isEmpty){this.clearAndSetItems(e);return}const{currentIndex:r}=this;r!==void 0&&(this.interact(),this.items.splice(r,0,...e),this.currentIndex=r)}moveItem(e,r){const i=this.items.splice(this.items.indexOf(e),1)[0];this.items.splice(r,0,i)}async goToFirst(){this.currentIndex!==void 0&&(this.currentIndex=0)}async removeItems(e){const{currentItem:r}=this;ht.pull(this.items,...e.filter(s=>s!==r));const{currentIndex:i,isLastItem:a}=this;ht.pull(this.items,e.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(e){const r=e.id;return this.removeItems(this.items.filter(i=>i.id!==r))}async removeItemsAbove(e){const r=this.items.indexOf(e);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 Vr=({children:t})=>{const[e]=h.useState(()=>new Ur(new Pe)),r=Y.useNostalgicDiva();return h.useEffect(()=>l.reaction(()=>e.currentItem,async(i,a)=>{i===void 0||a===void 0||i.type===a.type&&i.videoId===a.videoId&&await r.setCurrentTime(0)}),[e,r]),o(Ze.Provider,{value:e,children:t})},At=h.createContext(void 0),Ft=()=>h.useContext(At);class Yr{controller=Y.nullPlayerController;playing=!1;percent=0;seeking=!1;constructor(e){e.makeObservable(this,{controller:l.observable,playing:l.observable,percent:l.observable,seeking:l.observable,setPlaying:l.action,setPercent:l.action,setSeeking:l.action,onControllerChange:l.action.bound,onPlay:l.action.bound,onPause:l.action.bound,onEnded:l.action.bound,onTimeUpdate:l.action.bound})}setPlaying(e){this.playing=e}setPercent(e){this.percent=e}setSeeking(e){this.seeking=e}onControllerChange(e){this.controller=e}onPlay(){this.playing=!0}onPause(){this.playing=!1}onEnded(){this.playing=!1}onTimeUpdate({percent:e}){e!==void 0&&(this.seeking||(this.percent=e))}}const Gr=({children:t})=>{const[e]=h.useState(()=>new Yr(new Pe));return o(At.Provider,{value:e,children:t})},Mt=h.createContext(void 0),Hr=()=>h.useContext(Mt);class Wr{constructor(e,r,i){this.player=r,this.playQueue=i,e.makeObservable(this,{controller:l.computed,playing:l.computed,percent:l.computed,canSeek:l.computed,currentItem:l.computed,repeat:l.computed,shuffle:l.computed,canToggleRepeat:l.computed,canToggleShuffle:l.computed,canPlay:l.computed,canPause:l.computed,canPrevious:l.computed,canNext:l.computed,canSkipBack10:l.computed,canSkipForward30:l.computed,canRemoveFromPlayQueue:l.computed,setPercent:l.action.bound,setSeeking:l.action.bound,toggleRepeat:l.action.bound,toggleShuffle:l.action.bound,play:l.action.bound,pause:l.action.bound,previous:l.action.bound,next:l.action.bound,skipBack10:l.action.bound,skipForward30:l.action.bound,removeFromPlayQueue:l.action.bound})}get controller(){return this.player.controller}get playing(){return this.player.playing}get percent(){return this.player.percent}get canSeek(){return!this.playQueue.isEmpty&&this.controller.supports("setCurrentTime")}get currentItem(){return this.playQueue.currentItem}get repeat(){return this.playQueue.repeat}get shuffle(){return this.playQueue.shuffle}get canToggleRepeat(){return!0}get canToggleShuffle(){return!1}get canPlay(){return this.playQueue.canPlay&&this.controller.supports("play")}get canPause(){return this.playQueue.canPause&&this.controller.supports("pause")}get canPrevious(){return!this.playQueue.isEmpty}get canNext(){return this.playQueue.hasNextItem}get canSkipBack10(){return this.canSeek}get canSkipForward30(){return this.canSeek}get canRemoveFromPlayQueue(){return!this.playQueue.isEmpty}setPercent(e){this.player.setPercent(e)}setSeeking(e){this.player.setSeeking(e)}toggleRepeat(){this.playQueue.toggleRepeat()}toggleShuffle(){this.playQueue.toggleShuffle()}play(){return this.controller.play()}pause(){return this.controller.pause()}async previous(){if(this.playQueue.hasPreviousItem){const e=await this.controller.getCurrentTime();e===void 0||e<5?await this.playQueue.previous():await this.controller.setCurrentTime(0)}else await this.controller.setCurrentTime(0)}next(){return this.playQueue.next()}async skipBack10(){const e=await this.controller.getCurrentTime();e!==void 0&&await this.controller.setCurrentTime(e-10)}async skipForward30(){const e=await this.controller.getCurrentTime();e!==void 0&&await this.controller.setCurrentTime(e+30)}async removeFromPlayQueue(){this.currentItem!==void 0&&await this.playQueue.removeItems([this.currentItem])}}const Jr=({children:t})=>{const e=Ft(),r=Se(),[i]=h.useState(()=>new Wr(new Pe,e,r));return o(Mt.Provider,{value:i,children:t})},Dt=h.createContext(void 0),Kr=()=>h.useContext(Dt);class Xr{constructor(e,r,i){this.player=r,this.playQueue=i,e.makeObservable(this,{controller:l.computed,currentItem:l.computed,onLoaded:l.action.bound,onPlay:l.action.bound,onPause:l.action.bound,onEnded:l.action.bound,onTimeUpdate:l.action.bound,onControllerChange:l.action.bound})}get controller(){return this.player.controller}get currentItem(){return this.playQueue.currentItem}async onLoaded(){this.playQueue.interacted&&await this.controller.play()}onPlay(){this.player.onPlay()}onPause(){this.player.onPause()}async onEnded(){switch(this.playQueue.repeat){case _.One:await this.controller.setCurrentTime(0);break;case _.Off:case _.All:if(this.playQueue.isLastItem)switch(this.playQueue.repeat){case _.Off:this.player.onEnded();break;case _.All:this.playQueue.hasMultipleItems?await this.playQueue.goToFirst():await this.controller.setCurrentTime(0);break}else await this.playQueue.next();break}}onTimeUpdate(e){this.player.onTimeUpdate(e)}onControllerChange(e){this.player.onControllerChange(e)}}const Zr=({children:t})=>{const e=Ft(),r=Se(),[i]=h.useState(()=>new Xr(new Pe,e,r));return o(Dt.Provider,{value:i,children:t})},en=({children:t,nostalgicDivaProps:e})=>o(Y.NostalgicDivaProvider,{...e,children:o(zr,{components:[Gr,Vr,Zr,Jr],children:t})}),tn={mediaPlayer:{enablePlaylists:process.env.NODE_ENV!=="production"}},rn="http://localhost".replace(/\/+$/,"");class Nt{constructor(e={}){this.configuration=e}set config(e){this.configuration=e}get basePath(){return this.configuration.basePath!=null?this.configuration.basePath:rn}get fetchApi(){return this.configuration.fetchApi}get middleware(){return this.configuration.middleware||[]}get queryParamsStringify(){return this.configuration.queryParamsStringify||$t}get username(){return this.configuration.username}get password(){return this.configuration.password}get apiKey(){const e=this.configuration.apiKey;if(e)return typeof e=="function"?e:()=>e}get accessToken(){const e=this.configuration.accessToken;if(e)return typeof e=="function"?e:async()=>e}get headers(){return this.configuration.headers}get credentials(){return this.configuration.credentials}}const nn=new Nt;class et{constructor(e=nn){this.configuration=e,this.middleware=e.middleware}static jsonRegex=new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$","i");middleware;withMiddleware(...e){const r=this.clone();return r.middleware=r.middleware.concat(...e),r}withPreMiddleware(...e){const r=e.map(i=>({pre:i}));return this.withMiddleware(...r)}withPostMiddleware(...e){const r=e.map(i=>({post:i}));return this.withMiddleware(...r)}isJsonMime(e){return e?et.jsonRegex.test(e):!1}async request(e,r){const{url:i,init:a}=await this.createFetchParams(e,r),s=await this.fetchApi(i,a);if(s&&s.status>=200&&s.status<300)return s;throw new sn(s,"Response returned an error code")}async createFetchParams(e,r){let i=this.configuration.basePath+e.path;e.query!==void 0&&Object.keys(e.query).length!==0&&(i+="?"+this.configuration.queryParamsStringify(e.query));const a=Object.assign({},this.configuration.headers,e.headers);Object.keys(a).forEach(E=>a[E]===void 0?delete a[E]:{});const s=typeof r=="function"?r:async()=>r,d={method:e.method,headers:a,body:e.body,credentials:this.configuration.credentials},m={...d,...await s({init:d,context:e})};let y;on(m.body)||m.body instanceof URLSearchParams||an(m.body)?y=m.body:this.isJsonMime(a["Content-Type"])?y=JSON.stringify(m.body):y=m.body;const g={...m,body:y};return{url:i,init:g}}fetchApi=async(e,r)=>{let i={url:e,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 ln(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 e=this.constructor,r=new e(this.configuration);return r.middleware=this.middleware.slice(),r}}function an(t){return typeof Blob<"u"&&t instanceof Blob}function on(t){return typeof FormData<"u"&&t instanceof FormData}class sn extends Error{constructor(e,r){super(r),this.response=e}name="ResponseError"}class ln extends Error{constructor(e,r){super(r),this.cause=e}name="FetchError"}class ve extends Error{constructor(e,r){super(r),this.field=e}name="RequiredError"}function $t(t,e=""){return Object.keys(t).map(r=>jt(r,t[r],e)).filter(r=>r.length>0).join("&")}function jt(t,e,r=""){const i=r+(r.length?`[${t}]`:t);if(e instanceof Array){const a=e.map(s=>encodeURIComponent(String(s))).join(`&${encodeURIComponent(i)}=`);return`${encodeURIComponent(i)}=${a}`}if(e instanceof Set){const a=Array.from(e);return jt(t,a,r)}return e instanceof Date?`${encodeURIComponent(i)}=${encodeURIComponent(e.toISOString())}`:e instanceof Object?$t(e,i):`${encodeURIComponent(i)}=${encodeURIComponent(String(e))}`}class te{constructor(e,r=i=>i){this.raw=e,this.transformer=r}async value(){return this.transformer(await this.raw.json())}}function qt(t){return cn(t)}function cn(t,e){return t==null?t:{id:t.id,name:t.name}}function un(t){return dn(t)}function dn(t,e){return t==null?t:{playlist:qt(t.playlist)}}function fn(t){return pn(t)}function pn(t,e){return t==null?t:{items:t.items.map(qt)}}function mn(t){return hn(t)}function hn(t,e){return t==null?t:{id:t.id,url:t.url,type:t.type,videoId:t.videoId,title:t.title}}function yn(t){return vn(t)}function vn(t,e){return t==null?t:{items:t.items.map(mn)}}function gn(t){return bn(t,!1)}function bn(t,e=!1){return t==null?t:{name:t.name}}function Pn(t){return En(t,!1)}function En(t,e=!1){return t==null?t:{name:t.name}}class Sn extends et{async mediaPlayerPlaylistsGetRaw(e){const r={},i={},s=await this.request({path:"/media-player/playlists",method:"GET",headers:i,query:r},e);return new te(s,d=>fn(d))}async mediaPlayerPlaylistsGet(e){return await(await this.mediaPlayerPlaylistsGetRaw(e)).value()}async mediaPlayerPlaylistsIdDeleteRaw(e,r){if(e.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(e.id)));const d=await this.request({path:s,method:"DELETE",headers:a,query:i},r);return new te(d)}async mediaPlayerPlaylistsIdDelete(e,r){return await(await this.mediaPlayerPlaylistsIdDeleteRaw(e,r)).value()}async mediaPlayerPlaylistsIdGetRaw(e,r){if(e.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(e.id)));const d=await this.request({path:s,method:"GET",headers:a,query:i},r);return new te(d,m=>un(m))}async mediaPlayerPlaylistsIdGet(e,r){return await(await this.mediaPlayerPlaylistsIdGetRaw(e,r)).value()}async mediaPlayerPlaylistsIdRenamePostRaw(e,r){if(e.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(e.id)));const d=await this.request({path:s,method:"POST",headers:a,query:i,body:Pn(e.hydrangeanDivaMediaPlayerEndpointsPlaylistsRenamePlaylistRequest)},r);return new te(d)}async mediaPlayerPlaylistsIdRenamePost(e,r){return await(await this.mediaPlayerPlaylistsIdRenamePostRaw(e,r)).value()}async mediaPlayerPlaylistsIdTracksGetRaw(e,r){if(e.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(e.id)));const d=await this.request({path:s,method:"GET",headers:a,query:i},r);return new te(d,m=>yn(m))}async mediaPlayerPlaylistsIdTracksGet(e,r){return await(await this.mediaPlayerPlaylistsIdTracksGetRaw(e,r)).value()}async mediaPlayerPlaylistsIdTracksPutRaw(e,r){if(e.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(e.id)));const d=await this.request({path:s,method:"PUT",headers:a,query:i},r);return new te(d)}async mediaPlayerPlaylistsIdTracksPut(e,r){return await(await this.mediaPlayerPlaylistsIdTracksPutRaw(e,r)).value()}async mediaPlayerPlaylistsPostRaw(e,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:gn(e.hydrangeanDivaMediaPlayerEndpointsPlaylistsCreatePlaylistRequest)},r);return new te(d)}async mediaPlayerPlaylistsPost(e={},r){return await(await this.mediaPlayerPlaylistsPostRaw(e,r)).value()}}const wn=new Nt({basePath:new URL("api",window.location.origin).toString()}),In=new Sn(wn),Cn=({disabled:t,onAddToPlaylist:e})=>{const[r,i]=h.useState(!1),[a,s]=h.useState("loading");return h.useEffect(()=>{In.mediaPlayerPlaylistsGet().then(d=>s(d.items.map(m=>({key:m.id,label:m.name}))))},[]),o(c.EuiPopover,{panelPaddingSize:"none",button:o(c.EuiButton,{iconType:w.AddRegular,onClick:()=>i(!r),disabled:t,children:"Add to"}),isOpen:r,closePopover:()=>i(!1),children:o(c.EuiSelectable,{searchable:!0,searchProps:{compressed:!0},options:a==="loading"?void 0:a,isLoading:a==="loading",onChange:async(d,m,y)=>{i(!1),await e(y)},singleSelection:!0,children:(d,m)=>$("div",{style:{width:240},children:[o(c.EuiPopoverTitle,{paddingSize:"s",children:m}),d,o(c.EuiPopoverFooter,{paddingSize:"s",children:o(c.EuiButton,{size:"s",fullWidth:!0,iconType:w.AddRegular,children:"New playlist"})})]})})})},Tn=({onCancel:t,onSave:e})=>{const r=c.useGeneratedHtmlId({prefix:"modalForm"}),[i,a]=h.useState(""),[s,d]=h.useState(""),[m,y]=h.useState(!1);return $(c.EuiModal,{onClose:t,initialFocus:"[name=url]",children:[o(c.EuiModalHeader,{children:o(c.EuiModalHeaderTitle,{children:"Add video"})}),o(c.EuiModalBody,{children:$(c.EuiForm,{id:r,component:"form",onSubmit:async g=>{g.preventDefault();try{y(!0),await e({url:i,title:s})}finally{y(!1)}},children:[o(c.EuiFormRow,{label:"URL",children:o(c.EuiFieldText,{name:"url",value:i,onChange:g=>a(g.target.value)})}),o(c.EuiFormRow,{label:"Title",children:o(c.EuiFieldText,{name:"title",value:s,onChange:g=>d(g.target.value)})})]})}),$(c.EuiModalFooter,{children:[o(c.EuiButtonEmpty,{onClick:t,children:"Cancel"}),o(c.EuiButton,{type:"submit",form:r,fill:!0,disabled:i.trim().length===0,isLoading:m,children:"Add video"})]})]})},Tt=h.memo(({onSave:t})=>{const[e,r]=h.useState(!1),i=h.useCallback(async a=>{await t(a),r(!1)},[t]);return $(Ee,{children:[o(c.EuiButton,{onClick:()=>r(!0),iconType:w.AddRegular,color:"primary",children:"Add video"}),e&&o(Tn,{onCancel:()=>r(!1),onSave:i})]})});O.observer(({playQueueStore:t})=>{const[e,r]=h.useState(!1);return $(Ee,{children:[e&&o(c.EuiFlyout,{type:"push",size:"s",onClose:()=>r(!1),children:o("div",{style:{blockSize:"100%"},children:o(c.EuiCodeBlock,{language:"json",overflowHeight:"100%",isCopyable:!0,isVirtualized:!0,children:JSON.stringify(t.localStorageState,void 0,2)})})}),o(c.EuiButton,{onClick:()=>r(i=>!i),iconType:w.WindowDevToolsRegular,children:"Developer tools"})]})});const zt={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"},Rn=O.observer(({playQueueStore:t})=>{const{euiTheme:e}=c.useEuiTheme();return $(c.EuiTableHeader,{style:{position:"sticky",top:112,zIndex:998,background:e.colors.backgroundBasePlain},children:[o(c.EuiTableHeaderCellCheckbox,{children:o(c.EuiCheckbox,{id:"",checked:t.allItemsSelected,onChange:r=>{r.target.checked?t.selectAll():t.unselectAll()}})}),o(c.EuiTableHeaderCell,{width:24}),o(c.EuiTableHeaderCell,{children:"Title"}),o(c.EuiTableHeaderCell,{})]})}),xn=h.memo(({item:t,closePopover:e})=>{const r=h.useMemo(()=>[{id:0,items:[{name:"Play first",icon:o(c.EuiIcon,{type:""}),onClick:async()=>{e(),await t.playFirst()}},{name:"Play next",icon:o(c.EuiIcon,{type:""}),onClick:async()=>{e(),await t.playNext()}},{name:"Add to play queue",icon:o(c.EuiIcon,{type:w.AddRegular}),onClick:async()=>{e(),await t.addToPlayQueue()}},{isSeparator:!0},{name:"Move to the top",icon:o(c.EuiIcon,{type:w.ArrowUploadRegular}),onClick:async()=>{e(),t.moveToTop()},disabled:!t.canMoveToTop},{name:"Move to the bottom",icon:o(c.EuiIcon,{type:w.ArrowDownloadRegular}),onClick:async()=>{e(),t.moveToBottom()},disabled:!t.canMoveToBottom},{isSeparator:!0},{name:"Remove to the top",icon:o(c.EuiIcon,{type:""}),onClick:async()=>{e(),await t.removeToTop()},disabled:!t.canRemoveToTop},{name:"Remove others",icon:o(c.EuiIcon,{type:""}),onClick:async()=>{e(),await t.removeOthers()},disabled:!t.canRemoveOthers}]}],[e,t]);return o(c.EuiContextMenu,{initialPanelId:0,panels:r})}),On=h.memo(({item:t})=>{const[e,r]=h.useState(!1),i=h.useCallback(()=>r(!e),[e]),a=h.useCallback(()=>r(!1),[]);return o(c.EuiPopover,{button:o(c.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:w.MoreHorizontalFilled,size:"s",color:"text",onClick:i}),isOpen:e,closePopover:a,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(xn,{item:t,closePopover:a})})}),kn=O.observer(({item:t})=>{const e=Y.useNostalgicDiva();return $(c.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[o(c.EuiButton,{iconType:w.PlayRegular,size:"s",onClick:async()=>{t.isCurrent?await e.setCurrentTime(0):t.play()},children:"Play"}),o(c.EuiButton,{iconType:w.DismissRegular,size:"s",onClick:t.remove,children:"Remove"}),o(On,{item:t})]})}),_n=O.observer(({item:t})=>{const e=Y.useNostalgicDiva();return $(c.EuiTableRow,{isSelected:t.isCurrent,children:[o(c.EuiTableRowCellCheckbox,{children:o(c.EuiCheckbox,{id:t.id.toString(),checked:t.isSelected,onChange:t.toggleSelected})}),o(c.EuiTableRowCell,{textOnly:!1,children:o("img",{src:zt[t.type],width:16,height:16,alt:t.type})}),o(c.EuiTableRowCell,{children:o(c.EuiLink,{href:t.url,target:"_blank",external:!0,onClick:()=>e.pause(),children:t.title})}),o(kn,{item:t})]},t.id)}),An=O.observer(({playQueueStore:t})=>o(fr.ReactSortable,{tag:"tbody",list:t.items,setList:e=>t.setItems(e),children:t.items.map(e=>o(_n,{item:e},e.id))})),Fn=O.observer(({playQueueStore:t})=>$(c.EuiTable,{children:[o(Rn,{playQueueStore:t}),o(An,{playQueueStore:t})]}));function Mn(t){return t!==null&&typeof t=="object"&&"title"in t&&typeof t.title=="string"}const Dn=O.observer(({playQueueStore:t})=>o(c.EuiButton,{iconType:w.AddRegular,onClick:t.addSelectedItems,disabled:!t.canAddSelectedItems,children:"Add to play queue"})),Lt=O.observer(({playQueueStore:t})=>{const{euiTheme:e}=c.useEuiTheme(),r=h.useCallback(async()=>{},[]),i=h.useCallback(async a=>{const s=Y.findVideoService(a.url);if(s===void 0)return;const d=s.extractVideoId(a.url);if(d===void 0)return;const y=await(await fetch(`https://noembed.com/embed?url=${encodeURIComponent(a.url)}`)).json(),g=t.createItem({url:a.url,type:s.type,videoId:d,title:a.title||(Mn(y)?y.title:d)});await t.addItems([g])},[t]);return $(Ee,{children:[$(c.EuiFlexGroup,{alignItems:"center",gutterSize:"m",style:{position:"sticky",top:48,zIndex:998,background:e.colors.backgroundBasePlain},children:[o(c.EuiFlexItem,{grow:!1,children:o(c.EuiButton,{disabled:!t.canPlaySelectedItemsNext,onClick:t.playSelectedItemsNext,children:"Play next"})}),o(c.EuiFlexItem,{grow:!1,children:o(Dn,{playQueueStore:t})}),o(c.EuiFlexItem,{grow:!1,children:o(Cn,{disabled:!tn.mediaPlayer.enablePlaylists,onAddToPlaylist:r})}),o(c.EuiFlexItem,{grow:!1,children:o(c.EuiButton,{iconType:w.DismissRegular,onClick:t.removeSelectedItems,disabled:!t.canRemoveSelectedItems,children:"Remove"})}),o(c.EuiFlexItem,{grow:!1,children:o(c.EuiButton,{iconType:w.DeleteRegular,onClick:t.clear,disabled:!t.canClear,children:"Clear"})}),o(c.EuiFlexItem,{grow:!0}),$(c.EuiFlexItem,{grow:!1,children:[!1,o(Tt,{onSave:i})]})]}),o(c.EuiSpacer,{size:"l",style:{position:"sticky",top:88,zIndex:998,background:e.colors.backgroundBasePlain}}),t.isEmpty?o(c.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(Tt,{onSave:i})}):o(Fn,{playQueueStore:t})]})}),Nn=({breadcrumbs:t,tabs:e,...r})=>{const i=pr.useRouter();return o(c.EuiPageTemplate.Header,{...r,breadcrumbs: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)}})),tabs: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)}}))})},$n=()=>{const t=Se();return $(Ee,{children:[o(Nn,{pageTitle:"Play queue",rightSideItems:[]}),o(c.EuiPageTemplate.Section,{children:o(Lt,{playQueueStore:t})})]})},jn=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:`Shuffle: ${t.shuffle?"On":"Off"}`,"aria-label":`Shuffle: ${t.shuffle?"On":"Off"}`,iconType:t.shuffle?w.ArrowShuffleFilled:w.ArrowShuffleOffFilled,size:"s",iconSize:"l",onClick:t.toggleShuffle,disabled:!t.canToggleShuffle})),qn=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:"Previous","aria-label":"Previous",iconType:w.PreviousFilled,size:"s",iconSize:"l",onClick:t.previous,disabled:!t.canPrevious})),zn=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:"Skip back 10 seconds","aria-label":"Skip back 10 seconds",iconType:w.SkipBack10Regular,size:"s",iconSize:"l",onClick:t.skipBack10,disabled:!t.canSkipBack10})),Ln=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:"Pause","aria-label":"Pause",iconType:w.PauseFilled,size:"s",iconSize:"l",onClick:t.pause,disabled:!t.canPause})),Qn=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:"Play","aria-label":"Play",iconType:w.PlayFilled,size:"s",iconSize:"l",onClick:t.play,disabled:!t.canPlay})),Bn=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:"Skip forward 30 seconds","aria-label":"Skip forward 30 seconds",iconType:w.SkipForward30Regular,size:"s",iconSize:"l",onClick:t.skipForward30,disabled:!t.canSkipForward30})),Un=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:"Next","aria-label":"Next",iconType:w.NextFilled,size:"s",iconSize:"l",onClick:t.next,disabled:!t.canNext})),Vn={[_.Off]:w.ArrowRepeatAllOffFilled,[_.All]:w.ArrowRepeatAllFilled,[_.One]:w.ArrowRepeat1Filled},Yn=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:`Repeat: ${t.repeat===_.All?"All":t.repeat===_.One?"One":"Off"}`,"aria-label":`Repeat: ${t.repeat===_.All?"All":t.repeat===_.One?"One":"Off"}`,iconType:Vn[t.repeat],size:"s",iconSize:"l",onClick:t.toggleRepeat,disabled:!t.canToggleRepeat})),Gn=O.observer(({bottomBarStore:t})=>$(c.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(jn,{bottomBarStore:t}),o(qn,{bottomBarStore:t}),o(zn,{bottomBarStore:t}),t.playing?o(Ln,{bottomBarStore:t}):o(Qn,{bottomBarStore:t}),o(Bn,{bottomBarStore:t}),o(Un,{bottomBarStore:t}),o(Yn,{bottomBarStore:t})]})),Hn=h.memo(({item:t,closePopover:e})=>{const r=Y.useNostalgicDiva(),i=h.useMemo(()=>[{id:0,items:[{name:"Open in new tab",icon:o(c.EuiIcon,{type:w.OpenRegular}),onClick:async()=>{e(),await r.pause(),window.open(t.dto.url,"_blank")}},{name:"Copy link address",icon:o(c.EuiIcon,{type:""}),onClick:async()=>{e(),await navigator.clipboard.writeText(t.dto.url)}},{name:"Copy link text",icon:o(c.EuiIcon,{type:""}),onClick:async()=>{e(),await navigator.clipboard.writeText(t.dto.title)}}]}],[e,r,t]);return o(c.EuiContextMenu,{initialPanelId:0,panels:i})}),Wn=h.memo(({item:t})=>{const[e,r]=h.useState(!1),i=h.useCallback(()=>r(!e),[e]),a=h.useCallback(()=>r(!1),[]);return o(c.EuiPopover,{button:o(c.EuiButtonEmpty,{iconType:zt[t.type],size:"s",onClick:i,children:t.title}),isOpen:e,closePopover:a,panelPaddingSize:"none",anchorPosition:"upLeft",children:o(Hn,{item:t,closePopover:a})})}),Jn=O.observer(({bottomBarStore:t})=>o(c.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexStart",alignItems:"center",children:t.currentItem&&o(Wn,{item:t.currentItem})})),Kn=O.observer(({bottomBarStore:t})=>o(c.EuiButtonIcon,{title:"Mute","aria-label":"Mute",iconType:w.Speaker2Regular,size:"s",iconSize:"l",disabled:!t.controller.supports("setMuted")})),Xn=O.observer(({bottomBarStore:t,button:e,isOpen:r,closePopover:i})=>{const[a,s]=h.useState("0"),d=Y.useNostalgicDiva();h.useLayoutEffect(()=>{r&&d.getVolume().then(y=>{y!==void 0&&s(Math.floor(y*100).toString())})},[r,d]);const m=h.useCallback(async y=>{s(y.currentTarget.value),await d.setVolume(Number(y.currentTarget.value)/100)},[d]);return o(c.EuiPopover,{button:e,isOpen:r,closePopover:i,anchorPosition:"upRight",children:o(c.EuiFormRow,{children:$(c.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(Kn,{bottomBarStore:t}),o(c.EuiRange,{min:0,max:100,step:1,value:a,onChange:m,css:{blockSize:32},disabled:!t.controller.supports("setVolume")})]})})})}),Zn=O.observer(({bottomBarStore:t})=>{const[e,r]=h.useState(!1),i=()=>r(!e);return o(Xn,{bottomBarStore:t,button:o(c.EuiButtonIcon,{title:"Volume","aria-label":"Volume",iconType:w.Speaker2Regular,size:"s",iconSize:"l",onClick:i,disabled:!t.controller.supports("getVolume")}),isOpen:e,closePopover:()=>r(!1)})}),ei=({onClickPlayQueueButton:t})=>o(c.EuiButtonIcon,{title:"Play queue","aria-label":"Play queue",iconType:w.NavigationPlayRegular,size:"s",iconSize:"l",onClick:t}),ti=O.observer(({bottomBarStore:t,closePopover:e})=>{const r=Y.useNostalgicDiva(),i=h.useCallback(async()=>{await t.skipBack10(),e()},[t,e]),a=h.useCallback(async()=>{await t.skipForward30(),e()},[t,e]),s=h.useCallback(async I=>{await r.setPlaybackRate(I),e()},[r,e]),d=h.useCallback(async()=>{await t.removeFromPlayQueue(),e()},[t,e]),[m,y]=h.useState(),g=h.useCallback(async()=>{await t.controller.getPlaybackRate().then(I=>y(I))},[t]),E=h.useMemo(()=>[{id:0,items:[{name:"Speed",icon:o(c.EuiIcon,{type:w.TopSpeedRegular}),panel:1,onClick:g,disabled:!t.controller.supports("getPlaybackRate")},{name:"Skip back 10 seconds",icon:o(c.EuiIcon,{type:w.SkipBack10Regular}),onClick:i,disabled:!t.canSkipBack10},{name:"Skip forward 30 seconds",icon:o(c.EuiIcon,{type:w.SkipForward30Regular}),onClick:a,disabled:!t.canSkipForward30},{isSeparator:!0},{name:"Remove from play queue",icon:o(c.EuiIcon,{type:w.DismissRegular}),onClick:d,disabled:!t.canRemoveFromPlayQueue}]},{id:1,title:"Speed",items:[.25,.5,.75,1,1.25,1.5,1.75,2].map(I=>({name:I.toString(),onClick:()=>s(I),icon:I===m?"check":"empty",disabled:!t.controller.supports("setPlaybackRate")}))}],[t,g,i,a,d,s,m]);return o(c.EuiContextMenu,{initialPanelId:0,panels:E})}),ri=h.memo(({bottomBarStore:t,button:e,isOpen:r,closePopover:i})=>o(c.EuiPopover,{button:e,isOpen:r,closePopover:i,panelPaddingSize:"none",anchorPosition:"upRight",children:o(ti,{bottomBarStore:t,closePopover:i})})),ni=h.memo(({bottomBarStore:t})=>{const[e,r]=h.useState(!1),i=()=>r(!e);return o(ri,{bottomBarStore:t,button:o(c.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:w.MoreHorizontalFilled,size:"s",iconSize:"l",onClick:i}),isOpen:e,closePopover:()=>r(!1)})}),ii=h.memo(({bottomBarStore:t,onClickPlayQueueButton:e})=>$(c.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexEnd",alignItems:"center",children:[o(Zn,{bottomBarStore:t}),e&&o(ei,{onClickPlayQueueButton:e}),o(ni,{bottomBarStore:t})]})),ai=O.observer(({bottomBarStore:t})=>{const e=Y.useNostalgicDiva(),r=h.useCallback(s=>{const d=Number(s.currentTarget.value)/100;t.setPercent(d)},[t]),i=h.useCallback(s=>{s.button===0&&t.setSeeking(!0)},[t]),a=h.useCallback(async s=>{if(s.button===0){const d=Number(s.currentTarget.value)/100;t.setSeeking(!1);const m=await e.getDuration();m!==void 0&&await e.setCurrentTime(m*d)}},[t,e]);return o(c.EuiRange,{min:0,max:100,step:1e-7,value:t.percent*100,onChange:r,onMouseDown:i,onMouseUp:a,fullWidth:!0,showRange:!0,css:{blockSize:32},disabled:!t.canSeek})}),oi=O.observer(({onClickPlayQueueButton:t})=>{const e=Hr();return o(c.EuiBottomBar,{paddingSize:"s",children:$(c.EuiFlexGroup,{direction:"column",gutterSize:"none",children:[o(c.EuiFlexItem,{children:o(ai,{bottomBarStore:e})}),o(c.EuiFlexItem,{children:$(c.EuiFlexGroup,{responsive:!1,children:[o(c.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Jn,{bottomBarStore:e})}),o(c.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Gn,{bottomBarStore:e})}),o(c.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(ii,{bottomBarStore:e,onClickPlayQueueButton:t})})]})})]})})}),Ke={width:400,height:225},si=O.observer(()=>{const t=Kr(),e=h.useMemo(()=>({onLoaded:t.onLoaded,onPlay:t.onPlay,onPause:t.onPause,onEnded:t.onEnded,onTimeUpdate:t.onTimeUpdate}),[t]);return o("div",{css:{position:"fixed",right:0,bottom:Xe,width:Ke.width,height:Ke.height,zIndex:998,backgroundColor:"rgb(39, 39, 39)",display:"flex",flexDirection:"column"},children:o("div",{css:{flexGrow:1,backgroundColor:"black"},children:t.currentItem&&o(Y.NostalgicDiva,{src:t.currentItem.url,options:e,onControllerChange:t.onControllerChange})})})}),li=O.observer(({children:t})=>{const e=Se();return $(c.EuiPageTemplate,{panelled:!0,style:{minBlockSize:`max(460px, 100vh - ${Xe}px)`},children:[t,!e.isEmpty&&o(c.EuiSpacer,{style:{blockSize:Ke.height}})]})});exports.BottomBar=oi;exports.HydrangeanDivaProvider=en;exports.MediaPlayerLayout=li;exports.MiniPlayer=si;exports.MobXObservableStateProvider=Pe;exports.ObservableStateProvider=hr;exports.PlayQueue=Lt;exports.PlayQueuePage=$n;exports.PlayQueueStoreContext=Ze;exports.RepeatMode=_;exports.bottomBarHeight=Xe;exports.usePlayQueueStore=Se;
15
15
  //# sourceMappingURL=index.cjs.js.map