@aigamo/hydrangean-diva 0.0.1-alpha.7 → 0.0.1-alpha.70
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 +2 -45
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.es.js +2263 -2462
- package/dist/index.es.js.map +1 -1
- package/dist/src/App.d.ts +9 -0
- package/dist/src/common/components/AppLink.d.ts +6 -0
- package/dist/src/common/components/AppPageTemplateHeader.d.ts +18 -0
- package/dist/src/features/common/helpers/bottomBarHeight.d.ts +1 -0
- package/dist/src/features/common/helpers/commandBarHeight.d.ts +1 -0
- package/dist/src/features/common/helpers/commandBarSpacerHeight.d.ts +1 -0
- package/dist/src/features/common/helpers/featureFlags.d.ts +5 -0
- package/dist/src/features/common/helpers/headerHeight.d.ts +1 -0
- package/dist/src/features/common/helpers/index.d.ts +2 -0
- package/dist/src/features/common/helpers/miniPlayerSize.d.ts +4 -0
- package/dist/src/features/common/helpers/videoServiceIcons.d.ts +2 -0
- package/dist/src/features/common/index.d.ts +1 -0
- package/dist/src/features/common/stores/localStorageStateKeys.d.ts +6 -0
- package/dist/src/features/index.d.ts +11 -0
- package/dist/src/features/media-player/components/HydrangeanDivaProvider.d.ts +7 -0
- package/dist/src/features/media-player/components/index.d.ts +2 -0
- package/dist/src/features/media-player/index.d.ts +1 -0
- package/dist/src/features/media-player.bottom-bar/components/BottomBar.d.ts +8 -0
- package/dist/src/features/media-player.bottom-bar/components/BottomBarCenterControls.d.ts +7 -0
- package/dist/src/features/media-player.bottom-bar/components/BottomBarLeftControls.d.ts +4 -0
- package/dist/src/features/media-player.bottom-bar/components/BottomBarProvider.d.ts +6 -0
- package/dist/src/features/media-player.bottom-bar/components/BottomBarRightControls.d.ts +6 -0
- package/dist/{AppRoutes.d.ts → src/features/media-player.bottom-bar/components/SeekBar.d.ts} +1 -1
- package/dist/src/features/media-player.bottom-bar/components/index.d.ts +1 -0
- package/dist/{features/media-player → src/features/media-player.bottom-bar}/index.d.ts +0 -1
- package/dist/src/features/media-player.bottom-bar/stores/BottomBarStore.d.ts +54 -0
- package/dist/src/features/media-player.bottom-bar.abstractions/contexts/BottomBarContext.d.ts +3 -0
- package/dist/src/features/media-player.bottom-bar.abstractions/index.d.ts +1 -0
- package/dist/src/features/media-player.bottom-bar.abstractions/interfaces/IBottomBarStore.d.ts +32 -0
- package/dist/src/features/media-player.bottom-bar.abstractions/interfaces/index.d.ts +1 -0
- package/dist/src/features/media-player.mini-player/components/CookieConsentPanel.d.ts +8 -0
- package/dist/src/features/media-player.mini-player/components/MiniPlayer.d.ts +4 -0
- package/dist/src/features/media-player.mini-player/components/MiniPlayerProvider.d.ts +6 -0
- package/dist/src/features/media-player.mini-player/components/index.d.ts +1 -0
- package/dist/src/features/media-player.mini-player/index.d.ts +1 -0
- package/dist/src/features/media-player.mini-player/stores/MiniPlayerStore.d.ts +21 -0
- package/dist/src/features/media-player.mini-player.abstractions/contexts/MiniPlayerContext.d.ts +3 -0
- package/dist/src/features/media-player.mini-player.abstractions/index.d.ts +1 -0
- package/dist/src/features/media-player.mini-player.abstractions/interfaces/IMiniPlayerStore.d.ts +12 -0
- package/dist/src/features/media-player.mini-player.abstractions/interfaces/index.d.ts +1 -0
- package/dist/src/features/media-player.play-queue/components/AddVideoButton.d.ts +7 -0
- package/dist/src/features/media-player.play-queue/components/AddVideoModal.d.ts +5 -0
- package/dist/src/features/media-player.play-queue/components/DeveloperToolsButton.d.ts +9 -0
- package/dist/src/features/media-player.play-queue/components/PlayQueueCommandBar.d.ts +9 -0
- package/dist/src/features/media-player.play-queue/components/PlayQueueProvider.d.ts +6 -0
- package/dist/src/features/media-player.play-queue/components/PlayQueueSection.d.ts +9 -0
- package/dist/src/features/media-player.play-queue/components/PlayQueueTable.d.ts +9 -0
- package/dist/src/features/media-player.play-queue/components/index.d.ts +1 -0
- package/dist/src/features/media-player.play-queue/helpers/isNoembedResult.d.ts +5 -0
- package/dist/src/features/media-player.play-queue/index.d.ts +2 -0
- package/dist/src/features/media-player.play-queue/pages/index.d.ts +1 -0
- package/dist/{features/media-player → src/features/media-player.play-queue}/stores/PlayQueueItemStore.d.ts +8 -9
- package/dist/{features/media-player → src/features/media-player.play-queue}/stores/PlayQueueStore.d.ts +25 -19
- package/dist/src/features/media-player.play-queue.abstractions/contexts/PlayQueueContext.d.ts +3 -0
- package/dist/src/features/media-player.play-queue.abstractions/contexts/index.d.ts +1 -0
- package/dist/src/features/media-player.play-queue.abstractions/index.d.ts +2 -0
- package/dist/{features/media-player/stores → src/features/media-player.play-queue.abstractions/interfaces}/IPlayQueueItemStore.d.ts +4 -8
- package/dist/src/features/media-player.play-queue.abstractions/interfaces/IPlayQueueStore.d.ts +46 -0
- package/dist/src/features/media-player.play-queue.abstractions/interfaces/PlayQueueDto.d.ts +11 -0
- package/dist/src/features/media-player.play-queue.abstractions/interfaces/PlayQueueItemDto.d.ts +9 -0
- package/dist/src/features/media-player.play-queue.abstractions/interfaces/index.d.ts +3 -0
- package/dist/src/features/media-player.player/components/PlayerProvider.d.ts +6 -0
- package/dist/src/features/media-player.player/stores/PlayerStore.d.ts +17 -0
- package/dist/src/features/media-player.player.abstractions/contexts/PlayerContext.d.ts +3 -0
- package/dist/src/features/media-player.player.abstractions/index.d.ts +1 -0
- package/dist/src/features/media-player.player.abstractions/interfaces/IPlayerStore.d.ts +13 -0
- package/dist/src/features/media-player.player.abstractions/interfaces/index.d.ts +1 -0
- package/dist/src/features/media-player.playlists/components/CreatePlaylistButton.d.ts +7 -0
- package/dist/src/features/media-player.playlists/components/CreatePlaylistModal.d.ts +4 -0
- package/dist/src/features/media-player.playlists/components/DeletePlaylistConfirmModal.d.ts +7 -0
- package/dist/src/features/media-player.playlists/components/PlaylistCommandBar.d.ts +9 -0
- package/dist/src/features/media-player.playlists/components/PlaylistListProvider.d.ts +6 -0
- package/dist/src/features/media-player.playlists/components/PlaylistListTable.d.ts +9 -0
- package/dist/src/features/media-player.playlists/components/PlaylistSection.d.ts +9 -0
- package/dist/src/features/media-player.playlists/components/PlaylistTable.d.ts +9 -0
- package/dist/src/features/media-player.playlists/components/RenamePlaylistModal.d.ts +7 -0
- package/dist/src/features/media-player.playlists/index.d.ts +1 -0
- package/dist/src/features/media-player.playlists/pages/PlaylistDetailsPage.d.ts +9 -0
- package/dist/src/features/media-player.playlists/pages/PlaylistListPage.d.ts +2 -0
- package/dist/src/features/media-player.playlists/pages/index.d.ts +2 -0
- package/dist/src/features/media-player.playlists/stores/PlaylistItemStore.d.ts +39 -0
- package/dist/src/features/media-player.playlists/stores/PlaylistListItemStore.d.ts +10 -0
- package/dist/src/features/media-player.playlists/stores/PlaylistListStore.d.ts +26 -0
- package/dist/src/features/media-player.playlists/stores/PlaylistStore.d.ts +46 -0
- package/dist/src/features/media-player.playlists.abstractions/contexts/PlaylistListContext.d.ts +3 -0
- package/dist/src/features/media-player.playlists.abstractions/contexts/index.d.ts +1 -0
- package/dist/src/features/media-player.playlists.abstractions/index.d.ts +1 -0
- package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistItemStore.d.ts +28 -0
- package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistListItemStore.d.ts +6 -0
- package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistListStore.d.ts +8 -0
- package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistStore.d.ts +26 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/routeTree.gen.d.ts +91 -0
- package/dist/src/routes/__root.d.ts +1 -0
- package/dist/src/routes/_authenticated/index.d.ts +1 -0
- package/dist/src/routes/_authenticated/play-queue.d.ts +1 -0
- package/dist/src/routes/_authenticated/playlists/$playlistId.index.d.ts +1 -0
- package/dist/src/routes/_authenticated/playlists/index.d.ts +1 -0
- package/dist/src/routes/_authenticated.d.ts +1 -0
- package/dist/test/features/media-player/stores/PlayQueueStore.test.d.ts +1 -0
- package/dist/test/features/media-player/stores/PlayerStore.test.d.ts +1 -0
- package/package.json +59 -47
- package/dist/App.d.ts +0 -3
- package/dist/features/media-player/components/AddVideoButton.d.ts +0 -7
- package/dist/features/media-player/components/BottomBar.d.ts +0 -12
- package/dist/features/media-player/components/HydrangeanDiva.d.ts +0 -11
- package/dist/features/media-player/components/MiniPlayer.d.ts +0 -15
- package/dist/features/media-player/components/PlayQueueStoreContext.d.ts +0 -8
- package/dist/features/media-player/components/PlayQueueTable.d.ts +0 -9
- package/dist/features/media-player/components/PlayerStoreContext.d.ts +0 -8
- package/dist/features/media-player/components/index.d.ts +0 -6
- package/dist/features/media-player/stores/IObservableStateProvider.d.ts +0 -4
- package/dist/features/media-player/stores/IPlayQueueStore.d.ts +0 -15
- package/dist/features/media-player/stores/MobXObservableStateProvider.d.ts +0 -5
- package/dist/features/media-player/stores/ObservableStateProvider.d.ts +0 -5
- package/dist/features/media-player/stores/PlayQueueLocalStorageState.d.ts +0 -10
- package/dist/features/media-player/stores/PlayerStore.d.ts +0 -15
- package/dist/features/media-player/stores/index.d.ts +0 -6
- /package/dist/{common → src/features/common}/components/Compose.d.ts +0 -0
- /package/dist/{features/media-player → src/features/common}/stores/getOrAddSchema.d.ts +0 -0
- /package/dist/{features → src/features}/media-player/components/MediaPlayerLayout.d.ts +0 -0
- /package/dist/{features/media-player → src/features/media-player.header}/components/Header.d.ts +0 -0
- /package/dist/{features/media-player → src/features/media-player.play-queue}/pages/PlayQueuePage.d.ts +0 -0
- /package/dist/{features/media-player/stores → src/features/media-player.play-queue.abstractions/interfaces}/RepeatMode.d.ts +0 -0
- /package/dist/{main.d.ts → src/main.d.ts} +0 -0
- /package/dist/{sw.d.ts → src/sw.d.ts} +0 -0
- /package/dist/{icons.d.ts → test/features/media-player/stores/PlayQueueItemStore.test.d.ts} +0 -0
package/dist/index.cjs.js
CHANGED
|
@@ -1,45 +1,2 @@
|
|
|
1
|
-
"use strict";var Xt=Object.defineProperty;var Zt=(t,e,n)=>e in t?Xt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var V=(t,e,n)=>Zt(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),Qt=require("@emotion/cache"),H=require("@aigamo/nostalgic-diva"),l=require("@elastic/eui"),R=require("@fluentui/react-icons"),z=require("mobx-react-lite"),er=require("react-sortablejs"),u=require("mobx"),dt=require("lodash-es"),tr=require("ajv");function rr(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const J=rr(v);var Ue={exports:{}},he={};/**
|
|
2
|
-
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var ft;function nr(){if(ft)return he;ft=1;var t=v,e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function h(p,y,g){var T,O={},Y=null,N=null;g!==void 0&&(Y=""+g),y.key!==void 0&&(Y=""+y.key),y.ref!==void 0&&(N=y.ref);for(T in y)i.call(y,T)&&!c.hasOwnProperty(T)&&(O[T]=y[T]);if(p&&p.defaultProps)for(T in y=p.defaultProps,y)O[T]===void 0&&(O[T]=y[T]);return{$$typeof:e,type:p,key:Y,ref:N,props:O,_owner:a.current}}return he.Fragment=n,he.jsx=h,he.jsxs=h,he}var ve={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.development.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var mt;function ir(){return mt||(mt=1,process.env.NODE_ENV!=="production"&&function(){var t=v,e=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),h=Symbol.for("react.provider"),p=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),Y=Symbol.for("react.lazy"),N=Symbol.for("react.offscreen"),B=Symbol.iterator,oe="@@iterator";function ae(r){if(r===null||typeof r!="object")return null;var s=B&&r[B]||r[oe];return typeof s=="function"?s:null}var W=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function F(r){{for(var s=arguments.length,d=new Array(s>1?s-1:0),b=1;b<s;b++)d[b-1]=arguments[b];$("error",r,d)}}function $(r,s,d){{var b=W.ReactDebugCurrentFrame,C=b.getStackAddendum();C!==""&&(s+="%s",d=d.concat([C]));var P=d.map(function(x){return String(x)});P.unshift("Warning: "+s),Function.prototype.apply.call(console[r],console,P)}}var M=!1,f=!1,K=!1,ke=!1,Ae=!1,Ee;Ee=Symbol.for("react.module.reference");function Fe(r){return!!(typeof r=="string"||typeof r=="function"||r===i||r===c||Ae||r===a||r===g||r===T||ke||r===N||M||f||K||typeof r=="object"&&r!==null&&(r.$$typeof===Y||r.$$typeof===O||r.$$typeof===h||r.$$typeof===p||r.$$typeof===y||r.$$typeof===Ee||r.getModuleId!==void 0))}function Me(r,s,d){var b=r.displayName;if(b)return b;var C=s.displayName||s.name||"";return C!==""?d+"("+C+")":d}function xe(r){return r.displayName||"Context"}function U(r){if(r==null)return null;if(typeof r.tag=="number"&&F("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case i:return"Fragment";case n:return"Portal";case c:return"Profiler";case a:return"StrictMode";case g:return"Suspense";case T:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case p:var s=r;return xe(s)+".Consumer";case h:var d=r;return xe(d._context)+".Provider";case y:return Me(r,r.render,"ForwardRef");case O:var b=r.displayName||null;return b!==null?b:U(r.type)||"Memo";case Y:{var C=r,P=C._payload,x=C._init;try{return U(x(P))}catch{return null}}}return null}var G=Object.assign,X=0,Ce,Ie,se,Se,le,Te,Pe;function Re(){}Re.__reactDisabledLog=!0;function $e(){{if(X===0){Ce=console.log,Ie=console.info,se=console.warn,Se=console.error,le=console.group,Te=console.groupCollapsed,Pe=console.groupEnd;var r={configurable:!0,enumerable:!0,value:Re,writable:!0};Object.defineProperties(console,{info:r,log:r,warn:r,error:r,group:r,groupCollapsed:r,groupEnd:r})}X++}}function je(){{if(X--,X===0){var r={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:G({},r,{value:Ce}),info:G({},r,{value:Ie}),warn:G({},r,{value:se}),error:G({},r,{value:Se}),group:G({},r,{value:le}),groupCollapsed:G({},r,{value:Te}),groupEnd:G({},r,{value:Pe})})}X<0&&F("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ce=W.ReactCurrentDispatcher,ue;function ee(r,s,d){{if(ue===void 0)try{throw Error()}catch(C){var b=C.stack.trim().match(/\n( *(at )?)/);ue=b&&b[1]||""}return`
|
|
18
|
-
`+ue+r}}var de=!1,te;{var Ne=typeof WeakMap=="function"?WeakMap:Map;te=new Ne}function m(r,s){if(!r||de)return"";{var d=te.get(r);if(d!==void 0)return d}var b;de=!0;var C=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var P;P=ce.current,ce.current=null,$e();try{if(s){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(D){b=D}Reflect.construct(r,[],x)}else{try{x.call()}catch(D){b=D}r.call(x.prototype)}}else{try{throw Error()}catch(D){b=D}r()}}catch(D){if(D&&b&&typeof D.stack=="string"){for(var E=D.stack.split(`
|
|
19
|
-
`),j=b.stack.split(`
|
|
20
|
-
`),_=E.length-1,k=j.length-1;_>=1&&k>=0&&E[_]!==j[k];)k--;for(;_>=1&&k>=0;_--,k--)if(E[_]!==j[k]){if(_!==1||k!==1)do if(_--,k--,k<0||E[_]!==j[k]){var L=`
|
|
21
|
-
`+E[_].replace(" at new "," at ");return r.displayName&&L.includes("<anonymous>")&&(L=L.replace("<anonymous>",r.displayName)),typeof r=="function"&&te.set(r,L),L}while(_>=1&&k>=0);break}}}finally{de=!1,ce.current=P,je(),Error.prepareStackTrace=C}var ie=r?r.displayName||r.name:"",Q=ie?ee(ie):"";return typeof r=="function"&&te.set(r,Q),Q}function fe(r,s,d){return m(r,!1)}function re(r){var s=r.prototype;return!!(s&&s.isReactComponent)}function Z(r,s,d){if(r==null)return"";if(typeof r=="function")return m(r,re(r));if(typeof r=="string")return ee(r);switch(r){case g:return ee("Suspense");case T:return ee("SuspenseList")}if(typeof r=="object")switch(r.$$typeof){case y:return fe(r.render);case O:return Z(r.type,s,d);case Y:{var b=r,C=b._payload,P=b._init;try{return Z(P(C),s,d)}catch{}}}return""}var me=Object.prototype.hasOwnProperty,Xe={},Ze=W.ReactDebugCurrentFrame;function we(r){if(r){var s=r._owner,d=Z(r.type,r._source,s?s.type:null);Ze.setExtraStackFrame(d)}else Ze.setExtraStackFrame(null)}function Ot(r,s,d,b,C){{var P=Function.call.bind(me);for(var x in r)if(P(r,x)){var E=void 0;try{if(typeof r[x]!="function"){var j=Error((b||"React class")+": "+d+" type `"+x+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof r[x]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw j.name="Invariant Violation",j}E=r[x](s,x,b,d,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(_){E=_}E&&!(E instanceof Error)&&(we(C),F("%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",d,x,typeof E),we(null)),E instanceof Error&&!(E.message in Xe)&&(Xe[E.message]=!0,we(C),F("Failed %s type: %s",d,E.message),we(null))}}}var _t=Array.isArray;function De(r){return _t(r)}function kt(r){{var s=typeof Symbol=="function"&&Symbol.toStringTag,d=s&&r[Symbol.toStringTag]||r.constructor.name||"Object";return d}}function At(r){try{return Qe(r),!1}catch{return!0}}function Qe(r){return""+r}function et(r){if(At(r))return F("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",kt(r)),Qe(r)}var tt=W.ReactCurrentOwner,Ft={key:!0,ref:!0,__self:!0,__source:!0},rt,nt;function Mt(r){if(me.call(r,"ref")){var s=Object.getOwnPropertyDescriptor(r,"ref").get;if(s&&s.isReactWarning)return!1}return r.ref!==void 0}function $t(r){if(me.call(r,"key")){var s=Object.getOwnPropertyDescriptor(r,"key").get;if(s&&s.isReactWarning)return!1}return r.key!==void 0}function jt(r,s){typeof r.ref=="string"&&tt.current}function Nt(r,s){{var d=function(){rt||(rt=!0,F("%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)",s))};d.isReactWarning=!0,Object.defineProperty(r,"key",{get:d,configurable:!0})}}function Dt(r,s){{var d=function(){nt||(nt=!0,F("%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)",s))};d.isReactWarning=!0,Object.defineProperty(r,"ref",{get:d,configurable:!0})}}var zt=function(r,s,d,b,C,P,x){var E={$$typeof:e,type:r,key:s,ref:d,props:x,_owner:P};return E._store={},Object.defineProperty(E._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(E,"_self",{configurable:!1,enumerable:!1,writable:!1,value:b}),Object.defineProperty(E,"_source",{configurable:!1,enumerable:!1,writable:!1,value:C}),Object.freeze&&(Object.freeze(E.props),Object.freeze(E)),E};function Bt(r,s,d,b,C){{var P,x={},E=null,j=null;d!==void 0&&(et(d),E=""+d),$t(s)&&(et(s.key),E=""+s.key),Mt(s)&&(j=s.ref,jt(s,C));for(P in s)me.call(s,P)&&!Ft.hasOwnProperty(P)&&(x[P]=s[P]);if(r&&r.defaultProps){var _=r.defaultProps;for(P in _)x[P]===void 0&&(x[P]=_[P])}if(E||j){var k=typeof r=="function"?r.displayName||r.name||"Unknown":r;E&&Nt(x,k),j&&Dt(x,k)}return zt(r,E,j,C,b,tt.current,x)}}var ze=W.ReactCurrentOwner,it=W.ReactDebugCurrentFrame;function ne(r){if(r){var s=r._owner,d=Z(r.type,r._source,s?s.type:null);it.setExtraStackFrame(d)}else it.setExtraStackFrame(null)}var Be;Be=!1;function Le(r){return typeof r=="object"&&r!==null&&r.$$typeof===e}function ot(){{if(ze.current){var r=U(ze.current.type);if(r)return`
|
|
22
|
-
|
|
23
|
-
Check the render method of \``+r+"`."}return""}}function Lt(r){return""}var at={};function Vt(r){{var s=ot();if(!s){var d=typeof r=="string"?r:r.displayName||r.name;d&&(s=`
|
|
24
|
-
|
|
25
|
-
Check the top-level render call using <`+d+">.")}return s}}function st(r,s){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var d=Vt(s);if(at[d])return;at[d]=!0;var b="";r&&r._owner&&r._owner!==ze.current&&(b=" It was passed a child from "+U(r._owner.type)+"."),ne(r),F('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',d,b),ne(null)}}function lt(r,s){{if(typeof r!="object")return;if(De(r))for(var d=0;d<r.length;d++){var b=r[d];Le(b)&&st(b,s)}else if(Le(r))r._store&&(r._store.validated=!0);else if(r){var C=ae(r);if(typeof C=="function"&&C!==r.entries)for(var P=C.call(r),x;!(x=P.next()).done;)Le(x.value)&&st(x.value,s)}}}function Yt(r){{var s=r.type;if(s==null||typeof s=="string")return;var d;if(typeof s=="function")d=s.propTypes;else if(typeof s=="object"&&(s.$$typeof===y||s.$$typeof===O))d=s.propTypes;else return;if(d){var b=U(s);Ot(d,r.props,"prop",b,r)}else if(s.PropTypes!==void 0&&!Be){Be=!0;var C=U(s);F("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",C||"Unknown")}typeof s.getDefaultProps=="function"&&!s.getDefaultProps.isReactClassApproved&&F("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Wt(r){{for(var s=Object.keys(r.props),d=0;d<s.length;d++){var b=s[d];if(b!=="children"&&b!=="key"){ne(r),F("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",b),ne(null);break}}r.ref!==null&&(ne(r),F("Invalid attribute `ref` supplied to `React.Fragment`."),ne(null))}}var ct={};function ut(r,s,d,b,C,P){{var x=Fe(r);if(!x){var E="";(r===void 0||typeof r=="object"&&r!==null&&Object.keys(r).length===0)&&(E+=" 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=Lt();j?E+=j:E+=ot();var _;r===null?_="null":De(r)?_="array":r!==void 0&&r.$$typeof===e?(_="<"+(U(r.type)||"Unknown")+" />",E=" Did you accidentally export a JSX literal instead of a component?"):_=typeof r,F("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",_,E)}var k=Bt(r,s,d,C,P);if(k==null)return k;if(x){var L=s.children;if(L!==void 0)if(b)if(De(L)){for(var ie=0;ie<L.length;ie++)lt(L[ie],r);Object.freeze&&Object.freeze(L)}else F("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 lt(L,r)}if(me.call(s,"key")){var Q=U(r),D=Object.keys(s).filter(function(Kt){return Kt!=="key"}),Ve=D.length>0?"{key: someKey, "+D.join(": ..., ")+": ...}":"{key: someKey}";if(!ct[Q+Ve]){var Jt=D.length>0?"{"+D.join(": ..., ")+": ...}":"{}";F(`A props object containing a "key" prop is being spread into JSX:
|
|
26
|
-
let props = %s;
|
|
27
|
-
<%s {...props} />
|
|
28
|
-
React keys must be passed directly to JSX without using spread:
|
|
29
|
-
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,Ve,Q,Jt,Q),ct[Q+Ve]=!0}}return r===i?Wt(k):Yt(k),k}}function Ut(r,s,d){return ut(r,s,d,!0)}function qt(r,s,d){return ut(r,s,d,!1)}var Ht=qt,Gt=Ut;ve.Fragment=i,ve.jsx=Ht,ve.jsxs=Gt}()),ve}process.env.NODE_ENV==="production"?Ue.exports=nr():Ue.exports=ir();var ye=Ue.exports,qe={exports:{}},I={};/** @license React v16.13.1
|
|
31
|
-
* react-is.production.min.js
|
|
32
|
-
*
|
|
33
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
34
|
-
*
|
|
35
|
-
* This source code is licensed under the MIT license found in the
|
|
36
|
-
* LICENSE file in the root directory of this source tree.
|
|
37
|
-
*/var ht;function or(){if(ht)return I;ht=1;var t=typeof Symbol=="function"&&Symbol.for,e=t?Symbol.for("react.element"):60103,n=t?Symbol.for("react.portal"):60106,i=t?Symbol.for("react.fragment"):60107,a=t?Symbol.for("react.strict_mode"):60108,c=t?Symbol.for("react.profiler"):60114,h=t?Symbol.for("react.provider"):60109,p=t?Symbol.for("react.context"):60110,y=t?Symbol.for("react.async_mode"):60111,g=t?Symbol.for("react.concurrent_mode"):60111,T=t?Symbol.for("react.forward_ref"):60112,O=t?Symbol.for("react.suspense"):60113,Y=t?Symbol.for("react.suspense_list"):60120,N=t?Symbol.for("react.memo"):60115,B=t?Symbol.for("react.lazy"):60116,oe=t?Symbol.for("react.block"):60121,ae=t?Symbol.for("react.fundamental"):60117,W=t?Symbol.for("react.responder"):60118,F=t?Symbol.for("react.scope"):60119;function $(f){if(typeof f=="object"&&f!==null){var K=f.$$typeof;switch(K){case e:switch(f=f.type,f){case y:case g:case i:case c:case a:case O:return f;default:switch(f=f&&f.$$typeof,f){case p:case T:case B:case N:case h:return f;default:return K}}case n:return K}}}function M(f){return $(f)===g}return I.AsyncMode=y,I.ConcurrentMode=g,I.ContextConsumer=p,I.ContextProvider=h,I.Element=e,I.ForwardRef=T,I.Fragment=i,I.Lazy=B,I.Memo=N,I.Portal=n,I.Profiler=c,I.StrictMode=a,I.Suspense=O,I.isAsyncMode=function(f){return M(f)||$(f)===y},I.isConcurrentMode=M,I.isContextConsumer=function(f){return $(f)===p},I.isContextProvider=function(f){return $(f)===h},I.isElement=function(f){return typeof f=="object"&&f!==null&&f.$$typeof===e},I.isForwardRef=function(f){return $(f)===T},I.isFragment=function(f){return $(f)===i},I.isLazy=function(f){return $(f)===B},I.isMemo=function(f){return $(f)===N},I.isPortal=function(f){return $(f)===n},I.isProfiler=function(f){return $(f)===c},I.isStrictMode=function(f){return $(f)===a},I.isSuspense=function(f){return $(f)===O},I.isValidElementType=function(f){return typeof f=="string"||typeof f=="function"||f===i||f===g||f===c||f===a||f===O||f===Y||typeof f=="object"&&f!==null&&(f.$$typeof===B||f.$$typeof===N||f.$$typeof===h||f.$$typeof===p||f.$$typeof===T||f.$$typeof===ae||f.$$typeof===W||f.$$typeof===F||f.$$typeof===oe)},I.typeOf=$,I}var S={};/** @license React v16.13.1
|
|
38
|
-
* react-is.development.js
|
|
39
|
-
*
|
|
40
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
41
|
-
*
|
|
42
|
-
* This source code is licensed under the MIT license found in the
|
|
43
|
-
* LICENSE file in the root directory of this source tree.
|
|
44
|
-
*/var vt;function ar(){return vt||(vt=1,process.env.NODE_ENV!=="production"&&function(){var t=typeof Symbol=="function"&&Symbol.for,e=t?Symbol.for("react.element"):60103,n=t?Symbol.for("react.portal"):60106,i=t?Symbol.for("react.fragment"):60107,a=t?Symbol.for("react.strict_mode"):60108,c=t?Symbol.for("react.profiler"):60114,h=t?Symbol.for("react.provider"):60109,p=t?Symbol.for("react.context"):60110,y=t?Symbol.for("react.async_mode"):60111,g=t?Symbol.for("react.concurrent_mode"):60111,T=t?Symbol.for("react.forward_ref"):60112,O=t?Symbol.for("react.suspense"):60113,Y=t?Symbol.for("react.suspense_list"):60120,N=t?Symbol.for("react.memo"):60115,B=t?Symbol.for("react.lazy"):60116,oe=t?Symbol.for("react.block"):60121,ae=t?Symbol.for("react.fundamental"):60117,W=t?Symbol.for("react.responder"):60118,F=t?Symbol.for("react.scope"):60119;function $(m){return typeof m=="string"||typeof m=="function"||m===i||m===g||m===c||m===a||m===O||m===Y||typeof m=="object"&&m!==null&&(m.$$typeof===B||m.$$typeof===N||m.$$typeof===h||m.$$typeof===p||m.$$typeof===T||m.$$typeof===ae||m.$$typeof===W||m.$$typeof===F||m.$$typeof===oe)}function M(m){if(typeof m=="object"&&m!==null){var fe=m.$$typeof;switch(fe){case e:var re=m.type;switch(re){case y:case g:case i:case c:case a:case O:return re;default:var Z=re&&re.$$typeof;switch(Z){case p:case T:case B:case N:case h:return Z;default:return fe}}case n:return fe}}}var f=y,K=g,ke=p,Ae=h,Ee=e,Fe=T,Me=i,xe=B,U=N,G=n,X=c,Ce=a,Ie=O,se=!1;function Se(m){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.")),le(m)||M(m)===y}function le(m){return M(m)===g}function Te(m){return M(m)===p}function Pe(m){return M(m)===h}function Re(m){return typeof m=="object"&&m!==null&&m.$$typeof===e}function $e(m){return M(m)===T}function je(m){return M(m)===i}function ce(m){return M(m)===B}function ue(m){return M(m)===N}function ee(m){return M(m)===n}function de(m){return M(m)===c}function te(m){return M(m)===a}function Ne(m){return M(m)===O}S.AsyncMode=f,S.ConcurrentMode=K,S.ContextConsumer=ke,S.ContextProvider=Ae,S.Element=Ee,S.ForwardRef=Fe,S.Fragment=Me,S.Lazy=xe,S.Memo=U,S.Portal=G,S.Profiler=X,S.StrictMode=Ce,S.Suspense=Ie,S.isAsyncMode=Se,S.isConcurrentMode=le,S.isContextConsumer=Te,S.isContextProvider=Pe,S.isElement=Re,S.isForwardRef=$e,S.isFragment=je,S.isLazy=ce,S.isMemo=ue,S.isPortal=ee,S.isProfiler=de,S.isStrictMode=te,S.isSuspense=Ne,S.isValidElementType=$,S.typeOf=M}()),S}process.env.NODE_ENV==="production"?qe.exports=or():qe.exports=ar();var sr=qe.exports,gt=sr,lr={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},cr={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Et={};Et[gt.ForwardRef]=lr;Et[gt.Memo]=cr;var ur=!0;function dr(t,e,n){var i="";return n.split(" ").forEach(function(a){t[a]!==void 0?e.push(t[a]+";"):a&&(i+=a+" ")}),i}var xt=function(e,n,i){var a=e.key+"-"+n.name;(i===!1||ur===!1)&&e.registered[a]===void 0&&(e.registered[a]=n.styles)},fr=function(e,n,i){xt(e,n,i);var a=e.key+"-"+n.name;if(e.inserted[n.name]===void 0){var c=n;do e.insert(n===c?"."+a:"",c,e.sheet,!0),c=c.next;while(c!==void 0)}};function mr(t){for(var e=0,n,i=0,a=t.length;a>=4;++i,a-=4)n=t.charCodeAt(i)&255|(t.charCodeAt(++i)&255)<<8|(t.charCodeAt(++i)&255)<<16|(t.charCodeAt(++i)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(a){case 3:e^=(t.charCodeAt(i+2)&255)<<16;case 2:e^=(t.charCodeAt(i+1)&255)<<8;case 1:e^=t.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var hr={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 vr(t){var e=Object.create(null);return function(n){return e[n]===void 0&&(e[n]=t(n)),e[n]}}var pr=/[A-Z]|^ms/g,yr=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Ct=function(e){return e.charCodeAt(1)===45},pt=function(e){return e!=null&&typeof e!="boolean"},Ye=vr(function(t){return Ct(t)?t:t.replace(pr,"-$&").toLowerCase()}),yt=function(e,n){switch(e){case"animation":case"animationName":if(typeof n=="string")return n.replace(yr,function(i,a,c){return q={name:a,styles:c,next:q},a})}return hr[e]!==1&&!Ct(e)&&typeof n=="number"&&n!==0?n+"px":n};function be(t,e,n){if(n==null)return"";var i=n;if(i.__emotion_styles!==void 0)return i;switch(typeof n){case"boolean":return"";case"object":{var a=n;if(a.anim===1)return q={name:a.name,styles:a.styles,next:q},a.name;var c=n;if(c.styles!==void 0){var h=c.next;if(h!==void 0)for(;h!==void 0;)q={name:h.name,styles:h.styles,next:q},h=h.next;var p=c.styles+";";return p}return br(t,e,n)}case"function":{if(t!==void 0){var y=q,g=n(t);return q=y,be(t,e,g)}break}}var T=n;return T}function br(t,e,n){var i="";if(Array.isArray(n))for(var a=0;a<n.length;a++)i+=be(t,e,n[a])+";";else for(var c in n){var h=n[c];if(typeof h!="object"){var p=h;pt(p)&&(i+=Ye(c)+":"+yt(c,p)+";")}else if(Array.isArray(h)&&typeof h[0]=="string"&&e==null)for(var y=0;y<h.length;y++)pt(h[y])&&(i+=Ye(c)+":"+yt(c,h[y])+";");else{var g=be(t,e,h);switch(c){case"animation":case"animationName":{i+=Ye(c)+":"+g+";";break}default:i+=c+"{"+g+"}"}}}return i}var bt=/label:\s*([^\s;{]+)\s*(;|$)/g,q;function gr(t,e,n){if(t.length===1&&typeof t[0]=="object"&&t[0]!==null&&t[0].styles!==void 0)return t[0];var i=!0,a="";q=void 0;var c=t[0];if(c==null||c.raw===void 0)i=!1,a+=be(n,e,c);else{var h=c;a+=h[0]}for(var p=1;p<t.length;p++)if(a+=be(n,e,t[p]),i){var y=c;a+=y[p]}bt.lastIndex=0;for(var g="",T;(T=bt.exec(a))!==null;)g+="-"+T[1];var O=mr(a)+g;return{name:O,styles:a,next:q}}var Er=function(e){return e()},xr=J.useInsertionEffect?J.useInsertionEffect:!1,Cr=xr||Er,It=J.createContext(typeof HTMLElement<"u"?Qt({key:"css"}):null);It.Provider;var Ir=function(e){return v.forwardRef(function(n,i){var a=v.useContext(It);return e(n,a,i)})},Sr=J.createContext({}),_e={}.hasOwnProperty,He="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",St=function(e,n){var i={};for(var a in n)_e.call(n,a)&&(i[a]=n[a]);return i[He]=e,i},Tr=function(e){var n=e.cache,i=e.serialized,a=e.isStringTag;return xt(n,i,a),Cr(function(){return fr(n,i,a)}),null},Pr=Ir(function(t,e,n){var i=t.css;typeof i=="string"&&e.registered[i]!==void 0&&(i=e.registered[i]);var a=t[He],c=[i],h="";typeof t.className=="string"?h=dr(e.registered,c,t.className):t.className!=null&&(h=t.className+" ");var p=gr(c,void 0,J.useContext(Sr));h+=e.key+"-"+p.name;var y={};for(var g in t)_e.call(t,g)&&g!=="css"&&g!==He&&(y[g]=t[g]);return y.className=h,n&&(y.ref=n),J.createElement(J.Fragment,null,J.createElement(Tr,{cache:e,serialized:p,isStringTag:typeof a=="string"}),J.createElement(a,y))}),Tt=Pr,ge=ye.Fragment,o=function(e,n,i){return _e.call(n,"css")?ye.jsx(Tt,St(e,n),i):ye.jsx(e,n,i)},A=function(e,n,i){return _e.call(n,"css")?ye.jsxs(Tt,St(e,n),i):ye.jsxs(e,n,i)},w=(t=>(t.Off="Off",t.All="All",t.One="One",t))(w||{});const Je=80,Rr=z.observer(({playerStore:t})=>{const e=H.useNostalgicDiva(),n=v.useCallback(c=>{const h=Number(c.currentTarget.value)/100;t.setPercent(h)},[t]),i=v.useCallback(c=>{c.button===0&&t.setSeeking(!0)},[t]),a=v.useCallback(async c=>{if(c.button===0){const h=Number(c.currentTarget.value)/100;t.setSeeking(!1);const p=await e.getDuration();p!==void 0&&await e.setCurrentTime(p*h)}},[t,e]);return o(l.EuiRange,{min:0,max:100,step:1e-7,value:t.percent*100,onChange:n,onMouseDown:i,onMouseUp:a,fullWidth:!0,showRange:!0,css:{blockSize:32}})}),wr=v.memo(({button:t,isOpen:e,closePopover:n})=>{const[i,a]=v.useState("0"),c=H.useNostalgicDiva();v.useLayoutEffect(()=>{e&&c.getVolume().then(p=>{p!==void 0&&a(Math.floor(p*100).toString())})},[e,c]);const h=v.useCallback(async p=>{a(p.currentTarget.value),await c.setVolume(Number(p.currentTarget.value)/100)},[c]);return o(l.EuiPopover,{button:t,isOpen:e,closePopover:n,anchorPosition:"upRight",children:o(l.EuiFormRow,{children:A(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(l.EuiButtonIcon,{title:"Mute","aria-label":"Mute",iconType:R.Speaker2Regular,size:"s",iconSize:"l"}),o(l.EuiRange,{min:0,max:100,step:1,value:i,onChange:h,css:{blockSize:32}})]})})})}),Or=v.memo(({playQueueStore:t,closePopover:e})=>{const n=H.useNostalgicDiva(),i=v.useCallback(async()=>{const g=await n.getCurrentTime();g!==void 0&&await n.setCurrentTime(g-10),e()},[n,e]),a=v.useCallback(async()=>{const g=await n.getCurrentTime();g!==void 0&&await n.setCurrentTime(g+30),e()},[n,e]),c=v.useCallback(async g=>{await n.setPlaybackRate(g),e()},[n,e]),h=v.useCallback(async()=>{t.currentItem!==void 0&&await t.removeItems([t.currentItem]),e()},[t,e]),[p]=v.useState(),y=v.useMemo(()=>[{id:0,items:[{name:"Speed",icon:o(l.EuiIcon,{type:R.TopSpeedRegular,size:"m"}),panel:1},{name:"Skip back 10 seconds",icon:o(l.EuiIcon,{type:R.SkipBack10Regular,size:"m"}),onClick:i,disabled:t.isEmpty},{name:"Skip forward 30 seconds",icon:o(l.EuiIcon,{type:R.SkipForward30Regular,size:"m"}),onClick:a,disabled:t.isEmpty},{isSeparator:!0},{name:"Remove from play queue",icon:o(l.EuiIcon,{type:R.DismissRegular,size:"m"}),onClick:h,disabled:t.isEmpty}]},{id:1,title:"Speed",items:[.25,.5,.75,1,1.25,1.5,1.75,2].map(g=>({name:g.toString(),onClick:()=>c(g),icon:g===p?"check":"empty"}))}],[t,i,a,h,c,p]);return o(l.EuiContextMenu,{initialPanelId:0,panels:y})}),_r=v.memo(({playQueueStore:t,button:e,isOpen:n,closePopover:i})=>o(l.EuiPopover,{button:e,isOpen:n,closePopover:i,panelPaddingSize:"none",anchorPosition:"upRight",children:o(Or,{playQueueStore:t,closePopover:i})})),kr={[w.Off]:R.ArrowRepeatAllOffFilled,[w.All]:R.ArrowRepeatAllFilled,[w.One]:R.ArrowRepeat1Filled},Ar=z.observer(({playerStore:t,playQueueStore:e})=>{const n=H.useNostalgicDiva(),i=v.useCallback(async()=>{if(e.hasPreviousItem){const a=await n.getCurrentTime();a===void 0||a<5?await e.previous():await n.setCurrentTime(0)}else await n.setCurrentTime(0)},[e,n]);return A(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"center",alignItems:"center",children:[o(l.EuiButtonIcon,{title:`Shuffle: ${e.shuffle?"On":"Off"}`,"aria-label":`Shuffle: ${e.shuffle?"On":"Off"}`,iconType:e.shuffle?R.ArrowShuffleFilled:R.ArrowShuffleOffFilled,size:"s",iconSize:"l",onClick:e.toggleShuffle,disabled:!0}),o(l.EuiButtonIcon,{title:"Previous","aria-label":"Previous",iconType:R.PreviousFilled,size:"s",iconSize:"l",onClick:i,disabled:e.isEmpty}),t.playing?o(l.EuiButtonIcon,{title:"Pause","aria-label":"Pause",iconType:R.PauseFilled,size:"s",iconSize:"l",onClick:()=>n.pause(),disabled:!e.canPlay}):o(l.EuiButtonIcon,{title:"Play","aria-label":"Play",iconType:R.PlayFilled,size:"s",iconSize:"l",onClick:()=>n.play(),disabled:!e.canPlay}),o(l.EuiButtonIcon,{title:"Next","aria-label":"Next",iconType:R.NextFilled,size:"s",iconSize:"l",onClick:e.next,disabled:!e.hasNextItem}),o(l.EuiButtonIcon,{title:`Repeat: ${e.repeat===w.All?"All":e.repeat===w.One?"One":"Off"}`,"aria-label":`Repeat: ${e.repeat===w.All?"All":e.repeat===w.One?"One":"Off"}`,iconType:kr[e.repeat],size:"s",iconSize:"l",onClick:e.toggleRepeat})]})}),Fr=v.memo(()=>{const[t,e]=v.useState(!1),n=()=>e(!t);return o(wr,{button:o(l.EuiButtonIcon,{title:"Volume","aria-label":"Volume",iconType:R.Speaker2Regular,size:"s",iconSize:"l",onClick:n}),isOpen:t,closePopover:()=>e(!1)})}),Mr=v.memo(({playQueueStore:t})=>{const[e,n]=v.useState(!1),i=()=>n(!e);return o(_r,{playQueueStore:t,button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:R.MoreHorizontalFilled,size:"s",iconSize:"l",onClick:i}),isOpen:e,closePopover:()=>n(!1)})}),$r=v.memo(({playQueueStore:t})=>A(l.EuiFlexGroup,{responsive:!1,gutterSize:"s",justifyContent:"flexEnd",alignItems:"center",children:[o(Fr,{}),o(Mr,{playQueueStore:t})]})),jr=z.observer(({playerStore:t,playQueueStore:e})=>o(l.EuiBottomBar,{paddingSize:"s",children:A(l.EuiFlexGroup,{direction:"column",gutterSize:"none",children:[o(l.EuiFlexItem,{children:o(Rr,{playerStore:t})}),o(l.EuiFlexItem,{children:A(l.EuiFlexGroup,{responsive:!1,children:[o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"}}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o(Ar,{playerStore:t,playQueueStore:e})}),o(l.EuiFlexItem,{css:{width:"calc(100% / 3)"},children:o($r,{playQueueStore:e})})]})})]})})),Nr=({onCancel:t,onSave:e})=>{const[n,i]=v.useState(""),[a,c]=v.useState(""),[h,p]=v.useState(!1);return A(l.EuiModal,{onClose:t,initialFocus:"[name=url]",children:[o(l.EuiModalHeader,{children:o(l.EuiModalHeaderTitle,{children:"Add video"})}),o(l.EuiModalBody,{children:A(l.EuiForm,{component:"form",children:[o(l.EuiFormRow,{label:"URL",children:o(l.EuiFieldText,{name:"url",value:n,onChange:y=>i(y.target.value)})}),o(l.EuiFormRow,{label:"Title",children:o(l.EuiFieldText,{name:"title",value:a,onChange:y=>c(y.target.value)})})]})}),A(l.EuiModalFooter,{children:[o(l.EuiButtonEmpty,{onClick:t,children:"Cancel"}),o(l.EuiButton,{type:"submit",onClick:async()=>{try{p(!0),await e({url:n,title:a})}finally{p(!1)}},fill:!0,disabled:n.trim().length===0,isLoading:h,children:"Save"})]})]})};function Dr(t){return t!==null&&typeof t=="object"&&"title"in t&&typeof t.title=="string"}const zr=v.memo(({playQueueStore:t})=>{const[e,n]=v.useState(!1),i=v.useCallback(async a=>{const c=H.findVideoService(a.url);if(c!==void 0){const h=c.extractVideoId(a.url);if(h!==void 0){const y=await(await fetch(`https://noembed.com/embed?url=${encodeURIComponent(a.url)}`)).json();await t.addItems([t.createItem({url:a.url,type:c.type,videoId:h,title:a.title||(Dr(y)?y.title:h)})])}}n(!1)},[t]);return A(ge,{children:[o(l.EuiButton,{onClick:()=>n(!0),iconType:R.AddRegular,color:"primary",children:"Add video"}),e&&o(Nr,{onCancel:()=>n(!1),onSave:i})]})}),Br=z.observer(({playQueueStore:t})=>{const{euiTheme:e}=l.useEuiTheme();return A(l.EuiTableHeader,{style:{position:"sticky",top:112,zIndex:998,background:e.colors.backgroundBasePlain},children:[o(l.EuiTableHeaderCellCheckbox,{children:o(l.EuiCheckbox,{id:"",checked:t.allItemsSelected,onChange:n=>{t.allItemsSelected=n.target.checked}})}),o(l.EuiTableHeaderCell,{width:24}),o(l.EuiTableHeaderCell,{children:"Title"}),o(l.EuiTableHeaderCell,{})]})}),Lr=v.memo(({item:t,closePopover:e})=>{const n=v.memo(({onClick:i,...a})=>{const c=v.useCallback(h=>{e(),i==null||i(h)},[i]);return o(l.EuiContextMenuItem,{...a,onClick:c})});return A(l.EuiContextMenuPanel,{children:[o(n,{icon:o(l.EuiIcon,{type:""}),onClick:t.playFirst,children:"Play first"}),o(n,{icon:o(l.EuiIcon,{type:""}),onClick:t.playNext,children:"Play next"}),o(n,{icon:o(l.EuiIcon,{type:R.AddRegular}),onClick:t.addToPlayQueue,children:"Add to play queue"}),o(l.EuiHorizontalRule,{margin:"none"}),o(n,{icon:o(l.EuiIcon,{type:R.ArrowUploadRegular}),onClick:t.moveToTop,disabled:!t.canMoveToTop,children:"Move to the top"}),o(n,{icon:o(l.EuiIcon,{type:R.ArrowDownloadRegular}),onClick:t.moveToBottom,disabled:!t.canMoveToBottom,children:"Move to the bottom"}),o(l.EuiHorizontalRule,{margin:"none"}),o(n,{icon:o(l.EuiIcon,{type:""}),onClick:t.removeToTop,disabled:!t.canRemoveToTop,children:"Remove to the top"}),o(n,{icon:o(l.EuiIcon,{type:""}),onClick:t.removeOthers,disabled:!t.canRemoveOthers,children:"Remove others"})]})}),Vr=v.memo(({item:t})=>{const[e,n]=v.useState(!1),i=v.useCallback(()=>n(!e),[e]),a=v.useCallback(()=>n(!1),[]);return o(l.EuiPopover,{button:o(l.EuiButtonIcon,{title:"More options","aria-label":"More options",iconType:R.MoreHorizontalFilled,size:"s",color:"text",onClick:i}),isOpen:e,closePopover:a,panelPaddingSize:"none",anchorPosition:"leftCenter",children:o(Lr,{item:t,closePopover:a})})}),Yr=z.observer(({item:t})=>{const e=H.useNostalgicDiva();return A(l.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:"right",children:[o(l.EuiButton,{iconType:R.PlayRegular,size:"s",onClick:async()=>{t.isCurrent?await e.setCurrentTime(0):t.play()},children:"Play"}),o(l.EuiButton,{iconType:R.DismissRegular,size:"s",onClick:t.remove,children:"Remove"}),o(Vr,{item:t})]})}),Wr={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"},Ur=z.observer(({item:t})=>{const e=H.useNostalgicDiva();return A(l.EuiTableRow,{isSelected:t.isCurrent,children:[o(l.EuiTableRowCellCheckbox,{children:o(l.EuiCheckbox,{id:t.id.toString(),checked:t.isSelected,onChange:t.toggleSelected})}),o(l.EuiTableRowCell,{textOnly:!1,children:o("img",{src:Wr[t.type],width:16,height:16,alt:t.type})}),o(l.EuiTableRowCell,{children:o(l.EuiLink,{href:t.url,target:"_blank",external:!0,onClick:()=>e.pause(),children:t.title})}),o(Yr,{item:t})]},t.id)}),qr=z.observer(({playQueueStore:t})=>o(er.ReactSortable,{tag:"tbody",list:t.items,setList:e=>t.setItems(e),children:t.items.map(e=>o(Ur,{item:e},e.id))})),Hr=z.observer(({playQueueStore:t})=>A(l.EuiTable,{children:[o(Br,{playQueueStore:t}),o(qr,{playQueueStore:t})]})),Gr=z.observer(({playQueueStore:t})=>{const[e,n]=v.useState(!1);return A(ge,{children:[e&&o(l.EuiFlyout,{type:"push",size:"s",onClose:()=>n(!1),children:o("div",{style:{blockSize:"100%"},children:o(l.EuiCodeBlock,{language:"json",overflowHeight:"100%",isCopyable:!0,isVirtualized:!0,children:JSON.stringify(t.localStorageState,void 0,2)})})}),o(zr,{playQueueStore:t})]})}),Jr=z.observer(({playerStore:t,playQueueStore:e})=>{const{euiTheme:n}=l.useEuiTheme();return A(ge,{children:[A(l.EuiFlexGroup,{alignItems:"center",gutterSize:"m",style:{position:"sticky",top:48,zIndex:998,background:n.colors.backgroundBasePlain},children:[o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{disabled:e.isEmpty||e.selectedItems.length===0,onClick:e.playSelectedItemsNext,children:"Play next"})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:R.AddRegular,onClick:e.addSelectedItems,disabled:e.isEmpty||e.selectedItems.length===0,children:"Add to play queue"})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:R.DismissRegular,onClick:e.removeSelectedItems,disabled:e.isEmpty||e.selectedItems.length===0,children:"Remove"})}),o(l.EuiFlexItem,{grow:!1,children:o(l.EuiButton,{iconType:R.DeleteRegular,onClick:e.clear,disabled:e.isEmpty,children:"Clear"})}),o(l.EuiFlexItem,{grow:!0}),o(l.EuiFlexItem,{grow:!1,children:o(Gr,{playQueueStore:e})})]}),!e.isEmpty&&A(ge,{children:[o(l.EuiSpacer,{size:"l",style:{position:"sticky",top:88,zIndex:998,background:n.colors.backgroundBasePlain}}),o(Hr,{playQueueStore:e})]})]})}),Kr=z.observer(({playerStore:t,playQueueStore:e})=>A(ge,{children:[o(l.EuiPageTemplate.Header,{pageTitle:"Play queue",rightSideItems:[]}),o(l.EuiPageTemplate.Section,{children:o(Jr,{playerStore:t,playQueueStore:e})})]})),Oe={width:16*25,height:9*25},Xr=z.observer(({playerStore:t,playQueueStore:e})=>{const n=H.useNostalgicDiva(),i=v.useCallback(async()=>{e.interacted&&await n.play()},[e,n]),a=v.useCallback(async()=>{switch(e.repeat){case w.One:await n.setCurrentTime(0);break;case w.Off:case w.All:if(e.isLastItem)switch(e.repeat){case w.Off:t.onEnded();break;case w.All:e.hasMultipleItems?await e.goToFirst():await n.setCurrentTime(0);break}else await e.next();break}},[e,t,n]),c=v.useMemo(()=>({onLoaded:i,onPlay:t.onPlay,onPause:t.onPause,onEnded:a,onTimeUpdate:t.onTimeUpdate}),[t,i,a]);return o("div",{css:{position:"fixed",right:0,bottom:Je,width:Oe.width,height:Oe.height,zIndex:998,backgroundColor:"rgb(39, 39, 39)",display:"flex",flexDirection:"column"},children:o("div",{css:{flexGrow:1,backgroundColor:"black"},children:e.currentItem&&o(H.NostalgicDiva,{src:e.currentItem.url,options:c})})})});class Ke{makeObservable(e,n){return u.makeObservable(e,n)}}const pe=class pe{constructor(e,n,i){V(this,"id");V(this,"isSelected",!1);this.observableStateProvider=e,this.playQueueStore=n,this.dto=i,this.id=pe.nextId++,e.makeObservable(this,{isSelected:u.observable,isCurrent:u.computed,index:u.computed,isFirst:u.computed,isLast:u.computed,canMoveToTop:u.computed,canMoveToBottom:u.computed,canRemoveToTop:u.computed,canRemoveOthers:u.computed,unselect:u.action,toggleSelected:u.action.bound,play:u.action,remove:u.action.bound,playFirst:u.action.bound,playNext:u.action.bound,addToPlayQueue:u.action.bound,moveToTop:u.action.bound,moveToBottom:u.action.bound,removeToTop:u.action.bound,removeOthers:u.action.bound})}static fromDto(e,n,i){return new pe(e,n,i)}get url(){return this.dto.url}get type(){return this.dto.type}get videoId(){return this.dto.videoId}get title(){return this.dto.title}get isCurrent(){return this.playQueueStore.currentItem===this}get index(){return this.playQueueStore.items.indexOf(this)}get isFirst(){return this.index===0}get isLast(){return this.index===this.playQueueStore.items.length-1}get canMoveToTop(){return!this.isFirst}get canMoveToBottom(){return!this.isLast}get canRemoveToTop(){return!this.isFirst}get canRemoveOthers(){return this.playQueueStore.hasMultipleItems}clone(){return this.playQueueStore.createItem(this.dto)}unselect(){this.isSelected=!1}toggleSelected(){this.isSelected=!this.isSelected}play(){this.playQueueStore.setCurrentItem(this)}remove(){return this.playQueueStore.removeItems([this])}async playFirst(){await this.playQueueStore.playFirst([this.clone()])}async playNext(){await this.playQueueStore.playNext([this.clone()])}async addToPlayQueue(){await this.playQueueStore.addItems([this.clone()])}moveToTop(){this.playQueueStore.moveItem(this,0)}moveToBottom(){this.playQueueStore.moveItem(this,this.playQueueStore.items.length-1)}removeToTop(){return this.playQueueStore.removeItemsAbove(this)}removeOthers(){return this.playQueueStore.removeOtherItems(this)}};V(pe,"nextId",1);let Ge=pe;const We=new tr({coerceTypes:!0});function Zr(t,e){let n;if(n=We.getSchema(e),n===void 0&&(We.addSchema(t,e),n=We.getSchema(e)),n===void 0||n.schema!==t)throw new Error(`Invalid schema. Expected: '${JSON.stringify(t)}', but got '${JSON.stringify(n==null?void 0:n.schema)}'.`);return n}const Qr={type:"object",properties:{version:{type:"string",nullable:!0},repeat:{type:"string",enum:Object.values(w),nullable:!0},shuffle:{type:"boolean",nullable:!0},items:{type:"array",nullable:!0,items:{type:"object",properties:{url:{type:"string"},type:{type:"string"},videoId:{type:"string"},title:{type:"string"}},required:["url","type","videoId","title"]}},currentIndex:{type:"integer",nullable:!0}}},en=Zr(Qr,"PlayQueueStore");class tn{constructor(e){V(this,"interacted",!1);V(this,"items",[]);V(this,"currentId");V(this,"repeat",w.Off);V(this,"shuffle",!1);this.observableStateProvider=e,e.makeObservable(this,{interacted:u.observable,items:u.observable,currentId:u.observable,repeat:u.observable,shuffle:u.observable,localStorageState:u.computed.struct,isEmpty:u.computed,currentItem:u.computed,canPlay:u.computed,canPause:u.computed,hasMultipleItems:u.computed,currentIndex:u.computed,hasPreviousItem:u.computed,hasNextItem:u.computed,isLastItem:u.computed,selectedItems:u.computed,allItemsSelected:u.computed,selectedItemsOrAllItems:u.computed,setItems:u.action,interact:u.action,clear:u.action.bound,unselectAll:u.action,setCurrentItem:u.action,setNextItems:u.action,clearAndSetItems:u.action,playNext:u.action,playSelectedItemsNext:u.action.bound,addItems:u.action,addSelectedItems:u.action.bound,playFirst:u.action,moveItem:u.action,removeItems:u.action,removeSelectedItems:u.action.bound,removeOtherItems:u.action,removeItemsAbove:u.action,toggleRepeat:u.action.bound,toggleShuffle:u.action.bound,previous:u.action,next:u.action.bound,goToFirst:u.action})}createItem(e){return Ge.fromDto(this.observableStateProvider,this,e)}get localStorageState(){return{version:"1.0",repeat:this.repeat,shuffle:this.shuffle,items:this.items.map(e=>e.dto),currentIndex:this.currentIndex}}set localStorageState(e){var n;this.repeat=e.repeat??w.Off,this.shuffle=e.shuffle??!1,this.items=((n=e.items)==null?void 0:n.map(i=>this.createItem(i)))??[],this.currentIndex=e.currentIndex}validateLocalStorageState(e){return en(e)}get isEmpty(){return this.items.length===0}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){var n;this.currentId=e!==void 0?(n=this.items.at(e))==null?void 0:n.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}set allItemsSelected(e){for(const n of this.items)n.isSelected=e}get selectedItemsOrAllItems(){return this.selectedItems.length>0?this.selectedItems:this.items}setItems(e){this.items=e}interact(){this.interacted=!0}clear(){this.interact(),this.currentIndex=void 0,this.items=[]}unselectAll(){for(const e of this.items)e.unselect()}setCurrentItem(e){this.interact(),this.currentId=e==null?void 0: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:n}=this;n!==void 0&&(this.interact(),this.items.splice(n,0,...e),this.currentIndex=n)}moveItem(e,n){const i=this.items.splice(this.items.indexOf(e),1)[0];this.items.splice(n,0,i)}async removeItems(e){const{currentItem:n}=this;dt.pull(this.items,...e.filter(c=>c!==n));const{currentIndex:i,isLastItem:a}=this;dt.pull(this.items,e.find(c=>c===n)),this.currentItem!==n&&(this.interact(),a?await this.goToFirst():this.currentIndex=i)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(e){const n=e.id;return this.removeItems(this.items.filter(i=>i.id!==n))}async removeItemsAbove(e){const n=this.items.indexOf(e);return this.removeItems(this.items.filter((i,a)=>a<n))}toggleRepeat(){switch(this.repeat){case w.Off:this.repeat=w.All;break;case w.All:this.repeat=w.One;break;case w.One:this.repeat=w.Off;break}}toggleShuffle(){this.shuffle=!this.shuffle}async previous(){this.currentIndex!==void 0&&this.hasPreviousItem&&(this.interact(),this.currentIndex--)}async next(){this.currentIndex!==void 0&&this.hasNextItem&&(this.interact(),this.currentIndex++)}async goToFirst(){this.currentIndex!==void 0&&(this.currentIndex=0)}}const Pt=v.createContext(void 0),rn=({children:t})=>{const[e]=v.useState(()=>new tn(new Ke)),n=H.useNostalgicDiva();return v.useEffect(()=>u.reaction(()=>e.currentItem,async(i,a)=>{i===void 0||a===void 0||i.type===a.type&&i.videoId===a.videoId&&await n.setCurrentTime(0)}),[e,n]),o(Pt.Provider,{value:e,children:t})},Rt=()=>v.useContext(Pt),nn=z.observer(({children:t})=>{const e=Rt();return A(l.EuiPageTemplate,{panelled:!0,style:{minBlockSize:`max(460px, 100vh - ${Je}px)`},children:[t,!e.isEmpty&&o(l.EuiSpacer,{style:{blockSize:Oe.height}})]})});class on{constructor(e){V(this,"playing",!1);V(this,"percent",0);V(this,"seeking",!1);e.makeObservable(this,{playing:u.observable,percent:u.observable,seeking:u.observable,setPlaying:u.action,setPercent:u.action,setSeeking:u.action,onPlay:u.action.bound,onPause:u.action.bound,onEnded:u.action.bound,onTimeUpdate:u.action.bound})}setPlaying(e){this.playing=e}setPercent(e){this.percent=e}setSeeking(e){this.seeking=e}onPlay(){this.playing=!0}onPause(){this.playing=!1}onEnded(){this.playing=!1}onTimeUpdate({percent:e}){e!==void 0&&(this.seeking||(this.percent=e))}}const wt=v.createContext(void 0),an=({children:t})=>{const[e]=v.useState(()=>new on(new Ke));return o(wt.Provider,{value:e,children:t})},sn=()=>v.useContext(wt);class ln{makeObservable(e,n){return e}}exports.BottomBar=jr;exports.HydrangeanDiva=Kr;exports.MediaPlayerLayout=nn;exports.MiniPlayer=Xr;exports.MobXObservableStateProvider=Ke;exports.ObservableStateProvider=ln;exports.PlayQueueStoreProvider=rn;exports.PlayerStoreProvider=an;exports.RepeatMode=w;exports.bottomBarHeight=Je;exports.miniPlayerSize=Oe;exports.usePlayQueueStore=Rt;exports.usePlayerStore=sn;
|
|
45
|
-
//# sourceMappingURL=index.cjs.js.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@emotion/react/jsx-runtime`),l=require(`react`),u=require(`ajv`);u=s(u,1);let d=require(`mobx`),f=require(`@aigamo/route-sphere`),p=require(`lodash-es`),m=require(`@aigamo/nostalgic-diva`),h=require(`@elastic/eui`),g=require(`mobx-react-lite`),_=require(`@fluentui/react-icons`),v=require(`ez-modal-react`);v=s(v,1);let y=require(`react-sortablejs`),b=require(`@tanstack/react-router`);var ee=81,x=new Map(Object.entries({Audio:``,Dailymotion:`https://www.dailymotion.com/favicon.ico`,Niconico:`https://www.nicovideo.jp/favicon.ico`,SoundCloud:`https://soundcloud.com/favicon.ico`,Spotify:`https://storage.googleapis.com/pr-newsroom-wp/1/2023/05/Spotify_Primary_Logo_RGB_Green.png`,Twitch:`https://www.twitch.tv/favicon.ico`,Vimeo:`https://vimeo.com/favicon.ico`,YouTube:`https://www.youtube.com/favicon.ico`})),te=({components:e=[],children:t})=>(0,c.jsx)(c.Fragment,{children:e.reduceRight((e,t)=>(0,c.jsx)(t,{children:e}),t)}),S={playQueue:`PlayQueueStore`,bottomBar:`BottomBarStore`,playlistList:`PlaylistListStore`,playlist:e=>`PlaylistStore/${e}`},C=(0,l.createContext)(void 0),w=()=>(0,l.useContext)(C),T=new u.default({coerceTypes:!0});function E(e,t){let n;if(n=T.getSchema(t),n===void 0&&(T.addSchema(e,t),n=T.getSchema(t)),n===void 0||n.schema!==e)throw Error(`Invalid schema. Expected: '${JSON.stringify(e)}', but got '${JSON.stringify(n?.schema)}'.`);return n}var D=function(e){return e.Off=`Off`,e.All=`All`,e.One=`One`,e}({});function O(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var ne={type:`object`,properties:{repeat:{type:`string`,enum:Object.values(D),nullable:!0},shuffle:{type:`boolean`,nullable:!0}}},k=class{bottomBar;constructor(e){this.bottomBar=e,(0,d.makeObservable)(this)}get state(){return{repeat:this.bottomBar.repeat,shuffle:this.bottomBar.shuffle}}set state(e){this.bottomBar.repeat=e.repeat??D.Off,this.bottomBar.shuffle=e.shuffle??!1}validateState(e){return E(ne,`BottomBarLocalStorageState`)(e)}};O([d.computed.struct],k.prototype,`state`,null);var A=class{player;playQueue;localStorageState;repeat=D.Off;shuffle=!1;constructor(e,t){this.player=e,this.playQueue=t,(0,d.makeObservable)(this),this.localStorageState=new k(this)}get controller(){return this.player.controller}get playing(){return this.player.playing}get percent(){return this.player.percent}get canSeek(){return!this.playQueue.isEmpty&&this.controller.supports(`setCurrentTime`)}get currentItem(){return this.playQueue.currentItem}get canToggleRepeat(){return!0}get canToggleShuffle(){return!1}get canPlay(){return this.playQueue.canPlay&&this.controller.supports(`play`)}get canPause(){return this.playQueue.canPause&&this.controller.supports(`pause`)}get canPrevious(){return!this.playQueue.isEmpty}get canNext(){return this.playQueue.hasNextItem}get canSkipBack10(){return this.canSeek}get canSkipForward30(){return this.canSeek}get canRemoveFromPlayQueue(){return!this.playQueue.isEmpty}setPercent(e){this.player.setPercent(e)}setSeeking(e){this.player.setSeeking(e)}toggleRepeat(){switch(this.repeat){case D.Off:this.repeat=D.All;break;case D.All:this.repeat=D.One;break;case D.One:this.repeat=D.Off;break}}toggleShuffle(){this.shuffle=!this.shuffle}play(){return this.controller.play()}pause(){return this.controller.pause()}async previous(){if(this.playQueue.hasPreviousItem){let 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(){let e=await this.controller.getCurrentTime();e!==void 0&&await this.controller.setCurrentTime(e-10)}async skipForward30(){let 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])}};O([d.observable],A.prototype,`repeat`,void 0),O([d.observable],A.prototype,`shuffle`,void 0),O([d.computed],A.prototype,`controller`,null),O([d.computed],A.prototype,`playing`,null),O([d.computed],A.prototype,`percent`,null),O([d.computed],A.prototype,`canSeek`,null),O([d.computed],A.prototype,`currentItem`,null),O([d.computed],A.prototype,`canToggleRepeat`,null),O([d.computed],A.prototype,`canToggleShuffle`,null),O([d.computed],A.prototype,`canPlay`,null),O([d.computed],A.prototype,`canPause`,null),O([d.computed],A.prototype,`canPrevious`,null),O([d.computed],A.prototype,`canNext`,null),O([d.computed],A.prototype,`canSkipBack10`,null),O([d.computed],A.prototype,`canSkipForward30`,null),O([d.computed],A.prototype,`canRemoveFromPlayQueue`,null),O([d.action.bound],A.prototype,`setPercent`,null),O([d.action.bound],A.prototype,`setSeeking`,null),O([d.action.bound],A.prototype,`toggleRepeat`,null),O([d.action.bound],A.prototype,`toggleShuffle`,null),O([d.action.bound],A.prototype,`play`,null),O([d.action.bound],A.prototype,`pause`,null),O([d.action.bound],A.prototype,`previous`,null),O([d.action.bound],A.prototype,`next`,null),O([d.action.bound],A.prototype,`skipBack10`,null),O([d.action.bound],A.prototype,`skipForward30`,null),O([d.action.bound],A.prototype,`removeFromPlayQueue`,null);var j=(0,l.createContext)(void 0),M=()=>(0,l.useContext)(j),N=(0,l.createContext)(void 0),P=()=>(0,l.useContext)(N),re=({children:e})=>{let t=P(),n=M(),[r]=(0,l.useState)(()=>new A(t,n));return(0,f.useLocalStorageState)(S.bottomBar,r.localStorageState),(0,c.jsx)(C.Provider,{value:r,children:e})},ie=(0,l.createContext)(void 0),ae=()=>(0,l.useContext)(ie),F=class{player;playQueue;bottomBar;constructor(e,t,n){this.player=e,this.playQueue=t,this.bottomBar=n,(0,d.makeObservable)(this)}get interacted(){return this.playQueue.interacted}get controller(){return this.player.controller}get currentItem(){return this.playQueue.currentItem}async onLoaded(){this.interacted&&await this.controller.play()}onPlay(){this.player.onPlay()}onPause(){this.player.onPause()}async onEnded(){switch(this.bottomBar.repeat){case D.One:await this.controller.setCurrentTime(0);break;case D.Off:case D.All:if(this.playQueue.isLastItem)switch(this.bottomBar.repeat){case D.Off:this.player.onEnded();break;case D.All:this.playQueue.hasMultipleItems?await this.playQueue.goToFirst():await this.controller.setCurrentTime(0);break}else await this.playQueue.next();break}}onTimeUpdate(e){this.player.onTimeUpdate(e)}onControllerChange(e){this.player.onControllerChange(e)}};O([d.computed],F.prototype,`interacted`,null),O([d.computed],F.prototype,`controller`,null),O([d.computed],F.prototype,`currentItem`,null),O([d.action.bound],F.prototype,`onLoaded`,null),O([d.action.bound],F.prototype,`onPlay`,null),O([d.action.bound],F.prototype,`onPause`,null),O([d.action.bound],F.prototype,`onEnded`,null),O([d.action.bound],F.prototype,`onTimeUpdate`,null),O([d.action.bound],F.prototype,`onControllerChange`,null);var oe=({children:e})=>{let t=P(),n=M(),r=w(),[i]=(0,l.useState)(()=>new F(t,n,r));return(0,c.jsx)(ie.Provider,{value:i,children:e})},I={type:`object`,properties:{url:{type:`string`},type:{type:`string`},videoId:{type:`string`},title:{type:`string`}},required:[`url`,`type`,`videoId`,`title`]},se={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:I},currentIndex:{type:`integer`,nullable:!0}}},L=class e{playQueue;dto;static nextId=1;id;isSelected=!1;constructor(t,n){this.playQueue=t,this.dto=n,(0,d.makeObservable)(this),this.id=e.nextId++}static fromDto(t,n){return new e(t,n)}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)}};O([d.observable],L.prototype,`isSelected`,void 0),O([d.computed],L.prototype,`isCurrent`,null),O([d.computed],L.prototype,`index`,null),O([d.computed],L.prototype,`isFirst`,null),O([d.computed],L.prototype,`isLast`,null),O([d.computed],L.prototype,`canMoveToTop`,null),O([d.computed],L.prototype,`canMoveToBottom`,null),O([d.computed],L.prototype,`canRemoveToTop`,null),O([d.computed],L.prototype,`canRemoveOthers`,null),O([d.action.bound],L.prototype,`unselect`,null),O([d.action.bound],L.prototype,`select`,null),O([d.action.bound],L.prototype,`toggleSelected`,null),O([d.action.bound],L.prototype,`play`,null),O([d.action.bound],L.prototype,`remove`,null),O([d.action.bound],L.prototype,`playFirst`,null),O([d.action.bound],L.prototype,`playNext`,null),O([d.action.bound],L.prototype,`addToPlayQueue`,null),O([d.action.bound],L.prototype,`moveToTop`,null),O([d.action.bound],L.prototype,`moveToBottom`,null),O([d.action.bound],L.prototype,`removeToTop`,null),O([d.action.bound],L.prototype,`removeOthers`,null);var R=class{playQueue;constructor(e){this.playQueue=e,(0,d.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(e=>this.playQueue.createItemFromDto(e))??[],this.playQueue.currentIndex=e.currentIndex}validateState(e){return E(se,`PlayQueueDto`)(e)}};O([d.computed.struct],R.prototype,`state`,null);var z=class{interacted=!1;localStorageState;items=[];currentId;constructor(){(0,d.makeObservable)(this),this.localStorageState=new R(this)}createItemFromDto(e){return L.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?void 0:this.items.findIndex(e=>e.id===this.currentId)}set currentIndex(e){this.currentId=e===void 0?void 0:this.items.at(e)?.id}get hasPreviousItem(){return this.hasMultipleItems&&this.currentIndex!==void 0&&this.currentIndex>0}get hasNextItem(){return this.hasMultipleItems&&this.currentIndex!==void 0&&this.currentIndex<this.items.length-1}get isLastItem(){return this.currentIndex!==void 0&&this.currentIndex===this.items.length-1}get selectedItems(){return this.items.filter(e=>e.isSelected)}get allItemsSelected(){return this.selectedItems.length===this.items.length}get hasSelectedItems(){return this.selectedItems.length>0}get selectedItemsOrAllItems(){return this.hasSelectedItems?this.selectedItems:this.items}get canAddSelectedItems(){return!this.isEmpty&&this.hasSelectedItems}get canPlaySelectedItemsNext(){return!this.isEmpty&&this.hasSelectedItems}get canRemoveSelectedItems(){return!this.isEmpty&&this.hasSelectedItems}setItems(e){this.items=e}interact(){this.interacted=!0}clear(){this.interact(),this.currentIndex=void 0,this.items=[]}unselectAll(){for(let e of this.items)e.unselect()}selectAll(){for(let e of this.items)e.select()}setCurrentItem(e){this.interact(),this.currentId=e?.id}setNextItems(e){this.currentIndex!==void 0&&this.items.splice(this.currentIndex+1,0,...e)}clearAndSetItems(e){this.clear(),this.setCurrentItem(e[0]),this.setNextItems(e)}async playNext(e){if(this.isEmpty){this.clearAndSetItems(e);return}this.setNextItems(e)}async playSelectedItemsNext(){await this.playNext(this.selectedItemsOrAllItems.map(e=>e.clone())),this.unselectAll()}async addItems(e){if(this.isEmpty){this.clearAndSetItems(e);return}this.items.push(...e)}async addSelectedItems(){await this.addItems(this.selectedItemsOrAllItems.map(e=>e.clone())),this.unselectAll()}async playFirst(e){if(this.isEmpty){this.clearAndSetItems(e);return}let{currentIndex:t}=this;t!==void 0&&(this.interact(),this.items.splice(t,0,...e),this.currentIndex=t)}moveItem(e,t){let n=this.items.splice(this.items.indexOf(e),1)[0];this.items.splice(t,0,n)}async goToFirst(){this.currentIndex!==void 0&&(this.currentIndex=0)}async removeItems(e){let{currentItem:t}=this;(0,p.pull)(this.items,...e.filter(e=>e!==t));let{currentIndex:n,isLastItem:r}=this;(0,p.pull)(this.items,e.find(e=>e===t)),this.currentItem!==t&&(this.interact(),r?await this.goToFirst():this.currentIndex=n)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(e){let t=e.id;return this.removeItems(this.items.filter(e=>e.id!==t))}async removeItemsAbove(e){let t=this.items.indexOf(e);return this.removeItems(this.items.filter((e,n)=>n<t))}async previous(){this.currentIndex!==void 0&&this.hasPreviousItem&&(this.interact(),this.currentIndex--)}async next(){this.currentIndex!==void 0&&this.hasNextItem&&(this.interact(),this.currentIndex++)}addItemFromDto(e){let t=this.createItemFromDto(e);return this.addItems([t])}};O([d.observable],z.prototype,`interacted`,void 0),O([d.observable],z.prototype,`items`,void 0),O([d.observable],z.prototype,`currentId`,void 0),O([d.computed],z.prototype,`isEmpty`,null),O([d.computed],z.prototype,`canClear`,null),O([d.computed],z.prototype,`currentItem`,null),O([d.computed],z.prototype,`canPlay`,null),O([d.computed],z.prototype,`canPause`,null),O([d.computed],z.prototype,`hasMultipleItems`,null),O([d.computed],z.prototype,`currentIndex`,null),O([d.computed],z.prototype,`hasPreviousItem`,null),O([d.computed],z.prototype,`hasNextItem`,null),O([d.computed],z.prototype,`isLastItem`,null),O([d.computed],z.prototype,`selectedItems`,null),O([d.computed],z.prototype,`allItemsSelected`,null),O([d.computed],z.prototype,`hasSelectedItems`,null),O([d.computed],z.prototype,`selectedItemsOrAllItems`,null),O([d.computed],z.prototype,`canAddSelectedItems`,null),O([d.computed],z.prototype,`canPlaySelectedItemsNext`,null),O([d.computed],z.prototype,`canRemoveSelectedItems`,null),O([d.action.bound],z.prototype,`setItems`,null),O([d.action.bound],z.prototype,`interact`,null),O([d.action.bound],z.prototype,`clear`,null),O([d.action.bound],z.prototype,`unselectAll`,null),O([d.action.bound],z.prototype,`selectAll`,null),O([d.action.bound],z.prototype,`setCurrentItem`,null),O([d.action.bound],z.prototype,`setNextItems`,null),O([d.action.bound],z.prototype,`clearAndSetItems`,null),O([d.action.bound],z.prototype,`playNext`,null),O([d.action.bound],z.prototype,`playSelectedItemsNext`,null),O([d.action.bound],z.prototype,`addItems`,null),O([d.action.bound],z.prototype,`addSelectedItems`,null),O([d.action.bound],z.prototype,`playFirst`,null),O([d.action.bound],z.prototype,`moveItem`,null),O([d.action.bound],z.prototype,`goToFirst`,null),O([d.action.bound],z.prototype,`removeItems`,null),O([d.action.bound],z.prototype,`removeSelectedItems`,null),O([d.action.bound],z.prototype,`removeOtherItems`,null),O([d.action.bound],z.prototype,`removeItemsAbove`,null),O([d.action.bound],z.prototype,`previous`,null),O([d.action.bound],z.prototype,`next`,null),O([d.action.bound],z.prototype,`addItemFromDto`,null);var ce=({children:e})=>{let[t]=(0,l.useState)(()=>new z);(0,f.useLocalStorageState)(S.playQueue,t.localStorageState);let n=(0,m.useNostalgicDiva)();return(0,l.useEffect)(()=>(0,d.reaction)(()=>t.currentItem,async(e,t)=>{e===void 0||t===void 0||e.type===t.type&&e.videoId===t.videoId&&await n.setCurrentTime(0)}),[t,n]),(0,c.jsx)(j.Provider,{value:t,children:e})},B=class{controller=m.nullPlayerController;playing=!1;percent=0;seeking=!1;constructor(){(0,d.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))}};O([d.observable],B.prototype,`controller`,void 0),O([d.observable],B.prototype,`playing`,void 0),O([d.observable],B.prototype,`percent`,void 0),O([d.observable],B.prototype,`seeking`,void 0),O([d.action.bound],B.prototype,`setPlaying`,null),O([d.action.bound],B.prototype,`setPercent`,null),O([d.action.bound],B.prototype,`setSeeking`,null),O([d.action.bound],B.prototype,`onControllerChange`,null),O([d.action.bound],B.prototype,`onPlay`,null),O([d.action.bound],B.prototype,`onPause`,null),O([d.action.bound],B.prototype,`onEnded`,null),O([d.action.bound],B.prototype,`onTimeUpdate`,null);var le=({children:e})=>{let[t]=(0,l.useState)(()=>new B);return(0,c.jsx)(N.Provider,{value:t,children:e})},V=(0,l.createContext)(void 0),H=()=>(0,l.useContext)(V),U=class{playlistList;id;name;constructor(e,t,n){this.playlistList=e,(0,d.makeObservable)(this),this.id=t,this.name=n}async rename(e){this.name=e}remove(){return this.playlistList.removeItem(this)}};O([d.observable],U.prototype,`id`,void 0),O([d.observable],U.prototype,`name`,void 0),O([d.action.bound],U.prototype,`rename`,null),O([d.action.bound],U.prototype,`remove`,null);var W=class{playlistList;constructor(e){this.playlistList=e,(0,d.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(e=>new U(this.playlistList,e.id,e.name))??[]}validateState(e){return!0}};O([d.computed.struct],W.prototype,`state`,null);var G=class{localStorageState;items=[];constructor(){(0,d.makeObservable)(this),this.localStorageState=new W(this)}createItem(e){return new U(this,crypto.randomUUID(),e)}setItems(e){this.items=e}async addItem(e){this.items.push(e)}async removeItem(e){(0,p.pull)(this.items,e)}};O([d.observable],G.prototype,`items`,void 0),O([d.action.bound],G.prototype,`setItems`,null),O([d.action.bound],G.prototype,`addItem`,null),O([d.action.bound],G.prototype,`removeItem`,null);var ue=({children:e})=>{let[t]=(0,l.useState)(()=>new G);return(0,f.useLocalStorageState)(S.playlistList,t.localStorageState),(0,c.jsx)(V.Provider,{value:t,children:e})},de=({children:e,nostalgicDivaProps:t})=>(0,c.jsx)(m.NostalgicDivaProvider,{...t,children:(0,c.jsx)(te,{components:[le,ce,re,oe,ue],children:e})}),K={width:400,height:225},fe=(0,g.observer)(({children:e})=>{let t=M();return(0,c.jsxs)(h.EuiPageTemplate,{panelled:!0,style:{minBlockSize:`max(460px, 100vh - 81px)`},children:[e,!t.isEmpty&&(0,c.jsx)(h.EuiSpacer,{style:{blockSize:K.height}})]})}),pe=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiButtonIcon,{title:`Shuffle: ${e.shuffle?`On`:`Off`}`,"aria-label":`Shuffle: ${e.shuffle?`On`:`Off`}`,iconType:e.shuffle?_.ArrowShuffleFilled:_.ArrowShuffleOffFilled,size:`s`,iconSize:`l`,onClick:e.toggleShuffle,disabled:!e.canToggleShuffle})}),me=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiButtonIcon,{title:`Previous`,"aria-label":`Previous`,iconType:_.PreviousFilled,size:`s`,iconSize:`l`,onClick:e.previous,disabled:!e.canPrevious})}),he=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiButtonIcon,{title:`Skip back 10 seconds`,"aria-label":`Skip back 10 seconds`,iconType:_.SkipBack10Regular,size:`s`,iconSize:`l`,onClick:e.skipBack10,disabled:!e.canSkipBack10})}),ge=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiButtonIcon,{title:`Pause`,"aria-label":`Pause`,iconType:_.PauseFilled,size:`s`,iconSize:`l`,onClick:e.pause,disabled:!e.canPause})}),_e=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiButtonIcon,{title:`Play`,"aria-label":`Play`,iconType:_.PlayFilled,size:`s`,iconSize:`l`,onClick:e.play,disabled:!e.canPlay})}),ve=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiButtonIcon,{title:`Skip forward 30 seconds`,"aria-label":`Skip forward 30 seconds`,iconType:_.SkipForward30Regular,size:`s`,iconSize:`l`,onClick:e.skipForward30,disabled:!e.canSkipForward30})}),ye=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiButtonIcon,{title:`Next`,"aria-label":`Next`,iconType:_.NextFilled,size:`s`,iconSize:`l`,onClick:e.next,disabled:!e.canNext})}),q={[D.Off]:_.ArrowRepeatAllOffFilled,[D.All]:_.ArrowRepeatAllFilled,[D.One]:_.ArrowRepeat1Filled},be=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.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:q[e.repeat],size:`s`,iconSize:`l`,onClick:e.toggleRepeat,disabled:!e.canToggleRepeat})}),xe=(0,g.observer)(()=>{let e=w();return(0,c.jsxs)(h.EuiFlexGroup,{responsive:!1,gutterSize:`s`,justifyContent:`center`,alignItems:`center`,children:[(0,c.jsx)(h.EuiHideFor,{sizes:[`xs`],children:(0,c.jsx)(pe,{})}),(0,c.jsx)(me,{}),(0,c.jsx)(h.EuiHideFor,{sizes:[`xs`],children:(0,c.jsx)(he,{})}),e.playing?(0,c.jsx)(ge,{}):(0,c.jsx)(_e,{}),(0,c.jsx)(h.EuiHideFor,{sizes:[`xs`],children:(0,c.jsx)(ve,{})}),(0,c.jsx)(ye,{}),(0,c.jsx)(h.EuiHideFor,{sizes:[`xs`],children:(0,c.jsx)(be,{})})]})}),Se=(0,l.memo)(({item:e,closePopover:t})=>{let n=(0,l.useCallback)(({name:e,icon:n,onClick:r})=>({name:e,icon:n,onClick:async e=>{t(),r(e)}}),[t]);return(0,c.jsx)(h.EuiContextMenu,{initialPanelId:0,panels:(0,l.useMemo)(()=>[{id:0,items:[n({name:`Open in new tab`,icon:(0,c.jsx)(h.EuiIcon,{type:_.OpenRegular}),onClick:async()=>{window.open(e.dto.url,`_blank`)}}),n({name:`Copy link address`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:async()=>{await navigator.clipboard.writeText(e.dto.url)}}),n({name:`Copy link text`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:async()=>{await navigator.clipboard.writeText(e.dto.title)}})]}],[n,e])})}),Ce=(0,l.memo)(({item:e})=>{let[t,n]=(0,l.useState)(!1),r=(0,l.useCallback)(()=>n(!t),[t]),i=(0,l.useCallback)(()=>n(!1),[]);return(0,c.jsx)(h.EuiPopover,{button:(0,c.jsx)(h.EuiButtonEmpty,{iconType:x.get(e.type),size:`s`,onClick:r,children:e.title}),isOpen:t,closePopover:i,panelPaddingSize:`none`,anchorPosition:`upLeft`,children:(0,c.jsx)(Se,{item:e,closePopover:i})})}),we=(0,g.observer)(()=>{let e=w();return(0,c.jsx)(h.EuiFlexGroup,{responsive:!1,gutterSize:`s`,justifyContent:`flexStart`,alignItems:`center`,children:e.currentItem&&(0,c.jsx)(Ce,{item:e.currentItem})})}),Te=(0,g.observer)(()=>(0,c.jsx)(h.EuiButtonIcon,{title:`Mute`,"aria-label":`Mute`,iconType:_.Speaker2Regular,size:`s`,iconSize:`l`,disabled:!w().controller.supports(`setMuted`)})),Ee=(0,g.observer)(({button:e,isOpen:t,closePopover:n})=>{let r=w(),[i,a]=(0,l.useState)(`0`),o=(0,m.useNostalgicDiva)();(0,l.useLayoutEffect)(()=>{t&&o.getVolume().then(e=>{e!==void 0&&a(Math.floor(e*100).toString())})},[t,o]);let s=(0,l.useCallback)(async e=>{a(e.currentTarget.value),await o.setVolume(Number(e.currentTarget.value)/100)},[o]);return(0,c.jsx)(h.EuiPopover,{button:e,isOpen:t,closePopover:n,anchorPosition:`upRight`,children:(0,c.jsx)(h.EuiFormRow,{children:(0,c.jsxs)(h.EuiFlexGroup,{responsive:!1,gutterSize:`s`,justifyContent:`center`,alignItems:`center`,children:[(0,c.jsx)(Te,{}),(0,c.jsx)(h.EuiRange,{min:0,max:100,step:1,value:i,onChange:s,css:{blockSize:32},disabled:!r.controller.supports(`setVolume`)})]})})})}),De=(0,g.observer)(()=>{let e=w(),[t,n]=(0,l.useState)(!1);return(0,c.jsx)(Ee,{button:(0,c.jsx)(h.EuiButtonIcon,{title:`Volume`,"aria-label":`Volume`,iconType:_.Speaker2Regular,size:`s`,iconSize:`l`,onClick:()=>n(!t),disabled:!e.controller.supports(`getVolume`)}),isOpen:t,closePopover:()=>n(!1)})}),Oe=({onClickPlayQueueButton:e})=>(0,c.jsx)(h.EuiButtonIcon,{title:`Play queue`,"aria-label":`Play queue`,iconType:_.NavigationPlayRegular,size:`s`,iconSize:`l`,onClick:e}),ke=(0,g.observer)(({closePopover:e})=>{let t=w(),n=(0,m.useNostalgicDiva)(),[r,i]=(0,l.useState)(),a=(0,l.useCallback)(async()=>{await t.controller.getPlaybackRate().then(e=>i(e))},[t]),o=(0,l.useCallback)(({name:t,icon:n,onClick:r,disabled:i,className:a})=>({name:t,icon:n,onClick:async()=>{e(),r()},disabled:i,className:a}),[e]);return(0,c.jsx)(h.EuiContextMenu,{initialPanelId:0,panels:(0,l.useMemo)(()=>[{id:0,items:[{name:`Speed`,icon:(0,c.jsx)(h.EuiIcon,{type:_.TopSpeedRegular}),panel:1,onClick:a,disabled:!t.controller.supports(`getPlaybackRate`)},o({name:`Skip back 10 seconds`,icon:(0,c.jsx)(h.EuiIcon,{type:_.SkipBack10Regular}),onClick:t.skipBack10,disabled:!t.canSkipBack10}),o({name:`Skip forward 30 seconds`,icon:(0,c.jsx)(h.EuiIcon,{type:_.SkipForward30Regular}),onClick:t.skipForward30,disabled:!t.canSkipForward30}),o({name:`Shuffle: ${t.shuffle?`On`:`Off`}`,icon:(0,c.jsx)(h.EuiIcon,{type:t.shuffle?_.ArrowShuffleFilled:_.ArrowShuffleOffFilled}),onClick:t.toggleShuffle,disabled:!t.canToggleShuffle,className:`eui-showFor--xs--flex`}),o({name:`Repeat: ${t.repeat===D.All?`All`:t.repeat===D.One?`One`:`Off`}`,icon:(0,c.jsx)(h.EuiIcon,{type:q[t.repeat]}),onClick:t.toggleRepeat,disabled:!t.canToggleRepeat,className:`eui-showFor--xs--flex`}),{isSeparator:!0},o({name:`Remove from play queue`,icon:(0,c.jsx)(h.EuiIcon,{type:_.DismissRegular}),onClick:t.removeFromPlayQueue,disabled:!t.canRemoveFromPlayQueue})]},{id:1,title:`Speed`,items:[.25,.5,.75,1,1.25,1.5,1.75,2].map(e=>o({name:e.toString(),onClick:()=>n.setPlaybackRate(e),icon:e===r?`check`:`empty`,disabled:!t.controller.supports(`setPlaybackRate`)}))}],[t,o,a,n,r])})}),Ae=(0,l.memo)(({button:e,isOpen:t,closePopover:n})=>(0,c.jsx)(h.EuiPopover,{button:e,isOpen:t,closePopover:n,panelPaddingSize:`none`,anchorPosition:`upRight`,children:(0,c.jsx)(ke,{closePopover:n})})),je=(0,l.memo)(()=>{let[e,t]=(0,l.useState)(!1);return(0,c.jsx)(Ae,{button:(0,c.jsx)(h.EuiButtonIcon,{title:`More options`,"aria-label":`More options`,iconType:_.MoreHorizontalFilled,size:`s`,iconSize:`l`,onClick:()=>t(!e)}),isOpen:e,closePopover:()=>t(!1)})}),Me=(0,l.memo)(({onClickPlayQueueButton:e})=>(0,c.jsxs)(h.EuiFlexGroup,{responsive:!1,gutterSize:`s`,justifyContent:`flexEnd`,alignItems:`center`,children:[(0,c.jsx)(De,{}),e&&(0,c.jsx)(Oe,{onClickPlayQueueButton:e}),(0,c.jsx)(je,{})]})),Ne=(0,g.observer)(()=>{let e=w(),t=(0,m.useNostalgicDiva)(),n=(0,l.useCallback)(t=>{let n=Number(t.currentTarget.value)/100;e.setPercent(n)},[e]),r=(0,l.useCallback)(t=>{t.button===0&&e.setSeeking(!0)},[e]),i=(0,l.useCallback)(async n=>{if(n.button===0){let r=Number(n.currentTarget.value)/100;e.setSeeking(!1);let i=await t.getDuration();i!==void 0&&await t.setCurrentTime(i*r)}},[e,t]);return(0,c.jsx)(h.EuiRange,{min:0,max:100,step:1e-7,value:e.percent*100,onChange:n,onMouseDown:r,onMouseUp:i,fullWidth:!0,showRange:!0,css:{blockSize:32},disabled:!e.canSeek})}),Pe=(0,g.observer)(({onClickPlayQueueButton:e})=>(0,c.jsx)(h.EuiBottomBar,{paddingSize:`s`,children:(0,c.jsxs)(h.EuiFlexGroup,{direction:`column`,gutterSize:`none`,children:[(0,c.jsx)(h.EuiFlexItem,{children:(0,c.jsx)(Ne,{})}),(0,c.jsx)(h.EuiFlexItem,{children:(0,c.jsxs)(h.EuiFlexGroup,{responsive:!1,children:[(0,c.jsx)(h.EuiFlexItem,{css:{width:`calc(100% / 3)`},children:(0,c.jsx)(we,{})}),(0,c.jsx)(h.EuiFlexItem,{css:{width:`calc(100% / 3)`},children:(0,c.jsx)(xe,{})}),(0,c.jsx)(h.EuiFlexItem,{css:{width:`calc(100% / 3)`},children:(0,c.jsx)(Me,{onClickPlayQueueButton:e})})]})})]})})),Fe=(0,g.observer)(()=>{let e=ae(),t=(0,l.useMemo)(()=>({onLoaded:e.onLoaded,onPlay:e.onPlay,onPause:e.onPause,onEnded:e.onEnded,onTimeUpdate:e.onTimeUpdate}),[e]);return(0,c.jsx)(`div`,{css:{position:`fixed`,right:0,bottom:81,width:K.width,height:K.height,zIndex:998,backgroundColor:`rgb(39, 39, 39)`,display:`flex`,flexDirection:`column`},children:(0,c.jsx)(`div`,{css:{flexGrow:1,backgroundColor:`black`},children:e.currentItem&&(0,c.jsx)(m.NostalgicDiva,{src:e.currentItem.url,options:t,onControllerChange:e.onControllerChange})})})});function Ie(e){return typeof e==`object`&&!!e&&`title`in e&&typeof e.title==`string`}var Le=v.default.create(({remove:e,resolve:t})=>{let n=(0,h.useGeneratedHtmlId)({prefix:`modalForm`}),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)(``),[s,u]=(0,l.useState)(!1);return(0,c.jsxs)(h.EuiModal,{onClose:e,initialFocus:`[name=url]`,children:[(0,c.jsx)(h.EuiModalHeader,{children:(0,c.jsx)(h.EuiModalHeaderTitle,{children:`Add video`})}),(0,c.jsx)(h.EuiModalBody,{children:(0,c.jsxs)(h.EuiForm,{id:n,component:`form`,onSubmit:async n=>{n.preventDefault();try{u(!0);let n=(0,m.findVideoService)(r);if(n===void 0)return;let i=n.extractVideoId(r);if(i===void 0)return;let o=await(await fetch(`https://noembed.com/embed?url=${encodeURIComponent(r)}`)).json();t({url:r,type:n.type,videoId:i,title:a||(Ie(o)?o.title:i)}),e()}finally{u(!1)}},children:[(0,c.jsx)(h.EuiFormRow,{label:`URL`,children:(0,c.jsx)(h.EuiFieldText,{name:`url`,value:r,onChange:e=>i(e.target.value)})}),(0,c.jsx)(h.EuiFormRow,{label:`Title`,children:(0,c.jsx)(h.EuiFieldText,{name:`title`,value:a,onChange:e=>o(e.target.value)})})]})}),(0,c.jsxs)(h.EuiModalFooter,{children:[(0,c.jsx)(h.EuiButtonEmpty,{onClick:e,children:`Cancel`}),(0,c.jsx)(h.EuiButton,{type:`submit`,form:n,fill:!0,disabled:r.trim().length===0,isLoading:s,children:`Add video`})]})]})}),J=(0,l.memo)(({onFulfilled:e})=>(0,c.jsx)(h.EuiButton,{onClick:()=>v.default.show(Le).then(e),iconType:_.AddRegular,color:`primary`,children:`Add video`})),Re=(0,g.observer)(({playQueue:e})=>(0,c.jsx)(h.EuiButton,{iconType:_.AddRegular,onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems,children:`Add to play queue`})),ze=(0,g.observer)(({playQueue:e,closePopover:t})=>{let n=(0,l.useCallback)(({name:e,icon:n,disabled:r,onClick:i})=>({name:e,icon:n,disabled:r,onClick:async e=>{t(),i(e)}}),[t]);return(0,c.jsx)(h.EuiContextMenu,{initialPanelId:0,panels:(0,l.useMemo)(()=>[{id:0,items:[n({name:`Play next`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext}),n({name:`Add to play queue`,icon:(0,c.jsx)(h.EuiIcon,{type:_.AddRegular}),onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems}),n({name:`Remove`,icon:(0,c.jsx)(h.EuiIcon,{type:_.DismissRegular}),onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems}),n({name:`Clear`,icon:(0,c.jsx)(h.EuiIcon,{type:_.DeleteRegular}),onClick:e.clear,disabled:!e.canClear})]}],[n,e])})}),Be=(0,l.memo)(({playQueue:e})=>{let[t,n]=(0,l.useState)(!1),r=(0,l.useCallback)(()=>n(!t),[t]),i=(0,l.useCallback)(()=>n(!1),[]);return(0,c.jsx)(h.EuiPopover,{button:(0,c.jsx)(h.EuiButtonIcon,{display:`base`,size:`m`,iconType:_.MoreHorizontalFilled,onClick:r}),isOpen:t,closePopover:i,panelPaddingSize:`none`,anchorPosition:`downLeft`,children:(0,c.jsx)(ze,{playQueue:e,closePopover:i})})}),Ve=(0,g.observer)(({playQueue:e})=>{let{euiTheme:t}=(0,h.useEuiTheme)();return(0,c.jsxs)(h.EuiFlexGroup,{alignItems:`center`,gutterSize:`m`,responsive:!1,style:{position:`sticky`,top:48,zIndex:998,background:t.colors.backgroundBasePlain},children:[(0,c.jsxs)(h.EuiHideFor,{sizes:[`xs`],children:[(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(h.EuiButton,{disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext,children:`Play next`})}),(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(Re,{playQueue:e})}),(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(h.EuiButton,{iconType:_.DismissRegular,onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems,children:`Remove`})}),(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(h.EuiButton,{iconType:_.DeleteRegular,onClick:e.clear,disabled:!e.canClear,children:`Clear`})})]}),(0,c.jsx)(h.EuiShowFor,{sizes:[`xs`],children:(0,c.jsx)(Be,{playQueue:e})}),(0,c.jsx)(h.EuiFlexItem,{grow:!0}),(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(J,{onFulfilled:e.addItemFromDto})})]})}),He=(0,g.observer)(({playQueue:e})=>{let{euiTheme:t}=(0,h.useEuiTheme)();return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(h.EuiTableHeaderMobile,{children:(0,c.jsx)(h.EuiFlexGroup,{responsive:!1,justifyContent:`spaceBetween`,alignItems:`baseline`,children:(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(h.EuiCheckbox,{id:``,checked:e.allItemsSelected,onChange:t=>{t.target.checked?e.selectAll():e.unselectAll()}})})})}),(0,c.jsxs)(h.EuiTableHeader,{style:{position:`sticky`,top:112,zIndex:998,background:t.colors.backgroundBasePlain},children:[(0,c.jsx)(h.EuiTableHeaderCellCheckbox,{children:(0,c.jsx)(h.EuiCheckbox,{id:``,checked:e.allItemsSelected,onChange:t=>{t.target.checked?e.selectAll():e.unselectAll()}})}),(0,c.jsx)(h.EuiTableHeaderCell,{width:24}),(0,c.jsx)(h.EuiTableHeaderCell,{children:`Title`}),(0,c.jsx)(h.EuiTableHeaderCell,{})]})]})}),Ue=(0,g.observer)(({item:e,closePopover:t})=>{let n=(0,l.useCallback)(({name:e,icon:n,disabled:r,onClick:i,className:a})=>({name:e,icon:n,disabled:r,onClick:async e=>{t(),i(e)},className:a}),[t]);return(0,c.jsx)(h.EuiContextMenu,{initialPanelId:0,panels:(0,l.useMemo)(()=>[{id:0,items:[n({name:`Play`,icon:(0,c.jsx)(h.EuiIcon,{type:_.PlayRegular}),onClick:e.play,className:`eui-showFor--xs--flex`}),n({name:`Play first`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.playFirst}),n({name:`Play next`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.playNext}),n({name:`Add to play queue`,icon:(0,c.jsx)(h.EuiIcon,{type:_.AddRegular}),onClick:e.addToPlayQueue}),{isSeparator:!0},n({name:`Move to the top`,icon:(0,c.jsx)(h.EuiIcon,{type:_.ArrowUploadRegular}),onClick:e.moveToTop,disabled:!e.canMoveToTop}),n({name:`Move to the bottom`,icon:(0,c.jsx)(h.EuiIcon,{type:_.ArrowDownloadRegular}),onClick:e.moveToBottom,disabled:!e.canMoveToBottom}),{isSeparator:!0},n({name:`Remove`,icon:(0,c.jsx)(h.EuiIcon,{type:_.DismissRegular}),onClick:e.remove,className:`eui-showFor--xs--flex`}),n({name:`Remove to the top`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.removeToTop,disabled:!e.canRemoveToTop}),n({name:`Remove others`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.removeOthers,disabled:!e.canRemoveOthers})]}],[n,e])})}),We=(0,l.memo)(({item:e})=>{let[t,n]=(0,l.useState)(!1),r=(0,l.useCallback)(()=>n(!t),[t]),i=(0,l.useCallback)(()=>n(!1),[]);return(0,c.jsx)(h.EuiPopover,{button:(0,c.jsx)(h.EuiButtonIcon,{title:`More options`,"aria-label":`More options`,iconType:_.MoreHorizontalFilled,size:`s`,color:`text`,onClick:r}),isOpen:t,closePopover:i,panelPaddingSize:`none`,anchorPosition:`leftCenter`,children:(0,c.jsx)(Ue,{item:e,closePopover:i})})}),Ge=(0,g.observer)(({item:e})=>{let t=(0,m.useNostalgicDiva)();return(0,c.jsxs)(h.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:`right`,children:[(0,c.jsxs)(h.EuiHideFor,{sizes:[`xs`],children:[(0,c.jsx)(h.EuiButton,{iconType:_.PlayRegular,size:`s`,onClick:async()=>{e.isCurrent?await t.setCurrentTime(0):await e.play()},children:`Play`}),(0,c.jsx)(h.EuiButton,{iconType:_.DismissRegular,size:`s`,onClick:e.remove,children:`Remove`})]}),(0,c.jsx)(We,{item:e})]})}),Ke=(0,g.observer)(({item:e})=>{let t=(0,l.useRef)(null),{isCurrent:n}=e;return(0,l.useEffect)(()=>{n&&t.current?.closest(`tr`)?.scrollIntoView({behavior:`smooth`,block:`center`})},[n]),(0,c.jsxs)(h.EuiTableRow,{isSelected:e.isCurrent,hasSelection:!0,hasActions:!0,children:[(0,c.jsx)(h.EuiTableRowCellCheckbox,{children:(0,c.jsx)(h.EuiCheckbox,{id:e.id.toString(),checked:e.isSelected,onChange:e.toggleSelected})}),(0,c.jsx)(h.EuiTableRowCell,{textOnly:!1,children:(0,c.jsx)(`img`,{ref:t,src:x.get(e.type),width:16,height:16,alt:e.type})}),(0,c.jsx)(h.EuiTableRowCell,{mobileOptions:{header:!1,enlarge:!0,width:`100%`},children:(0,c.jsx)(h.EuiLink,{href:e.url,target:`_blank`,external:!0,children:e.title})}),(0,c.jsx)(Ge,{item:e})]})}),qe=(0,g.observer)(({playQueue:e})=>(0,c.jsx)(y.ReactSortable,{tag:`tbody`,list:e.items,setList:t=>e.setItems(t),children:e.items.map(e=>(0,c.jsx)(Ke,{item:e},e.id))})),Je=(0,g.observer)(({playQueue:e})=>(0,c.jsxs)(h.EuiTable,{children:[(0,c.jsx)(He,{playQueue:e}),(0,c.jsx)(qe,{playQueue:e})]})),Y=(0,g.observer)(({playQueue:e})=>{let{euiTheme:t}=(0,h.useEuiTheme)();return(0,c.jsxs)(h.EuiPageTemplate.Section,{children:[(0,c.jsx)(Ve,{playQueue:e}),(0,c.jsx)(h.EuiSpacer,{size:`l`,style:{position:`sticky`,top:88,zIndex:998,background:t.colors.backgroundBasePlain}}),e.isEmpty?(0,c.jsx)(h.EuiEmptyPrompt,{title:(0,c.jsx)(`h2`,{children:`We couldn't find any videos`}),body:(0,c.jsx)(`p`,{children:`Your video library doesn't contain any video content.`}),actions:(0,c.jsx)(J,{onFulfilled:e.addItemFromDto})}):(0,c.jsx)(Je,{playQueue:e})]})}),X=({breadcrumbs:e,tabs:t,...n})=>{let r=(0,b.useRouter)();return(0,c.jsx)(h.EuiPageTemplate.Header,{...n,breadcrumbs:e?.map(({linkProps:e,...t})=>({...t,href:e===void 0?void 0:r.buildLocation(e).href,onClick:e===void 0?void 0:async t=>{t.preventDefault(),await r.navigate(e)}})),tabs:t?.map(({linkProps:e,...t})=>({...t,href:e===void 0?void 0:r.buildLocation(e).href,onClick:e===void 0?void 0:async t=>{t.preventDefault(),await r.navigate(e)}}))})},Ye=()=>{let e=M();return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(X,{pageTitle:`Play queue`,rightSideItems:[]}),(0,c.jsx)(Y,{playQueue:e})]})},Xe=v.default.create(({remove:e,resolve:t,playlistListItem:n})=>{let[r,i]=(0,l.useState)(!1);return(0,c.jsx)(h.EuiConfirmModal,{title:`Delete playlist permanently?`,onCancel:e,onConfirm:(0,l.useCallback)(async()=>{try{i(!0),t(),e()}finally{i(!1)}},[t,e]),cancelButtonText:`Cancel`,confirmButtonText:`Delete`,buttonColor:`danger`,isLoading:r,children:(0,c.jsxs)(`p`,{children:[`Are you sure you want to delete this playlist? If you delete '`,n.name,`', you won't be able to recover it.`]})})}),Ze=(0,g.observer)(({playlist:e})=>(0,c.jsx)(h.EuiButton,{iconType:_.AddRegular,onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems,children:`Add to play queue`})),Qe=(0,g.observer)(({playlist:e,closePopover:t})=>{let n=(0,l.useCallback)(({name:e,icon:n,disabled:r,onClick:i})=>({name:e,icon:n,disabled:r,onClick:async e=>{t(),i(e)}}),[t]);return(0,c.jsx)(h.EuiContextMenu,{initialPanelId:0,panels:(0,l.useMemo)(()=>[{id:0,items:[n({name:`Play next`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext}),n({name:`Add to play queue`,icon:(0,c.jsx)(h.EuiIcon,{type:_.AddRegular}),onClick:e.addSelectedItems,disabled:!e.canAddSelectedItems}),n({name:`Remove`,icon:(0,c.jsx)(h.EuiIcon,{type:_.DismissRegular}),onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems})]}],[n,e])})}),$e=(0,l.memo)(({playlist:e})=>{let[t,n]=(0,l.useState)(!1),r=(0,l.useCallback)(()=>n(!t),[t]),i=(0,l.useCallback)(()=>n(!1),[]);return(0,c.jsx)(h.EuiPopover,{button:(0,c.jsx)(h.EuiButtonIcon,{display:`base`,size:`m`,iconType:_.MoreHorizontalFilled,onClick:r}),isOpen:t,closePopover:i,panelPaddingSize:`none`,anchorPosition:`downLeft`,children:(0,c.jsx)(Qe,{playlist:e,closePopover:i})})}),et=(0,g.observer)(({playlist:e})=>{let{euiTheme:t}=(0,h.useEuiTheme)();return(0,c.jsxs)(h.EuiFlexGroup,{alignItems:`center`,gutterSize:`m`,responsive:!1,style:{position:`sticky`,top:48,zIndex:998,background:t.colors.backgroundBasePlain},children:[(0,c.jsxs)(h.EuiHideFor,{sizes:[`xs`],children:[(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(h.EuiButton,{disabled:!e.canPlaySelectedItemsNext,onClick:e.playSelectedItemsNext,children:`Play next`})}),(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(Ze,{playlist:e})}),(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(h.EuiButton,{iconType:_.DismissRegular,onClick:e.removeSelectedItems,disabled:!e.canRemoveSelectedItems,children:`Remove`})})]}),(0,c.jsx)(h.EuiShowFor,{sizes:[`xs`],children:(0,c.jsx)($e,{playlist:e})}),(0,c.jsx)(h.EuiFlexItem,{grow:!0}),(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(J,{onFulfilled:e.addItemFromDto})})]})}),tt=(0,g.observer)(({playlist:e})=>(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(h.EuiTableHeaderMobile,{children:(0,c.jsx)(h.EuiFlexGroup,{responsive:!1,justifyContent:`spaceBetween`,alignItems:`baseline`,children:(0,c.jsx)(h.EuiFlexItem,{grow:!1,children:(0,c.jsx)(h.EuiCheckbox,{id:``,checked:e.allItemsSelected,onChange:t=>{t.target.checked?e.selectAll():e.unselectAll()}})})})}),(0,c.jsxs)(h.EuiTableHeader,{children:[(0,c.jsx)(h.EuiTableHeaderCellCheckbox,{children:(0,c.jsx)(h.EuiCheckbox,{id:``,checked:e.allItemsSelected,onChange:t=>{t.target.checked?e.selectAll():e.unselectAll()}})}),(0,c.jsx)(h.EuiTableHeaderCell,{width:24}),(0,c.jsx)(h.EuiTableHeaderCell,{children:`Title`}),(0,c.jsx)(h.EuiTableHeaderCell,{})]})]})),nt=(0,l.memo)(({item:e,closePopover:t})=>{let n=(0,l.useCallback)(({name:e,icon:n,disabled:r,onClick:i,className:a})=>({name:e,icon:n,disabled:r,onClick:async e=>{t(),i(e)},className:a}),[t]);return(0,c.jsx)(h.EuiContextMenu,{initialPanelId:0,panels:(0,l.useMemo)(()=>[{id:0,items:[n({name:`Play`,icon:(0,c.jsx)(h.EuiIcon,{type:_.PlayRegular}),onClick:e.play,className:`eui-showFor--xs--flex`}),n({name:`Play first`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.playFirst}),n({name:`Play next`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.playNext}),n({name:`Add to play queue`,icon:(0,c.jsx)(h.EuiIcon,{type:_.AddRegular}),onClick:e.addToPlayQueue}),{isSeparator:!0},n({name:`Move to the top`,icon:(0,c.jsx)(h.EuiIcon,{type:_.ArrowUploadRegular}),onClick:e.moveToTop,disabled:!e.canMoveToTop}),n({name:`Move to the bottom`,icon:(0,c.jsx)(h.EuiIcon,{type:_.ArrowDownloadRegular}),onClick:e.moveToBottom,disabled:!e.canMoveToBottom}),{isSeparator:!0},n({name:`Remove`,icon:(0,c.jsx)(h.EuiIcon,{type:_.DismissRegular}),onClick:e.remove,className:`eui-showFor--xs--flex`}),n({name:`Remove to the top`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.removeToTop,disabled:!e.canRemoveToTop}),n({name:`Remove others`,icon:(0,c.jsx)(h.EuiIcon,{type:``}),onClick:e.removeOthers,disabled:!e.canRemoveOthers})]}],[n,e])})}),rt=(0,l.memo)(({item:e})=>{let[t,n]=(0,l.useState)(!1),r=(0,l.useCallback)(()=>n(!t),[t]),i=(0,l.useCallback)(()=>n(!1),[]);return(0,c.jsx)(h.EuiPopover,{button:(0,c.jsx)(h.EuiButtonIcon,{title:`More options`,"aria-label":`More options`,iconType:_.MoreHorizontalFilled,size:`s`,color:`text`,onClick:r}),isOpen:t,closePopover:i,panelPaddingSize:`none`,anchorPosition:`leftCenter`,children:(0,c.jsx)(nt,{item:e,closePopover:i})})}),it=(0,g.observer)(({item:e})=>(0,c.jsxs)(h.EuiTableRowCell,{textOnly:!1,hasActions:!0,align:`right`,children:[(0,c.jsxs)(h.EuiHideFor,{sizes:[`xs`],children:[(0,c.jsx)(h.EuiButton,{iconType:_.PlayRegular,size:`s`,onClick:e.play,children:`Play`}),(0,c.jsx)(h.EuiButton,{iconType:_.DismissRegular,size:`s`,onClick:e.remove,children:`Remove`})]}),(0,c.jsx)(rt,{item:e})]})),at=(0,g.observer)(({item:e})=>(0,c.jsxs)(h.EuiTableRow,{isSelected:e.isCurrent,hasSelection:!0,hasActions:!0,children:[(0,c.jsx)(h.EuiTableRowCellCheckbox,{children:(0,c.jsx)(h.EuiCheckbox,{id:e.id.toString(),checked:e.isSelected,onChange:e.toggleSelected})}),(0,c.jsx)(h.EuiTableRowCell,{textOnly:!1,children:(0,c.jsx)(`img`,{src:x.get(e.type),width:16,height:16,alt:e.type})}),(0,c.jsx)(h.EuiTableRowCell,{mobileOptions:{header:!1,enlarge:!0,width:`100%`},children:(0,c.jsx)(h.EuiLink,{href:e.url,target:`_blank`,external:!0,children:e.title})}),(0,c.jsx)(it,{item:e})]})),ot=(0,g.observer)(({playlist:e})=>(0,c.jsx)(y.ReactSortable,{tag:`tbody`,list:e.items,setList:t=>e.setItems(t),children:e.items.map(e=>(0,c.jsx)(at,{item:e},e.id))})),st=(0,g.observer)(({playlist:e})=>(0,c.jsxs)(h.EuiTable,{children:[(0,c.jsx)(tt,{playlist:e}),(0,c.jsx)(ot,{playlist:e})]})),ct=(0,g.observer)(({playlist:e})=>{let{euiTheme:t}=(0,h.useEuiTheme)();return(0,c.jsxs)(h.EuiPageTemplate.Section,{children:[(0,c.jsx)(et,{playlist:e}),(0,c.jsx)(h.EuiSpacer,{size:`l`,style:{position:`sticky`,top:88,zIndex:998,background:t.colors.backgroundBasePlain}}),e.isEmpty?(0,c.jsx)(c.Fragment,{}):(0,c.jsx)(st,{playlist:e})]})}),lt=v.default.create(({remove:e,resolve:t,playlistListItem:n})=>{let r=(0,h.useGeneratedHtmlId)({prefix:`modalForm`}),[i,a]=(0,l.useState)(n.name),[o,s]=(0,l.useState)(!1);return(0,c.jsxs)(h.EuiModal,{onClose:e,initialFocus:`[name=name]`,children:[(0,c.jsx)(h.EuiModalHeader,{children:(0,c.jsx)(h.EuiModalHeaderTitle,{children:`Rename playlist`})}),(0,c.jsx)(h.EuiModalBody,{children:(0,c.jsx)(h.EuiForm,{id:r,component:`form`,onSubmit:async n=>{n.preventDefault();try{s(!0),t(i),e()}finally{s(!1)}},children:(0,c.jsx)(h.EuiFormRow,{label:`Name`,children:(0,c.jsx)(h.EuiFieldText,{name:`name`,value:i,onChange:e=>a(e.target.value)})})})}),(0,c.jsxs)(h.EuiModalFooter,{children:[(0,c.jsx)(h.EuiButtonEmpty,{onClick:e,children:`Cancel`}),(0,c.jsx)(h.EuiButton,{type:`submit`,form:r,fill:!0,disabled:i.trim().length===0,isLoading:o,children:`Rename`})]})]})}),Z=class e{playQueue;playlist;dto;static nextId=1;id;isSelected=!1;constructor(t,n,r){this.playQueue=t,this.playlist=n,this.dto=r,(0,d.makeObservable)(this),this.id=e.nextId++}static fromDto(t,n,r){return new e(t,n,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!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)}};O([d.observable],Z.prototype,`isSelected`,void 0),O([d.computed],Z.prototype,`isCurrent`,null),O([d.computed],Z.prototype,`index`,null),O([d.computed],Z.prototype,`isFirst`,null),O([d.computed],Z.prototype,`isLast`,null),O([d.computed],Z.prototype,`canMoveToTop`,null),O([d.computed],Z.prototype,`canMoveToBottom`,null),O([d.computed],Z.prototype,`canRemoveToTop`,null),O([d.computed],Z.prototype,`canRemoveOthers`,null),O([d.action.bound],Z.prototype,`unselect`,null),O([d.action.bound],Z.prototype,`select`,null),O([d.action.bound],Z.prototype,`toggleSelected`,null),O([d.action.bound],Z.prototype,`play`,null),O([d.action.bound],Z.prototype,`remove`,null),O([d.action.bound],Z.prototype,`playFirst`,null),O([d.action.bound],Z.prototype,`playNext`,null),O([d.action.bound],Z.prototype,`addToPlayQueue`,null),O([d.action.bound],Z.prototype,`moveToTop`,null),O([d.action.bound],Z.prototype,`moveToBottom`,null),O([d.action.bound],Z.prototype,`removeToTop`,null),O([d.action.bound],Z.prototype,`removeOthers`,null);var ut={type:`object`,properties:{version:{type:`string`,nullable:!0},items:{type:`array`,nullable:!0,items:I}}},Q=class{playlist;constructor(e){this.playlist=e,(0,d.makeObservable)(this)}get state(){return{version:`1.0`,items:this.playlist.items.map(e=>e.dto)}}set state(e){this.playlist.items=e.items?.map(e=>this.playlist.createItemFromDto(e))??[]}validateState(e){return E(ut,`PlaylistLocalStorageState`)(e)}};O([d.computed.struct],Q.prototype,`state`,null);var $=class{playQueue;localStorageState;items=[];constructor(e){this.playQueue=e,(0,d.makeObservable)(this),this.localStorageState=new Q(this)}createItemFromDto(e){return Z.fromDto(this.playQueue,this,{url:e.url,type:e.type,videoId:e.videoId,title:e.title})}get isEmpty(){return this.items.length===0}get hasMultipleItems(){return this.items.length>1}get selectedItems(){return this.items.filter(e=>e.isSelected)}get allItemsSelected(){return this.selectedItems.length===this.items.length}get hasSelectedItems(){return this.selectedItems.length>0}get selectedItemsOrAllItems(){return this.hasSelectedItems?this.selectedItems:this.items}get canAddSelectedItems(){return!this.isEmpty&&this.hasSelectedItems}get canPlaySelectedItemsNext(){return!this.isEmpty&&this.hasSelectedItems}get canRemoveSelectedItems(){return!this.isEmpty&&this.hasSelectedItems}setItems(e){this.items=e}unselectAll(){for(let e of this.items)e.unselect()}selectAll(){for(let e of this.items)e.select()}async playSelectedItemsNext(){await this.playQueue.playNext(this.selectedItemsOrAllItems.map(e=>this.playQueue.createItemFromDto(e.dto))),this.unselectAll()}async addSelectedItems(){await this.playQueue.addItems(this.selectedItemsOrAllItems.map(e=>this.playQueue.createItemFromDto(e.dto))),this.unselectAll()}async addItems(e){this.items.push(...e)}moveItem(e,t){let n=this.items.splice(this.items.indexOf(e),1)[0];this.items.splice(t,0,n)}async removeItems(e){(0,p.pull)(this.items,...e)}async removeSelectedItems(){await this.removeItems(this.selectedItemsOrAllItems),this.unselectAll()}async removeOtherItems(e){let t=e.id;return this.removeItems(this.items.filter(e=>e.id!==t))}async removeItemsAbove(e){let t=this.items.indexOf(e);return this.removeItems(this.items.filter((e,n)=>n<t))}addItemFromDto(e){let t=this.createItemFromDto(e);return this.addItems([t])}playAll(){return this.playQueue.clearAndSetItems(this.items.map(e=>this.playQueue.createItemFromDto(e.dto))),Promise.resolve()}};O([d.observable],$.prototype,`items`,void 0),O([d.computed],$.prototype,`isEmpty`,null),O([d.computed],$.prototype,`hasMultipleItems`,null),O([d.computed],$.prototype,`selectedItems`,null),O([d.computed],$.prototype,`allItemsSelected`,null),O([d.computed],$.prototype,`hasSelectedItems`,null),O([d.computed],$.prototype,`selectedItemsOrAllItems`,null),O([d.computed],$.prototype,`canAddSelectedItems`,null),O([d.computed],$.prototype,`canPlaySelectedItemsNext`,null),O([d.computed],$.prototype,`canRemoveSelectedItems`,null),O([d.action.bound],$.prototype,`setItems`,null),O([d.action.bound],$.prototype,`unselectAll`,null),O([d.action.bound],$.prototype,`selectAll`,null),O([d.action.bound],$.prototype,`playSelectedItemsNext`,null),O([d.action.bound],$.prototype,`addSelectedItems`,null),O([d.action.bound],$.prototype,`addItems`,null),O([d.action.bound],$.prototype,`moveItem`,null),O([d.action.bound],$.prototype,`removeItems`,null),O([d.action.bound],$.prototype,`removeSelectedItems`,null),O([d.action.bound],$.prototype,`removeOtherItems`,null),O([d.action.bound],$.prototype,`removeItemsAbove`,null),O([d.action.bound],$.prototype,`addItemFromDto`,null),O([d.action.bound],$.prototype,`playAll`,null);var dt=({onClick:e})=>(0,c.jsx)(h.EuiButton,{onClick:e,iconType:_.PlayRegular,fill:!0,children:`Play all`}),ft=({playlistListItem:e,onFulfilled:t})=>(0,c.jsx)(h.EuiButton,{onClick:()=>v.default.show(lt,{playlistListItem:e}).then(t),iconType:_.RenameRegular,children:`Rename`}),pt=({playlistListItem:e,onFulfilled:t})=>(0,c.jsx)(h.EuiButton,{onClick:()=>v.default.show(Xe,{playlistListItem:e}).then(t),iconType:_.DeleteRegular,children:`Delete`}),mt=(0,g.observer)(({playlistListItem:e})=>{let t=S.playlist(e.id),n=M(),[r]=(0,l.useState)(()=>new $(n));(0,f.useLocalStorageState)(t,r.localStorageState);let i=(0,b.useRouter)(),a=(0,l.useCallback)(async t=>{await e.rename(t)},[e]),o=(0,l.useCallback)(async()=>{await i.navigate({to:`/playlists`}),window.localStorage.removeItem(t),await e.remove()},[e,i,t]);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(X,{pageTitle:e.name,breadcrumbs:[{text:`Playlists`,linkProps:{to:`/playlists`}},{text:e.name}],rightSideItems:[(0,c.jsx)(dt,{onClick:r.playAll}),(0,c.jsx)(ft,{playlistListItem:e,onFulfilled:a}),(0,c.jsx)(pt,{playlistListItem:e,onFulfilled:o})]}),(0,c.jsx)(ct,{playlist:r})]})}),ht=v.default.create(({remove:e,resolve:t})=>{let n=(0,h.useGeneratedHtmlId)({prefix:`modalForm`}),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)(!1);return(0,c.jsxs)(h.EuiModal,{onClose:e,initialFocus:`[name=name]`,children:[(0,c.jsx)(h.EuiModalHeader,{children:(0,c.jsx)(h.EuiModalHeaderTitle,{children:`Create playlist`})}),(0,c.jsx)(h.EuiModalBody,{children:(0,c.jsx)(h.EuiForm,{id:n,component:`form`,onSubmit:async n=>{n.preventDefault();try{o(!0),t(r),e()}finally{o(!1)}},children:(0,c.jsx)(h.EuiFormRow,{label:`Name`,children:(0,c.jsx)(h.EuiFieldText,{name:`name`,value:r,onChange:e=>i(e.target.value)})})})}),(0,c.jsxs)(h.EuiModalFooter,{children:[(0,c.jsx)(h.EuiButtonEmpty,{onClick:e,children:`Cancel`}),(0,c.jsx)(h.EuiButton,{type:`submit`,form:n,fill:!0,disabled:r.trim().length===0,isLoading:a,children:`Create playlist`})]})]})}),gt=({children:e,onFulfilled:t})=>(0,c.jsx)(h.EuiButton,{onClick:()=>v.default.show(ht).then(t),iconType:_.AddRegular,fill:!0,children:e}),_t=({linkProps:e,...t})=>{let n=(0,b.useRouter)(),r=async t=>{t.preventDefault(),await n.navigate(e)};return(0,c.jsx)(h.EuiLink,{...t,href:n.buildLocation(e).href,onClick:r})},vt=(0,g.observer)(({playlistList:e})=>(0,c.jsx)(h.EuiTableHeader,{children:(0,c.jsx)(h.EuiTableHeaderCell,{children:`Name`})})),yt=(0,g.observer)(({item:e})=>(0,c.jsx)(h.EuiTableRow,{children:(0,c.jsx)(h.EuiTableRowCell,{children:(0,c.jsx)(_t,{linkProps:{to:`/playlists/$playlistId`,params:{playlistId:e.id}},children:e.name})})},e.id)),bt=(0,g.observer)(({playlistList:e})=>(0,c.jsx)(y.ReactSortable,{tag:`tbody`,list:e.items,setList:t=>e.setItems(t),children:e.items.map(e=>(0,c.jsx)(yt,{item:e},e.id))})),xt=(0,g.observer)(({playlistList:e})=>(0,c.jsxs)(h.EuiTable,{children:[(0,c.jsx)(vt,{playlistList:e}),(0,c.jsx)(bt,{playlistList:e})]})),St=()=>(0,c.jsx)(X,{pageTitle:`Playlists`,breadcrumbs:[{text:`Playlists`}]}),Ct=(0,g.observer)(({playlistList:e})=>{let t=(0,l.useCallback)(async t=>{await e.addItem(e.createItem(t))},[e]);return(0,c.jsxs)(h.EuiPageTemplate.Section,{children:[(0,c.jsx)(gt,{onFulfilled:t,children:`New playlist`}),(0,c.jsx)(h.EuiSpacer,{size:`l`}),(0,c.jsx)(xt,{playlistList:e})]})}),wt=(0,l.memo)(()=>{let e=H();return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(St,{}),(0,c.jsx)(Ct,{playlistList:e})]})});exports.BottomBar=Pe,exports.HydrangeanDivaProvider=de,exports.MediaPlayerLayout=fe,exports.MiniPlayer=Fe,exports.PlayQueueContext=j,exports.PlayQueuePage=Ye,exports.PlayQueueSection=Y,exports.PlaylistDetailsPage=mt,exports.PlaylistListContext=V,exports.PlaylistListPage=wt,exports.RepeatMode=D,exports.bottomBarHeight=ee,exports.usePlayQueue=M,exports.usePlaylistList=H,exports.videoServiceIcons=x;
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|