@aigamo/hydrangean-diva 0.0.1-alpha.52 → 0.0.1-alpha.54

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