@aigamo/hydrangean-diva 0.0.1-alpha.60 → 0.0.1-alpha.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),
|
|
2
|
-
`+
|
|
3
|
-
`),K=
|
|
4
|
-
`),
|
|
5
|
-
`+T[
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),Nr=require("@emotion/cache"),jr=require("ajv"),l=require("mobx"),Xe=require("@aigamo/route-sphere"),Ke=require("lodash-es"),pe=require("@aigamo/nostalgic-diva"),i=require("@elastic/eui"),I=require("mobx-react-lite"),b=require("@fluentui/react-icons"),me=require("ez-modal-react"),St=require("react-sortablejs"),It=require("@tanstack/react-router");function $r(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const de=$r(p),Et=81,Ze=new Map(Object.entries({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"}));var Ge={exports:{}},Ae={};var Qt;function Lr(){if(Qt)return Ae;Qt=1;var e=p,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,s=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function u(h,f,S){var x,k={},G=null,V=null;S!==void 0&&(G=""+S),f.key!==void 0&&(G=""+f.key),f.ref!==void 0&&(V=f.ref);for(x in f)a.call(f,x)&&!c.hasOwnProperty(x)&&(k[x]=f[x]);if(h&&h.defaultProps)for(x in f=h.defaultProps,f)k[x]===void 0&&(k[x]=f[x]);return{$$typeof:t,type:h,key:G,ref:V,props:k,_owner:s.current}}return Ae.Fragment=r,Ae.jsx=u,Ae.jsxs=u,Ae}var Be={};var Ht;function zr(){return Ht||(Ht=1,process.env.NODE_ENV!=="production"&&(function(){var e=p,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),h=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),S=Symbol.for("react.suspense"),x=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),G=Symbol.for("react.lazy"),V=Symbol.for("react.offscreen"),q=Symbol.iterator,re="@@iterator";function ce(n){if(n===null||typeof n!="object")return null;var d=q&&n[q]||n[re];return typeof d=="function"?d:null}var X=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function D(n){{for(var d=arguments.length,y=new Array(d>1?d-1:0),g=1;g<d;g++)y[g-1]=arguments[g];U("error",n,y)}}function U(n,d,y){{var g=X.ReactDebugCurrentFrame,w=g.getStackAddendum();w!==""&&(d+="%s",y=y.concat([w]));var B=y.map(function(R){return String(R)});B.unshift("Warning: "+d),Function.prototype.apply.call(console[n],console,B)}}var z=!1,m=!1,Z=!1,xe=!1,$e=!1,Le;Le=Symbol.for("react.module.reference");function ot(n){return!!(typeof n=="string"||typeof n=="function"||n===a||n===c||$e||n===s||n===S||n===x||xe||n===V||z||m||Z||typeof n=="object"&&n!==null&&(n.$$typeof===G||n.$$typeof===k||n.$$typeof===u||n.$$typeof===h||n.$$typeof===f||n.$$typeof===Le||n.getModuleId!==void 0))}function nt(n,d,y){var g=n.displayName;if(g)return g;var w=d.displayName||d.name||"";return w!==""?y+"("+w+")":y}function ze(n){return n.displayName||"Context"}function ae(n){if(n==null)return null;if(typeof n.tag=="number"&&D("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 a:return"Fragment";case r:return"Portal";case c:return"Profiler";case s:return"StrictMode";case S:return"Suspense";case x:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case h:var d=n;return ze(d)+".Consumer";case u:var y=n;return ze(y._context)+".Provider";case f:return nt(n,n.render,"ForwardRef");case k:var g=n.displayName||null;return g!==null?g:ae(n.type)||"Memo";case G:{var w=n,B=w._payload,R=w._init;try{return ae(R(B))}catch{return null}}}return null}var ue=Object.assign,fe=0,Qe,He,Te,Ye,Re,Ve,qe;function Ue(){}Ue.__reactDisabledLog=!0;function it(){{if(fe===0){Qe=console.log,He=console.info,Te=console.warn,Ye=console.error,Re=console.group,Ve=console.groupCollapsed,qe=console.groupEnd;var n={configurable:!0,enumerable:!0,value:Ue,writable:!0};Object.defineProperties(console,{info:n,log:n,warn:n,error:n,group:n,groupCollapsed:n,groupEnd:n})}fe++}}function at(){{if(fe--,fe===0){var n={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:ue({},n,{value:Qe}),info:ue({},n,{value:He}),warn:ue({},n,{value:Te}),error:ue({},n,{value:Ye}),group:ue({},n,{value:Re}),groupCollapsed:ue({},n,{value:Ve}),groupEnd:ue({},n,{value:qe})})}fe<0&&D("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var we=X.ReactCurrentDispatcher,Oe;function be(n,d,y){{if(Oe===void 0)try{throw Error()}catch(w){var g=w.stack.trim().match(/\n( *(at )?)/);Oe=g&&g[1]||""}return`
|
|
2
|
+
`+Oe+n}}var _e=!1,ge;{var st=typeof WeakMap=="function"?WeakMap:Map;ge=new st}function v(n,d){if(!n||_e)return"";{var y=ge.get(n);if(y!==void 0)return y}var g;_e=!0;var w=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var B;B=we.current,we.current=null,it();try{if(d){var R=function(){throw Error()};if(Object.defineProperty(R.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(R,[])}catch(ee){g=ee}Reflect.construct(n,[],R)}else{try{R.call()}catch(ee){g=ee}n.call(R.prototype)}}else{try{throw Error()}catch(ee){g=ee}n()}}catch(ee){if(ee&&g&&typeof ee.stack=="string"){for(var T=ee.stack.split(`
|
|
3
|
+
`),K=g.stack.split(`
|
|
4
|
+
`),Q=T.length-1,W=K.length-1;Q>=1&&W>=0&&T[Q]!==K[W];)W--;for(;Q>=1&&W>=0;Q--,W--)if(T[Q]!==K[W]){if(Q!==1||W!==1)do if(Q--,W--,W<0||T[Q]!==K[W]){var oe=`
|
|
5
|
+
`+T[Q].replace(" at new "," at ");return n.displayName&&oe.includes("<anonymous>")&&(oe=oe.replace("<anonymous>",n.displayName)),typeof n=="function"&&ge.set(n,oe),oe}while(Q>=1&&W>=0);break}}}finally{_e=!1,we.current=B,at(),Error.prepareStackTrace=w}var Ee=n?n.displayName||n.name:"",he=Ee?be(Ee):"";return typeof n=="function"&&ge.set(n,he),he}function ke(n,d,y){return v(n,!1)}function Se(n){var d=n.prototype;return!!(d&&d.isReactComponent)}function ye(n,d,y){if(n==null)return"";if(typeof n=="function")return v(n,Se(n));if(typeof n=="string")return be(n);switch(n){case S:return be("Suspense");case x:return be("SuspenseList")}if(typeof n=="object")switch(n.$$typeof){case f:return ke(n.render);case k:return ye(n.type,d,y);case G:{var g=n,w=g._payload,B=g._init;try{return ye(B(w),d,y)}catch{}}}return""}var Fe=Object.prototype.hasOwnProperty,wt={},Ot=X.ReactDebugCurrentFrame;function We(n){if(n){var d=n._owner,y=ye(n.type,n._source,d?d.type:null);Ot.setExtraStackFrame(y)}else Ot.setExtraStackFrame(null)}function yr(n,d,y,g,w){{var B=Function.call.bind(Fe);for(var R in n)if(B(n,R)){var T=void 0;try{if(typeof n[R]!="function"){var K=Error((g||"React class")+": "+y+" type `"+R+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof n[R]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw K.name="Invariant Violation",K}T=n[R](d,R,g,y,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Q){T=Q}T&&!(T instanceof Error)&&(We(w),D("%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",y,R,typeof T),We(null)),T instanceof Error&&!(T.message in wt)&&(wt[T.message]=!0,We(w),D("Failed %s type: %s",y,T.message),We(null))}}}var hr=Array.isArray;function lt(n){return hr(n)}function vr(n){{var d=typeof Symbol=="function"&&Symbol.toStringTag,y=d&&n[Symbol.toStringTag]||n.constructor.name||"Object";return y}}function br(n){try{return _t(n),!1}catch{return!0}}function _t(n){return""+n}function kt(n){if(br(n))return D("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",vr(n)),_t(n)}var Ft=X.ReactCurrentOwner,gr={key:!0,ref:!0,__self:!0,__source:!0},At,Bt;function Sr(n){if(Fe.call(n,"ref")){var d=Object.getOwnPropertyDescriptor(n,"ref").get;if(d&&d.isReactWarning)return!1}return n.ref!==void 0}function Ir(n){if(Fe.call(n,"key")){var d=Object.getOwnPropertyDescriptor(n,"key").get;if(d&&d.isReactWarning)return!1}return n.key!==void 0}function Er(n,d){typeof n.ref=="string"&&Ft.current}function Pr(n,d){{var y=function(){At||(At=!0,D("%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)",d))};y.isReactWarning=!0,Object.defineProperty(n,"key",{get:y,configurable:!0})}}function Cr(n,d){{var y=function(){Bt||(Bt=!0,D("%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)",d))};y.isReactWarning=!0,Object.defineProperty(n,"ref",{get:y,configurable:!0})}}var xr=function(n,d,y,g,w,B,R){var T={$$typeof:t,type:n,key:d,ref:y,props:R,_owner:B};return T._store={},Object.defineProperty(T._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(T,"_self",{configurable:!1,enumerable:!1,writable:!1,value:g}),Object.defineProperty(T,"_source",{configurable:!1,enumerable:!1,writable:!1,value:w}),Object.freeze&&(Object.freeze(T.props),Object.freeze(T)),T};function Tr(n,d,y,g,w){{var B,R={},T=null,K=null;y!==void 0&&(kt(y),T=""+y),Ir(d)&&(kt(d.key),T=""+d.key),Sr(d)&&(K=d.ref,Er(d,w));for(B in d)Fe.call(d,B)&&!gr.hasOwnProperty(B)&&(R[B]=d[B]);if(n&&n.defaultProps){var Q=n.defaultProps;for(B in Q)R[B]===void 0&&(R[B]=Q[B])}if(T||K){var W=typeof n=="function"?n.displayName||n.name||"Unknown":n;T&&Pr(R,W),K&&Cr(R,W)}return xr(n,T,K,w,g,Ft.current,R)}}var ct=X.ReactCurrentOwner,Mt=X.ReactDebugCurrentFrame;function Ie(n){if(n){var d=n._owner,y=ye(n.type,n._source,d?d.type:null);Mt.setExtraStackFrame(y)}else Mt.setExtraStackFrame(null)}var ut;ut=!1;function dt(n){return typeof n=="object"&&n!==null&&n.$$typeof===t}function Dt(){{if(ct.current){var n=ae(ct.current.type);if(n)return`
|
|
6
6
|
|
|
7
|
-
Check the render method of \``+n+"`."}return""}}function
|
|
7
|
+
Check the render method of \``+n+"`."}return""}}function Rr(n){return""}var Nt={};function wr(n){{var d=Dt();if(!d){var y=typeof n=="string"?n:n.displayName||n.name;y&&(d=`
|
|
8
8
|
|
|
9
|
-
Check the top-level render call using <`+
|
|
9
|
+
Check the top-level render call using <`+y+">.")}return d}}function jt(n,d){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var y=wr(d);if(Nt[y])return;Nt[y]=!0;var g="";n&&n._owner&&n._owner!==ct.current&&(g=" It was passed a child from "+ae(n._owner.type)+"."),Ie(n),D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',y,g),Ie(null)}}function $t(n,d){{if(typeof n!="object")return;if(lt(n))for(var y=0;y<n.length;y++){var g=n[y];dt(g)&&jt(g,d)}else if(dt(n))n._store&&(n._store.validated=!0);else if(n){var w=ce(n);if(typeof w=="function"&&w!==n.entries)for(var B=w.call(n),R;!(R=B.next()).done;)dt(R.value)&&jt(R.value,d)}}}function Or(n){{var d=n.type;if(d==null||typeof d=="string")return;var y;if(typeof d=="function")y=d.propTypes;else if(typeof d=="object"&&(d.$$typeof===f||d.$$typeof===k))y=d.propTypes;else return;if(y){var g=ae(d);yr(y,n.props,"prop",g,n)}else if(d.PropTypes!==void 0&&!ut){ut=!0;var w=ae(d);D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",w||"Unknown")}typeof d.getDefaultProps=="function"&&!d.getDefaultProps.isReactClassApproved&&D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function _r(n){{for(var d=Object.keys(n.props),y=0;y<d.length;y++){var g=d[y];if(g!=="children"&&g!=="key"){Ie(n),D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",g),Ie(null);break}}n.ref!==null&&(Ie(n),D("Invalid attribute `ref` supplied to `React.Fragment`."),Ie(null))}}var Lt={};function zt(n,d,y,g,w,B){{var R=ot(n);if(!R){var T="";(n===void 0||typeof n=="object"&&n!==null&&Object.keys(n).length===0)&&(T+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var K=Rr();K?T+=K:T+=Dt();var Q;n===null?Q="null":lt(n)?Q="array":n!==void 0&&n.$$typeof===t?(Q="<"+(ae(n.type)||"Unknown")+" />",T=" Did you accidentally export a JSX literal instead of a component?"):Q=typeof n,D("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Q,T)}var W=Tr(n,d,y,w,B);if(W==null)return W;if(R){var oe=d.children;if(oe!==void 0)if(g)if(lt(oe)){for(var Ee=0;Ee<oe.length;Ee++)$t(oe[Ee],n);Object.freeze&&Object.freeze(oe)}else D("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 $t(oe,n)}if(Fe.call(d,"key")){var he=ae(n),ee=Object.keys(d).filter(function(Dr){return Dr!=="key"}),pt=ee.length>0?"{key: someKey, "+ee.join(": ..., ")+": ...}":"{key: someKey}";if(!Lt[he+pt]){var Mr=ee.length>0?"{"+ee.join(": ..., ")+": ...}":"{}";D(`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} />`,pt,he,Br,he),Lt[he+pt]=!0}}return n===a?Or(W):wr(W),W}}function _r(n,d,f){return Qt(n,d,f,!0)}function kr(n,d,f){return Qt(n,d,f,!1)}var Fr=kr,Ar=_r;Ae.Fragment=a,Ae.jsx=Fr,Ae.jsxs=Ar})()),Ae}var Ht;function Qr(){return Ht||(Ht=1,process.env.NODE_ENV==="production"?Ge.exports=$r():Ge.exports=Lr()),Ge.exports}var Be=Qr(),Je={exports:{}},_={};var Vt;function zr(){if(Vt)return _;Vt=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,a=e?Symbol.for("react.fragment"):60107,i=e?Symbol.for("react.strict_mode"):60108,c=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,h=e?Symbol.for("react.context"):60110,y=e?Symbol.for("react.async_mode"):60111,g=e?Symbol.for("react.concurrent_mode"):60111,C=e?Symbol.for("react.forward_ref"):60112,x=e?Symbol.for("react.suspense"):60113,J=e?Symbol.for("react.suspense_list"):60120,V=e?Symbol.for("react.memo"):60115,q=e?Symbol.for("react.lazy"):60116,re=e?Symbol.for("react.block"):60121,ce=e?Symbol.for("react.fundamental"):60117,X=e?Symbol.for("react.responder"):60118,M=e?Symbol.for("react.scope"):60119;function U(m){if(typeof m=="object"&&m!==null){var Z=m.$$typeof;switch(Z){case t:switch(m=m.type,m){case y:case g:case a:case c:case i:case x:return m;default:switch(m=m&&m.$$typeof,m){case h:case C:case q:case V:case u:return m;default:return Z}}case r:return Z}}}function Q(m){return U(m)===g}return _.AsyncMode=y,_.ConcurrentMode=g,_.ContextConsumer=h,_.ContextProvider=u,_.Element=t,_.ForwardRef=C,_.Fragment=a,_.Lazy=q,_.Memo=V,_.Portal=r,_.Profiler=c,_.StrictMode=i,_.Suspense=x,_.isAsyncMode=function(m){return Q(m)||U(m)===y},_.isConcurrentMode=Q,_.isContextConsumer=function(m){return U(m)===h},_.isContextProvider=function(m){return U(m)===u},_.isElement=function(m){return typeof m=="object"&&m!==null&&m.$$typeof===t},_.isForwardRef=function(m){return U(m)===C},_.isFragment=function(m){return U(m)===a},_.isLazy=function(m){return U(m)===q},_.isMemo=function(m){return U(m)===V},_.isPortal=function(m){return U(m)===r},_.isProfiler=function(m){return U(m)===c},_.isStrictMode=function(m){return U(m)===i},_.isSuspense=function(m){return U(m)===x},_.isValidElementType=function(m){return typeof m=="string"||typeof m=="function"||m===a||m===g||m===c||m===i||m===x||m===J||typeof m=="object"&&m!==null&&(m.$$typeof===q||m.$$typeof===V||m.$$typeof===u||m.$$typeof===h||m.$$typeof===C||m.$$typeof===ce||m.$$typeof===X||m.$$typeof===M||m.$$typeof===re)},_.typeOf=U,_}var k={};var qt;function Yr(){return qt||(qt=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,a=e?Symbol.for("react.fragment"):60107,i=e?Symbol.for("react.strict_mode"):60108,c=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,h=e?Symbol.for("react.context"):60110,y=e?Symbol.for("react.async_mode"):60111,g=e?Symbol.for("react.concurrent_mode"):60111,C=e?Symbol.for("react.forward_ref"):60112,x=e?Symbol.for("react.suspense"):60113,J=e?Symbol.for("react.suspense_list"):60120,V=e?Symbol.for("react.memo"):60115,q=e?Symbol.for("react.lazy"):60116,re=e?Symbol.for("react.block"):60121,ce=e?Symbol.for("react.fundamental"):60117,X=e?Symbol.for("react.responder"):60118,M=e?Symbol.for("react.scope"):60119;function U(v){return typeof v=="string"||typeof v=="function"||v===a||v===g||v===c||v===i||v===x||v===J||typeof v=="object"&&v!==null&&(v.$$typeof===q||v.$$typeof===V||v.$$typeof===u||v.$$typeof===h||v.$$typeof===C||v.$$typeof===ce||v.$$typeof===X||v.$$typeof===M||v.$$typeof===re)}function Q(v){if(typeof v=="object"&&v!==null){var _e=v.$$typeof;switch(_e){case t:var ge=v.type;switch(ge){case y:case g:case a:case c:case i:case x:return ge;default:var ye=ge&&ge.$$typeof;switch(ye){case h:case C:case q:case V:case u:return ye;default:return _e}}case r:return _e}}}var m=y,Z=g,Ce=h,$e=u,Le=t,ot=C,nt=a,Qe=q,ie=V,ue=r,fe=c,ze=i,Ye=x,Te=!1;function He(v){return Te||(Te=!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.")),xe(v)||Q(v)===y}function xe(v){return Q(v)===g}function Ve(v){return Q(v)===h}function qe(v){return Q(v)===u}function Ue(v){return typeof v=="object"&&v!==null&&v.$$typeof===t}function at(v){return Q(v)===C}function it(v){return Q(v)===a}function Re(v){return Q(v)===q}function we(v){return Q(v)===V}function ve(v){return Q(v)===r}function Oe(v){return Q(v)===c}function be(v){return Q(v)===i}function st(v){return Q(v)===x}k.AsyncMode=m,k.ConcurrentMode=Z,k.ContextConsumer=Ce,k.ContextProvider=$e,k.Element=Le,k.ForwardRef=ot,k.Fragment=nt,k.Lazy=Qe,k.Memo=ie,k.Portal=ue,k.Profiler=fe,k.StrictMode=ze,k.Suspense=Ye,k.isAsyncMode=He,k.isConcurrentMode=xe,k.isContextConsumer=Ve,k.isContextProvider=qe,k.isElement=Ue,k.isForwardRef=at,k.isFragment=it,k.isLazy=Re,k.isMemo=we,k.isPortal=ve,k.isProfiler=Oe,k.isStrictMode=be,k.isSuspense=st,k.isValidElementType=U,k.typeOf=Q})()),k}var Ut;function Hr(){return Ut||(Ut=1,process.env.NODE_ENV==="production"?Je.exports=zr():Je.exports=Yr()),Je.exports}var mt,Wt;function Vr(){if(Wt)return mt;Wt=1;var e=Hr(),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},a={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},c={};c[e.ForwardRef]=a,c[e.Memo]=i;function u(q){return e.isMemo(q)?i:c[q.$$typeof]||t}var h=Object.defineProperty,y=Object.getOwnPropertyNames,g=Object.getOwnPropertySymbols,C=Object.getOwnPropertyDescriptor,x=Object.getPrototypeOf,J=Object.prototype;function V(q,re,ce){if(typeof re!="string"){if(J){var X=x(re);X&&X!==J&&V(q,X,ce)}var M=y(re);g&&(M=M.concat(g(re)));for(var U=u(q),Q=u(re),m=0;m<M.length;++m){var Z=M[m];if(!r[Z]&&!(ce&&ce[Z])&&!(Q&&Q[Z])&&!(U&&U[Z])){var Ce=C(re,Z);try{h(q,Z,Ce)}catch{}}}}return q}return mt=V,mt}Vr();var qr=!0;function Ur(e,t,r){var a="";return r.split(" ").forEach(function(i){e[i]!==void 0?t.push(e[i]+";"):i&&(a+=i+" ")}),a}var Xt=function(t,r,a){var i=t.key+"-"+r.name;(a===!1||qr===!1)&&t.registered[i]===void 0&&(t.registered[i]=r.styles)},Wr=function(t,r,a){Xt(t,r,a);var i=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var c=r;do t.insert(r===c?"."+i:"",c,t.sheet,!0),c=c.next;while(c!==void 0)}};function Gr(e){for(var t=0,r,a=0,i=e.length;i>=4;++a,i-=4)r=e.charCodeAt(a)&255|(e.charCodeAt(++a)&255)<<8|(e.charCodeAt(++a)&255)<<16|(e.charCodeAt(++a)&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(i){case 3:t^=(e.charCodeAt(a+2)&255)<<16;case 2:t^=(e.charCodeAt(a+1)&255)<<8;case 1:t^=e.charCodeAt(a)&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 Jr={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 Kr(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,Zr=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Zt=function(t){return t.charCodeAt(1)===45},Gt=function(t){return t!=null&&typeof t!="boolean"},ft=Kr(function(e){return Zt(e)?e:e.replace(Xr,"-$&").toLowerCase()}),Jt=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(Zr,function(a,i,c){return se={name:i,styles:c,next:se},i})}return Jr[t]!==1&&!Zt(t)&&typeof r=="number"&&r!==0?r+"px":r};function Me(e,t,r){if(r==null)return"";var a=r;if(a.__emotion_styles!==void 0)return a;switch(typeof r){case"boolean":return"";case"object":{var i=r;if(i.anim===1)return se={name:i.name,styles:i.styles,next:se},i.name;var c=r;if(c.styles!==void 0){var u=c.next;if(u!==void 0)for(;u!==void 0;)se={name:u.name,styles:u.styles,next:se},u=u.next;var h=c.styles+";";return h}return eo(e,t,r)}case"function":{if(e!==void 0){var y=se,g=r(e);return se=y,Me(e,t,g)}break}}var C=r;return C}function eo(e,t,r){var a="";if(Array.isArray(r))for(var i=0;i<r.length;i++)a+=Me(e,t,r[i])+";";else for(var c in r){var u=r[c];if(typeof u!="object"){var h=u;Gt(h)&&(a+=ft(c)+":"+Jt(c,h)+";")}else if(Array.isArray(u)&&typeof u[0]=="string"&&t==null)for(var y=0;y<u.length;y++)Gt(u[y])&&(a+=ft(c)+":"+Jt(c,u[y])+";");else{var g=Me(e,t,u);switch(c){case"animation":case"animationName":{a+=ft(c)+":"+g+";";break}default:a+=c+"{"+g+"}"}}}return a}var Kt=/label:\s*([^\s;{]+)\s*(;|$)/g,se;function to(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var a=!0,i="";se=void 0;var c=e[0];if(c==null||c.raw===void 0)a=!1,i+=Me(r,t,c);else{var u=c;i+=u[0]}for(var h=1;h<e.length;h++)if(i+=Me(r,t,e[h]),a){var y=c;i+=y[h]}Kt.lastIndex=0;for(var g="",C;(C=Kt.exec(i))!==null;)g+="-"+C[1];var x=Gr(i)+g;return{name:x,styles:i,next:se}}var ro=function(t){return t()},oo=de.useInsertionEffect?de.useInsertionEffect:!1,no=oo||ro,er=de.createContext(typeof HTMLElement<"u"?Dr({key:"css"}):null);er.Provider;var ao=function(t){return p.forwardRef(function(r,a){var i=p.useContext(er);return t(r,i,a)})},io=de.createContext({}),et={}.hasOwnProperty,ht="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",tr=function(t,r){var a={};for(var i in r)et.call(r,i)&&(a[i]=r[i]);return a[ht]=t,a},so=function(t){var r=t.cache,a=t.serialized,i=t.isStringTag;return Xt(r,a,i),no(function(){return Wr(r,a,i)}),null},lo=ao(function(e,t,r){var a=e.css;typeof a=="string"&&t.registered[a]!==void 0&&(a=t.registered[a]);var i=e[ht],c=[a],u="";typeof e.className=="string"?u=Ur(t.registered,c,e.className):e.className!=null&&(u=e.className+" ");var h=to(c,void 0,de.useContext(io));u+=t.key+"-"+h.name;var y={};for(var g in e)et.call(e,g)&&g!=="css"&&g!==ht&&(y[g]=e[g]);return y.className=u,r&&(y.ref=r),de.createElement(de.Fragment,null,de.createElement(so,{cache:t,serialized:h,isStringTag:typeof i=="string"}),de.createElement(i,y))}),rr=lo,De=Be.Fragment,o=function(t,r,a){return et.call(r,"css")?Be.jsx(rr,tr(t,r),a):Be.jsx(t,r,a)},w=function(t,r,a){return et.call(r,"css")?Be.jsxs(rr,tr(t,r),a):Be.jsxs(t,r,a)};const co=({components:e=[],children:t})=>o(De,{children:e.reduceRight((r,a)=>o(a,{children:r}),t)}),tt={playQueue:"PlayQueueStore",bottomBar:"BottomBarStore",playlistList:"PlaylistListStore",playlist:e=>`PlaylistStore/${e}`},or=p.createContext(void 0),G=()=>p.useContext(or),yt=new jr({coerceTypes:!0});function Pt(e,t){let r;if(r=yt.getSchema(t),r===void 0&&(yt.addSchema(e,t),r=yt.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}var D=(e=>(e.Off="Off",e.All="All",e.One="One",e))(D||{}),uo=Object.defineProperty,po=Object.getOwnPropertyDescriptor,F=(e,t,r,a)=>{for(var i=a>1?void 0:a?po(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&uo(t,r,i),i};const mo={type:"object",properties:{repeat:{type:"string",enum:Object.values(D),nullable:!0},shuffle:{type:"boolean",nullable:!0}}};class nr{constructor(t){this.bottomBar=t,s.makeObservable(this)}get state(){return{repeat:this.bottomBar.repeat,shuffle:this.bottomBar.shuffle}}set state(t){this.bottomBar.repeat=t.repeat??D.Off,this.bottomBar.shuffle=t.shuffle??!1}validateState(t){return Pt(mo,"BottomBarLocalStorageState")(t)}}F([s.computed.struct],nr.prototype,"state",1);class A{constructor(t,r){this.player=t,this.playQueue=r,s.makeObservable(this),this.localStorageState=new nr(this)}localStorageState;repeat=D.Off;shuffle=!1;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 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(t){this.player.setPercent(t)}setSeeking(t){this.player.setSeeking(t)}toggleRepeat(){switch(this.repeat){case D.Off:this.repeat=D.All;break;case D.All:this.repeat=D.One;break;case D.One:this.repeat=D.Off;break}}toggleShuffle(){this.shuffle=!this.shuffle}play(){return this.controller.play()}pause(){return this.controller.pause()}async previous(){if(this.playQueue.hasPreviousItem){const t=await this.controller.getCurrentTime();t===void 0||t<5?await this.playQueue.previous():await this.controller.setCurrentTime(0)}else await this.controller.setCurrentTime(0)}next(){return this.playQueue.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)}async removeFromPlayQueue(){this.currentItem!==void 0&&await this.playQueue.removeItems([this.currentItem])}}F([s.observable],A.prototype,"repeat",2);F([s.observable],A.prototype,"shuffle",2);F([s.computed],A.prototype,"controller",1);F([s.computed],A.prototype,"playing",1);F([s.computed],A.prototype,"percent",1);F([s.computed],A.prototype,"canSeek",1);F([s.computed],A.prototype,"currentItem",1);F([s.computed],A.prototype,"canToggleRepeat",1);F([s.computed],A.prototype,"canToggleShuffle",1);F([s.computed],A.prototype,"canPlay",1);F([s.computed],A.prototype,"canPause",1);F([s.computed],A.prototype,"canPrevious",1);F([s.computed],A.prototype,"canNext",1);F([s.computed],A.prototype,"canSkipBack10",1);F([s.computed],A.prototype,"canSkipForward30",1);F([s.computed],A.prototype,"canRemoveFromPlayQueue",1);F([s.action.bound],A.prototype,"setPercent",1);F([s.action.bound],A.prototype,"setSeeking",1);F([s.action.bound],A.prototype,"toggleRepeat",1);F([s.action.bound],A.prototype,"toggleShuffle",1);F([s.action.bound],A.prototype,"play",1);F([s.action.bound],A.prototype,"pause",1);F([s.action.bound],A.prototype,"previous",1);F([s.action.bound],A.prototype,"next",1);F([s.action.bound],A.prototype,"skipBack10",1);F([s.action.bound],A.prototype,"skipForward30",1);F([s.action.bound],A.prototype,"removeFromPlayQueue",1);const Ct=p.createContext(void 0),Ee=()=>p.useContext(Ct),ar=p.createContext(void 0),ir=()=>p.useContext(ar),fo=({children:e})=>{const t=ir(),r=Ee(),[a]=p.useState(()=>new A(t,r));return Xe.useLocalStorageState(tt.bottomBar,a.localStorageState),o(or.Provider,{value:a,children:e})},sr=p.createContext(void 0),yo=()=>p.useContext(sr);var ho=Object.defineProperty,vo=Object.getOwnPropertyDescriptor,le=(e,t,r,a)=>{for(var i=a>1?void 0:a?vo(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&ho(t,r,i),i};class ae{constructor(t,r,a){this.player=t,this.playQueue=r,this.bottomBar=a,s.makeObservable(this)}interacted=!1;get controller(){return this.player.controller}get currentItem(){return this.playQueue.currentItem}interact(){this.interacted=!0}async onLoaded(){this.interacted&&await this.controller.play()}onPlay(){this.player.onPlay()}onPause(){this.player.onPause()}async onEnded(){switch(this.bottomBar.repeat){case D.One:await this.controller.setCurrentTime(0);break;case D.Off:case D.All:if(this.playQueue.isLastItem)switch(this.bottomBar.repeat){case D.Off:this.player.onEnded();break;case D.All:this.playQueue.hasMultipleItems?await this.playQueue.goToFirst():await this.controller.setCurrentTime(0);break}else await this.playQueue.next();break}}onTimeUpdate(t){this.player.onTimeUpdate(t)}onControllerChange(t){this.player.onControllerChange(t)}}le([s.observable],ae.prototype,"interacted",2);le([s.computed],ae.prototype,"controller",1);le([s.computed],ae.prototype,"currentItem",1);le([s.action.bound],ae.prototype,"interact",1);le([s.action.bound],ae.prototype,"onLoaded",1);le([s.action.bound],ae.prototype,"onPlay",1);le([s.action.bound],ae.prototype,"onPause",1);le([s.action.bound],ae.prototype,"onEnded",1);le([s.action.bound],ae.prototype,"onTimeUpdate",1);le([s.action.bound],ae.prototype,"onControllerChange",1);const bo=({children:e})=>{const t=ir(),r=Ee(),a=G(),[i]=p.useState(()=>new ae(t,r,a));return o(sr.Provider,{value:i,children:e})},lr={type:"object",properties:{url:{type:"string"},type:{type:"string"},videoId:{type:"string"},title:{type:"string"}},required:["url","type","videoId","title"]},go={type:"object",properties:{version:{type:"string",nullable:!0},repeat:{type:"string",enum:Object.values(D),nullable:!0},shuffle:{type:"boolean",nullable:!0},items:{type:"array",nullable:!0,items:lr},currentIndex:{type:"integer",nullable:!0}}};var So=Object.defineProperty,Io=Object.getOwnPropertyDescriptor,Y=(e,t,r,a)=>{for(var i=a>1?void 0:a?Io(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&So(t,r,i),i};const $=class vt{constructor(t,r){this.playQueue=t,this.dto=r,s.makeObservable(this),this.id=vt.nextId++}static nextId=1;id;isSelected=!1;static fromDto(t,r){return new vt(t,r)}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.createItemFromDto(this.dto)}unselect(){this.isSelected=!1}select(){this.isSelected=!0}toggleSelected(){this.isSelected=!this.isSelected}play(){return this.playQueue.setCurrentItem(this),Promise.resolve()}remove(){return this.playQueue.removeItems([this])}playFirst(){return this.playQueue.playFirst([this.clone()])}playNext(){return this.playQueue.playNext([this.clone()])}addToPlayQueue(){return 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)}};Y([s.observable],$.prototype,"isSelected",2);Y([s.computed],$.prototype,"isCurrent",1);Y([s.computed],$.prototype,"index",1);Y([s.computed],$.prototype,"isFirst",1);Y([s.computed],$.prototype,"isLast",1);Y([s.computed],$.prototype,"canMoveToTop",1);Y([s.computed],$.prototype,"canMoveToBottom",1);Y([s.computed],$.prototype,"canRemoveToTop",1);Y([s.computed],$.prototype,"canRemoveOthers",1);Y([s.action.bound],$.prototype,"unselect",1);Y([s.action.bound],$.prototype,"select",1);Y([s.action.bound],$.prototype,"toggleSelected",1);Y([s.action.bound],$.prototype,"play",1);Y([s.action.bound],$.prototype,"remove",1);Y([s.action.bound],$.prototype,"playFirst",1);Y([s.action.bound],$.prototype,"playNext",1);Y([s.action.bound],$.prototype,"addToPlayQueue",1);Y([s.action.bound],$.prototype,"moveToTop",1);Y([s.action.bound],$.prototype,"moveToBottom",1);Y([s.action.bound],$.prototype,"removeToTop",1);Y([s.action.bound],$.prototype,"removeOthers",1);let Eo=$;var Po=Object.defineProperty,Co=Object.getOwnPropertyDescriptor,I=(e,t,r,a)=>{for(var i=a>1?void 0:a?Co(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&Po(t,r,i),i};class cr{constructor(t){this.playQueue=t,s.makeObservable(this)}get state(){return{version:"1.0",items:this.playQueue.items.map(t=>t.dto),currentIndex:this.playQueue.currentIndex}}set state(t){this.playQueue.items=t.items?.map(r=>this.playQueue.createItemFromDto(r))??[],this.playQueue.currentIndex=t.currentIndex}validateState(t){return Pt(go,"PlayQueueDto")(t)}}I([s.computed.struct],cr.prototype,"state",1);class E{localStorageState;items=[];currentId;constructor(){s.makeObservable(this),this.localStorageState=new cr(this)}createItemFromDto(t){return Eo.fromDto(this,{url:t.url,type:t.type,videoId:t.videoId,title:t.title})}get isEmpty(){return this.items.length===0}get canClear(){return!this.isEmpty}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}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(t){this.items=t}clear(){this.currentIndex=void 0,this.items=[]}unselectAll(){for(const t of this.items)t.unselect()}selectAll(){for(const t of this.items)t.select()}setCurrentItem(t){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.items.splice(r,0,...t),this.currentIndex=r)}moveItem(t,r){const a=this.items.splice(this.items.indexOf(t),1)[0];this.items.splice(r,0,a)}async goToFirst(){this.currentIndex!==void 0&&(this.currentIndex=0)}async removeItems(t){const{currentItem:r}=this;Ke.pull(this.items,...t.filter(c=>c!==r));const{currentIndex:a,isLastItem:i}=this;Ke.pull(this.items,t.find(c=>c===r)),this.currentItem!==r&&(i?await this.goToFirst():this.currentIndex=a)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(t){const r=t.id;return this.removeItems(this.items.filter(a=>a.id!==r))}async removeItemsAbove(t){const r=this.items.indexOf(t);return this.removeItems(this.items.filter((a,i)=>i<r))}async previous(){this.currentIndex!==void 0&&this.hasPreviousItem&&this.currentIndex--}async next(){this.currentIndex!==void 0&&this.hasNextItem&&this.currentIndex++}addItemFromDto(t){const r=this.createItemFromDto(t);return this.addItems([r])}}I([s.observable],E.prototype,"items",2);I([s.observable],E.prototype,"currentId",2);I([s.computed],E.prototype,"isEmpty",1);I([s.computed],E.prototype,"canClear",1);I([s.computed],E.prototype,"currentItem",1);I([s.computed],E.prototype,"canPlay",1);I([s.computed],E.prototype,"canPause",1);I([s.computed],E.prototype,"hasMultipleItems",1);I([s.computed],E.prototype,"currentIndex",1);I([s.computed],E.prototype,"hasPreviousItem",1);I([s.computed],E.prototype,"hasNextItem",1);I([s.computed],E.prototype,"isLastItem",1);I([s.computed],E.prototype,"selectedItems",1);I([s.computed],E.prototype,"allItemsSelected",1);I([s.computed],E.prototype,"hasSelectedItems",1);I([s.computed],E.prototype,"selectedItemsOrAllItems",1);I([s.computed],E.prototype,"canAddSelectedItems",1);I([s.computed],E.prototype,"canPlaySelectedItemsNext",1);I([s.computed],E.prototype,"canRemoveSelectedItems",1);I([s.action.bound],E.prototype,"setItems",1);I([s.action.bound],E.prototype,"clear",1);I([s.action.bound],E.prototype,"unselectAll",1);I([s.action.bound],E.prototype,"selectAll",1);I([s.action.bound],E.prototype,"setCurrentItem",1);I([s.action.bound],E.prototype,"setNextItems",1);I([s.action.bound],E.prototype,"clearAndSetItems",1);I([s.action.bound],E.prototype,"playNext",1);I([s.action.bound],E.prototype,"playSelectedItemsNext",1);I([s.action.bound],E.prototype,"addItems",1);I([s.action.bound],E.prototype,"addSelectedItems",1);I([s.action.bound],E.prototype,"playFirst",1);I([s.action.bound],E.prototype,"moveItem",1);I([s.action.bound],E.prototype,"goToFirst",1);I([s.action.bound],E.prototype,"removeItems",1);I([s.action.bound],E.prototype,"removeSelectedItems",1);I([s.action.bound],E.prototype,"removeOtherItems",1);I([s.action.bound],E.prototype,"removeItemsAbove",1);I([s.action.bound],E.prototype,"previous",1);I([s.action.bound],E.prototype,"next",1);I([s.action.bound],E.prototype,"addItemFromDto",1);const To=({children:e})=>{const[t]=p.useState(()=>new E);Xe.useLocalStorageState(tt.playQueue,t.localStorageState);const r=pe.useNostalgicDiva();return p.useEffect(()=>s.reaction(()=>t.currentItem,async(a,i)=>{a===void 0||i===void 0||a.type===i.type&&a.videoId===i.videoId&&await r.setCurrentTime(0)}),[t,r]),o(Ct.Provider,{value:t,children:e})};var xo=Object.defineProperty,Ro=Object.getOwnPropertyDescriptor,ne=(e,t,r,a)=>{for(var i=a>1?void 0:a?Ro(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&xo(t,r,i),i};class te{controller=pe.nullPlayerController;playing=!1;percent=0;seeking=!1;constructor(){s.makeObservable(this)}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))}}ne([s.observable],te.prototype,"controller",2);ne([s.observable],te.prototype,"playing",2);ne([s.observable],te.prototype,"percent",2);ne([s.observable],te.prototype,"seeking",2);ne([s.action.bound],te.prototype,"setPlaying",1);ne([s.action.bound],te.prototype,"setPercent",1);ne([s.action.bound],te.prototype,"setSeeking",1);ne([s.action.bound],te.prototype,"onControllerChange",1);ne([s.action.bound],te.prototype,"onPlay",1);ne([s.action.bound],te.prototype,"onPause",1);ne([s.action.bound],te.prototype,"onEnded",1);ne([s.action.bound],te.prototype,"onTimeUpdate",1);const wo=({children:e})=>{const[t]=p.useState(()=>new te);return o(ar.Provider,{value:t,children:e})},Tt=p.createContext(void 0),ur=()=>p.useContext(Tt);var Oo=Object.defineProperty,_o=Object.getOwnPropertyDescriptor,rt=(e,t,r,a)=>{for(var i=a>1?void 0:a?_o(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&Oo(t,r,i),i};class Pe{constructor(t,r,a){this.playlistList=t,s.makeObservable(this),this.id=r,this.name=a}id;name;async rename(t){this.name=t}remove(){return this.playlistList.removeItem(this)}}rt([s.observable],Pe.prototype,"id",2);rt([s.observable],Pe.prototype,"name",2);rt([s.action.bound],Pe.prototype,"rename",1);rt([s.action.bound],Pe.prototype,"remove",1);var ko=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,je=(e,t,r,a)=>{for(var i=a>1?void 0:a?Fo(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&ko(t,r,i),i};class dr{constructor(t){this.playlistList=t,s.makeObservable(this)}get state(){return{items:this.playlistList.items.map(t=>({id:t.id,name:t.name}))}}set state(t){this.playlistList.items=t.items?.map(r=>new Pe(this.playlistList,r.id,r.name))??[]}validateState(t){return!0}}je([s.computed.struct],dr.prototype,"state",1);class Ne{localStorageState;items=[];constructor(){s.makeObservable(this),this.localStorageState=new dr(this)}createItem(t){return new Pe(this,crypto.randomUUID(),t)}setItems(t){this.items=t}async addItem(t){this.items.push(t)}async removeItem(t){Ke.pull(this.items,t)}}je([s.observable],Ne.prototype,"items",2);je([s.action.bound],Ne.prototype,"setItems",1);je([s.action.bound],Ne.prototype,"addItem",1);je([s.action.bound],Ne.prototype,"removeItem",1);const Ao=({children:e})=>{const[t]=p.useState(()=>new Ne);return Xe.useLocalStorageState(tt.playlistList,t.localStorageState),o(Tt.Provider,{value:t,children:e})},Bo=({children:e,nostalgicDivaProps:t})=>o(pe.NostalgicDivaProvider,{...t,children:o(co,{components:[wo,To,fo,bo,Ao],children:e})}),bt={width:400,height:225},Mo=P.observer(({children:e})=>{const t=Ee();return w(l.EuiPageTemplate,{panelled:!0,style:{minBlockSize:`max(460px, 100vh - ${Et}px)`},children:[e,!t.isEmpty&&o(l.EuiSpacer,{style:{blockSize:bt.height}})]})}),Do=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:`Shuffle: ${e.shuffle?"On":"Off"}`,"aria-label":`Shuffle: ${e.shuffle?"On":"Off"}`,iconType:e.shuffle?S.ArrowShuffleFilled:S.ArrowShuffleOffFilled,size:"s",iconSize:"l",onClick:e.toggleShuffle,disabled:!e.canToggleShuffle})}),jo=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:"Previous","aria-label":"Previous",iconType:S.PreviousFilled,size:"s",iconSize:"l",onClick:e.previous,disabled:!e.canPrevious})}),No=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:"Skip back 10 seconds","aria-label":"Skip back 10 seconds",iconType:S.SkipBack10Regular,size:"s",iconSize:"l",onClick:e.skipBack10,disabled:!e.canSkipBack10})}),$o=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:"Pause","aria-label":"Pause",iconType:S.PauseFilled,size:"s",iconSize:"l",onClick:e.pause,disabled:!e.canPause})}),Lo=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:"Play","aria-label":"Play",iconType:S.PlayFilled,size:"s",iconSize:"l",onClick:e.play,disabled:!e.canPlay})}),Qo=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:"Skip forward 30 seconds","aria-label":"Skip forward 30 seconds",iconType:S.SkipForward30Regular,size:"s",iconSize:"l",onClick:e.skipForward30,disabled:!e.canSkipForward30})}),zo=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:"Next","aria-label":"Next",iconType:S.NextFilled,size:"s",iconSize:"l",onClick:e.next,disabled:!e.canNext})}),Yo={[D.Off]:S.ArrowRepeatAllOffFilled,[D.All]:S.ArrowRepeatAllFilled,[D.One]:S.ArrowRepeat1Filled},Ho=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:`Repeat: ${e.repeat===D.All?"All":e.repeat===D.One?"One":"Off"}`,"aria-label":`Repeat: ${e.repeat===D.All?"All":e.repeat===D.One?"One":"Off"}`,iconType:Yo[e.repeat],size:"s",iconSize:"l",onClick:e.toggleRepeat,disabled:!e.canToggleRepeat})}),Vo=P.observer(()=>{const e=G();return w(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(l.EuiHideFor,{sizes:["xs"],children:o(Do,{})}),o(jo,{}),o(l.EuiHideFor,{sizes:["xs"],children:o(No,{})}),e.playing?o($o,{}):o(Lo,{}),o(l.EuiHideFor,{sizes:["xs"],children:o(Qo,{})}),o(zo,{}),o(l.EuiHideFor,{sizes:["xs"],children:o(Ho,{})})]})}),qo=p.memo(({item:e,closePopover:t})=>{const r=p.useCallback(({name:i,icon:c,onClick:u})=>({name:i,icon:c,onClick:async h=>{t(),u(h)}}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Open in new tab",icon:o(l.EuiIcon,{type:S.OpenRegular}),onClick:async()=>{window.open(e.dto.url,"_blank")}}),r({name:"Copy link address",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{await navigator.clipboard.writeText(e.dto.url)}}),r({name:"Copy link text",icon:o(l.EuiIcon,{type:""}),onClick:async()=>{await navigator.clipboard.writeText(e.dto.title)}})]}],[r,e]);return o(l.EuiContextMenu,{initialPanelId:0,panels:a})}),Uo=p.memo(({item:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),i=p.useCallback(()=>r(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonEmpty,{iconType:Ze.get(e.type),size:"s",onClick:a,children:e.title}),isOpen:t,closePopover:i,panelPaddingSize:"none",anchorPosition:"upLeft",children:o(qo,{item:e,closePopover:i})})}),Wo=P.observer(()=>{const e=G();return o(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexStart",alignItems:"center",children:e.currentItem&&o(Uo,{item:e.currentItem})})}),Go=P.observer(()=>{const e=G();return o(l.EuiButtonIcon,{title:"Mute","aria-label":"Mute",iconType:S.Speaker2Regular,size:"s",iconSize:"l",disabled:!e.controller.supports("setMuted")})}),Jo=P.observer(({button:e,isOpen:t,closePopover:r})=>{const a=G(),[i,c]=p.useState("0"),u=pe.useNostalgicDiva();p.useLayoutEffect(()=>{t&&u.getVolume().then(y=>{y!==void 0&&c(Math.floor(y*100).toString())})},[t,u]);const h=p.useCallback(async y=>{c(y.currentTarget.value),await u.setVolume(Number(y.currentTarget.value)/100)},[u]);return o(l.EuiPopover,{button:e,isOpen:t,closePopover:r,anchorPosition:"upRight",children:o(l.EuiFormRow,{children:w(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(Go,{}),o(l.EuiRange,{min:0,max:100,step:1,value:i,onChange:h,css:{blockSize:32},disabled:!a.controller.supports("setVolume")})]})})})}),Ko=P.observer(()=>{const e=G(),[t,r]=p.useState(!1),a=()=>r(!t);return o(Jo,{button:o(l.EuiButtonIcon,{title:"Volume","aria-label":"Volume",iconType:S.Speaker2Regular,size:"s",iconSize:"l",onClick:a,disabled:!e.controller.supports("getVolume")}),isOpen:t,closePopover:()=>r(!1)})}),Xo=({onClickPlayQueueButton:e})=>o(l.EuiButtonIcon,{title:"Play queue","aria-label":"Play queue",iconType:S.NavigationPlayRegular,size:"s",iconSize:"l",onClick:e}),Zo=P.observer(({closePopover:e})=>{const t=G(),r=pe.useNostalgicDiva(),a=p.useCallback(async()=>{await t.skipBack10(),e()},[t,e]),i=p.useCallback(async()=>{await t.skipForward30(),e()},[t,e]),c=p.useCallback(async x=>{await r.setPlaybackRate(x),e()},[r,e]),u=p.useCallback(async()=>{await t.removeFromPlayQueue(),e()},[t,e]),[h,y]=p.useState(),g=p.useCallback(async()=>{await t.controller.getPlaybackRate().then(x=>y(x))},[t]),C=p.useMemo(()=>[{id:0,items:[{name:"Speed",icon:o(l.EuiIcon,{type:S.TopSpeedRegular}),panel:1,onClick:g,disabled:!t.controller.supports("getPlaybackRate")},{name:"Skip back 10 seconds",icon:o(l.EuiIcon,{type:S.SkipBack10Regular}),onClick:a,disabled:!t.canSkipBack10},{name:"Skip forward 30 seconds",icon:o(l.EuiIcon,{type:S.SkipForward30Regular}),onClick:i,disabled:!t.canSkipForward30},{isSeparator:!0},{name:"Remove from play queue",icon:o(l.EuiIcon,{type:S.DismissRegular}),onClick:u,disabled:!t.canRemoveFromPlayQueue}]},{id:1,title:"Speed",items:[.25,.5,.75,1,1.25,1.5,1.75,2].map(x=>({name:x.toString(),onClick:()=>c(x),icon:x===h?"check":"empty",disabled:!t.controller.supports("setPlaybackRate")}))}],[t,g,a,i,u,c,h]);return o(l.EuiContextMenu,{initialPanelId:0,panels:C})}),en=p.memo(({button:e,isOpen:t,closePopover:r})=>o(l.EuiPopover,{button:e,isOpen:t,closePopover:r,panelPaddingSize:"none",anchorPosition:"upRight",children:o(Zo,{closePopover:r})})),tn=p.memo(()=>{const[e,t]=p.useState(!1),r=()=>t(!e);return o(en,{button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:S.MoreHorizontalFilled,size:"s",iconSize:"l",onClick:r}),isOpen:e,closePopover:()=>t(!1)})}),rn=p.memo(({onClickPlayQueueButton:e})=>w(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexEnd",alignItems:"center",children:[o(Ko,{}),e&&o(Xo,{onClickPlayQueueButton:e}),o(tn,{})]})),on=P.observer(()=>{const e=G(),t=pe.useNostalgicDiva(),r=p.useCallback(c=>{const u=Number(c.currentTarget.value)/100;e.setPercent(u)},[e]),a=p.useCallback(c=>{c.button===0&&e.setSeeking(!0)},[e]),i=p.useCallback(async c=>{if(c.button===0){const u=Number(c.currentTarget.value)/100;e.setSeeking(!1);const h=await t.getDuration();h!==void 0&&await t.setCurrentTime(h*u)}},[e,t]);return o(l.EuiRange,{min:0,max:100,step:1e-7,value:e.percent*100,onChange:r,onMouseDown:a,onMouseUp:i,fullWidth:!0,showRange:!0,css:{blockSize:32},disabled:!e.canSeek})}),nn=P.observer(({onClickPlayQueueButton:e})=>o(l.EuiBottomBar,{paddingSize:"s",children:w(l.EuiFlexGroup,{direction:"column",gutterSize:"none",children:[o(l.EuiFlexItem,{children:o(on,{})}),o(l.EuiFlexItem,{children:w(l.EuiFlexGroup,{responsive:!1,children:[o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Wo,{})}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Vo,{})}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(rn,{onClickPlayQueueButton:e})})]})})]})})),an=P.observer(()=>{const e=yo(),t=p.useMemo(()=>({onLoaded:e.onLoaded,onPlay:e.onPlay,onPause:e.onPause,onEnded:e.onEnded,onTimeUpdate:e.onTimeUpdate}),[e]);return p.useLayoutEffect(()=>(window.addEventListener("click",e.interact,{once:!0}),()=>{window.removeEventListener("click",e.interact)}),[e]),o("div",{css:{position:"fixed",right:0,bottom:Et,width:bt.width,height:bt.height,zIndex:998,backgroundColor:"rgb(39, 39, 39)",display:"flex",flexDirection:"column"},children:o("div",{css:{flexGrow:1,backgroundColor:"black"},children:e.currentItem&&o(pe.NostalgicDiva,{src:e.currentItem.url,options:t,onControllerChange:e.onControllerChange})})})});function sn(e){return e!==null&&typeof e=="object"&&"title"in e&&typeof e.title=="string"}const ln=me.create(({remove:e,resolve:t})=>{const r=l.useGeneratedHtmlId({prefix:"modalForm"}),[a,i]=p.useState(""),[c,u]=p.useState(""),[h,y]=p.useState(!1);return w(l.EuiModal,{onClose:e,initialFocus:"[name=url]",children:[o(l.EuiModalHeader,{children:o(l.EuiModalHeaderTitle,{children:"Add video"})}),o(l.EuiModalBody,{children:w(l.EuiForm,{id:r,component:"form",onSubmit:async g=>{g.preventDefault();try{y(!0);const C=pe.findVideoService(a);if(C===void 0)return;const x=C.extractVideoId(a);if(x===void 0)return;const V=await(await fetch(`https://noembed.com/embed?url=${encodeURIComponent(a)}`)).json();t({url:a,type:C.type,videoId:x,title:c||(sn(V)?V.title:x)}),e()}finally{y(!1)}},children:[o(l.EuiFormRow,{label:"URL",children:o(l.EuiFieldText,{name:"url",value:a,onChange:g=>i(g.target.value)})}),o(l.EuiFormRow,{label:"Title",children:o(l.EuiFieldText,{name:"title",value:c,onChange:g=>u(g.target.value)})})]})}),w(l.EuiModalFooter,{children:[o(l.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(l.EuiButton,{type:"submit",form:r,fill:!0,disabled:a.trim().length===0,isLoading:h,children:"Add video"})]})]})}),xt=p.memo(({onFulfilled:e})=>{const t=()=>me.show(ln).then(e);return o(l.EuiButton,{onClick:t,iconType:S.AddRegular,color:"primary",children:"Add video"})}),cn=P.observer(({playQueue:e})=>o(l.EuiButton,{iconType:S.AddRegular,onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems,children:"Add to play queue"})),un=P.observer(({playQueue:e})=>{const{euiTheme:t}=l.useEuiTheme();return w(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.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext,children:"Play next"})}),o(l.EuiFlexItem,{grow:!1,children:o(cn,{playQueue:e})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:S.DismissRegular,onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems,children:"Remove"})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:S.DeleteRegular,onClick:e.clear,disabled:!e.canClear,children:"Clear"})}),o(l.EuiFlexItem,{grow:!0}),o(l.EuiFlexItem,{grow:!1,children:o(xt,{onFulfilled:e.addItemFromDto})})]})}),dn=P.observer(({playQueue:e})=>{const{euiTheme:t}=l.useEuiTheme();return w(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=>{r.target.checked?e.selectAll():e.unselectAll()}})}),o(l.EuiTableHeaderCell,{width:24}),o(l.EuiTableHeaderCell,{children:"Title"}),o(l.EuiTableHeaderCell,{})]})}),pn=p.memo(({item:e,closePopover:t})=>{const r=p.useCallback(({name:i,icon:c,disabled:u,onClick:h})=>({name:i,icon:c,disabled:u,onClick:async y=>{t(),h(y)}}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Play first",icon:o(l.EuiIcon,{type:""}),onClick:e.playFirst}),r({name:"Play next",icon:o(l.EuiIcon,{type:""}),onClick:e.playNext}),r({name:"Add to play queue",icon:o(l.EuiIcon,{type:S.AddRegular}),onClick:e.addToPlayQueue}),{isSeparator:!0},r({name:"Move to the top",icon:o(l.EuiIcon,{type:S.ArrowUploadRegular}),onClick:e.moveToTop,disabled:!e.canMoveToTop}),r({name:"Move to the bottom",icon:o(l.EuiIcon,{type:S.ArrowDownloadRegular}),onClick:e.moveToBottom,disabled:!e.canMoveToBottom}),{isSeparator:!0},r({name:"Remove to the top",icon:o(l.EuiIcon,{type:""}),onClick:e.removeToTop,disabled:!e.canRemoveToTop}),r({name:"Remove others",icon:o(l.EuiIcon,{type:""}),onClick:e.removeOthers,disabled:!e.canRemoveOthers})]}],[r,e]);return o(l.EuiContextMenu,{initialPanelId:0,panels:a})}),mn=p.memo(({item:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),i=p.useCallback(()=>r(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:S.MoreHorizontalFilled,size:"s",color:"text",onClick:a}),isOpen:t,closePopover:i,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(pn,{item:e,closePopover:i})})}),fn=P.observer(({item:e})=>{const t=pe.useNostalgicDiva();return w(l.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[o(l.EuiButton,{iconType:S.PlayRegular,size:"s",onClick:async()=>{e.isCurrent?await t.setCurrentTime(0):await e.play()},children:"Play"}),o(l.EuiButton,{iconType:S.DismissRegular,size:"s",onClick:e.remove,children:"Remove"}),o(mn,{item:e})]})}),yn=P.observer(({item:e})=>w(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:Ze.get(e.type),width:16,height:16,alt:e.type})}),o(l.EuiTableRowCell,{children:o(l.EuiLink,{href:e.url,target:"_blank",external:!0,children:e.title})}),o(fn,{item:e})]})),hn=P.observer(({playQueue:e})=>o(St.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(yn,{item:t},t.id))})),vn=P.observer(({playQueue:e})=>w(l.EuiTable,{children:[o(dn,{playQueue:e}),o(hn,{playQueue:e})]})),pr=P.observer(({playQueue:e})=>{const{euiTheme:t}=l.useEuiTheme();return w(l.EuiPageTemplate.Section,{children:[o(un,{playQueue:e}),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(xt,{onFulfilled:e.addItemFromDto})}):o(vn,{playQueue:e})]})}),Rt=({breadcrumbs:e,tabs:t,...r})=>{const a=It.useRouter();return o(l.EuiPageTemplate.Header,{...r,breadcrumbs:e?.map(({linkProps:i,...c})=>({...c,href:i===void 0?void 0:a.buildLocation(i).href,onClick:i===void 0?void 0:async u=>{u.preventDefault(),await a.navigate(i)}})),tabs:t?.map(({linkProps:i,...c})=>({...c,href:i===void 0?void 0:a.buildLocation(i).href,onClick:i===void 0?void 0:async u=>{u.preventDefault(),await a.navigate(i)}}))})},bn=()=>{const e=Ee();return w(De,{children:[o(Rt,{pageTitle:"Play queue",rightSideItems:[]}),o(pr,{playQueue:e})]})},gn=me.create(({remove:e,resolve:t,playlistListItem:r})=>{const[a,i]=p.useState(!1),c=p.useCallback(async()=>{try{i(!0),t(),e()}finally{i(!1)}},[t,e]);return o(l.EuiConfirmModal,{title:"Delete playlist permanently?",onCancel:e,onConfirm:c,cancelButtonText:"Cancel",confirmButtonText:"Delete",buttonColor:"danger",isLoading:a,children:w("p",{children:["Are you sure you want to delete this playlist? If you delete '",r.name,"', you won't be able to recover it."]})})}),Sn=P.observer(({playlist:e})=>o(l.EuiButton,{iconType:S.AddRegular,onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems,children:"Add to play queue"})),In=P.observer(({playlist:e})=>{const{euiTheme:t}=l.useEuiTheme();return w(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.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext,children:"Play next"})}),o(l.EuiFlexItem,{grow:!1,children:o(Sn,{playlist:e})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:S.DismissRegular,onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems,children:"Remove"})}),o(l.EuiFlexItem,{grow:!0}),o(l.EuiFlexItem,{grow:!1,children:o(xt,{onFulfilled:e.addItemFromDto})})]})}),En=P.observer(({playlist:e})=>w(l.EuiTableHeader,{children:[o(l.EuiTableHeaderCellCheckbox,{children:o(l.EuiCheckbox,{id:"",checked:e.allItemsSelected,onChange:t=>{t.target.checked?e.selectAll():e.unselectAll()}})}),o(l.EuiTableHeaderCell,{width:24}),o(l.EuiTableHeaderCell,{children:"Title"}),o(l.EuiTableHeaderCell,{})]})),Pn=p.memo(({item:e,closePopover:t})=>{const r=p.useCallback(({name:i,icon:c,disabled:u,onClick:h})=>({name:i,icon:c,disabled:u,onClick:async y=>{t(),h(y)}}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Play first",icon:o(l.EuiIcon,{type:""}),onClick:e.playFirst}),r({name:"Play next",icon:o(l.EuiIcon,{type:""}),onClick:e.playNext}),r({name:"Add to play queue",icon:o(l.EuiIcon,{type:S.AddRegular}),onClick:e.addToPlayQueue}),{isSeparator:!0},r({name:"Move to the top",icon:o(l.EuiIcon,{type:S.ArrowUploadRegular}),onClick:e.moveToTop,disabled:!e.canMoveToTop}),r({name:"Move to the bottom",icon:o(l.EuiIcon,{type:S.ArrowDownloadRegular}),onClick:e.moveToBottom,disabled:!e.canMoveToBottom}),{isSeparator:!0},r({name:"Remove to the top",icon:o(l.EuiIcon,{type:""}),onClick:e.removeToTop,disabled:!e.canRemoveToTop}),r({name:"Remove others",icon:o(l.EuiIcon,{type:""}),onClick:e.removeOthers,disabled:!e.canRemoveOthers})]}],[r,e]);return o(l.EuiContextMenu,{initialPanelId:0,panels:a})}),Cn=p.memo(({item:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),i=p.useCallback(()=>r(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:S.MoreHorizontalFilled,size:"s",color:"text",onClick:a}),isOpen:t,closePopover:i,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(Pn,{item:e,closePopover:i})})}),Tn=P.observer(({item:e})=>w(l.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[o(l.EuiButton,{iconType:S.PlayRegular,size:"s",onClick:e.play,children:"Play"}),o(l.EuiButton,{iconType:S.DismissRegular,size:"s",onClick:e.remove,children:"Remove"}),o(Cn,{item:e})]})),xn=P.observer(({item:e})=>w(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:Ze.get(e.type),width:16,height:16,alt:e.type})}),o(l.EuiTableRowCell,{children:o(l.EuiLink,{href:e.url,target:"_blank",external:!0,children:e.title})}),o(Tn,{item:e})]})),Rn=P.observer(({playlist:e})=>o(St.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(xn,{item:t},t.id))})),wn=P.observer(({playlist:e})=>w(l.EuiTable,{children:[o(En,{playlist:e}),o(Rn,{playlist:e})]})),On=P.observer(({playlist:e})=>{const{euiTheme:t}=l.useEuiTheme();return w(l.EuiPageTemplate.Section,{children:[o(In,{playlist:e}),o(l.EuiSpacer,{size:"l",style:{position:"sticky",top:88,zIndex:998,background:t.colors.backgroundBasePlain}}),e.isEmpty?o(De,{}):o(wn,{playlist:e})]})}),_n=me.create(({remove:e,resolve:t,playlistListItem:r})=>{const a=l.useGeneratedHtmlId({prefix:"modalForm"}),[i,c]=p.useState(r.name),[u,h]=p.useState(!1);return w(l.EuiModal,{onClose:e,initialFocus:"[name=name]",children:[o(l.EuiModalHeader,{children:o(l.EuiModalHeaderTitle,{children:"Rename playlist"})}),o(l.EuiModalBody,{children:o(l.EuiForm,{id:a,component:"form",onSubmit:async y=>{y.preventDefault();try{h(!0),t(i),e()}finally{h(!1)}},children:o(l.EuiFormRow,{label:"Name",children:o(l.EuiFieldText,{name:"name",value:i,onChange:y=>c(y.target.value)})})})}),w(l.EuiModalFooter,{children:[o(l.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(l.EuiButton,{type:"submit",form:a,fill:!0,disabled:i.trim().length===0,isLoading:u,children:"Rename"})]})]})});var kn=Object.defineProperty,Fn=Object.getOwnPropertyDescriptor,H=(e,t,r,a)=>{for(var i=a>1?void 0:a?Fn(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&kn(t,r,i),i};const L=class gt{constructor(t,r,a){this.playQueue=t,this.playlist=r,this.dto=a,s.makeObservable(this),this.id=gt.nextId++}static nextId=1;id;isSelected=!1;static fromDto(t,r,a){return new gt(t,r,a)}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!1}get index(){return this.playlist.items.indexOf(this)}get isFirst(){return this.index===0}get isLast(){return this.index===this.playlist.items.length-1}get canMoveToTop(){return!this.isFirst}get canMoveToBottom(){return!this.isLast}get canRemoveToTop(){return!this.isFirst}get canRemoveOthers(){return this.playlist.hasMultipleItems}unselect(){this.isSelected=!1}select(){this.isSelected=!0}toggleSelected(){this.isSelected=!this.isSelected}play(){return this.playQueue.clearAndSetItems([this.playQueue.createItemFromDto(this.dto)]),Promise.resolve()}remove(){return this.playlist.removeItems([this])}playFirst(){return this.playQueue.playFirst([this.playQueue.createItemFromDto(this.dto)])}playNext(){return this.playQueue.playNext([this.playQueue.createItemFromDto(this.dto)])}addToPlayQueue(){return this.playQueue.addItems([this.playQueue.createItemFromDto(this.dto)])}moveToTop(){this.playlist.moveItem(this,0)}moveToBottom(){this.playlist.moveItem(this,this.playlist.items.length-1)}removeToTop(){return this.playlist.removeItemsAbove(this)}removeOthers(){return this.playlist.removeOtherItems(this)}};H([s.observable],L.prototype,"isSelected",2);H([s.computed],L.prototype,"isCurrent",1);H([s.computed],L.prototype,"index",1);H([s.computed],L.prototype,"isFirst",1);H([s.computed],L.prototype,"isLast",1);H([s.computed],L.prototype,"canMoveToTop",1);H([s.computed],L.prototype,"canMoveToBottom",1);H([s.computed],L.prototype,"canRemoveToTop",1);H([s.computed],L.prototype,"canRemoveOthers",1);H([s.action.bound],L.prototype,"unselect",1);H([s.action.bound],L.prototype,"select",1);H([s.action.bound],L.prototype,"toggleSelected",1);H([s.action.bound],L.prototype,"play",1);H([s.action.bound],L.prototype,"remove",1);H([s.action.bound],L.prototype,"playFirst",1);H([s.action.bound],L.prototype,"playNext",1);H([s.action.bound],L.prototype,"addToPlayQueue",1);H([s.action.bound],L.prototype,"moveToTop",1);H([s.action.bound],L.prototype,"moveToBottom",1);H([s.action.bound],L.prototype,"removeToTop",1);H([s.action.bound],L.prototype,"removeOthers",1);let An=L;var Bn=Object.defineProperty,Mn=Object.getOwnPropertyDescriptor,j=(e,t,r,a)=>{for(var i=a>1?void 0:a?Mn(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(i=(a?u(t,r,i):u(i))||i);return a&&i&&Bn(t,r,i),i};const Dn={type:"object",properties:{version:{type:"string",nullable:!0},items:{type:"array",nullable:!0,items:lr}}};class mr{constructor(t){this.playlist=t,s.makeObservable(this)}get state(){return{version:"1.0",items:this.playlist.items.map(t=>t.dto)}}set state(t){this.playlist.items=t.items?.map(r=>this.playlist.createItemFromDto(r))??[]}validateState(t){return Pt(Dn,"PlaylistLocalStorageState")(t)}}j([s.computed.struct],mr.prototype,"state",1);class N{constructor(t){this.playQueue=t,s.makeObservable(this),this.localStorageState=new mr(this)}localStorageState;items=[];createItemFromDto(t){return An.fromDto(this.playQueue,this,{url:t.url,type:t.type,videoId:t.videoId,title:t.title})}get isEmpty(){return this.items.length===0}get hasMultipleItems(){return this.items.length>1}get selectedItems(){return this.items.filter(t=>t.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(t){this.items=t}unselectAll(){for(const t of this.items)t.unselect()}selectAll(){for(const t of this.items)t.select()}async playSelectedItemsNext(){await this.playQueue.playNext(this.selectedItemsOrAllItems.map(t=>this.playQueue.createItemFromDto(t.dto))),this.unselectAll()}async addSelectedItems(){await this.playQueue.addItems(this.selectedItemsOrAllItems.map(t=>this.playQueue.createItemFromDto(t.dto))),this.unselectAll()}async addItems(t){this.items.push(...t)}moveItem(t,r){const a=this.items.splice(this.items.indexOf(t),1)[0];this.items.splice(r,0,a)}async removeItems(t){Ke.pull(this.items,...t)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(t){const r=t.id;return this.removeItems(this.items.filter(a=>a.id!==r))}async removeItemsAbove(t){const r=this.items.indexOf(t);return this.removeItems(this.items.filter((a,i)=>i<r))}addItemFromDto(t){const r=this.createItemFromDto(t);return this.addItems([r])}playAll(){return this.playQueue.clearAndSetItems(this.items.map(t=>this.playQueue.createItemFromDto(t.dto))),Promise.resolve()}}j([s.observable],N.prototype,"items",2);j([s.computed],N.prototype,"isEmpty",1);j([s.computed],N.prototype,"hasMultipleItems",1);j([s.computed],N.prototype,"selectedItems",1);j([s.computed],N.prototype,"allItemsSelected",1);j([s.computed],N.prototype,"hasSelectedItems",1);j([s.computed],N.prototype,"selectedItemsOrAllItems",1);j([s.computed],N.prototype,"canAddSelectedItems",1);j([s.computed],N.prototype,"canPlaySelectedItemsNext",1);j([s.computed],N.prototype,"canRemoveSelectedItems",1);j([s.action.bound],N.prototype,"setItems",1);j([s.action.bound],N.prototype,"unselectAll",1);j([s.action.bound],N.prototype,"selectAll",1);j([s.action.bound],N.prototype,"playSelectedItemsNext",1);j([s.action.bound],N.prototype,"addSelectedItems",1);j([s.action.bound],N.prototype,"addItems",1);j([s.action.bound],N.prototype,"moveItem",1);j([s.action.bound],N.prototype,"removeItems",1);j([s.action.bound],N.prototype,"removeSelectedItems",1);j([s.action.bound],N.prototype,"removeOtherItems",1);j([s.action.bound],N.prototype,"removeItemsAbove",1);j([s.action.bound],N.prototype,"addItemFromDto",1);j([s.action.bound],N.prototype,"playAll",1);const jn=({onClick:e})=>o(l.EuiButton,{onClick:e,iconType:S.PlayRegular,fill:!0,children:"Play all"}),Nn=({playlistListItem:e,onFulfilled:t})=>{const r=()=>me.show(_n,{playlistListItem:e}).then(t);return o(l.EuiButton,{onClick:r,iconType:S.RenameRegular,children:"Rename"})},$n=({playlistListItem:e,onFulfilled:t})=>{const r=()=>me.show(gn,{playlistListItem:e}).then(t);return o(l.EuiButton,{onClick:r,iconType:S.DeleteRegular,children:"Delete"})},Ln=P.observer(({playlistListItem:e})=>{const t=tt.playlist(e.id),r=Ee(),[a]=p.useState(()=>new N(r));Xe.useLocalStorageState(t,a.localStorageState);const i=It.useRouter(),c=p.useCallback(async h=>{await e.rename(h)},[e]),u=p.useCallback(async()=>{await i.navigate({to:"/playlists"}),window.localStorage.removeItem(t),await e.remove()},[e,i,t]);return w(De,{children:[o(Rt,{pageTitle:e.name,breadcrumbs:[{text:"Playlists",linkProps:{to:"/playlists"}},{text:e.name}],rightSideItems:[o(jn,{onClick:a.playAll}),o(Nn,{playlistListItem:e,onFulfilled:c}),o($n,{playlistListItem:e,onFulfilled:u})]}),o(On,{playlist:a})]})}),Qn=me.create(({remove:e,resolve:t})=>{const r=l.useGeneratedHtmlId({prefix:"modalForm"}),[a,i]=p.useState(""),[c,u]=p.useState(!1);return w(l.EuiModal,{onClose:e,initialFocus:"[name=name]",children:[o(l.EuiModalHeader,{children:o(l.EuiModalHeaderTitle,{children:"Create playlist"})}),o(l.EuiModalBody,{children:o(l.EuiForm,{id:r,component:"form",onSubmit:async h=>{h.preventDefault();try{u(!0),t(a),e()}finally{u(!1)}},children:o(l.EuiFormRow,{label:"Name",children:o(l.EuiFieldText,{name:"name",value:a,onChange:h=>i(h.target.value)})})})}),w(l.EuiModalFooter,{children:[o(l.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(l.EuiButton,{type:"submit",form:r,fill:!0,disabled:a.trim().length===0,isLoading:c,children:"Create playlist"})]})]})}),zn=({children:e,onFulfilled:t})=>{const r=()=>me.show(Qn).then(t);return o(l.EuiButton,{onClick:r,iconType:S.AddRegular,fill:!0,children:e})},Yn=({linkProps:e,...t})=>{const r=It.useRouter(),a=async i=>{i.preventDefault(),await r.navigate(e)};return o(l.EuiLink,{...t,href:r.buildLocation(e).href,onClick:a})},Hn=P.observer(({playlistList:e})=>o(l.EuiTableHeader,{children:o(l.EuiTableHeaderCell,{children:"Name"})})),Vn=P.observer(({item:e})=>o(l.EuiTableRow,{children:o(l.EuiTableRowCell,{children:o(Yn,{linkProps:{to:"/playlists/$playlistId",params:{playlistId:e.id}},children:e.name})})},e.id)),qn=P.observer(({playlistList:e})=>o(St.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(Vn,{item:t},t.id))})),Un=P.observer(({playlistList:e})=>w(l.EuiTable,{children:[o(Hn,{playlistList:e}),o(qn,{playlistList:e})]})),Wn=()=>o(Rt,{pageTitle:"Playlists",breadcrumbs:[{text:"Playlists"}]}),Gn=P.observer(({playlistList:e})=>{const t=p.useCallback(async r=>{await e.addItem(e.createItem(r))},[e]);return w(l.EuiPageTemplate.Section,{children:[o(zn,{onFulfilled:t,children:"New playlist"}),o(l.EuiSpacer,{size:"l"}),o(Un,{playlistList:e})]})}),Jn=p.memo(()=>{const e=ur();return w(De,{children:[o(Wn,{}),o(Gn,{playlistList:e})]})});exports.BottomBar=nn;exports.HydrangeanDivaProvider=Bo;exports.MediaPlayerLayout=Mo;exports.MiniPlayer=an;exports.PlayQueueContext=Ct;exports.PlayQueuePage=bn;exports.PlayQueueSection=pr;exports.PlaylistDetailsPage=Ln;exports.PlaylistListContext=Tt;exports.PlaylistListPage=Jn;exports.RepeatMode=D;exports.bottomBarHeight=Et;exports.usePlayQueue=Ee;exports.usePlaylistList=ur;exports.videoServiceIcons=Ze;
|
|
14
|
+
<%s key={someKey} {...props} />`,pt,he,Mr,he),Lt[he+pt]=!0}}return n===a?_r(W):Or(W),W}}function kr(n,d,y){return zt(n,d,y,!0)}function Fr(n,d,y){return zt(n,d,y,!1)}var Ar=Fr,Br=kr;Be.Fragment=a,Be.jsx=Ar,Be.jsxs=Br})()),Be}var Yt;function Qr(){return Yt||(Yt=1,process.env.NODE_ENV==="production"?Ge.exports=Lr():Ge.exports=zr()),Ge.exports}var Me=Qr(),Je={exports:{}},O={};var Vt;function Hr(){if(Vt)return O;Vt=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,a=e?Symbol.for("react.fragment"):60107,s=e?Symbol.for("react.strict_mode"):60108,c=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,h=e?Symbol.for("react.context"):60110,f=e?Symbol.for("react.async_mode"):60111,S=e?Symbol.for("react.concurrent_mode"):60111,x=e?Symbol.for("react.forward_ref"):60112,k=e?Symbol.for("react.suspense"):60113,G=e?Symbol.for("react.suspense_list"):60120,V=e?Symbol.for("react.memo"):60115,q=e?Symbol.for("react.lazy"):60116,re=e?Symbol.for("react.block"):60121,ce=e?Symbol.for("react.fundamental"):60117,X=e?Symbol.for("react.responder"):60118,D=e?Symbol.for("react.scope"):60119;function U(m){if(typeof m=="object"&&m!==null){var Z=m.$$typeof;switch(Z){case t:switch(m=m.type,m){case f:case S:case a:case c:case s:case k:return m;default:switch(m=m&&m.$$typeof,m){case h:case x:case q:case V:case u:return m;default:return Z}}case r:return Z}}}function z(m){return U(m)===S}return O.AsyncMode=f,O.ConcurrentMode=S,O.ContextConsumer=h,O.ContextProvider=u,O.Element=t,O.ForwardRef=x,O.Fragment=a,O.Lazy=q,O.Memo=V,O.Portal=r,O.Profiler=c,O.StrictMode=s,O.Suspense=k,O.isAsyncMode=function(m){return z(m)||U(m)===f},O.isConcurrentMode=z,O.isContextConsumer=function(m){return U(m)===h},O.isContextProvider=function(m){return U(m)===u},O.isElement=function(m){return typeof m=="object"&&m!==null&&m.$$typeof===t},O.isForwardRef=function(m){return U(m)===x},O.isFragment=function(m){return U(m)===a},O.isLazy=function(m){return U(m)===q},O.isMemo=function(m){return U(m)===V},O.isPortal=function(m){return U(m)===r},O.isProfiler=function(m){return U(m)===c},O.isStrictMode=function(m){return U(m)===s},O.isSuspense=function(m){return U(m)===k},O.isValidElementType=function(m){return typeof m=="string"||typeof m=="function"||m===a||m===S||m===c||m===s||m===k||m===G||typeof m=="object"&&m!==null&&(m.$$typeof===q||m.$$typeof===V||m.$$typeof===u||m.$$typeof===h||m.$$typeof===x||m.$$typeof===ce||m.$$typeof===X||m.$$typeof===D||m.$$typeof===re)},O.typeOf=U,O}var _={};var qt;function Yr(){return qt||(qt=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,a=e?Symbol.for("react.fragment"):60107,s=e?Symbol.for("react.strict_mode"):60108,c=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,h=e?Symbol.for("react.context"):60110,f=e?Symbol.for("react.async_mode"):60111,S=e?Symbol.for("react.concurrent_mode"):60111,x=e?Symbol.for("react.forward_ref"):60112,k=e?Symbol.for("react.suspense"):60113,G=e?Symbol.for("react.suspense_list"):60120,V=e?Symbol.for("react.memo"):60115,q=e?Symbol.for("react.lazy"):60116,re=e?Symbol.for("react.block"):60121,ce=e?Symbol.for("react.fundamental"):60117,X=e?Symbol.for("react.responder"):60118,D=e?Symbol.for("react.scope"):60119;function U(v){return typeof v=="string"||typeof v=="function"||v===a||v===S||v===c||v===s||v===k||v===G||typeof v=="object"&&v!==null&&(v.$$typeof===q||v.$$typeof===V||v.$$typeof===u||v.$$typeof===h||v.$$typeof===x||v.$$typeof===ce||v.$$typeof===X||v.$$typeof===D||v.$$typeof===re)}function z(v){if(typeof v=="object"&&v!==null){var ke=v.$$typeof;switch(ke){case t:var Se=v.type;switch(Se){case f:case S:case a:case c:case s:case k:return Se;default:var ye=Se&&Se.$$typeof;switch(ye){case h:case x:case q:case V:case u:return ye;default:return ke}}case r:return ke}}}var m=f,Z=S,xe=h,$e=u,Le=t,ot=x,nt=a,ze=q,ae=V,ue=r,fe=c,Qe=s,He=k,Te=!1;function Ye(v){return Te||(Te=!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.")),Re(v)||z(v)===f}function Re(v){return z(v)===S}function Ve(v){return z(v)===h}function qe(v){return z(v)===u}function Ue(v){return typeof v=="object"&&v!==null&&v.$$typeof===t}function it(v){return z(v)===x}function at(v){return z(v)===a}function we(v){return z(v)===q}function Oe(v){return z(v)===V}function be(v){return z(v)===r}function _e(v){return z(v)===c}function ge(v){return z(v)===s}function st(v){return z(v)===k}_.AsyncMode=m,_.ConcurrentMode=Z,_.ContextConsumer=xe,_.ContextProvider=$e,_.Element=Le,_.ForwardRef=ot,_.Fragment=nt,_.Lazy=ze,_.Memo=ae,_.Portal=ue,_.Profiler=fe,_.StrictMode=Qe,_.Suspense=He,_.isAsyncMode=Ye,_.isConcurrentMode=Re,_.isContextConsumer=Ve,_.isContextProvider=qe,_.isElement=Ue,_.isForwardRef=it,_.isFragment=at,_.isLazy=we,_.isMemo=Oe,_.isPortal=be,_.isProfiler=_e,_.isStrictMode=ge,_.isSuspense=st,_.isValidElementType=U,_.typeOf=z})()),_}var Ut;function Vr(){return Ut||(Ut=1,process.env.NODE_ENV==="production"?Je.exports=Hr():Je.exports=Yr()),Je.exports}var mt,Wt;function qr(){if(Wt)return mt;Wt=1;var e=Vr(),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},a={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},c={};c[e.ForwardRef]=a,c[e.Memo]=s;function u(q){return e.isMemo(q)?s:c[q.$$typeof]||t}var h=Object.defineProperty,f=Object.getOwnPropertyNames,S=Object.getOwnPropertySymbols,x=Object.getOwnPropertyDescriptor,k=Object.getPrototypeOf,G=Object.prototype;function V(q,re,ce){if(typeof re!="string"){if(G){var X=k(re);X&&X!==G&&V(q,X,ce)}var D=f(re);S&&(D=D.concat(S(re)));for(var U=u(q),z=u(re),m=0;m<D.length;++m){var Z=D[m];if(!r[Z]&&!(ce&&ce[Z])&&!(z&&z[Z])&&!(U&&U[Z])){var xe=x(re,Z);try{h(q,Z,xe)}catch{}}}}return q}return mt=V,mt}qr();var Ur=!0;function Wr(e,t,r){var a="";return r.split(" ").forEach(function(s){e[s]!==void 0?t.push(e[s]+";"):s&&(a+=s+" ")}),a}var Xt=function(t,r,a){var s=t.key+"-"+r.name;(a===!1||Ur===!1)&&t.registered[s]===void 0&&(t.registered[s]=r.styles)},Gr=function(t,r,a){Xt(t,r,a);var s=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var c=r;do t.insert(r===c?"."+s:"",c,t.sheet,!0),c=c.next;while(c!==void 0)}};function Jr(e){for(var t=0,r,a=0,s=e.length;s>=4;++a,s-=4)r=e.charCodeAt(a)&255|(e.charCodeAt(++a)&255)<<8|(e.charCodeAt(++a)&255)<<16|(e.charCodeAt(++a)&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(s){case 3:t^=(e.charCodeAt(a+2)&255)<<16;case 2:t^=(e.charCodeAt(a+1)&255)<<8;case 1:t^=e.charCodeAt(a)&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 Kr={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(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var Zr=/[A-Z]|^ms/g,eo=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Zt=function(t){return t.charCodeAt(1)===45},Gt=function(t){return t!=null&&typeof t!="boolean"},ft=Xr(function(e){return Zt(e)?e:e.replace(Zr,"-$&").toLowerCase()}),Jt=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(eo,function(a,s,c){return se={name:s,styles:c,next:se},s})}return Kr[t]!==1&&!Zt(t)&&typeof r=="number"&&r!==0?r+"px":r};function De(e,t,r){if(r==null)return"";var a=r;if(a.__emotion_styles!==void 0)return a;switch(typeof r){case"boolean":return"";case"object":{var s=r;if(s.anim===1)return se={name:s.name,styles:s.styles,next:se},s.name;var c=r;if(c.styles!==void 0){var u=c.next;if(u!==void 0)for(;u!==void 0;)se={name:u.name,styles:u.styles,next:se},u=u.next;var h=c.styles+";";return h}return to(e,t,r)}case"function":{if(e!==void 0){var f=se,S=r(e);return se=f,De(e,t,S)}break}}var x=r;return x}function to(e,t,r){var a="";if(Array.isArray(r))for(var s=0;s<r.length;s++)a+=De(e,t,r[s])+";";else for(var c in r){var u=r[c];if(typeof u!="object"){var h=u;Gt(h)&&(a+=ft(c)+":"+Jt(c,h)+";")}else if(Array.isArray(u)&&typeof u[0]=="string"&&t==null)for(var f=0;f<u.length;f++)Gt(u[f])&&(a+=ft(c)+":"+Jt(c,u[f])+";");else{var S=De(e,t,u);switch(c){case"animation":case"animationName":{a+=ft(c)+":"+S+";";break}default:a+=c+"{"+S+"}"}}}return a}var Kt=/label:\s*([^\s;{]+)\s*(;|$)/g,se;function ro(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var a=!0,s="";se=void 0;var c=e[0];if(c==null||c.raw===void 0)a=!1,s+=De(r,t,c);else{var u=c;s+=u[0]}for(var h=1;h<e.length;h++)if(s+=De(r,t,e[h]),a){var f=c;s+=f[h]}Kt.lastIndex=0;for(var S="",x;(x=Kt.exec(s))!==null;)S+="-"+x[1];var k=Jr(s)+S;return{name:k,styles:s,next:se}}var oo=function(t){return t()},no=de.useInsertionEffect?de.useInsertionEffect:!1,io=no||oo,er=de.createContext(typeof HTMLElement<"u"?Nr({key:"css"}):null);er.Provider;var ao=function(t){return p.forwardRef(function(r,a){var s=p.useContext(er);return t(r,s,a)})},so=de.createContext({}),et={}.hasOwnProperty,ht="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",tr=function(t,r){var a={};for(var s in r)et.call(r,s)&&(a[s]=r[s]);return a[ht]=t,a},lo=function(t){var r=t.cache,a=t.serialized,s=t.isStringTag;return Xt(r,a,s),io(function(){return Gr(r,a,s)}),null},co=ao(function(e,t,r){var a=e.css;typeof a=="string"&&t.registered[a]!==void 0&&(a=t.registered[a]);var s=e[ht],c=[a],u="";typeof e.className=="string"?u=Wr(t.registered,c,e.className):e.className!=null&&(u=e.className+" ");var h=ro(c,void 0,de.useContext(so));u+=t.key+"-"+h.name;var f={};for(var S in e)et.call(e,S)&&S!=="css"&&S!==ht&&(f[S]=e[S]);return f.className=u,r&&(f.ref=r),de.createElement(de.Fragment,null,de.createElement(lo,{cache:t,serialized:h,isStringTag:typeof s=="string"}),de.createElement(s,f))}),rr=co,ve=Me.Fragment,o=function(t,r,a){return et.call(r,"css")?Me.jsx(rr,tr(t,r),a):Me.jsx(t,r,a)},C=function(t,r,a){return et.call(r,"css")?Me.jsxs(rr,tr(t,r),a):Me.jsxs(t,r,a)};const uo=({components:e=[],children:t})=>o(ve,{children:e.reduceRight((r,a)=>o(a,{children:r}),t)}),tt={playQueue:"PlayQueueStore",bottomBar:"BottomBarStore",playlistList:"PlaylistListStore",playlist:e=>`PlaylistStore/${e}`},or=p.createContext(void 0),J=()=>p.useContext(or),yt=new jr({coerceTypes:!0});function Pt(e,t){let r;if(r=yt.getSchema(t),r===void 0&&(yt.addSchema(e,t),r=yt.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}var M=(e=>(e.Off="Off",e.All="All",e.One="One",e))(M||{}),po=Object.defineProperty,mo=Object.getOwnPropertyDescriptor,F=(e,t,r,a)=>{for(var s=a>1?void 0:a?mo(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&po(t,r,s),s};const fo={type:"object",properties:{repeat:{type:"string",enum:Object.values(M),nullable:!0},shuffle:{type:"boolean",nullable:!0}}};class nr{constructor(t){this.bottomBar=t,l.makeObservable(this)}get state(){return{repeat:this.bottomBar.repeat,shuffle:this.bottomBar.shuffle}}set state(t){this.bottomBar.repeat=t.repeat??M.Off,this.bottomBar.shuffle=t.shuffle??!1}validateState(t){return Pt(fo,"BottomBarLocalStorageState")(t)}}F([l.computed.struct],nr.prototype,"state",1);class A{constructor(t,r){this.player=t,this.playQueue=r,l.makeObservable(this),this.localStorageState=new nr(this)}localStorageState;repeat=M.Off;shuffle=!1;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 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(t){this.player.setPercent(t)}setSeeking(t){this.player.setSeeking(t)}toggleRepeat(){switch(this.repeat){case M.Off:this.repeat=M.All;break;case M.All:this.repeat=M.One;break;case M.One:this.repeat=M.Off;break}}toggleShuffle(){this.shuffle=!this.shuffle}play(){return this.controller.play()}pause(){return this.controller.pause()}async previous(){if(this.playQueue.hasPreviousItem){const t=await this.controller.getCurrentTime();t===void 0||t<5?await this.playQueue.previous():await this.controller.setCurrentTime(0)}else await this.controller.setCurrentTime(0)}next(){return this.playQueue.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)}async removeFromPlayQueue(){this.currentItem!==void 0&&await this.playQueue.removeItems([this.currentItem])}}F([l.observable],A.prototype,"repeat",2);F([l.observable],A.prototype,"shuffle",2);F([l.computed],A.prototype,"controller",1);F([l.computed],A.prototype,"playing",1);F([l.computed],A.prototype,"percent",1);F([l.computed],A.prototype,"canSeek",1);F([l.computed],A.prototype,"currentItem",1);F([l.computed],A.prototype,"canToggleRepeat",1);F([l.computed],A.prototype,"canToggleShuffle",1);F([l.computed],A.prototype,"canPlay",1);F([l.computed],A.prototype,"canPause",1);F([l.computed],A.prototype,"canPrevious",1);F([l.computed],A.prototype,"canNext",1);F([l.computed],A.prototype,"canSkipBack10",1);F([l.computed],A.prototype,"canSkipForward30",1);F([l.computed],A.prototype,"canRemoveFromPlayQueue",1);F([l.action.bound],A.prototype,"setPercent",1);F([l.action.bound],A.prototype,"setSeeking",1);F([l.action.bound],A.prototype,"toggleRepeat",1);F([l.action.bound],A.prototype,"toggleShuffle",1);F([l.action.bound],A.prototype,"play",1);F([l.action.bound],A.prototype,"pause",1);F([l.action.bound],A.prototype,"previous",1);F([l.action.bound],A.prototype,"next",1);F([l.action.bound],A.prototype,"skipBack10",1);F([l.action.bound],A.prototype,"skipForward30",1);F([l.action.bound],A.prototype,"removeFromPlayQueue",1);const Ct=p.createContext(void 0),Pe=()=>p.useContext(Ct),ir=p.createContext(void 0),ar=()=>p.useContext(ir),yo=({children:e})=>{const t=ar(),r=Pe(),[a]=p.useState(()=>new A(t,r));return Xe.useLocalStorageState(tt.bottomBar,a.localStorageState),o(or.Provider,{value:a,children:e})},sr=p.createContext(void 0),ho=()=>p.useContext(sr);var vo=Object.defineProperty,bo=Object.getOwnPropertyDescriptor,le=(e,t,r,a)=>{for(var s=a>1?void 0:a?bo(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&vo(t,r,s),s};class ie{constructor(t,r,a){this.player=t,this.playQueue=r,this.bottomBar=a,l.makeObservable(this)}interacted=!1;get controller(){return this.player.controller}get currentItem(){return this.playQueue.currentItem}interact(){this.interacted=!0}async onLoaded(){this.interacted&&await this.controller.play()}onPlay(){this.player.onPlay()}onPause(){this.player.onPause()}async onEnded(){switch(this.bottomBar.repeat){case M.One:await this.controller.setCurrentTime(0);break;case M.Off:case M.All:if(this.playQueue.isLastItem)switch(this.bottomBar.repeat){case M.Off:this.player.onEnded();break;case M.All:this.playQueue.hasMultipleItems?await this.playQueue.goToFirst():await this.controller.setCurrentTime(0);break}else await this.playQueue.next();break}}onTimeUpdate(t){this.player.onTimeUpdate(t)}onControllerChange(t){this.player.onControllerChange(t)}}le([l.observable],ie.prototype,"interacted",2);le([l.computed],ie.prototype,"controller",1);le([l.computed],ie.prototype,"currentItem",1);le([l.action.bound],ie.prototype,"interact",1);le([l.action.bound],ie.prototype,"onLoaded",1);le([l.action.bound],ie.prototype,"onPlay",1);le([l.action.bound],ie.prototype,"onPause",1);le([l.action.bound],ie.prototype,"onEnded",1);le([l.action.bound],ie.prototype,"onTimeUpdate",1);le([l.action.bound],ie.prototype,"onControllerChange",1);const go=({children:e})=>{const t=ar(),r=Pe(),a=J(),[s]=p.useState(()=>new ie(t,r,a));return o(sr.Provider,{value:s,children:e})},lr={type:"object",properties:{url:{type:"string"},type:{type:"string"},videoId:{type:"string"},title:{type:"string"}},required:["url","type","videoId","title"]},So={type:"object",properties:{version:{type:"string",nullable:!0},repeat:{type:"string",enum:Object.values(M),nullable:!0},shuffle:{type:"boolean",nullable:!0},items:{type:"array",nullable:!0,items:lr},currentIndex:{type:"integer",nullable:!0}}};var Io=Object.defineProperty,Eo=Object.getOwnPropertyDescriptor,H=(e,t,r,a)=>{for(var s=a>1?void 0:a?Eo(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&Io(t,r,s),s};const $=class vt{constructor(t,r){this.playQueue=t,this.dto=r,l.makeObservable(this),this.id=vt.nextId++}static nextId=1;id;isSelected=!1;static fromDto(t,r){return new vt(t,r)}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.createItemFromDto(this.dto)}unselect(){this.isSelected=!1}select(){this.isSelected=!0}toggleSelected(){this.isSelected=!this.isSelected}play(){return this.playQueue.setCurrentItem(this),Promise.resolve()}remove(){return this.playQueue.removeItems([this])}playFirst(){return this.playQueue.playFirst([this.clone()])}playNext(){return this.playQueue.playNext([this.clone()])}addToPlayQueue(){return 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)}};H([l.observable],$.prototype,"isSelected",2);H([l.computed],$.prototype,"isCurrent",1);H([l.computed],$.prototype,"index",1);H([l.computed],$.prototype,"isFirst",1);H([l.computed],$.prototype,"isLast",1);H([l.computed],$.prototype,"canMoveToTop",1);H([l.computed],$.prototype,"canMoveToBottom",1);H([l.computed],$.prototype,"canRemoveToTop",1);H([l.computed],$.prototype,"canRemoveOthers",1);H([l.action.bound],$.prototype,"unselect",1);H([l.action.bound],$.prototype,"select",1);H([l.action.bound],$.prototype,"toggleSelected",1);H([l.action.bound],$.prototype,"play",1);H([l.action.bound],$.prototype,"remove",1);H([l.action.bound],$.prototype,"playFirst",1);H([l.action.bound],$.prototype,"playNext",1);H([l.action.bound],$.prototype,"addToPlayQueue",1);H([l.action.bound],$.prototype,"moveToTop",1);H([l.action.bound],$.prototype,"moveToBottom",1);H([l.action.bound],$.prototype,"removeToTop",1);H([l.action.bound],$.prototype,"removeOthers",1);let Po=$;var Co=Object.defineProperty,xo=Object.getOwnPropertyDescriptor,E=(e,t,r,a)=>{for(var s=a>1?void 0:a?xo(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&Co(t,r,s),s};class cr{constructor(t){this.playQueue=t,l.makeObservable(this)}get state(){return{version:"1.0",items:this.playQueue.items.map(t=>t.dto),currentIndex:this.playQueue.currentIndex}}set state(t){this.playQueue.items=t.items?.map(r=>this.playQueue.createItemFromDto(r))??[],this.playQueue.currentIndex=t.currentIndex}validateState(t){return Pt(So,"PlayQueueDto")(t)}}E([l.computed.struct],cr.prototype,"state",1);class P{localStorageState;items=[];currentId;constructor(){l.makeObservable(this),this.localStorageState=new cr(this)}createItemFromDto(t){return Po.fromDto(this,{url:t.url,type:t.type,videoId:t.videoId,title:t.title})}get isEmpty(){return this.items.length===0}get canClear(){return!this.isEmpty}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}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(t){this.items=t}clear(){this.currentIndex=void 0,this.items=[]}unselectAll(){for(const t of this.items)t.unselect()}selectAll(){for(const t of this.items)t.select()}setCurrentItem(t){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.items.splice(r,0,...t),this.currentIndex=r)}moveItem(t,r){const a=this.items.splice(this.items.indexOf(t),1)[0];this.items.splice(r,0,a)}async goToFirst(){this.currentIndex!==void 0&&(this.currentIndex=0)}async removeItems(t){const{currentItem:r}=this;Ke.pull(this.items,...t.filter(c=>c!==r));const{currentIndex:a,isLastItem:s}=this;Ke.pull(this.items,t.find(c=>c===r)),this.currentItem!==r&&(s?await this.goToFirst():this.currentIndex=a)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(t){const r=t.id;return this.removeItems(this.items.filter(a=>a.id!==r))}async removeItemsAbove(t){const r=this.items.indexOf(t);return this.removeItems(this.items.filter((a,s)=>s<r))}async previous(){this.currentIndex!==void 0&&this.hasPreviousItem&&this.currentIndex--}async next(){this.currentIndex!==void 0&&this.hasNextItem&&this.currentIndex++}addItemFromDto(t){const r=this.createItemFromDto(t);return this.addItems([r])}}E([l.observable],P.prototype,"items",2);E([l.observable],P.prototype,"currentId",2);E([l.computed],P.prototype,"isEmpty",1);E([l.computed],P.prototype,"canClear",1);E([l.computed],P.prototype,"currentItem",1);E([l.computed],P.prototype,"canPlay",1);E([l.computed],P.prototype,"canPause",1);E([l.computed],P.prototype,"hasMultipleItems",1);E([l.computed],P.prototype,"currentIndex",1);E([l.computed],P.prototype,"hasPreviousItem",1);E([l.computed],P.prototype,"hasNextItem",1);E([l.computed],P.prototype,"isLastItem",1);E([l.computed],P.prototype,"selectedItems",1);E([l.computed],P.prototype,"allItemsSelected",1);E([l.computed],P.prototype,"hasSelectedItems",1);E([l.computed],P.prototype,"selectedItemsOrAllItems",1);E([l.computed],P.prototype,"canAddSelectedItems",1);E([l.computed],P.prototype,"canPlaySelectedItemsNext",1);E([l.computed],P.prototype,"canRemoveSelectedItems",1);E([l.action.bound],P.prototype,"setItems",1);E([l.action.bound],P.prototype,"clear",1);E([l.action.bound],P.prototype,"unselectAll",1);E([l.action.bound],P.prototype,"selectAll",1);E([l.action.bound],P.prototype,"setCurrentItem",1);E([l.action.bound],P.prototype,"setNextItems",1);E([l.action.bound],P.prototype,"clearAndSetItems",1);E([l.action.bound],P.prototype,"playNext",1);E([l.action.bound],P.prototype,"playSelectedItemsNext",1);E([l.action.bound],P.prototype,"addItems",1);E([l.action.bound],P.prototype,"addSelectedItems",1);E([l.action.bound],P.prototype,"playFirst",1);E([l.action.bound],P.prototype,"moveItem",1);E([l.action.bound],P.prototype,"goToFirst",1);E([l.action.bound],P.prototype,"removeItems",1);E([l.action.bound],P.prototype,"removeSelectedItems",1);E([l.action.bound],P.prototype,"removeOtherItems",1);E([l.action.bound],P.prototype,"removeItemsAbove",1);E([l.action.bound],P.prototype,"previous",1);E([l.action.bound],P.prototype,"next",1);E([l.action.bound],P.prototype,"addItemFromDto",1);const To=({children:e})=>{const[t]=p.useState(()=>new P);Xe.useLocalStorageState(tt.playQueue,t.localStorageState);const r=pe.useNostalgicDiva();return p.useEffect(()=>l.reaction(()=>t.currentItem,async(a,s)=>{a===void 0||s===void 0||a.type===s.type&&a.videoId===s.videoId&&await r.setCurrentTime(0)}),[t,r]),o(Ct.Provider,{value:t,children:e})};var Ro=Object.defineProperty,wo=Object.getOwnPropertyDescriptor,ne=(e,t,r,a)=>{for(var s=a>1?void 0:a?wo(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&Ro(t,r,s),s};class te{controller=pe.nullPlayerController;playing=!1;percent=0;seeking=!1;constructor(){l.makeObservable(this)}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))}}ne([l.observable],te.prototype,"controller",2);ne([l.observable],te.prototype,"playing",2);ne([l.observable],te.prototype,"percent",2);ne([l.observable],te.prototype,"seeking",2);ne([l.action.bound],te.prototype,"setPlaying",1);ne([l.action.bound],te.prototype,"setPercent",1);ne([l.action.bound],te.prototype,"setSeeking",1);ne([l.action.bound],te.prototype,"onControllerChange",1);ne([l.action.bound],te.prototype,"onPlay",1);ne([l.action.bound],te.prototype,"onPause",1);ne([l.action.bound],te.prototype,"onEnded",1);ne([l.action.bound],te.prototype,"onTimeUpdate",1);const Oo=({children:e})=>{const[t]=p.useState(()=>new te);return o(ir.Provider,{value:t,children:e})},xt=p.createContext(void 0),ur=()=>p.useContext(xt);var _o=Object.defineProperty,ko=Object.getOwnPropertyDescriptor,rt=(e,t,r,a)=>{for(var s=a>1?void 0:a?ko(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&_o(t,r,s),s};class Ce{constructor(t,r,a){this.playlistList=t,l.makeObservable(this),this.id=r,this.name=a}id;name;async rename(t){this.name=t}remove(){return this.playlistList.removeItem(this)}}rt([l.observable],Ce.prototype,"id",2);rt([l.observable],Ce.prototype,"name",2);rt([l.action.bound],Ce.prototype,"rename",1);rt([l.action.bound],Ce.prototype,"remove",1);var Fo=Object.defineProperty,Ao=Object.getOwnPropertyDescriptor,Ne=(e,t,r,a)=>{for(var s=a>1?void 0:a?Ao(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&Fo(t,r,s),s};class dr{constructor(t){this.playlistList=t,l.makeObservable(this)}get state(){return{items:this.playlistList.items.map(t=>({id:t.id,name:t.name}))}}set state(t){this.playlistList.items=t.items?.map(r=>new Ce(this.playlistList,r.id,r.name))??[]}validateState(t){return!0}}Ne([l.computed.struct],dr.prototype,"state",1);class je{localStorageState;items=[];constructor(){l.makeObservable(this),this.localStorageState=new dr(this)}createItem(t){return new Ce(this,crypto.randomUUID(),t)}setItems(t){this.items=t}async addItem(t){this.items.push(t)}async removeItem(t){Ke.pull(this.items,t)}}Ne([l.observable],je.prototype,"items",2);Ne([l.action.bound],je.prototype,"setItems",1);Ne([l.action.bound],je.prototype,"addItem",1);Ne([l.action.bound],je.prototype,"removeItem",1);const Bo=({children:e})=>{const[t]=p.useState(()=>new je);return Xe.useLocalStorageState(tt.playlistList,t.localStorageState),o(xt.Provider,{value:t,children:e})},Mo=({children:e,nostalgicDivaProps:t})=>o(pe.NostalgicDivaProvider,{...t,children:o(uo,{components:[Oo,To,yo,go,Bo],children:e})}),bt={width:400,height:225},Do=I.observer(({children:e})=>{const t=Pe();return C(i.EuiPageTemplate,{panelled:!0,style:{minBlockSize:`max(460px, 100vh - ${Et}px)`},children:[e,!t.isEmpty&&o(i.EuiSpacer,{style:{blockSize:bt.height}})]})}),No=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:`Shuffle: ${e.shuffle?"On":"Off"}`,"aria-label":`Shuffle: ${e.shuffle?"On":"Off"}`,iconType:e.shuffle?b.ArrowShuffleFilled:b.ArrowShuffleOffFilled,size:"s",iconSize:"l",onClick:e.toggleShuffle,disabled:!e.canToggleShuffle})}),jo=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:"Previous","aria-label":"Previous",iconType:b.PreviousFilled,size:"s",iconSize:"l",onClick:e.previous,disabled:!e.canPrevious})}),$o=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:"Skip back 10 seconds","aria-label":"Skip back 10 seconds",iconType:b.SkipBack10Regular,size:"s",iconSize:"l",onClick:e.skipBack10,disabled:!e.canSkipBack10})}),Lo=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:"Pause","aria-label":"Pause",iconType:b.PauseFilled,size:"s",iconSize:"l",onClick:e.pause,disabled:!e.canPause})}),zo=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:"Play","aria-label":"Play",iconType:b.PlayFilled,size:"s",iconSize:"l",onClick:e.play,disabled:!e.canPlay})}),Qo=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:"Skip forward 30 seconds","aria-label":"Skip forward 30 seconds",iconType:b.SkipForward30Regular,size:"s",iconSize:"l",onClick:e.skipForward30,disabled:!e.canSkipForward30})}),Ho=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:"Next","aria-label":"Next",iconType:b.NextFilled,size:"s",iconSize:"l",onClick:e.next,disabled:!e.canNext})}),pr={[M.Off]:b.ArrowRepeatAllOffFilled,[M.All]:b.ArrowRepeatAllFilled,[M.One]:b.ArrowRepeat1Filled},Yo=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:`Repeat: ${e.repeat===M.All?"All":e.repeat===M.One?"One":"Off"}`,"aria-label":`Repeat: ${e.repeat===M.All?"All":e.repeat===M.One?"One":"Off"}`,iconType:pr[e.repeat],size:"s",iconSize:"l",onClick:e.toggleRepeat,disabled:!e.canToggleRepeat})}),Vo=I.observer(()=>{const e=J();return C(i.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(i.EuiHideFor,{sizes:["xs"],children:o(No,{})}),o(jo,{}),o(i.EuiHideFor,{sizes:["xs"],children:o($o,{})}),e.playing?o(Lo,{}):o(zo,{}),o(i.EuiHideFor,{sizes:["xs"],children:o(Qo,{})}),o(Ho,{}),o(i.EuiHideFor,{sizes:["xs"],children:o(Yo,{})})]})}),qo=p.memo(({item:e,closePopover:t})=>{const r=p.useCallback(({name:s,icon:c,onClick:u})=>({name:s,icon:c,onClick:async h=>{t(),u(h)}}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Open in new tab",icon:o(i.EuiIcon,{type:b.OpenRegular}),onClick:async()=>{window.open(e.dto.url,"_blank")}}),r({name:"Copy link address",icon:o(i.EuiIcon,{type:""}),onClick:async()=>{await navigator.clipboard.writeText(e.dto.url)}}),r({name:"Copy link text",icon:o(i.EuiIcon,{type:""}),onClick:async()=>{await navigator.clipboard.writeText(e.dto.title)}})]}],[r,e]);return o(i.EuiContextMenu,{initialPanelId:0,panels:a})}),Uo=p.memo(({item:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),s=p.useCallback(()=>r(!1),[]);return o(i.EuiPopover,{button:o(i.EuiButtonEmpty,{iconType:Ze.get(e.type),size:"s",onClick:a,children:e.title}),isOpen:t,closePopover:s,panelPaddingSize:"none",anchorPosition:"upLeft",children:o(qo,{item:e,closePopover:s})})}),Wo=I.observer(()=>{const e=J();return o(i.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexStart",alignItems:"center",children:e.currentItem&&o(Uo,{item:e.currentItem})})}),Go=I.observer(()=>{const e=J();return o(i.EuiButtonIcon,{title:"Mute","aria-label":"Mute",iconType:b.Speaker2Regular,size:"s",iconSize:"l",disabled:!e.controller.supports("setMuted")})}),Jo=I.observer(({button:e,isOpen:t,closePopover:r})=>{const a=J(),[s,c]=p.useState("0"),u=pe.useNostalgicDiva();p.useLayoutEffect(()=>{t&&u.getVolume().then(f=>{f!==void 0&&c(Math.floor(f*100).toString())})},[t,u]);const h=p.useCallback(async f=>{c(f.currentTarget.value),await u.setVolume(Number(f.currentTarget.value)/100)},[u]);return o(i.EuiPopover,{button:e,isOpen:t,closePopover:r,anchorPosition:"upRight",children:o(i.EuiFormRow,{children:C(i.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(Go,{}),o(i.EuiRange,{min:0,max:100,step:1,value:s,onChange:h,css:{blockSize:32},disabled:!a.controller.supports("setVolume")})]})})})}),Ko=I.observer(()=>{const e=J(),[t,r]=p.useState(!1),a=()=>r(!t);return o(Jo,{button:o(i.EuiButtonIcon,{title:"Volume","aria-label":"Volume",iconType:b.Speaker2Regular,size:"s",iconSize:"l",onClick:a,disabled:!e.controller.supports("getVolume")}),isOpen:t,closePopover:()=>r(!1)})}),Xo=({onClickPlayQueueButton:e})=>o(i.EuiButtonIcon,{title:"Play queue","aria-label":"Play queue",iconType:b.NavigationPlayRegular,size:"s",iconSize:"l",onClick:e}),Zo=I.observer(({closePopover:e})=>{const t=J(),r=pe.useNostalgicDiva(),[a,s]=p.useState(),c=p.useCallback(async()=>{await t.controller.getPlaybackRate().then(f=>s(f))},[t]),u=p.useCallback(({name:f,icon:S,onClick:x,disabled:k,className:G})=>({name:f,icon:S,onClick:async()=>{e(),x()},disabled:k,className:G}),[e]),h=p.useMemo(()=>[{id:0,items:[{name:"Speed",icon:o(i.EuiIcon,{type:b.TopSpeedRegular}),panel:1,onClick:c,disabled:!t.controller.supports("getPlaybackRate")},u({name:"Skip back 10 seconds",icon:o(i.EuiIcon,{type:b.SkipBack10Regular}),onClick:t.skipBack10,disabled:!t.canSkipBack10}),u({name:"Skip forward 30 seconds",icon:o(i.EuiIcon,{type:b.SkipForward30Regular}),onClick:t.skipForward30,disabled:!t.canSkipForward30}),u({name:`Shuffle: ${t.shuffle?"On":"Off"}`,icon:o(i.EuiIcon,{type:t.shuffle?b.ArrowShuffleFilled:b.ArrowShuffleOffFilled}),onClick:t.toggleShuffle,disabled:!t.canToggleShuffle,className:"eui-showFor--xs--flex"}),u({name:`Repeat: ${t.repeat===M.All?"All":t.repeat===M.One?"One":"Off"}`,icon:o(i.EuiIcon,{type:pr[t.repeat]}),onClick:t.toggleRepeat,disabled:!t.canToggleRepeat,className:"eui-showFor--xs--flex"}),{isSeparator:!0},u({name:"Remove from play queue",icon:o(i.EuiIcon,{type:b.DismissRegular}),onClick:t.removeFromPlayQueue,disabled:!t.canRemoveFromPlayQueue})]},{id:1,title:"Speed",items:[.25,.5,.75,1,1.25,1.5,1.75,2].map(f=>u({name:f.toString(),onClick:()=>r.setPlaybackRate(f),icon:f===a?"check":"empty",disabled:!t.controller.supports("setPlaybackRate")}))}],[t,u,c,r,a]);return o(i.EuiContextMenu,{initialPanelId:0,panels:h})}),en=p.memo(({button:e,isOpen:t,closePopover:r})=>o(i.EuiPopover,{button:e,isOpen:t,closePopover:r,panelPaddingSize:"none",anchorPosition:"upRight",children:o(Zo,{closePopover:r})})),tn=p.memo(()=>{const[e,t]=p.useState(!1),r=()=>t(!e);return o(en,{button:o(i.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:b.MoreHorizontalFilled,size:"s",iconSize:"l",onClick:r}),isOpen:e,closePopover:()=>t(!1)})}),rn=p.memo(({onClickPlayQueueButton:e})=>C(i.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexEnd",alignItems:"center",children:[o(Ko,{}),e&&o(Xo,{onClickPlayQueueButton:e}),o(tn,{})]})),on=I.observer(()=>{const e=J(),t=pe.useNostalgicDiva(),r=p.useCallback(c=>{const u=Number(c.currentTarget.value)/100;e.setPercent(u)},[e]),a=p.useCallback(c=>{c.button===0&&e.setSeeking(!0)},[e]),s=p.useCallback(async c=>{if(c.button===0){const u=Number(c.currentTarget.value)/100;e.setSeeking(!1);const h=await t.getDuration();h!==void 0&&await t.setCurrentTime(h*u)}},[e,t]);return o(i.EuiRange,{min:0,max:100,step:1e-7,value:e.percent*100,onChange:r,onMouseDown:a,onMouseUp:s,fullWidth:!0,showRange:!0,css:{blockSize:32},disabled:!e.canSeek})}),nn=I.observer(({onClickPlayQueueButton:e})=>o(i.EuiBottomBar,{paddingSize:"s",children:C(i.EuiFlexGroup,{direction:"column",gutterSize:"none",children:[o(i.EuiFlexItem,{children:o(on,{})}),o(i.EuiFlexItem,{children:C(i.EuiFlexGroup,{responsive:!1,children:[o(i.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Wo,{})}),o(i.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Vo,{})}),o(i.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(rn,{onClickPlayQueueButton:e})})]})})]})})),an=I.observer(()=>{const e=ho(),t=p.useMemo(()=>({onLoaded:e.onLoaded,onPlay:e.onPlay,onPause:e.onPause,onEnded:e.onEnded,onTimeUpdate:e.onTimeUpdate}),[e]);return p.useLayoutEffect(()=>(window.addEventListener("click",e.interact,{once:!0}),()=>{window.removeEventListener("click",e.interact)}),[e]),o("div",{css:{position:"fixed",right:0,bottom:Et,width:bt.width,height:bt.height,zIndex:998,backgroundColor:"rgb(39, 39, 39)",display:"flex",flexDirection:"column"},children:o("div",{css:{flexGrow:1,backgroundColor:"black"},children:e.currentItem&&o(pe.NostalgicDiva,{src:e.currentItem.url,options:t,onControllerChange:e.onControllerChange})})})});function sn(e){return e!==null&&typeof e=="object"&&"title"in e&&typeof e.title=="string"}const ln=me.create(({remove:e,resolve:t})=>{const r=i.useGeneratedHtmlId({prefix:"modalForm"}),[a,s]=p.useState(""),[c,u]=p.useState(""),[h,f]=p.useState(!1);return C(i.EuiModal,{onClose:e,initialFocus:"[name=url]",children:[o(i.EuiModalHeader,{children:o(i.EuiModalHeaderTitle,{children:"Add video"})}),o(i.EuiModalBody,{children:C(i.EuiForm,{id:r,component:"form",onSubmit:async S=>{S.preventDefault();try{f(!0);const x=pe.findVideoService(a);if(x===void 0)return;const k=x.extractVideoId(a);if(k===void 0)return;const V=await(await fetch(`https://noembed.com/embed?url=${encodeURIComponent(a)}`)).json();t({url:a,type:x.type,videoId:k,title:c||(sn(V)?V.title:k)}),e()}finally{f(!1)}},children:[o(i.EuiFormRow,{label:"URL",children:o(i.EuiFieldText,{name:"url",value:a,onChange:S=>s(S.target.value)})}),o(i.EuiFormRow,{label:"Title",children:o(i.EuiFieldText,{name:"title",value:c,onChange:S=>u(S.target.value)})})]})}),C(i.EuiModalFooter,{children:[o(i.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(i.EuiButton,{type:"submit",form:r,fill:!0,disabled:a.trim().length===0,isLoading:h,children:"Add video"})]})]})}),Tt=p.memo(({onFulfilled:e})=>{const t=()=>me.show(ln).then(e);return o(i.EuiButton,{onClick:t,iconType:b.AddRegular,color:"primary",children:"Add video"})}),cn=I.observer(({playQueue:e})=>o(i.EuiButton,{iconType:b.AddRegular,onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems,children:"Add to play queue"})),un=I.observer(({playQueue:e,closePopover:t})=>{const r=p.useCallback(({name:s,icon:c,disabled:u,onClick:h})=>({name:s,icon:c,disabled:u,onClick:async f=>{t(),h(f)}}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Play next",icon:o(i.EuiIcon,{type:""}),disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext}),r({name:"Add to play queue",icon:o(i.EuiIcon,{type:b.AddRegular}),onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems}),r({name:"Remove",icon:o(i.EuiIcon,{type:b.DismissRegular}),onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems}),r({name:"Clear",icon:o(i.EuiIcon,{type:b.DeleteRegular}),onClick:e.clear,disabled:!e.canClear})]}],[r,e]);return o(i.EuiContextMenu,{initialPanelId:0,panels:a})}),dn=p.memo(({playQueue:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),s=p.useCallback(()=>r(!1),[]);return o(i.EuiPopover,{button:o(i.EuiButtonIcon,{display:"base",size:"m",iconType:b.MoreHorizontalFilled,onClick:a}),isOpen:t,closePopover:s,panelPaddingSize:"none",anchorPosition:"downLeft",children:o(un,{playQueue:e,closePopover:s})})}),pn=I.observer(({playQueue:e})=>{const{euiTheme:t}=i.useEuiTheme();return C(i.EuiFlexGroup,{alignItems:"center",gutterSize:"m",responsive:!1,style:{position:"sticky",top:48,zIndex:998,background:t.colors.backgroundBasePlain},children:[C(i.EuiHideFor,{sizes:["xs"],children:[o(i.EuiFlexItem,{grow:!1,children:o(i.EuiButton,{disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext,children:"Play next"})}),o(i.EuiFlexItem,{grow:!1,children:o(cn,{playQueue:e})}),o(i.EuiFlexItem,{grow:!1,children:o(i.EuiButton,{iconType:b.DismissRegular,onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems,children:"Remove"})}),o(i.EuiFlexItem,{grow:!1,children:o(i.EuiButton,{iconType:b.DeleteRegular,onClick:e.clear,disabled:!e.canClear,children:"Clear"})})]}),o(i.EuiShowFor,{sizes:["xs"],children:o(dn,{playQueue:e})}),o(i.EuiFlexItem,{grow:!0}),o(i.EuiFlexItem,{grow:!1,children:o(Tt,{onFulfilled:e.addItemFromDto})})]})}),mn=I.observer(({playQueue:e})=>{const{euiTheme:t}=i.useEuiTheme();return C(ve,{children:[o(i.EuiTableHeaderMobile,{children:o(i.EuiFlexGroup,{responsive:!1,justifyContent:"spaceBetween",alignItems:"baseline",children:o(i.EuiFlexItem,{grow:!1,children:o(i.EuiCheckbox,{id:"",checked:e.allItemsSelected,onChange:r=>{r.target.checked?e.selectAll():e.unselectAll()}})})})}),C(i.EuiTableHeader,{style:{position:"sticky",top:112,zIndex:998,background:t.colors.backgroundBasePlain},children:[o(i.EuiTableHeaderCellCheckbox,{children:o(i.EuiCheckbox,{id:"",checked:e.allItemsSelected,onChange:r=>{r.target.checked?e.selectAll():e.unselectAll()}})}),o(i.EuiTableHeaderCell,{width:24}),o(i.EuiTableHeaderCell,{children:"Title"}),o(i.EuiTableHeaderCell,{})]})]})}),fn=I.observer(({item:e,closePopover:t})=>{const r=p.useCallback(({name:s,icon:c,disabled:u,onClick:h,className:f})=>({name:s,icon:c,disabled:u,onClick:async S=>{t(),h(S)},className:f}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Play",icon:o(i.EuiIcon,{type:b.PlayRegular}),onClick:e.play,className:"eui-showFor--xs--flex"}),r({name:"Play first",icon:o(i.EuiIcon,{type:""}),onClick:e.playFirst}),r({name:"Play next",icon:o(i.EuiIcon,{type:""}),onClick:e.playNext}),r({name:"Add to play queue",icon:o(i.EuiIcon,{type:b.AddRegular}),onClick:e.addToPlayQueue}),{isSeparator:!0},r({name:"Move to the top",icon:o(i.EuiIcon,{type:b.ArrowUploadRegular}),onClick:e.moveToTop,disabled:!e.canMoveToTop}),r({name:"Move to the bottom",icon:o(i.EuiIcon,{type:b.ArrowDownloadRegular}),onClick:e.moveToBottom,disabled:!e.canMoveToBottom}),{isSeparator:!0},r({name:"Remove",icon:o(i.EuiIcon,{type:b.DismissRegular}),onClick:e.remove,className:"eui-showFor--xs--flex"}),r({name:"Remove to the top",icon:o(i.EuiIcon,{type:""}),onClick:e.removeToTop,disabled:!e.canRemoveToTop}),r({name:"Remove others",icon:o(i.EuiIcon,{type:""}),onClick:e.removeOthers,disabled:!e.canRemoveOthers})]}],[r,e]);return o(i.EuiContextMenu,{initialPanelId:0,panels:a})}),yn=p.memo(({item:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),s=p.useCallback(()=>r(!1),[]);return o(i.EuiPopover,{button:o(i.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:b.MoreHorizontalFilled,size:"s",color:"text",onClick:a}),isOpen:t,closePopover:s,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(fn,{item:e,closePopover:s})})}),hn=I.observer(({item:e})=>{const t=pe.useNostalgicDiva();return C(i.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[C(i.EuiHideFor,{sizes:["xs"],children:[o(i.EuiButton,{iconType:b.PlayRegular,size:"s",onClick:async()=>{e.isCurrent?await t.setCurrentTime(0):await e.play()},children:"Play"}),o(i.EuiButton,{iconType:b.DismissRegular,size:"s",onClick:e.remove,children:"Remove"})]}),o(yn,{item:e})]})}),vn=I.observer(({item:e})=>C(i.EuiTableRow,{isSelected:e.isCurrent,hasSelection:!0,hasActions:!0,children:[o(i.EuiTableRowCellCheckbox,{children:o(i.EuiCheckbox,{id:e.id.toString(),checked:e.isSelected,onChange:e.toggleSelected})}),o(i.EuiTableRowCell,{textOnly:!1,children:o("img",{src:Ze.get(e.type),width:16,height:16,alt:e.type})}),o(i.EuiTableRowCell,{mobileOptions:{header:!1,enlarge:!0,width:"100%"},children:o(i.EuiLink,{href:e.url,target:"_blank",external:!0,children:e.title})}),o(hn,{item:e})]})),bn=I.observer(({playQueue:e})=>o(St.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(vn,{item:t},t.id))})),gn=I.observer(({playQueue:e})=>C(i.EuiTable,{children:[o(mn,{playQueue:e}),o(bn,{playQueue:e})]})),mr=I.observer(({playQueue:e})=>{const{euiTheme:t}=i.useEuiTheme();return C(i.EuiPageTemplate.Section,{children:[o(pn,{playQueue:e}),o(i.EuiSpacer,{size:"l",style:{position:"sticky",top:88,zIndex:998,background:t.colors.backgroundBasePlain}}),e.isEmpty?o(i.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,{onFulfilled:e.addItemFromDto})}):o(gn,{playQueue:e})]})}),Rt=({breadcrumbs:e,tabs:t,...r})=>{const a=It.useRouter();return o(i.EuiPageTemplate.Header,{...r,breadcrumbs:e?.map(({linkProps:s,...c})=>({...c,href:s===void 0?void 0:a.buildLocation(s).href,onClick:s===void 0?void 0:async u=>{u.preventDefault(),await a.navigate(s)}})),tabs:t?.map(({linkProps:s,...c})=>({...c,href:s===void 0?void 0:a.buildLocation(s).href,onClick:s===void 0?void 0:async u=>{u.preventDefault(),await a.navigate(s)}}))})},Sn=()=>{const e=Pe();return C(ve,{children:[o(Rt,{pageTitle:"Play queue",rightSideItems:[]}),o(mr,{playQueue:e})]})},In=me.create(({remove:e,resolve:t,playlistListItem:r})=>{const[a,s]=p.useState(!1),c=p.useCallback(async()=>{try{s(!0),t(),e()}finally{s(!1)}},[t,e]);return o(i.EuiConfirmModal,{title:"Delete playlist permanently?",onCancel:e,onConfirm:c,cancelButtonText:"Cancel",confirmButtonText:"Delete",buttonColor:"danger",isLoading:a,children:C("p",{children:["Are you sure you want to delete this playlist? If you delete '",r.name,"', you won't be able to recover it."]})})}),En=I.observer(({playlist:e})=>o(i.EuiButton,{iconType:b.AddRegular,onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems,children:"Add to play queue"})),Pn=I.observer(({playlist:e,closePopover:t})=>{const r=p.useCallback(({name:s,icon:c,disabled:u,onClick:h})=>({name:s,icon:c,disabled:u,onClick:async f=>{t(),h(f)}}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Play next",icon:o(i.EuiIcon,{type:""}),disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext}),r({name:"Add to play queue",icon:o(i.EuiIcon,{type:b.AddRegular}),onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems}),r({name:"Remove",icon:o(i.EuiIcon,{type:b.DismissRegular}),onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems})]}],[r,e]);return o(i.EuiContextMenu,{initialPanelId:0,panels:a})}),Cn=p.memo(({playlist:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),s=p.useCallback(()=>r(!1),[]);return o(i.EuiPopover,{button:o(i.EuiButtonIcon,{display:"base",size:"m",iconType:b.MoreHorizontalFilled,onClick:a}),isOpen:t,closePopover:s,panelPaddingSize:"none",anchorPosition:"downLeft",children:o(Pn,{playlist:e,closePopover:s})})}),xn=I.observer(({playlist:e})=>{const{euiTheme:t}=i.useEuiTheme();return C(i.EuiFlexGroup,{alignItems:"center",gutterSize:"m",responsive:!1,style:{position:"sticky",top:48,zIndex:998,background:t.colors.backgroundBasePlain},children:[C(i.EuiHideFor,{sizes:["xs"],children:[o(i.EuiFlexItem,{grow:!1,children:o(i.EuiButton,{disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext,children:"Play next"})}),o(i.EuiFlexItem,{grow:!1,children:o(En,{playlist:e})}),o(i.EuiFlexItem,{grow:!1,children:o(i.EuiButton,{iconType:b.DismissRegular,onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems,children:"Remove"})})]}),o(i.EuiShowFor,{sizes:["xs"],children:o(Cn,{playlist:e})}),o(i.EuiFlexItem,{grow:!0}),o(i.EuiFlexItem,{grow:!1,children:o(Tt,{onFulfilled:e.addItemFromDto})})]})}),Tn=I.observer(({playlist:e})=>C(ve,{children:[o(i.EuiTableHeaderMobile,{children:o(i.EuiFlexGroup,{responsive:!1,justifyContent:"spaceBetween",alignItems:"baseline",children:o(i.EuiFlexItem,{grow:!1,children:o(i.EuiCheckbox,{id:"",checked:e.allItemsSelected,onChange:t=>{t.target.checked?e.selectAll():e.unselectAll()}})})})}),C(i.EuiTableHeader,{children:[o(i.EuiTableHeaderCellCheckbox,{children:o(i.EuiCheckbox,{id:"",checked:e.allItemsSelected,onChange:t=>{t.target.checked?e.selectAll():e.unselectAll()}})}),o(i.EuiTableHeaderCell,{width:24}),o(i.EuiTableHeaderCell,{children:"Title"}),o(i.EuiTableHeaderCell,{})]})]})),Rn=p.memo(({item:e,closePopover:t})=>{const r=p.useCallback(({name:s,icon:c,disabled:u,onClick:h,className:f})=>({name:s,icon:c,disabled:u,onClick:async S=>{t(),h(S)},className:f}),[t]),a=p.useMemo(()=>[{id:0,items:[r({name:"Play",icon:o(i.EuiIcon,{type:b.PlayRegular}),onClick:e.play,className:"eui-showFor--xs--flex"}),r({name:"Play first",icon:o(i.EuiIcon,{type:""}),onClick:e.playFirst}),r({name:"Play next",icon:o(i.EuiIcon,{type:""}),onClick:e.playNext}),r({name:"Add to play queue",icon:o(i.EuiIcon,{type:b.AddRegular}),onClick:e.addToPlayQueue}),{isSeparator:!0},r({name:"Move to the top",icon:o(i.EuiIcon,{type:b.ArrowUploadRegular}),onClick:e.moveToTop,disabled:!e.canMoveToTop}),r({name:"Move to the bottom",icon:o(i.EuiIcon,{type:b.ArrowDownloadRegular}),onClick:e.moveToBottom,disabled:!e.canMoveToBottom}),{isSeparator:!0},r({name:"Remove",icon:o(i.EuiIcon,{type:b.DismissRegular}),onClick:e.remove,className:"eui-showFor--xs--flex"}),r({name:"Remove to the top",icon:o(i.EuiIcon,{type:""}),onClick:e.removeToTop,disabled:!e.canRemoveToTop}),r({name:"Remove others",icon:o(i.EuiIcon,{type:""}),onClick:e.removeOthers,disabled:!e.canRemoveOthers})]}],[r,e]);return o(i.EuiContextMenu,{initialPanelId:0,panels:a})}),wn=p.memo(({item:e})=>{const[t,r]=p.useState(!1),a=p.useCallback(()=>r(!t),[t]),s=p.useCallback(()=>r(!1),[]);return o(i.EuiPopover,{button:o(i.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:b.MoreHorizontalFilled,size:"s",color:"text",onClick:a}),isOpen:t,closePopover:s,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(Rn,{item:e,closePopover:s})})}),On=I.observer(({item:e})=>C(i.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[C(i.EuiHideFor,{sizes:["xs"],children:[o(i.EuiButton,{iconType:b.PlayRegular,size:"s",onClick:e.play,children:"Play"}),o(i.EuiButton,{iconType:b.DismissRegular,size:"s",onClick:e.remove,children:"Remove"})]}),o(wn,{item:e})]})),_n=I.observer(({item:e})=>C(i.EuiTableRow,{isSelected:e.isCurrent,hasSelection:!0,hasActions:!0,children:[o(i.EuiTableRowCellCheckbox,{children:o(i.EuiCheckbox,{id:e.id.toString(),checked:e.isSelected,onChange:e.toggleSelected})}),o(i.EuiTableRowCell,{textOnly:!1,children:o("img",{src:Ze.get(e.type),width:16,height:16,alt:e.type})}),o(i.EuiTableRowCell,{mobileOptions:{header:!1,enlarge:!0,width:"100%"},children:o(i.EuiLink,{href:e.url,target:"_blank",external:!0,children:e.title})}),o(On,{item:e})]})),kn=I.observer(({playlist:e})=>o(St.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(_n,{item:t},t.id))})),Fn=I.observer(({playlist:e})=>C(i.EuiTable,{children:[o(Tn,{playlist:e}),o(kn,{playlist:e})]})),An=I.observer(({playlist:e})=>{const{euiTheme:t}=i.useEuiTheme();return C(i.EuiPageTemplate.Section,{children:[o(xn,{playlist:e}),o(i.EuiSpacer,{size:"l",style:{position:"sticky",top:88,zIndex:998,background:t.colors.backgroundBasePlain}}),e.isEmpty?o(ve,{}):o(Fn,{playlist:e})]})}),Bn=me.create(({remove:e,resolve:t,playlistListItem:r})=>{const a=i.useGeneratedHtmlId({prefix:"modalForm"}),[s,c]=p.useState(r.name),[u,h]=p.useState(!1);return C(i.EuiModal,{onClose:e,initialFocus:"[name=name]",children:[o(i.EuiModalHeader,{children:o(i.EuiModalHeaderTitle,{children:"Rename playlist"})}),o(i.EuiModalBody,{children:o(i.EuiForm,{id:a,component:"form",onSubmit:async f=>{f.preventDefault();try{h(!0),t(s),e()}finally{h(!1)}},children:o(i.EuiFormRow,{label:"Name",children:o(i.EuiFieldText,{name:"name",value:s,onChange:f=>c(f.target.value)})})})}),C(i.EuiModalFooter,{children:[o(i.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(i.EuiButton,{type:"submit",form:a,fill:!0,disabled:s.trim().length===0,isLoading:u,children:"Rename"})]})]})});var Mn=Object.defineProperty,Dn=Object.getOwnPropertyDescriptor,Y=(e,t,r,a)=>{for(var s=a>1?void 0:a?Dn(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&Mn(t,r,s),s};const L=class gt{constructor(t,r,a){this.playQueue=t,this.playlist=r,this.dto=a,l.makeObservable(this),this.id=gt.nextId++}static nextId=1;id;isSelected=!1;static fromDto(t,r,a){return new gt(t,r,a)}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!1}get index(){return this.playlist.items.indexOf(this)}get isFirst(){return this.index===0}get isLast(){return this.index===this.playlist.items.length-1}get canMoveToTop(){return!this.isFirst}get canMoveToBottom(){return!this.isLast}get canRemoveToTop(){return!this.isFirst}get canRemoveOthers(){return this.playlist.hasMultipleItems}unselect(){this.isSelected=!1}select(){this.isSelected=!0}toggleSelected(){this.isSelected=!this.isSelected}play(){return this.playQueue.clearAndSetItems([this.playQueue.createItemFromDto(this.dto)]),Promise.resolve()}remove(){return this.playlist.removeItems([this])}playFirst(){return this.playQueue.playFirst([this.playQueue.createItemFromDto(this.dto)])}playNext(){return this.playQueue.playNext([this.playQueue.createItemFromDto(this.dto)])}addToPlayQueue(){return this.playQueue.addItems([this.playQueue.createItemFromDto(this.dto)])}moveToTop(){this.playlist.moveItem(this,0)}moveToBottom(){this.playlist.moveItem(this,this.playlist.items.length-1)}removeToTop(){return this.playlist.removeItemsAbove(this)}removeOthers(){return this.playlist.removeOtherItems(this)}};Y([l.observable],L.prototype,"isSelected",2);Y([l.computed],L.prototype,"isCurrent",1);Y([l.computed],L.prototype,"index",1);Y([l.computed],L.prototype,"isFirst",1);Y([l.computed],L.prototype,"isLast",1);Y([l.computed],L.prototype,"canMoveToTop",1);Y([l.computed],L.prototype,"canMoveToBottom",1);Y([l.computed],L.prototype,"canRemoveToTop",1);Y([l.computed],L.prototype,"canRemoveOthers",1);Y([l.action.bound],L.prototype,"unselect",1);Y([l.action.bound],L.prototype,"select",1);Y([l.action.bound],L.prototype,"toggleSelected",1);Y([l.action.bound],L.prototype,"play",1);Y([l.action.bound],L.prototype,"remove",1);Y([l.action.bound],L.prototype,"playFirst",1);Y([l.action.bound],L.prototype,"playNext",1);Y([l.action.bound],L.prototype,"addToPlayQueue",1);Y([l.action.bound],L.prototype,"moveToTop",1);Y([l.action.bound],L.prototype,"moveToBottom",1);Y([l.action.bound],L.prototype,"removeToTop",1);Y([l.action.bound],L.prototype,"removeOthers",1);let Nn=L;var jn=Object.defineProperty,$n=Object.getOwnPropertyDescriptor,N=(e,t,r,a)=>{for(var s=a>1?void 0:a?$n(t,r):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(a?u(t,r,s):u(s))||s);return a&&s&&jn(t,r,s),s};const Ln={type:"object",properties:{version:{type:"string",nullable:!0},items:{type:"array",nullable:!0,items:lr}}};class fr{constructor(t){this.playlist=t,l.makeObservable(this)}get state(){return{version:"1.0",items:this.playlist.items.map(t=>t.dto)}}set state(t){this.playlist.items=t.items?.map(r=>this.playlist.createItemFromDto(r))??[]}validateState(t){return Pt(Ln,"PlaylistLocalStorageState")(t)}}N([l.computed.struct],fr.prototype,"state",1);class j{constructor(t){this.playQueue=t,l.makeObservable(this),this.localStorageState=new fr(this)}localStorageState;items=[];createItemFromDto(t){return Nn.fromDto(this.playQueue,this,{url:t.url,type:t.type,videoId:t.videoId,title:t.title})}get isEmpty(){return this.items.length===0}get hasMultipleItems(){return this.items.length>1}get selectedItems(){return this.items.filter(t=>t.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(t){this.items=t}unselectAll(){for(const t of this.items)t.unselect()}selectAll(){for(const t of this.items)t.select()}async playSelectedItemsNext(){await this.playQueue.playNext(this.selectedItemsOrAllItems.map(t=>this.playQueue.createItemFromDto(t.dto))),this.unselectAll()}async addSelectedItems(){await this.playQueue.addItems(this.selectedItemsOrAllItems.map(t=>this.playQueue.createItemFromDto(t.dto))),this.unselectAll()}async addItems(t){this.items.push(...t)}moveItem(t,r){const a=this.items.splice(this.items.indexOf(t),1)[0];this.items.splice(r,0,a)}async removeItems(t){Ke.pull(this.items,...t)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(t){const r=t.id;return this.removeItems(this.items.filter(a=>a.id!==r))}async removeItemsAbove(t){const r=this.items.indexOf(t);return this.removeItems(this.items.filter((a,s)=>s<r))}addItemFromDto(t){const r=this.createItemFromDto(t);return this.addItems([r])}playAll(){return this.playQueue.clearAndSetItems(this.items.map(t=>this.playQueue.createItemFromDto(t.dto))),Promise.resolve()}}N([l.observable],j.prototype,"items",2);N([l.computed],j.prototype,"isEmpty",1);N([l.computed],j.prototype,"hasMultipleItems",1);N([l.computed],j.prototype,"selectedItems",1);N([l.computed],j.prototype,"allItemsSelected",1);N([l.computed],j.prototype,"hasSelectedItems",1);N([l.computed],j.prototype,"selectedItemsOrAllItems",1);N([l.computed],j.prototype,"canAddSelectedItems",1);N([l.computed],j.prototype,"canPlaySelectedItemsNext",1);N([l.computed],j.prototype,"canRemoveSelectedItems",1);N([l.action.bound],j.prototype,"setItems",1);N([l.action.bound],j.prototype,"unselectAll",1);N([l.action.bound],j.prototype,"selectAll",1);N([l.action.bound],j.prototype,"playSelectedItemsNext",1);N([l.action.bound],j.prototype,"addSelectedItems",1);N([l.action.bound],j.prototype,"addItems",1);N([l.action.bound],j.prototype,"moveItem",1);N([l.action.bound],j.prototype,"removeItems",1);N([l.action.bound],j.prototype,"removeSelectedItems",1);N([l.action.bound],j.prototype,"removeOtherItems",1);N([l.action.bound],j.prototype,"removeItemsAbove",1);N([l.action.bound],j.prototype,"addItemFromDto",1);N([l.action.bound],j.prototype,"playAll",1);const zn=({onClick:e})=>o(i.EuiButton,{onClick:e,iconType:b.PlayRegular,fill:!0,children:"Play all"}),Qn=({playlistListItem:e,onFulfilled:t})=>{const r=()=>me.show(Bn,{playlistListItem:e}).then(t);return o(i.EuiButton,{onClick:r,iconType:b.RenameRegular,children:"Rename"})},Hn=({playlistListItem:e,onFulfilled:t})=>{const r=()=>me.show(In,{playlistListItem:e}).then(t);return o(i.EuiButton,{onClick:r,iconType:b.DeleteRegular,children:"Delete"})},Yn=I.observer(({playlistListItem:e})=>{const t=tt.playlist(e.id),r=Pe(),[a]=p.useState(()=>new j(r));Xe.useLocalStorageState(t,a.localStorageState);const s=It.useRouter(),c=p.useCallback(async h=>{await e.rename(h)},[e]),u=p.useCallback(async()=>{await s.navigate({to:"/playlists"}),window.localStorage.removeItem(t),await e.remove()},[e,s,t]);return C(ve,{children:[o(Rt,{pageTitle:e.name,breadcrumbs:[{text:"Playlists",linkProps:{to:"/playlists"}},{text:e.name}],rightSideItems:[o(zn,{onClick:a.playAll}),o(Qn,{playlistListItem:e,onFulfilled:c}),o(Hn,{playlistListItem:e,onFulfilled:u})]}),o(An,{playlist:a})]})}),Vn=me.create(({remove:e,resolve:t})=>{const r=i.useGeneratedHtmlId({prefix:"modalForm"}),[a,s]=p.useState(""),[c,u]=p.useState(!1);return C(i.EuiModal,{onClose:e,initialFocus:"[name=name]",children:[o(i.EuiModalHeader,{children:o(i.EuiModalHeaderTitle,{children:"Create playlist"})}),o(i.EuiModalBody,{children:o(i.EuiForm,{id:r,component:"form",onSubmit:async h=>{h.preventDefault();try{u(!0),t(a),e()}finally{u(!1)}},children:o(i.EuiFormRow,{label:"Name",children:o(i.EuiFieldText,{name:"name",value:a,onChange:h=>s(h.target.value)})})})}),C(i.EuiModalFooter,{children:[o(i.EuiButtonEmpty,{onClick:e,children:"Cancel"}),o(i.EuiButton,{type:"submit",form:r,fill:!0,disabled:a.trim().length===0,isLoading:c,children:"Create playlist"})]})]})}),qn=({children:e,onFulfilled:t})=>{const r=()=>me.show(Vn).then(t);return o(i.EuiButton,{onClick:r,iconType:b.AddRegular,fill:!0,children:e})},Un=({linkProps:e,...t})=>{const r=It.useRouter(),a=async s=>{s.preventDefault(),await r.navigate(e)};return o(i.EuiLink,{...t,href:r.buildLocation(e).href,onClick:a})},Wn=I.observer(({playlistList:e})=>o(i.EuiTableHeader,{children:o(i.EuiTableHeaderCell,{children:"Name"})})),Gn=I.observer(({item:e})=>o(i.EuiTableRow,{children:o(i.EuiTableRowCell,{children:o(Un,{linkProps:{to:"/playlists/$playlistId",params:{playlistId:e.id}},children:e.name})})},e.id)),Jn=I.observer(({playlistList:e})=>o(St.ReactSortable,{tag:"tbody",list:e.items,setList:t=>e.setItems(t),children:e.items.map(t=>o(Gn,{item:t},t.id))})),Kn=I.observer(({playlistList:e})=>C(i.EuiTable,{children:[o(Wn,{playlistList:e}),o(Jn,{playlistList:e})]})),Xn=()=>o(Rt,{pageTitle:"Playlists",breadcrumbs:[{text:"Playlists"}]}),Zn=I.observer(({playlistList:e})=>{const t=p.useCallback(async r=>{await e.addItem(e.createItem(r))},[e]);return C(i.EuiPageTemplate.Section,{children:[o(qn,{onFulfilled:t,children:"New playlist"}),o(i.EuiSpacer,{size:"l"}),o(Kn,{playlistList:e})]})}),ei=p.memo(()=>{const e=ur();return C(ve,{children:[o(Xn,{}),o(Zn,{playlistList:e})]})});exports.BottomBar=nn;exports.HydrangeanDivaProvider=Mo;exports.MediaPlayerLayout=Do;exports.MiniPlayer=an;exports.PlayQueueContext=Ct;exports.PlayQueuePage=Sn;exports.PlayQueueSection=mr;exports.PlaylistDetailsPage=Yn;exports.PlaylistListContext=xt;exports.PlaylistListPage=ei;exports.RepeatMode=M;exports.bottomBarHeight=Et;exports.usePlayQueue=Pe;exports.usePlaylistList=ur;exports.videoServiceIcons=Ze;
|
|
15
15
|
//# sourceMappingURL=index.cjs.js.map
|