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