@aigamo/hydrangean-diva 0.0.1-alpha.59 → 0.0.1-alpha.60

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