@aigamo/nostalgic-diva 0.0.1-alpha.67 → 0.0.1-alpha.68
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/AudioPlayer-7plDTn5w.js +31 -0
- package/dist/AudioPlayer-7plDTn5w.js.map +1 -0
- package/dist/AudioPlayer-dEmhfyI_.cjs +2 -0
- package/dist/AudioPlayer-dEmhfyI_.cjs.map +1 -0
- package/dist/DailymotionPlayer-4LQmDDSf.js +61 -0
- package/dist/DailymotionPlayer-4LQmDDSf.js.map +1 -0
- package/dist/DailymotionPlayer-B3UVkJiv.cjs +2 -0
- package/dist/DailymotionPlayer-B3UVkJiv.cjs.map +1 -0
- package/dist/NiconicoPlayer-DiTU-06L.cjs +2 -0
- package/dist/NiconicoPlayer-DiTU-06L.cjs.map +1 -0
- package/dist/NiconicoPlayer-GFCXF5V7.js +35 -0
- package/dist/NiconicoPlayer-GFCXF5V7.js.map +1 -0
- package/dist/PlayerContainer-COjwHOhq.cjs +2 -0
- package/dist/PlayerContainer-COjwHOhq.cjs.map +1 -0
- package/dist/PlayerContainer-VQ3YPGU_.js +226 -0
- package/dist/PlayerContainer-VQ3YPGU_.js.map +1 -0
- package/dist/SoundCloudPlayer-Cqo5VU57.js +33 -0
- package/dist/SoundCloudPlayer-Cqo5VU57.js.map +1 -0
- package/dist/SoundCloudPlayer-tHiueAss.cjs +2 -0
- package/dist/SoundCloudPlayer-tHiueAss.cjs.map +1 -0
- package/dist/TwitchPlayer-BeQUOIE3.js +34 -0
- package/dist/TwitchPlayer-BeQUOIE3.js.map +1 -0
- package/dist/TwitchPlayer-Doh6zF0n.cjs +2 -0
- package/dist/TwitchPlayer-Doh6zF0n.cjs.map +1 -0
- package/dist/VimeoPlayer-7MjNmmgs.cjs +2 -0
- package/dist/VimeoPlayer-7MjNmmgs.cjs.map +1 -0
- package/dist/VimeoPlayer-CgWujBXW.js +33 -0
- package/dist/VimeoPlayer-CgWujBXW.js.map +1 -0
- package/dist/YouTubePlayer-CkaOKK_g.js +36 -0
- package/dist/YouTubePlayer-CkaOKK_g.js.map +1 -0
- package/dist/YouTubePlayer-Clpmqsmv.cjs +2 -0
- package/dist/YouTubePlayer-Clpmqsmv.cjs.map +1 -0
- package/dist/ensureScriptLoaded-BoubPl5C.cjs +2 -0
- package/dist/ensureScriptLoaded-BoubPl5C.cjs.map +1 -0
- package/dist/ensureScriptLoaded-CwERrTru.js +26 -0
- package/dist/ensureScriptLoaded-CwERrTru.js.map +1 -0
- package/dist/index.cjs.js +2 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +769 -1232
- package/dist/index.es.js.map +1 -1
- package/package.json +15 -15
- package/dist/AudioPlayer-BMxdg9dp.js +0 -35
- package/dist/AudioPlayer-BMxdg9dp.js.map +0 -1
- package/dist/AudioPlayer-CgUxIJwa.cjs +0 -2
- package/dist/AudioPlayer-CgUxIJwa.cjs.map +0 -1
- package/dist/DailymotionPlayer-B4M9j0Lx.js +0 -65
- package/dist/DailymotionPlayer-B4M9j0Lx.js.map +0 -1
- package/dist/DailymotionPlayer-BdI4qcvJ.cjs +0 -2
- package/dist/DailymotionPlayer-BdI4qcvJ.cjs.map +0 -1
- package/dist/NiconicoPlayer-C1bgzaCT.cjs +0 -2
- package/dist/NiconicoPlayer-C1bgzaCT.cjs.map +0 -1
- package/dist/NiconicoPlayer-Cx3hGYsw.js +0 -36
- package/dist/NiconicoPlayer-Cx3hGYsw.js.map +0 -1
- package/dist/SoundCloudPlayer-BiFTnxn9.cjs +0 -2
- package/dist/SoundCloudPlayer-BiFTnxn9.cjs.map +0 -1
- package/dist/SoundCloudPlayer-C8QVPCXH.js +0 -43
- package/dist/SoundCloudPlayer-C8QVPCXH.js.map +0 -1
- package/dist/TwitchPlayer-C9D_eEaj.js +0 -40
- package/dist/TwitchPlayer-C9D_eEaj.js.map +0 -1
- package/dist/TwitchPlayer-DdhZD1Bh.cjs +0 -2
- package/dist/TwitchPlayer-DdhZD1Bh.cjs.map +0 -1
- package/dist/VimeoPlayer-DfBZwtd9.cjs +0 -2
- package/dist/VimeoPlayer-DfBZwtd9.cjs.map +0 -1
- package/dist/VimeoPlayer-UnKk2VAq.js +0 -43
- package/dist/VimeoPlayer-UnKk2VAq.js.map +0 -1
- package/dist/YouTubePlayer-CeTkdcOO.cjs +0 -2
- package/dist/YouTubePlayer-CeTkdcOO.cjs.map +0 -1
- package/dist/YouTubePlayer-bNmEJD02.js +0 -39
- package/dist/YouTubePlayer-bNmEJD02.js.map +0 -1
- package/dist/ensureScriptLoaded-CkK_-Amf.cjs +0 -2
- package/dist/ensureScriptLoaded-CkK_-Amf.cjs.map +0 -1
- package/dist/ensureScriptLoaded-HHnKf-aZ.js +0 -24
- package/dist/ensureScriptLoaded-HHnKf-aZ.js.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { a as e, t } from "./PlayerContainer-VQ3YPGU_.js";
|
|
2
|
+
import { TwitchPlayerController as n } from "./index.es.js";
|
|
3
|
+
import { t as r } from "./ensureScriptLoaded-CwERrTru.js";
|
|
4
|
+
import { memo as i, useCallback as a } from "react";
|
|
5
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/TwitchPlayer.tsx
|
|
7
|
+
var s = i(({ ...i }) => {
|
|
8
|
+
let { logger: s } = i;
|
|
9
|
+
s.log(e.Debug, "TwitchPlayer");
|
|
10
|
+
let c = a(async () => {
|
|
11
|
+
await r("https://embed.twitch.tv/embed/v1.js", s);
|
|
12
|
+
}, [s]), l = a(async (e, t) => Promise.resolve(new Twitch.Player(e, {
|
|
13
|
+
video: t,
|
|
14
|
+
width: "100%",
|
|
15
|
+
height: "100%"
|
|
16
|
+
})), []);
|
|
17
|
+
return /* @__PURE__ */ o(t, {
|
|
18
|
+
...i,
|
|
19
|
+
loadScript: c,
|
|
20
|
+
playerFactory: l,
|
|
21
|
+
controllerFactory: n,
|
|
22
|
+
children: (e) => /* @__PURE__ */ o("div", {
|
|
23
|
+
ref: e,
|
|
24
|
+
style: {
|
|
25
|
+
width: "100%",
|
|
26
|
+
height: "100%"
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//#endregion
|
|
32
|
+
export { s as default };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=TwitchPlayer-BeQUOIE3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TwitchPlayer-BeQUOIE3.js","names":[],"sources":["../src/components/TwitchPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { TwitchPlayerController } from '@/controllers/TwitchPlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport { type ReactElement, memo, useCallback } from 'react';\n\nconst TwitchPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'TwitchPlayer');\n\n\tconst loadScript = useCallback(async () => {\n\t\tawait ensureScriptLoaded('https://embed.twitch.tv/embed/v1.js', logger);\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\tasync (\n\t\t\telement: HTMLDivElement,\n\t\t\tvideoId: string,\n\t\t): Promise<Twitch.Player> => {\n\t\t\treturn Promise.resolve(\n\t\t\t\tnew Twitch.Player(element, {\n\t\t\t\t\tvideo: videoId,\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t}),\n\t\t\t);\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<PlayerContainer\n\t\t\t{...props}\n\t\t\tloadScript={loadScript}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={TwitchPlayerController}\n\t\t>\n\t\t\t{(elementRef): ReactElement => (\n\t\t\t\t<div\n\t\t\t\t\tref={elementRef}\n\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default TwitchPlayer;\n"],"mappings":";;;;;;AASA,IAAM,IAAe,GAAM,EAAE,GAAG,QAAuC;CACtE,IAAM,EAAE,cAAW;CAEnB,EAAO,IAAI,EAAS,OAAO,cAAc;CAEzC,IAAM,IAAa,EAAY,YAAY;EAC1C,MAAM,EAAmB,uCAAuC,CAAM;CACvE,GAAG,CAAC,CAAM,CAAC,GAEL,IAAgB,EACrB,OACC,GACA,MAEO,QAAQ,QACd,IAAI,OAAO,OAAO,GAAS;EAC1B,OAAO;EACP,OAAO;EACP,QAAQ;CACT,CAAC,CACF,GAED,CAAC,CACF;CAEA,OACC,kBAAC,GAAD;EACC,GAAI;EACQ;EACG;EACf,mBAAmB;aAEjB,MACD,kBAAC,OAAD;GACC,KAAK;GACL,OAAO;IAAE,OAAO;IAAQ,QAAQ;GAAO;EACvC,CAAA;CAEc,CAAA;AAEnB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./PlayerContainer-COjwHOhq.cjs`),t=require(`./index.cjs.js`),n=require(`./ensureScriptLoaded-BoubPl5C.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=(0,r.memo)(({...a})=>{let{logger:o}=a;o.log(e.a.Debug,`TwitchPlayer`);let s=(0,r.useCallback)(async()=>{await n.t(`https://embed.twitch.tv/embed/v1.js`,o)},[o]),c=(0,r.useCallback)(async(e,t)=>Promise.resolve(new Twitch.Player(e,{video:t,width:`100%`,height:`100%`})),[]);return(0,i.jsx)(e.t,{...a,loadScript:s,playerFactory:c,controllerFactory:t.TwitchPlayerController,children:e=>(0,i.jsx)(`div`,{ref:e,style:{width:`100%`,height:`100%`}})})});exports.default=a;
|
|
2
|
+
//# sourceMappingURL=TwitchPlayer-Doh6zF0n.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TwitchPlayer-Doh6zF0n.cjs","names":[],"sources":["../src/components/TwitchPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { TwitchPlayerController } from '@/controllers/TwitchPlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport { type ReactElement, memo, useCallback } from 'react';\n\nconst TwitchPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'TwitchPlayer');\n\n\tconst loadScript = useCallback(async () => {\n\t\tawait ensureScriptLoaded('https://embed.twitch.tv/embed/v1.js', logger);\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\tasync (\n\t\t\telement: HTMLDivElement,\n\t\t\tvideoId: string,\n\t\t): Promise<Twitch.Player> => {\n\t\t\treturn Promise.resolve(\n\t\t\t\tnew Twitch.Player(element, {\n\t\t\t\t\tvideo: videoId,\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t}),\n\t\t\t);\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<PlayerContainer\n\t\t\t{...props}\n\t\t\tloadScript={loadScript}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={TwitchPlayerController}\n\t\t>\n\t\t\t{(elementRef): ReactElement => (\n\t\t\t\t<div\n\t\t\t\t\tref={elementRef}\n\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default TwitchPlayer;\n"],"mappings":"mLASA,IAAM,GAAA,EAAA,EAAA,OAAqB,CAAE,GAAG,KAAuC,CACtE,GAAM,CAAE,UAAW,EAEnB,EAAO,IAAI,EAAA,EAAS,MAAO,cAAc,EAEzC,IAAM,GAAA,EAAA,EAAA,aAAyB,SAAY,CAC1C,MAAM,EAAA,EAAmB,sCAAuC,CAAM,CACvE,EAAG,CAAC,CAAM,CAAC,EAEL,GAAA,EAAA,EAAA,aACL,MACC,EACA,IAEO,QAAQ,QACd,IAAI,OAAO,OAAO,EAAS,CAC1B,MAAO,EACP,MAAO,OACP,OAAQ,MACT,CAAC,CACF,EAED,CAAC,CACF,EAEA,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACQ,aACG,gBACf,kBAAmB,EAAA,gCAEjB,IACD,EAAA,EAAA,KAAC,MAAD,CACC,IAAK,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CACvC,CAAA,CAEc,CAAA,CAEnB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./PlayerContainer-COjwHOhq.cjs`),t=require(`./index.cjs.js`),n=require(`./ensureScriptLoaded-BoubPl5C.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=(0,r.memo)(({...a})=>{let{logger:o}=a;o.log(e.a.Debug,`VimeoPlayer`);let s=(0,r.useCallback)(async()=>{await n.t(`https://player.vimeo.com/api/player.js`,o)},[o]),c=(0,r.useCallback)(e=>Promise.resolve(new Vimeo.Player(e)),[]);return(0,i.jsx)(e.t,{...a,loadScript:s,playerFactory:c,controllerFactory:t.VimeoPlayerController,children:(e,t)=>(0,i.jsx)(`iframe`,{ref:e,src:`https://player.vimeo.com/video/${t}`,frameBorder:0,allow:`autoplay`,style:{width:`100%`,height:`100%`}})})});exports.default=a;
|
|
2
|
+
//# sourceMappingURL=VimeoPlayer-7MjNmmgs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VimeoPlayer-7MjNmmgs.cjs","names":[],"sources":["../src/components/VimeoPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { VimeoPlayerController } from '@/controllers/VimeoPlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport { type ReactElement, memo, useCallback } from 'react';\n\nconst VimeoPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'VimeoPlayer');\n\n\tconst loadScript = useCallback(async () => {\n\t\tawait ensureScriptLoaded(\n\t\t\t'https://player.vimeo.com/api/player.js',\n\t\t\tlogger,\n\t\t);\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLIFrameElement): Promise<Vimeo.Player> => {\n\t\t\treturn Promise.resolve(new Vimeo.Player(element));\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<PlayerContainer\n\t\t\t{...props}\n\t\t\tloadScript={loadScript}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={VimeoPlayerController}\n\t\t>\n\t\t\t{(elementRef, videoId): ReactElement => (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/iframe-has-title\n\t\t\t\t<iframe\n\t\t\t\t\tref={elementRef}\n\t\t\t\t\tsrc={`https://player.vimeo.com/video/${videoId}`}\n\t\t\t\t\tframeBorder={0}\n\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default VimeoPlayer;\n"],"mappings":"mLASA,IAAM,GAAA,EAAA,EAAA,OAAoB,CAAE,GAAG,KAAuC,CACrE,GAAM,CAAE,UAAW,EAEnB,EAAO,IAAI,EAAA,EAAS,MAAO,aAAa,EAExC,IAAM,GAAA,EAAA,EAAA,aAAyB,SAAY,CAC1C,MAAM,EAAA,EACL,yCACA,CACD,CACD,EAAG,CAAC,CAAM,CAAC,EAEL,GAAA,EAAA,EAAA,aACJ,GACO,QAAQ,QAAQ,IAAI,MAAM,OAAO,CAAO,CAAC,EAEjD,CAAC,CACF,EAEA,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACQ,aACG,gBACf,kBAAmB,EAAA,gCAEjB,EAAY,KAEb,EAAA,EAAA,KAAC,SAAD,CACC,IAAK,EACL,IAAK,kCAAkC,IACvC,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CACvC,CAAA,CAEc,CAAA,CAEnB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { a as e, t } from "./PlayerContainer-VQ3YPGU_.js";
|
|
2
|
+
import { VimeoPlayerController as n } from "./index.es.js";
|
|
3
|
+
import { t as r } from "./ensureScriptLoaded-CwERrTru.js";
|
|
4
|
+
import { memo as i, useCallback as a } from "react";
|
|
5
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/VimeoPlayer.tsx
|
|
7
|
+
var s = i(({ ...i }) => {
|
|
8
|
+
let { logger: s } = i;
|
|
9
|
+
s.log(e.Debug, "VimeoPlayer");
|
|
10
|
+
let c = a(async () => {
|
|
11
|
+
await r("https://player.vimeo.com/api/player.js", s);
|
|
12
|
+
}, [s]), l = a((e) => Promise.resolve(new Vimeo.Player(e)), []);
|
|
13
|
+
return /* @__PURE__ */ o(t, {
|
|
14
|
+
...i,
|
|
15
|
+
loadScript: c,
|
|
16
|
+
playerFactory: l,
|
|
17
|
+
controllerFactory: n,
|
|
18
|
+
children: (e, t) => /* @__PURE__ */ o("iframe", {
|
|
19
|
+
ref: e,
|
|
20
|
+
src: `https://player.vimeo.com/video/${t}`,
|
|
21
|
+
frameBorder: 0,
|
|
22
|
+
allow: "autoplay",
|
|
23
|
+
style: {
|
|
24
|
+
width: "100%",
|
|
25
|
+
height: "100%"
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//#endregion
|
|
31
|
+
export { s as default };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=VimeoPlayer-CgWujBXW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VimeoPlayer-CgWujBXW.js","names":[],"sources":["../src/components/VimeoPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { VimeoPlayerController } from '@/controllers/VimeoPlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport { type ReactElement, memo, useCallback } from 'react';\n\nconst VimeoPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'VimeoPlayer');\n\n\tconst loadScript = useCallback(async () => {\n\t\tawait ensureScriptLoaded(\n\t\t\t'https://player.vimeo.com/api/player.js',\n\t\t\tlogger,\n\t\t);\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLIFrameElement): Promise<Vimeo.Player> => {\n\t\t\treturn Promise.resolve(new Vimeo.Player(element));\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<PlayerContainer\n\t\t\t{...props}\n\t\t\tloadScript={loadScript}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={VimeoPlayerController}\n\t\t>\n\t\t\t{(elementRef, videoId): ReactElement => (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/iframe-has-title\n\t\t\t\t<iframe\n\t\t\t\t\tref={elementRef}\n\t\t\t\t\tsrc={`https://player.vimeo.com/video/${videoId}`}\n\t\t\t\t\tframeBorder={0}\n\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default VimeoPlayer;\n"],"mappings":";;;;;;AASA,IAAM,IAAc,GAAM,EAAE,GAAG,QAAuC;CACrE,IAAM,EAAE,cAAW;CAEnB,EAAO,IAAI,EAAS,OAAO,aAAa;CAExC,IAAM,IAAa,EAAY,YAAY;EAC1C,MAAM,EACL,0CACA,CACD;CACD,GAAG,CAAC,CAAM,CAAC,GAEL,IAAgB,GACpB,MACO,QAAQ,QAAQ,IAAI,MAAM,OAAO,CAAO,CAAC,GAEjD,CAAC,CACF;CAEA,OACC,kBAAC,GAAD;EACC,GAAI;EACQ;EACG;EACf,mBAAmB;aAEjB,GAAY,MAEb,kBAAC,UAAD;GACC,KAAK;GACL,KAAK,kCAAkC;GACvC,aAAa;GACb,OAAM;GACN,OAAO;IAAE,OAAO;IAAQ,QAAQ;GAAO;EACvC,CAAA;CAEc,CAAA;AAEnB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { a as e, t } from "./PlayerContainer-VQ3YPGU_.js";
|
|
2
|
+
import { YouTubePlayerController as n } from "./index.es.js";
|
|
3
|
+
import { t as r } from "./ensureScriptLoaded-CwERrTru.js";
|
|
4
|
+
import { memo as i, useCallback as a } from "react";
|
|
5
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/YouTubePlayer.tsx
|
|
7
|
+
var s = "https://www.youtube-nocookie.com", c = i(({ ...i }) => {
|
|
8
|
+
let { logger: c } = i;
|
|
9
|
+
c.log(e.Debug, "YouTubePlayer");
|
|
10
|
+
let l = a(() => new Promise(async (t, n) => {
|
|
11
|
+
await r("https://www.youtube.com/iframe_api", c) ? window.onYouTubeIframeAPIReady = () => {
|
|
12
|
+
c.log(e.Debug, "YouTube iframe API ready"), t();
|
|
13
|
+
} : t();
|
|
14
|
+
}), [c]), u = a((e) => Promise.resolve(new YT.Player(e, {
|
|
15
|
+
host: s,
|
|
16
|
+
width: "100%",
|
|
17
|
+
height: "100%"
|
|
18
|
+
})), []);
|
|
19
|
+
return /* @__PURE__ */ o(t, {
|
|
20
|
+
...i,
|
|
21
|
+
loadScript: l,
|
|
22
|
+
playerFactory: u,
|
|
23
|
+
controllerFactory: n,
|
|
24
|
+
children: (e) => /* @__PURE__ */ o("div", {
|
|
25
|
+
style: {
|
|
26
|
+
width: "100%",
|
|
27
|
+
height: "100%"
|
|
28
|
+
},
|
|
29
|
+
children: /* @__PURE__ */ o("div", { ref: e })
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//#endregion
|
|
34
|
+
export { c as default };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=YouTubePlayer-CkaOKK_g.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YouTubePlayer-CkaOKK_g.js","names":[],"sources":["../src/components/YouTubePlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { YouTubePlayerController } from '@/controllers/YouTubePlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport { type ReactElement, memo, useCallback } from 'react';\n\nconst origin = 'https://www.youtube-nocookie.com';\n\nconst YouTubePlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'YouTubePlayer');\n\n\tconst loadScript = useCallback((): Promise<void> => {\n\t\treturn new Promise(async (resolve, _reject) => {\n\t\t\tconst first = await ensureScriptLoaded(\n\t\t\t\t'https://www.youtube.com/iframe_api',\n\t\t\t\tlogger,\n\t\t\t);\n\n\t\t\tif (first) {\n\t\t\t\t// https://stackoverflow.com/a/18154942.\n\t\t\t\twindow.onYouTubeIframeAPIReady = (): void => {\n\t\t\t\t\tlogger.log(LogLevel.Debug, 'YouTube iframe API ready');\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLDivElement): Promise<YT.Player> => {\n\t\t\treturn Promise.resolve(\n\t\t\t\tnew YT.Player(element, {\n\t\t\t\t\thost: origin,\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t}),\n\t\t\t);\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<PlayerContainer\n\t\t\t{...props}\n\t\t\tloadScript={loadScript}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={YouTubePlayerController}\n\t\t>\n\t\t\t{(elementRef): ReactElement => (\n\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t<div ref={elementRef} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default YouTubePlayer;\n"],"mappings":";;;;;;AASA,IAAM,IAAS,oCAET,IAAgB,GAAM,EAAE,GAAG,QAAuC;CACvE,IAAM,EAAE,cAAW;CAEnB,EAAO,IAAI,EAAS,OAAO,eAAe;CAE1C,IAAM,IAAa,QACX,IAAI,QAAQ,OAAO,GAAS,MAAY;EAM9C,AAAI,MALgB,EACnB,sCACA,CACD,IAIC,OAAO,gCAAsC;GAE5C,AADA,EAAO,IAAI,EAAS,OAAO,0BAA0B,GACrD,EAAQ;EACT,IAEA,EAAQ;CAEV,CAAC,GACC,CAAC,CAAM,CAAC,GAEL,IAAgB,GACpB,MACO,QAAQ,QACd,IAAI,GAAG,OAAO,GAAS;EACtB,MAAM;EACN,OAAO;EACP,QAAQ;CACT,CAAC,CACF,GAED,CAAC,CACF;CAEA,OACC,kBAAC,GAAD;EACC,GAAI;EACQ;EACG;EACf,mBAAmB;aAEjB,MACD,kBAAC,OAAD;GAAK,OAAO;IAAE,OAAO;IAAQ,QAAQ;GAAO;aAC3C,kBAAC,OAAD,EAAK,KAAK,EAAa,CAAA;EACnB,CAAA;CAEU,CAAA;AAEnB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./PlayerContainer-COjwHOhq.cjs`),t=require(`./index.cjs.js`),n=require(`./ensureScriptLoaded-BoubPl5C.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=`https://www.youtube-nocookie.com`,o=(0,r.memo)(({...o})=>{let{logger:s}=o;s.log(e.a.Debug,`YouTubePlayer`);let c=(0,r.useCallback)(()=>new Promise(async(t,r)=>{await n.t(`https://www.youtube.com/iframe_api`,s)?window.onYouTubeIframeAPIReady=()=>{s.log(e.a.Debug,`YouTube iframe API ready`),t()}:t()}),[s]),l=(0,r.useCallback)(e=>Promise.resolve(new YT.Player(e,{host:a,width:`100%`,height:`100%`})),[]);return(0,i.jsx)(e.t,{...o,loadScript:c,playerFactory:l,controllerFactory:t.YouTubePlayerController,children:e=>(0,i.jsx)(`div`,{style:{width:`100%`,height:`100%`},children:(0,i.jsx)(`div`,{ref:e})})})});exports.default=o;
|
|
2
|
+
//# sourceMappingURL=YouTubePlayer-Clpmqsmv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YouTubePlayer-Clpmqsmv.cjs","names":[],"sources":["../src/components/YouTubePlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { YouTubePlayerController } from '@/controllers/YouTubePlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport { type ReactElement, memo, useCallback } from 'react';\n\nconst origin = 'https://www.youtube-nocookie.com';\n\nconst YouTubePlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'YouTubePlayer');\n\n\tconst loadScript = useCallback((): Promise<void> => {\n\t\treturn new Promise(async (resolve, _reject) => {\n\t\t\tconst first = await ensureScriptLoaded(\n\t\t\t\t'https://www.youtube.com/iframe_api',\n\t\t\t\tlogger,\n\t\t\t);\n\n\t\t\tif (first) {\n\t\t\t\t// https://stackoverflow.com/a/18154942.\n\t\t\t\twindow.onYouTubeIframeAPIReady = (): void => {\n\t\t\t\t\tlogger.log(LogLevel.Debug, 'YouTube iframe API ready');\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLDivElement): Promise<YT.Player> => {\n\t\t\treturn Promise.resolve(\n\t\t\t\tnew YT.Player(element, {\n\t\t\t\t\thost: origin,\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t}),\n\t\t\t);\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<PlayerContainer\n\t\t\t{...props}\n\t\t\tloadScript={loadScript}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={YouTubePlayerController}\n\t\t>\n\t\t\t{(elementRef): ReactElement => (\n\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t<div ref={elementRef} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default YouTubePlayer;\n"],"mappings":"mLASA,IAAM,EAAS,mCAET,GAAA,EAAA,EAAA,OAAsB,CAAE,GAAG,KAAuC,CACvE,GAAM,CAAE,UAAW,EAEnB,EAAO,IAAI,EAAA,EAAS,MAAO,eAAe,EAE1C,IAAM,GAAA,EAAA,EAAA,iBACE,IAAI,QAAQ,MAAO,EAAS,IAAY,CAM1C,MALgB,EAAA,EACnB,qCACA,CACD,EAIC,OAAO,4BAAsC,CAC5C,EAAO,IAAI,EAAA,EAAS,MAAO,0BAA0B,EACrD,EAAQ,CACT,EAEA,EAAQ,CAEV,CAAC,EACC,CAAC,CAAM,CAAC,EAEL,GAAA,EAAA,EAAA,aACJ,GACO,QAAQ,QACd,IAAI,GAAG,OAAO,EAAS,CACtB,KAAM,EACN,MAAO,OACP,OAAQ,MACT,CAAC,CACF,EAED,CAAC,CACF,EAEA,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACQ,aACG,gBACf,kBAAmB,EAAA,iCAEjB,IACD,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,YAC3C,EAAA,EAAA,KAAC,MAAD,CAAK,IAAK,CAAa,CAAA,CACnB,CAAA,CAEU,CAAA,CAEnB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./PlayerContainer-COjwHOhq.cjs`);function t(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.src=e,r.async=!0,r.onerror=n,r.onload=r.onreadystatechange=function(){let e=this.readyState;e&&e!==`loaded`&&e!==`complete`||(r.onload=r.onreadystatechange=null,t())},document.head.appendChild(r)})}var n=[];async function r(r,i){if(n.includes(r))return i.log(e.a.Debug,r,`script is already loaded`),!1;try{return i.log(e.a.Debug,r,`Loading script...`),await t(r),n.includes(r)?(i.log(e.a.Debug,r,`script is already loaded`),!1):(n.push(r),i.log(e.a.Debug,r,`script loaded`),!0)}catch(t){throw i.log(e.a.Error,r,`Failed to load script`),t}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
+
//# sourceMappingURL=ensureScriptLoaded-BoubPl5C.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureScriptLoaded-BoubPl5C.cjs","names":[],"sources":["../src/controllers/getScript.ts","../src/controllers/ensureScriptLoaded.ts"],"sourcesContent":["// https://stackoverflow.com/a/61903296.\nexport function getScript(url: string): Promise<void> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst script = document.createElement('script') as any; /* TODO */\n\t\tscript.src = url;\n\t\tscript.async = true;\n\n\t\tscript.onerror = reject;\n\n\t\tscript.onload = script.onreadystatechange = function (): void {\n\t\t\tconst loadState = this.readyState;\n\n\t\t\tif (loadState && loadState !== 'loaded' && loadState !== 'complete')\n\t\t\t\treturn;\n\n\t\t\tscript.onload = script.onreadystatechange = null;\n\n\t\t\tresolve();\n\t\t};\n\n\t\tdocument.head.appendChild(script);\n\t});\n}\n","import { type ILogger, LogLevel } from '@/controllers/Logger';\nimport { getScript } from '@/controllers/getScript';\n\nconst urls: string[] = [];\n\nexport async function ensureScriptLoaded(\n\turl: string,\n\tlogger: ILogger,\n): Promise<boolean> {\n\tif (urls.includes(url)) {\n\t\tlogger.log(LogLevel.Debug, url, 'script is already loaded');\n\t\treturn false;\n\t}\n\n\ttry {\n\t\tlogger.log(LogLevel.Debug, url, 'Loading script...');\n\n\t\tawait getScript(url);\n\n\t\tif (urls.includes(url)) {\n\t\t\tlogger.log(LogLevel.Debug, url, 'script is already loaded');\n\t\t\treturn false;\n\t\t} else {\n\t\t\turls.push(url);\n\t\t\tlogger.log(LogLevel.Debug, url, 'script loaded');\n\t\t\treturn true;\n\t\t}\n\t} catch (error) {\n\t\tlogger.log(LogLevel.Error, url, 'Failed to load script');\n\t\tthrow error;\n\t}\n}\n"],"mappings":"kDACA,SAAgB,EAAU,EAA4B,CACrD,OAAO,IAAI,SAAS,EAAS,IAAW,CACvC,IAAM,EAAS,SAAS,cAAc,QAAQ,EAC9C,EAAO,IAAM,EACb,EAAO,MAAQ,GAEf,EAAO,QAAU,EAEjB,EAAO,OAAS,EAAO,mBAAqB,UAAkB,CAC7D,IAAM,EAAY,KAAK,WAEnB,GAAa,IAAc,UAAY,IAAc,aAGzD,EAAO,OAAS,EAAO,mBAAqB,KAE5C,EAAQ,EACT,EAEA,SAAS,KAAK,YAAY,CAAM,CACjC,CAAC,CACF,CCnBA,IAAM,EAAiB,CAAC,EAExB,eAAsB,EACrB,EACA,EACmB,CACnB,GAAI,EAAK,SAAS,CAAG,EAEpB,OADA,EAAO,IAAI,EAAA,EAAS,MAAO,EAAK,0BAA0B,EACnD,GAGR,GAAI,CAWF,OAVD,EAAO,IAAI,EAAA,EAAS,MAAO,EAAK,mBAAmB,EAEnD,MAAM,EAAU,CAAG,EAEf,EAAK,SAAS,CAAG,GACpB,EAAO,IAAI,EAAA,EAAS,MAAO,EAAK,0BAA0B,EACnD,KAEP,EAAK,KAAK,CAAG,EACb,EAAO,IAAI,EAAA,EAAS,MAAO,EAAK,eAAe,EACxC,GAET,OAAS,EAAO,CAEf,MADA,EAAO,IAAI,EAAA,EAAS,MAAO,EAAK,uBAAuB,EACjD,CACP,CACD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { a as e } from "./PlayerContainer-VQ3YPGU_.js";
|
|
2
|
+
//#region src/controllers/getScript.ts
|
|
3
|
+
function t(e) {
|
|
4
|
+
return new Promise((t, n) => {
|
|
5
|
+
let r = document.createElement("script");
|
|
6
|
+
r.src = e, r.async = !0, r.onerror = n, r.onload = r.onreadystatechange = function() {
|
|
7
|
+
let e = this.readyState;
|
|
8
|
+
e && e !== "loaded" && e !== "complete" || (r.onload = r.onreadystatechange = null, t());
|
|
9
|
+
}, document.head.appendChild(r);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/controllers/ensureScriptLoaded.ts
|
|
14
|
+
var n = [];
|
|
15
|
+
async function r(r, i) {
|
|
16
|
+
if (n.includes(r)) return i.log(e.Debug, r, "script is already loaded"), !1;
|
|
17
|
+
try {
|
|
18
|
+
return i.log(e.Debug, r, "Loading script..."), await t(r), n.includes(r) ? (i.log(e.Debug, r, "script is already loaded"), !1) : (n.push(r), i.log(e.Debug, r, "script loaded"), !0);
|
|
19
|
+
} catch (t) {
|
|
20
|
+
throw i.log(e.Error, r, "Failed to load script"), t;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { r as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=ensureScriptLoaded-CwERrTru.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureScriptLoaded-CwERrTru.js","names":[],"sources":["../src/controllers/getScript.ts","../src/controllers/ensureScriptLoaded.ts"],"sourcesContent":["// https://stackoverflow.com/a/61903296.\nexport function getScript(url: string): Promise<void> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst script = document.createElement('script') as any; /* TODO */\n\t\tscript.src = url;\n\t\tscript.async = true;\n\n\t\tscript.onerror = reject;\n\n\t\tscript.onload = script.onreadystatechange = function (): void {\n\t\t\tconst loadState = this.readyState;\n\n\t\t\tif (loadState && loadState !== 'loaded' && loadState !== 'complete')\n\t\t\t\treturn;\n\n\t\t\tscript.onload = script.onreadystatechange = null;\n\n\t\t\tresolve();\n\t\t};\n\n\t\tdocument.head.appendChild(script);\n\t});\n}\n","import { type ILogger, LogLevel } from '@/controllers/Logger';\nimport { getScript } from '@/controllers/getScript';\n\nconst urls: string[] = [];\n\nexport async function ensureScriptLoaded(\n\turl: string,\n\tlogger: ILogger,\n): Promise<boolean> {\n\tif (urls.includes(url)) {\n\t\tlogger.log(LogLevel.Debug, url, 'script is already loaded');\n\t\treturn false;\n\t}\n\n\ttry {\n\t\tlogger.log(LogLevel.Debug, url, 'Loading script...');\n\n\t\tawait getScript(url);\n\n\t\tif (urls.includes(url)) {\n\t\t\tlogger.log(LogLevel.Debug, url, 'script is already loaded');\n\t\t\treturn false;\n\t\t} else {\n\t\t\turls.push(url);\n\t\t\tlogger.log(LogLevel.Debug, url, 'script loaded');\n\t\t\treturn true;\n\t\t}\n\t} catch (error) {\n\t\tlogger.log(LogLevel.Error, url, 'Failed to load script');\n\t\tthrow error;\n\t}\n}\n"],"mappings":";;AACA,SAAgB,EAAU,GAA4B;CACrD,OAAO,IAAI,SAAS,GAAS,MAAW;EACvC,IAAM,IAAS,SAAS,cAAc,QAAQ;EAiB9C,AAhBA,EAAO,MAAM,GACb,EAAO,QAAQ,IAEf,EAAO,UAAU,GAEjB,EAAO,SAAS,EAAO,qBAAqB,WAAkB;GAC7D,IAAM,IAAY,KAAK;GAEnB,KAAa,MAAc,YAAY,MAAc,eAGzD,EAAO,SAAS,EAAO,qBAAqB,MAE5C,EAAQ;EACT,GAEA,SAAS,KAAK,YAAY,CAAM;CACjC,CAAC;AACF;;;ACnBA,IAAM,IAAiB,CAAC;AAExB,eAAsB,EACrB,GACA,GACmB;CACnB,IAAI,EAAK,SAAS,CAAG,GAEpB,OADA,EAAO,IAAI,EAAS,OAAO,GAAK,0BAA0B,GACnD;CAGR,IAAI;EAWF,OAVD,EAAO,IAAI,EAAS,OAAO,GAAK,mBAAmB,GAEnD,MAAM,EAAU,CAAG,GAEf,EAAK,SAAS,CAAG,KACpB,EAAO,IAAI,EAAS,OAAO,GAAK,0BAA0B,GACnD,OAEP,EAAK,KAAK,CAAG,GACb,EAAO,IAAI,EAAS,OAAO,GAAK,eAAe,GACxC;CAET,SAAS,GAAO;EAEf,MADA,EAAO,IAAI,EAAS,OAAO,GAAK,uBAAuB,GACjD;CACP;AACD"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),r=require("react"),z=require("react-dom");var i=(a=>(a[a.Trace=0]="Trace",a[a.Debug=1]="Debug",a[a.Information=2]="Information",a[a.Warning=3]="Warning",a[a.Error=4]="Error",a[a.Critical=5]="Critical",a[a.None=6]="None",a))(i||{});class G{title="nostalgic-diva";createMessage(e){return`[${this.title}] ${e}`}debug(e,...t){console.debug(this.createMessage(e),...t)}error(e,...t){console.error(this.createMessage(e),...t)}warn(e,...t){console.warn(this.createMessage(e),...t)}isEnabled(){return!0}log(e,t,...s){switch(e){case 1:this.debug(t,...s);break;case 3:this.warn(t,...s);break;case 4:this.error(t,...s);break}}}const _=new G;class B{async attach(){}async detach(){}async loadVideo(e){}async play(){}async pause(){}async setCurrentTime(e){}async setVolume(e){}async setMuted(e){}async setPlaybackRate(e){}async getDuration(){return 0}async getCurrentTime(){return 0}async getVolume(){return 0}async getMuted(){return!1}async getPlaybackRate(){return 0}supports(e){return!1}}const E=new B,j=r.createContext(void 0),Y=({children:a,logger:e=_})=>{const t=r.useRef(E),s=r.useCallback(l=>{e.log(i.Debug,"NostalgicDivaProvider.handleControllerChange",t.current,l),t.current=l},[e]),o=r.useCallback(async l=>{e.log(i.Debug,"NostalgicDivaProvider.loadVideo",t.current),await t.current.loadVideo(l)},[e]),n=r.useCallback(async()=>{e.log(i.Debug,"NostalgicDivaProvider.play",t.current),await t.current.play()},[e]),u=r.useCallback(async()=>{e.log(i.Debug,"NostalgicDivaProvider.pause",t.current),await t.current.pause()},[e]),p=r.useCallback(async l=>{e.log(i.Debug,"NostalgicDivaProvider.setCurrentTime",t.current),await t.current.setCurrentTime(l),await t.current.play()},[e]),g=r.useCallback(async l=>{e.log(i.Debug,"NostalgicDivaProvider.setVolume",t.current),await t.current.setVolume(l)},[e]),h=r.useCallback(async l=>{e.log(i.Debug,"NostalgicDivaProvider.setMuted",t.current),await t.current.setMuted(l)},[e]),C=r.useCallback(async l=>{e.log(i.Debug,"NostalgicDivaProvider.setPlaybackRate",t.current),await t.current.setPlaybackRate(l)},[e]),v=r.useCallback(async()=>(e.log(i.Debug,"NostalgicDivaProvider.getDuration",t.current),await t.current.getDuration()),[e]),T=r.useCallback(async()=>(e.log(i.Debug,"NostalgicDivaProvider.getCurrentTime",t.current),await t.current.getCurrentTime()),[e]),P=r.useCallback(async()=>(e.log(i.Debug,"NostalgicDivaProvider.getVolume",t.current),await t.current.getVolume()),[e]),D=r.useCallback(async()=>(e.log(i.Debug,"NostalgicDivaProvider.getMuted",t.current),await t.current.getMuted()),[e]),b=r.useCallback(async()=>(e.log(i.Debug,"NostalgicDivaProvider.getPlaybackRate",t.current),await t.current.getPlaybackRate()),[e]),w=r.useCallback(l=>t.current.supports(l),[]),d=r.useMemo(()=>({logger:e,handleControllerChange:s,loadVideo:o,play:n,pause:u,setCurrentTime:p,setVolume:g,setMuted:h,setPlaybackRate:C,getDuration:v,getCurrentTime:T,getVolume:P,getMuted:D,getPlaybackRate:b,supports:w}),[e,s,o,n,u,p,g,h,C,v,T,P,D,b,w]);return c.jsx(j.Provider,{value:d,children:a})},L=()=>r.useContext(j);class y{constructor(e){this.type=e}}const X=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,K=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i;class Z extends y{constructor(){super("Audio")}canPlay(e){return X.test(e)||K.test(e)}extractVideoId(e){return e}}const R=/^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?(?:[\w.#_-]+)?/;class J extends y{constructor(){super("Dailymotion")}canPlay(e){return R.test(e)}extractVideoId(e){return R.exec(e)?.[1]}}const M=/(?:www\.|)?nicovideo\.jp\/watch\/(\w+)$/;class Q extends y{constructor(){super("Niconico")}canPlay(e){return M.test(e)}extractVideoId(e){return M.exec(e)?.[1]}}const ee=/(?:soundcloud\.com|snd\.sc)\/[^.]+$/;class te extends y{constructor(){super("SoundCloud")}canPlay(e){return ee.test(e)}extractVideoId(e){return e}}const I=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/;class ae extends y{constructor(){super("Twitch")}canPlay(e){return I.test(e)}extractVideoId(e){return I.exec(e)?.[1]}}const S=/vimeo\.com\/(\d+)$/;class re extends y{constructor(){super("Vimeo")}canPlay(e){return S.test(e)}extractVideoId(e){return S.exec(e)?.[1]}}const A=/(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//;class se extends y{constructor(){super("YouTube")}canPlay(e){return A.test(e)}extractVideoId(e){return A.exec(e)?.[1]}}const O=[new se,new ae,new re,new J,new te,new Z,new Q];function $(a){return O.find(e=>e.canPlay(a))}const W=new Map(Object.entries({Audio:r.lazy(()=>Promise.resolve().then(()=>require("./AudioPlayer-CgUxIJwa.cjs"))),Dailymotion:r.lazy(()=>Promise.resolve().then(()=>require("./DailymotionPlayer-BdI4qcvJ.cjs"))),Niconico:r.lazy(()=>Promise.resolve().then(()=>require("./NiconicoPlayer-C1bgzaCT.cjs"))),SoundCloud:r.lazy(()=>Promise.resolve().then(()=>require("./SoundCloudPlayer-BiFTnxn9.cjs"))),Twitch:r.lazy(()=>Promise.resolve().then(()=>require("./TwitchPlayer-DdhZD1Bh.cjs"))),Vimeo:r.lazy(()=>Promise.resolve().then(()=>require("./VimeoPlayer-DfBZwtd9.cjs"))),YouTube:r.lazy(()=>Promise.resolve().then(()=>require("./YouTubePlayer-CeTkdcOO.cjs")))}));function ie(a){const e=$(a);if(e===void 0)return;const{type:t,extractVideoId:s}=e,o=s(a);if(o!==void 0)return{type:t,videoId:o}}const U=r.memo(()=>c.jsx("div",{style:{width:"100%",height:"100%"},children:c.jsx("iframe",{src:"about:blank",title:"about:blank",style:{width:"100%",height:"100%",border:0}})})),F=r.memo(({src:a,options:e,onControllerChange:t})=>{const s=L(),o=r.useCallback(h=>{s.handleControllerChange(h),t?.(h)},[s,t]);s.logger.log(i.Debug,"NostalgicDiva");const n=ie(a);if(n===void 0)return s.logger.log(i.Warning,`Failed to extract type and videoId from src: "${a}". Returning EmptyPlayer.`),c.jsx(U,{});const{type:u,videoId:p}=n,g=W.get(u);return g===void 0?(s.logger.log(i.Warning,`No player found for type "${u}" (videoId: "${p}"). Returning EmptyPlayer.`),c.jsx(U,{})):c.jsx(r.Suspense,{fallback:null,children:c.jsx(g,{logger:s.logger,type:u,onControllerChange:o,videoId:p,options:e})})});class q extends HTMLElement{static observedAttributes=["src"];container;controller=E;constructor(){super(),this.container=this.attachShadow({mode:"closed"})}get src(){return this.getAttribute("src")??""}set src(e){this.setAttribute("src",e)}#t={onError:e=>this.dispatchEvent(new CustomEvent("error",{detail:e})),onLoaded:e=>this.dispatchEvent(new CustomEvent("loaded",{detail:e})),onPlay:()=>this.dispatchEvent(new CustomEvent("play")),onPause:()=>this.dispatchEvent(new CustomEvent("pause")),onEnded:()=>this.dispatchEvent(new CustomEvent("ended")),onTimeUpdate:e=>this.dispatchEvent(new CustomEvent("timeupdate",{detail:e}))};#a=e=>{console.debug("[@nostalgic-diva/web-components] handleControllerChange"),this.controller=e};#e(){z.render(c.jsx(Y,{children:c.jsx(F,{src:this.src,options:this.#t,onControllerChange:this.#a})}),this.container)}connectedCallback(){console.debug("[@nostalgic-diva/web-components] connectedCallback"),this.#e()}disconnectedCallback(){console.debug("[@nostalgic-diva/web-components] disconnectedCallback")}attributeChangedCallback(){console.debug("[@nostalgic-diva/web-components] attributeChangedCallback"),this.#e()}async loadVideo(e){await this.controller.loadVideo(e)}async play(){await this.controller.play()}async pause(){await this.controller.pause()}async setCurrentTime(e){await this.controller.setCurrentTime(e)}async setVolume(e){await this.controller.setVolume(e)}async setMuted(e){await this.controller.setMuted(e)}async setPlaybackRate(e){await this.controller.setPlaybackRate(e)}async getDuration(){return await this.controller.getDuration()}async getCurrentTime(){return await this.controller.getCurrentTime()}async getVolume(){return await this.controller.getVolume()}async getMuted(){return await this.controller.getMuted()}async getPlaybackRate(){return await this.controller.getPlaybackRate()}supports(e){return this.controller.supports(e)}}function oe(){customElements.define("nostalgic-diva",q)}function ne(){const a=r.useRef(!0);return a.current?(a.current=!1,!0):a.current}const le=(a,e)=>a===e;function ce(a,e=le){const t=r.useRef(),s=r.useRef(a);return!ne()&&!e(s.current,a)&&(t.current=s.current,s.current=a),t.current}class m{constructor(e,t,s){this.logger=e,this.player=t,this.options=s,this.logger.log(i.Debug,"ctor")}supports(e){return this[e]!==void 0}}class V{constructor(e,t,s,o,n){this.logger=e,this.type=t,this.player=s,this.options=o,this.controllerFactory=n,this.id=V.nextId++}static nextId=1;id;impl;createMessage(e){return`${this.type}#${this.id} ${e}`}debug(e,...t){this.logger.log(i.Debug,this.createMessage(e),...t)}error(e,...t){this.logger.log(i.Error,this.createMessage(e),...t)}async attach(e){if(this.debug("attach",e),this.impl){this.debug("player is already attached");return}this.debug("Attaching player..."),this.impl=new this.controllerFactory(this.logger,this.player,this.options),await this.impl.attach(e),this.debug("player attached")}createPlayerNotAttachedError(){return this.error("player is not attached"),new Error("player is not attached")}createCommandNotSupportedError(e){return new Error(`${e} is not supported`)}async detach(){if(this.debug("detach"),this.impl===void 0)throw this.createPlayerNotAttachedError();await this.impl.detach(),this.impl=void 0}async loadVideo(e){if(this.debug("loadVideo",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.loadVideo===void 0)throw this.createCommandNotSupportedError("loadVideo");this.debug("Loading video..."),await this.impl.loadVideo(e),this.debug("video loaded",e)}play(){if(this.debug("play"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.play===void 0)throw this.createCommandNotSupportedError("play");return this.impl.play()}pause(){if(this.debug("pause"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.pause===void 0)throw this.createCommandNotSupportedError("pause");return this.impl.pause()}setCurrentTime(e){if(this.debug("setCurrentTime",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setCurrentTime===void 0)throw this.createCommandNotSupportedError("setCurrentTime");return this.impl.setCurrentTime(e)}setVolume(e){if(this.debug("setVolume",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setVolume===void 0)throw this.createCommandNotSupportedError("setVolume");return this.impl.setVolume(e)}setMuted(e){if(this.debug("setMuted",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setMuted===void 0)throw this.createCommandNotSupportedError("setMuted");return this.impl.setMuted(e)}setPlaybackRate(e){if(this.debug("setPlaybackRate",e),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.setPlaybackRate===void 0)throw this.createCommandNotSupportedError("setPlaybackRate");return this.impl.setPlaybackRate(e)}getDuration(){if(this.debug("getDuration"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getDuration===void 0)throw this.createCommandNotSupportedError("getDuration");return this.impl.getDuration()}getCurrentTime(){if(this.debug("getCurrentTime"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getCurrentTime===void 0)throw this.createCommandNotSupportedError("getCurrentTime");return this.impl.getCurrentTime()}getVolume(){if(this.debug("getVolume"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getVolume===void 0)throw this.createCommandNotSupportedError("getVolume");return this.impl.getVolume()}getMuted(){if(this.debug("getMuted"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getMuted===void 0)throw this.createCommandNotSupportedError("getMuted");return this.impl.getMuted()}getPlaybackRate(){if(this.debug("getPlaybackRate"),this.impl===void 0)throw this.createPlayerNotAttachedError();if(this.impl.getPlaybackRate===void 0)throw this.createCommandNotSupportedError("getPlaybackRate");return this.impl.getPlaybackRate()}supports(e){if(this.impl===void 0)throw this.createPlayerNotAttachedError();return this.impl.supports(e)}}const de=({logger:a,type:e,loadScript:t,playerFactory:s,onControllerChange:o,videoId:n,options:u,controllerFactory:p,children:g})=>{a.log(i.Debug,"PlayerContainer");const h=r.useRef(n),C=r.useRef(void 0),[v,T]=r.useState(),[P,D]=r.useState(E),b=r.useCallback(d=>{D(d),o?.(d)},[o]);r.useEffect(()=>{(t?.()??Promise.resolve()).then(()=>s(C.current,h.current)).then(d=>T(d))},[t,s]),r.useEffect(()=>{if(v===void 0)return;const d=new V(a,e,v,u,p);return d.attach(h.current).then(()=>b(d)),()=>{d.detach().finally(()=>b(E))}},[a,e,t,v,u,p,b]);const w=ce(n);return r.useEffect(()=>{w!==void 0&&P.loadVideo(n)},[w,n,P]),c.jsx(c.Fragment,{children:g(C,h.current)})};class ue extends m{async attach(){this.player.onerror=e=>this.options?.onError?.(e),this.player.onloadeddata=()=>this.options?.onLoaded?.({id:this.player.src}),this.player.onplay=()=>this.options?.onPlay?.(),this.player.onpause=()=>this.options?.onPause?.(),this.player.onended=()=>this.options?.onEnded?.(),this.player.ontimeupdate=()=>{this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime})}}async detach(){this.player.onerror=null,this.player.onloadeddata=null,this.player.onplay=null,this.player.onpause=null,this.player.onended=null,this.player.ontimeupdate=null}async loadVideo(e){this.player.src=e}async play(){await this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.currentTime=e}async setVolume(e){this.player.volume=e}async setMuted(e){this.player.muted=e}async setPlaybackRate(e){this.player.playbackRate=e}async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}async getPlaybackRate(){return this.player.playbackRate}}const x=["apiready","seeked","video_end","durationchange","pause","playing","error"];class he extends m{handlePlayerEvents=e=>{switch(e.type){case"apiready":this.options?.onLoaded?.({id:this.player.video.videoId});break;case"seeked":this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime});break;case"video_end":this.options?.onEnded?.();break;case"durationchange":break;case"pause":this.options?.onPause?.();break;case"playing":this.options?.onPlay?.();break;case"error":this.options?.onError?.(e);break}};async attach(e){for(const t of x)this.player.addEventListener(t,this.handlePlayerEvents)}async detach(){for(const e of x)this.player.removeEventListener(e,this.handlePlayerEvents)}async loadVideo(e){this.player.load(e)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}getPlaybackRate=void 0}var f=(a=>(a[a.Play=2]="Play",a[a.Pause=3]="Pause",a[a.End=4]="End",a))(f||{});class k extends m{static origin="https://embed.nicovideo.jp";duration=0;currentTime=0;volume=0;muted=!1;handleMessage=e=>{if(e.origin!==k.origin)return;const t=e.data;switch(t.eventName){case"playerStatusChange":this.logger.log(i.Debug,`player status changed: ${f[t.data.playerStatus]??t.data.playerStatus}`);break;case"statusChange":switch(this.logger.log(i.Debug,`status changed: ${f[t.data.playerStatus]??t.data.playerStatus}`),t.data.playerStatus){case 2:this.options?.onPlay?.();break;case 3:this.options?.onPause?.();break;case 4:this.options?.onEnded?.();break}break;case"playerMetadataChange":t.data.duration!==void 0&&(this.duration=t.data.duration/1e3),this.currentTime=t.data.currentTime===void 0?0:t.data.currentTime/1e3,this.volume=t.data.volume,this.muted=t.data.muted,this.options?.onTimeUpdate?.({duration:this.duration,percent:this.currentTime!==0&&this.duration!==0?this.currentTime/this.duration:0,seconds:this.currentTime});break;case"loadComplete":this.logger.log(i.Debug,"load completed"),this.duration=t.data.videoInfo.lengthInSeconds,this.options?.onLoaded?.({id:t.data.videoInfo.watchId});break;case"error":this.options?.onError?.(t);break;case"player-error:video:play":case"player-error:video:seek":this.options?.onError?.(t);break;default:this.logger.log(i.Debug,"message",t.eventName,t.data);break}};async attach(){window.addEventListener("message",this.handleMessage)}async detach(){window.removeEventListener("message",this.handleMessage)}async loadVideo(e){return new Promise((t,s)=>{this.duration=0,this.currentTime=0,this.volume=0,this.muted=!1,this.player.onload=()=>{this.player.onload=null,t()},this.player.src=`https://embed.nicovideo.jp/watch/${e}?jsapi=1&playerId=1`})}postMessage(e){this.player.contentWindow?.postMessage({...e,playerId:"1",sourceConnectorType:1},k.origin)}async play(){this.postMessage({eventName:"play"})}async pause(){this.postMessage({eventName:"pause"})}async setCurrentTime(e){this.postMessage({eventName:"seek",data:{time:e*1e3}})}async setVolume(e){this.postMessage({eventName:"volumeChange",data:{volume:e}})}async setMuted(e){this.postMessage({eventName:"mute",data:{mute:e}})}setPlaybackRate=void 0;async getDuration(){return this.duration}async getCurrentTime(){return this.currentTime}async getVolume(){return this.volume}async getMuted(){return this.muted}getPlaybackRate=void 0}class N extends m{getDurationCore(){return new Promise((e,t)=>{this.player.getDuration(e)})}attach(e){return new Promise((t,s)=>{this.player.bind(SC.Widget.Events.READY,()=>{this.player.bind(SC.Widget.Events.PLAY_PROGRESS,async o=>{const n=await this.getDurationCore();this.options?.onTimeUpdate?.({duration:n/1e3,percent:o.currentPosition/n,seconds:o.currentPosition/1e3})}),this.player.bind(SC.Widget.Events.ERROR,o=>this.options?.onError?.(o)),this.player.bind(SC.Widget.Events.PLAY,()=>this.options?.onPlay?.()),this.player.bind(SC.Widget.Events.PAUSE,()=>this.options?.onPause?.()),this.player.bind(SC.Widget.Events.FINISH,()=>this.options?.onEnded?.()),this.options?.onLoaded?.({id:e}),t()})})}async detach(){this.player.unbind(SC.Widget.Events.READY),this.player.unbind(SC.Widget.Events.PLAY_PROGRESS),this.player.unbind(SC.Widget.Events.ERROR),this.player.unbind(SC.Widget.Events.PLAY),this.player.unbind(SC.Widget.Events.PAUSE),this.player.unbind(SC.Widget.Events.FINISH)}static playerLoadAsync(e,t,s){return new Promise((o,n)=>{e.load(t,{...s,callback:o})})}async loadVideo(e){await N.playerLoadAsync(this.player,e,{auto_play:!0}),this.options?.onLoaded?.({id:e})}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seekTo(e*1e3)}async setVolume(e){this.player.setVolume(e*100)}setMuted=void 0;setPlaybackRate=void 0;async getDuration(){return await this.getDurationCore()/1e3}getCurrentTimeCore(){return new Promise((e,t)=>{this.player.getPosition(e)})}async getCurrentTime(){return await this.getCurrentTimeCore()/1e3}getVolumeCore(){return new Promise((e,t)=>{this.player.getVolume(e)})}async getVolume(){return await this.getVolumeCore()/100}getMuted=void 0;getPlaybackRate=void 0}class pe extends m{handleReady=()=>{this.options?.onLoaded?.({id:this.player.getVideo()})};handlePlay=()=>{this.options?.onPlay?.()};handlePause=()=>{this.options?.onPause?.()};handleEnded=()=>{this.options?.onEnded?.()};handleSeek=()=>{this.options?.onTimeUpdate?.({duration:0,percent:0,seconds:0})};async attach(e){this.player.addEventListener(Twitch.Player.READY,this.handleReady),this.player.addEventListener(Twitch.Player.PLAYING,this.handlePlay),this.player.addEventListener(Twitch.Player.PAUSE,this.handlePause),this.player.addEventListener(Twitch.Player.ENDED,this.handleEnded),this.player.addEventListener(Twitch.Player.SEEK,this.handleSeek)}async detach(){}async loadVideo(e){this.player.setVideo(e,0)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return this.player.getMuted()}getPlaybackRate=void 0}class ye extends m{async attach(){await this.player.ready(),this.player.on("error",e=>this.options?.onError?.(e)),this.player.on("loaded",e=>this.options?.onLoaded?.({id:e.id.toString()})),this.player.on("play",()=>this.options?.onPlay?.()),this.player.on("pause",()=>this.options?.onPause?.()),this.player.on("ended",()=>this.options?.onEnded?.()),this.player.on("timeupdate",e=>{this.options?.onTimeUpdate?.({duration:e.duration,percent:e.percent,seconds:e.seconds})})}async detach(){this.player.off("error"),this.player.off("loaded"),this.player.off("play"),this.player.off("pause"),this.player.off("ended"),this.player.off("timeupdate")}async loadVideo(e){await this.player.loadVideo(e)}async play(){await this.player.play()}async pause(){await this.player.pause()}async setCurrentTime(e){await this.player.setCurrentTime(e)}async setVolume(e){await this.player.setVolume(e)}async setMuted(e){await this.player.setMuted(e)}async setPlaybackRate(e){await this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return await this.player.getMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}}var H=(a=>(a[a.UNSTARTED=-1]="UNSTARTED",a[a.ENDED=0]="ENDED",a[a.PLAYING=1]="PLAYING",a[a.PAUSED=2]="PAUSED",a[a.BUFFERING=3]="BUFFERING",a[a.CUED=5]="CUED",a))(H||{});class me extends m{previousTime;timeUpdateIntervalId;clearTimeUpdateInterval(){this.logger.log(i.Debug,"clearTimeUpdateInterval",this.timeUpdateIntervalId),window.clearInterval(this.timeUpdateIntervalId),this.timeUpdateIntervalId=void 0}invokeTimeUpdate(e){const t=e.getCurrentTime();if(t===this.previousTime)return;const s=e.getDuration();this.options?.onTimeUpdate?.({duration:s,percent:t/s,seconds:t}),this.previousTime=t}setTimeUpdateInterval(){this.logger.log(i.Debug,"setTimeUpdateInterval"),this.clearTimeUpdateInterval(),this.timeUpdateIntervalId=window.setInterval(()=>this.invokeTimeUpdate(this.player),250),this.logger.log(i.Debug,"timeUpdateIntervalId",this.timeUpdateIntervalId),this.invokeTimeUpdate(this.player)}attach(e){return new Promise((t,s)=>{this.player.addEventListener("onReady",async()=>{this.player.addEventListener("onError",o=>this.options?.onError?.(o.data)),this.player.addEventListener("onStateChange",o=>{switch(this.logger.log(i.Debug,`state changed: ${H[o.data]}`),o.data){case YT.PlayerState.CUED:this.options?.onLoaded?.({id:e});break;case YT.PlayerState.PLAYING:this.options?.onPlay?.(),this.setTimeUpdateInterval();break;case YT.PlayerState.PAUSED:this.options?.onPause?.(),this.clearTimeUpdateInterval();break;case YT.PlayerState.ENDED:this.options?.onEnded?.(),this.clearTimeUpdateInterval();break}}),await this.loadVideo(e),t()})})}async detach(){this.clearTimeUpdateInterval()}async loadVideo(e){this.previousTime=void 0,this.player.cueVideoById(e)}async play(){this.player.playVideo()}async pause(){this.player.pauseVideo()}async setCurrentTime(e){this.player.seekTo(e),this.invokeTimeUpdate(this.player)}async setVolume(e){this.player.setVolume(e*100)}async setMuted(e){e?this.player.mute():this.player.unMute()}async setPlaybackRate(e){this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()/100}async getMuted(){return this.player.isMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}}exports.AudioPlayerController=ue;exports.DailymotionPlayerController=he;exports.LogLevel=i;exports.NiconicoPlayerController=k;exports.NostalgicDiva=F;exports.NostalgicDivaElement=q;exports.NostalgicDivaProvider=Y;exports.PlayerContainer=de;exports.PlayerController=V;exports.PlayerControllerImpl=m;exports.SoundCloudPlayerController=N;exports.TwitchPlayerController=pe;exports.VideoService=y;exports.VimeoPlayerController=ye;exports.YouTubePlayerController=me;exports.defaultLogger=_;exports.defineNostalgicDiva=oe;exports.findVideoService=$;exports.nullPlayerController=E;exports.players=W;exports.useNostalgicDiva=L;exports.videoServices=O;
|
|
2
|
-
//# 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));const c=require(`./PlayerContainer-COjwHOhq.cjs`);let l=require(`react`),u=require(`react/jsx-runtime`),d=require(`react-dom`);d=s(d,1);var f=(0,l.createContext)(void 0),p=({children:e,logger:t=c.o})=>{let n=(0,l.useRef)(c.i),r=(0,l.useCallback)(e=>{t.log(c.a.Debug,`NostalgicDivaProvider.handleControllerChange`,n.current,e),n.current=e},[t]),i=(0,l.useCallback)(async e=>{t.log(c.a.Debug,`NostalgicDivaProvider.loadVideo`,n.current),await n.current.loadVideo(e)},[t]),a=(0,l.useCallback)(async()=>{t.log(c.a.Debug,`NostalgicDivaProvider.play`,n.current),await n.current.play()},[t]),o=(0,l.useCallback)(async()=>{t.log(c.a.Debug,`NostalgicDivaProvider.pause`,n.current),await n.current.pause()},[t]),s=(0,l.useCallback)(async e=>{t.log(c.a.Debug,`NostalgicDivaProvider.setCurrentTime`,n.current),await n.current.setCurrentTime(e),await n.current.play()},[t]),d=(0,l.useCallback)(async e=>{t.log(c.a.Debug,`NostalgicDivaProvider.setVolume`,n.current),await n.current.setVolume(e)},[t]),p=(0,l.useCallback)(async e=>{t.log(c.a.Debug,`NostalgicDivaProvider.setMuted`,n.current),await n.current.setMuted(e)},[t]),m=(0,l.useCallback)(async e=>{t.log(c.a.Debug,`NostalgicDivaProvider.setPlaybackRate`,n.current),await n.current.setPlaybackRate(e)},[t]),h=(0,l.useCallback)(async()=>(t.log(c.a.Debug,`NostalgicDivaProvider.getDuration`,n.current),await n.current.getDuration()),[t]),g=(0,l.useCallback)(async()=>(t.log(c.a.Debug,`NostalgicDivaProvider.getCurrentTime`,n.current),await n.current.getCurrentTime()),[t]),_=(0,l.useCallback)(async()=>(t.log(c.a.Debug,`NostalgicDivaProvider.getVolume`,n.current),await n.current.getVolume()),[t]),v=(0,l.useCallback)(async()=>(t.log(c.a.Debug,`NostalgicDivaProvider.getMuted`,n.current),await n.current.getMuted()),[t]),y=(0,l.useCallback)(async()=>(t.log(c.a.Debug,`NostalgicDivaProvider.getPlaybackRate`,n.current),await n.current.getPlaybackRate()),[t]),b=(0,l.useCallback)(e=>n.current.supports(e),[]),x=(0,l.useMemo)(()=>({logger:t,handleControllerChange:r,loadVideo:i,play:a,pause:o,setCurrentTime:s,setVolume:d,setMuted:p,setPlaybackRate:m,getDuration:h,getCurrentTime:g,getVolume:_,getMuted:v,getPlaybackRate:y,supports:b}),[t,r,i,a,o,s,d,p,m,h,g,_,v,y,b]);return(0,u.jsx)(f.Provider,{value:x,children:e})},m=()=>(0,l.useContext)(f),h=class{type;constructor(e){this.type=e}},g=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,_=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,v=class extends h{constructor(){super(`Audio`)}canPlay(e){return g.test(e)||_.test(e)}extractVideoId(e){return e}},y=/^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?(?:[\w.#_-]+)?/,b=class extends h{constructor(){super(`Dailymotion`)}canPlay(e){return y.test(e)}extractVideoId(e){return y.exec(e)?.[1]}},x=/(?:www\.|)?nicovideo\.jp\/watch\/(\w+)$/,S=class extends h{constructor(){super(`Niconico`)}canPlay(e){return x.test(e)}extractVideoId(e){return x.exec(e)?.[1]}},C=/(?:soundcloud\.com|snd\.sc)\/[^.]+$/,w=class extends h{constructor(){super(`SoundCloud`)}canPlay(e){return C.test(e)}extractVideoId(e){return e}},T=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/,E=class extends h{constructor(){super(`Twitch`)}canPlay(e){return T.test(e)}extractVideoId(e){return T.exec(e)?.[1]}},D=/vimeo\.com\/(\d+)$/,O=class extends h{constructor(){super(`Vimeo`)}canPlay(e){return D.test(e)}extractVideoId(e){return D.exec(e)?.[1]}},k=/(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//,A=[new class extends h{constructor(){super(`YouTube`)}canPlay(e){return k.test(e)}extractVideoId(e){return k.exec(e)?.[1]}},new E,new O,new b,new w,new v,new S];function j(e){return A.find(t=>t.canPlay(e))}var M=new Map(Object.entries({Audio:(0,l.lazy)(()=>Promise.resolve().then(()=>require(`./AudioPlayer-dEmhfyI_.cjs`))),Dailymotion:(0,l.lazy)(()=>Promise.resolve().then(()=>require(`./DailymotionPlayer-B3UVkJiv.cjs`))),Niconico:(0,l.lazy)(()=>Promise.resolve().then(()=>require(`./NiconicoPlayer-DiTU-06L.cjs`))),SoundCloud:(0,l.lazy)(()=>Promise.resolve().then(()=>require(`./SoundCloudPlayer-tHiueAss.cjs`))),Twitch:(0,l.lazy)(()=>Promise.resolve().then(()=>require(`./TwitchPlayer-Doh6zF0n.cjs`))),Vimeo:(0,l.lazy)(()=>Promise.resolve().then(()=>require(`./VimeoPlayer-7MjNmmgs.cjs`))),YouTube:(0,l.lazy)(()=>Promise.resolve().then(()=>require(`./YouTubePlayer-Clpmqsmv.cjs`)))}));function N(e){let t=j(e);if(t===void 0)return;let{type:n,extractVideoId:r}=t,i=r(e);if(i!==void 0)return{type:n,videoId:i}}var P=(0,l.memo)(()=>(0,u.jsx)(`div`,{style:{width:`100%`,height:`100%`},children:(0,u.jsx)(`iframe`,{src:`about:blank`,title:`about:blank`,style:{width:`100%`,height:`100%`,border:0}})})),F=(0,l.memo)(({src:e,options:t,onControllerChange:n})=>{let r=m(),i=(0,l.useCallback)(e=>{r.handleControllerChange(e),n?.(e)},[r,n]);r.logger.log(c.a.Debug,`NostalgicDiva`);let a=N(e);if(a===void 0)return r.logger.log(c.a.Warning,`Failed to extract type and videoId from src: "${e}". Returning EmptyPlayer.`),(0,u.jsx)(P,{});let{type:o,videoId:s}=a,d=M.get(o);return d===void 0?(r.logger.log(c.a.Warning,`No player found for type "${o}" (videoId: "${s}"). Returning EmptyPlayer.`),(0,u.jsx)(P,{})):(0,u.jsx)(l.Suspense,{fallback:null,children:(0,u.jsx)(d,{logger:r.logger,type:o,onControllerChange:i,videoId:s,options:t})})}),I=class extends HTMLElement{static observedAttributes=[`src`];container;controller=c.i;constructor(){super(),this.container=this.attachShadow({mode:`closed`})}get src(){return this.getAttribute(`src`)??``}set src(e){this.setAttribute(`src`,e)}#e={onError:e=>this.dispatchEvent(new CustomEvent(`error`,{detail:e})),onLoaded:e=>this.dispatchEvent(new CustomEvent(`loaded`,{detail:e})),onPlay:()=>this.dispatchEvent(new CustomEvent(`play`)),onPause:()=>this.dispatchEvent(new CustomEvent(`pause`)),onEnded:()=>this.dispatchEvent(new CustomEvent(`ended`)),onTimeUpdate:e=>this.dispatchEvent(new CustomEvent(`timeupdate`,{detail:e}))};#t=e=>{console.debug(`[@nostalgic-diva/web-components] handleControllerChange`),this.controller=e};#n(){d.default.render((0,u.jsx)(p,{children:(0,u.jsx)(F,{src:this.src,options:this.#e,onControllerChange:this.#t})}),this.container)}connectedCallback(){console.debug(`[@nostalgic-diva/web-components] connectedCallback`),this.#n()}disconnectedCallback(){console.debug(`[@nostalgic-diva/web-components] disconnectedCallback`)}attributeChangedCallback(){console.debug(`[@nostalgic-diva/web-components] attributeChangedCallback`),this.#n()}async loadVideo(e){await this.controller.loadVideo(e)}async play(){await this.controller.play()}async pause(){await this.controller.pause()}async setCurrentTime(e){await this.controller.setCurrentTime(e)}async setVolume(e){await this.controller.setVolume(e)}async setMuted(e){await this.controller.setMuted(e)}async setPlaybackRate(e){await this.controller.setPlaybackRate(e)}async getDuration(){return await this.controller.getDuration()}async getCurrentTime(){return await this.controller.getCurrentTime()}async getVolume(){return await this.controller.getVolume()}async getMuted(){return await this.controller.getMuted()}async getPlaybackRate(){return await this.controller.getPlaybackRate()}supports(e){return this.controller.supports(e)}};function L(){customElements.define(`nostalgic-diva`,I)}var R=class extends c.r{async attach(){this.player.onerror=e=>this.options?.onError?.(e),this.player.onloadeddata=()=>this.options?.onLoaded?.({id:this.player.src}),this.player.onplay=()=>this.options?.onPlay?.(),this.player.onpause=()=>this.options?.onPause?.(),this.player.onended=()=>this.options?.onEnded?.(),this.player.ontimeupdate=()=>{this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime})}}async detach(){this.player.onerror=null,this.player.onloadeddata=null,this.player.onplay=null,this.player.onpause=null,this.player.onended=null,this.player.ontimeupdate=null}async loadVideo(e){this.player.src=e}async play(){await this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.currentTime=e}async setVolume(e){this.player.volume=e}async setMuted(e){this.player.muted=e}async setPlaybackRate(e){this.player.playbackRate=e}async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}async getPlaybackRate(){return this.player.playbackRate}},z=[`apiready`,`seeked`,`video_end`,`durationchange`,`pause`,`playing`,`error`],B=class extends c.r{handlePlayerEvents=e=>{switch(e.type){case`apiready`:this.options?.onLoaded?.({id:this.player.video.videoId});break;case`seeked`:this.options?.onTimeUpdate?.({duration:this.player.duration,percent:this.player.currentTime/this.player.duration,seconds:this.player.currentTime});break;case`video_end`:this.options?.onEnded?.();break;case`durationchange`:break;case`pause`:this.options?.onPause?.();break;case`playing`:this.options?.onPlay?.();break;case`error`:this.options?.onError?.(e);break}};async attach(e){for(let e of z)this.player.addEventListener(e,this.handlePlayerEvents)}async detach(){for(let e of z)this.player.removeEventListener(e,this.handlePlayerEvents)}async loadVideo(e){this.player.load(e)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.duration}async getCurrentTime(){return this.player.currentTime}async getVolume(){return this.player.volume}async getMuted(){return this.player.muted}getPlaybackRate=void 0},V=function(e){return e[e.Play=2]=`Play`,e[e.Pause=3]=`Pause`,e[e.End=4]=`End`,e}(V||{}),H=class e extends c.r{static origin=`https://embed.nicovideo.jp`;duration=0;currentTime=0;volume=0;muted=!1;handleMessage=t=>{if(t.origin!==e.origin)return;let n=t.data;switch(n.eventName){case`playerStatusChange`:this.logger.log(c.a.Debug,`player status changed: ${V[n.data.playerStatus]??n.data.playerStatus}`);break;case`statusChange`:switch(this.logger.log(c.a.Debug,`status changed: ${V[n.data.playerStatus]??n.data.playerStatus}`),n.data.playerStatus){case 2:this.options?.onPlay?.();break;case 3:this.options?.onPause?.();break;case 4:this.options?.onEnded?.();break}break;case`playerMetadataChange`:n.data.duration!==void 0&&(this.duration=n.data.duration/1e3),this.currentTime=n.data.currentTime===void 0?0:n.data.currentTime/1e3,this.volume=n.data.volume,this.muted=n.data.muted,this.options?.onTimeUpdate?.({duration:this.duration,percent:this.currentTime!==0&&this.duration!==0?this.currentTime/this.duration:0,seconds:this.currentTime});break;case`loadComplete`:this.logger.log(c.a.Debug,`load completed`),this.duration=n.data.videoInfo.lengthInSeconds,this.options?.onLoaded?.({id:n.data.videoInfo.watchId});break;case`error`:this.options?.onError?.(n);break;case`player-error:video:play`:case`player-error:video:seek`:this.options?.onError?.(n);break;default:this.logger.log(c.a.Debug,`message`,n.eventName,n.data);break}};async attach(){window.addEventListener(`message`,this.handleMessage)}async detach(){window.removeEventListener(`message`,this.handleMessage)}async loadVideo(e){return new Promise((t,n)=>{this.duration=0,this.currentTime=0,this.volume=0,this.muted=!1,this.player.onload=()=>{this.player.onload=null,t()},this.player.src=`https://embed.nicovideo.jp/watch/${e}?jsapi=1&playerId=1`})}postMessage(t){this.player.contentWindow?.postMessage({...t,playerId:`1`,sourceConnectorType:1},e.origin)}async play(){this.postMessage({eventName:`play`})}async pause(){this.postMessage({eventName:`pause`})}async setCurrentTime(e){this.postMessage({eventName:`seek`,data:{time:e*1e3}})}async setVolume(e){this.postMessage({eventName:`volumeChange`,data:{volume:e}})}async setMuted(e){this.postMessage({eventName:`mute`,data:{mute:e}})}setPlaybackRate=void 0;async getDuration(){return this.duration}async getCurrentTime(){return this.currentTime}async getVolume(){return this.volume}async getMuted(){return this.muted}getPlaybackRate=void 0},U=class e extends c.r{getDurationCore(){return new Promise((e,t)=>{this.player.getDuration(e)})}attach(e){return new Promise((t,n)=>{this.player.bind(SC.Widget.Events.READY,()=>{this.player.bind(SC.Widget.Events.PLAY_PROGRESS,async e=>{let t=await this.getDurationCore();this.options?.onTimeUpdate?.({duration:t/1e3,percent:e.currentPosition/t,seconds:e.currentPosition/1e3})}),this.player.bind(SC.Widget.Events.ERROR,e=>this.options?.onError?.(e)),this.player.bind(SC.Widget.Events.PLAY,()=>this.options?.onPlay?.()),this.player.bind(SC.Widget.Events.PAUSE,()=>this.options?.onPause?.()),this.player.bind(SC.Widget.Events.FINISH,()=>this.options?.onEnded?.()),this.options?.onLoaded?.({id:e}),t()})})}async detach(){this.player.unbind(SC.Widget.Events.READY),this.player.unbind(SC.Widget.Events.PLAY_PROGRESS),this.player.unbind(SC.Widget.Events.ERROR),this.player.unbind(SC.Widget.Events.PLAY),this.player.unbind(SC.Widget.Events.PAUSE),this.player.unbind(SC.Widget.Events.FINISH)}static playerLoadAsync(e,t,n){return new Promise((r,i)=>{e.load(t,{...n,callback:r})})}async loadVideo(t){await e.playerLoadAsync(this.player,t,{auto_play:!0}),this.options?.onLoaded?.({id:t})}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seekTo(e*1e3)}async setVolume(e){this.player.setVolume(e*100)}setMuted=void 0;setPlaybackRate=void 0;async getDuration(){return await this.getDurationCore()/1e3}getCurrentTimeCore(){return new Promise((e,t)=>{this.player.getPosition(e)})}async getCurrentTime(){return await this.getCurrentTimeCore()/1e3}getVolumeCore(){return new Promise((e,t)=>{this.player.getVolume(e)})}async getVolume(){return await this.getVolumeCore()/100}getMuted=void 0;getPlaybackRate=void 0},W=class extends c.r{handleReady=()=>{this.options?.onLoaded?.({id:this.player.getVideo()})};handlePlay=()=>{this.options?.onPlay?.()};handlePause=()=>{this.options?.onPause?.()};handleEnded=()=>{this.options?.onEnded?.()};handleSeek=()=>{this.options?.onTimeUpdate?.({duration:0,percent:0,seconds:0})};async attach(e){this.player.addEventListener(Twitch.Player.READY,this.handleReady),this.player.addEventListener(Twitch.Player.PLAYING,this.handlePlay),this.player.addEventListener(Twitch.Player.PAUSE,this.handlePause),this.player.addEventListener(Twitch.Player.ENDED,this.handleEnded),this.player.addEventListener(Twitch.Player.SEEK,this.handleSeek)}async detach(){}async loadVideo(e){this.player.setVideo(e,0)}async play(){this.player.play()}async pause(){this.player.pause()}async setCurrentTime(e){this.player.seek(e)}async setVolume(e){this.player.setVolume(e)}async setMuted(e){this.player.setMuted(e)}setPlaybackRate=void 0;async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return this.player.getMuted()}getPlaybackRate=void 0},G=class extends c.r{async attach(){await this.player.ready(),this.player.on(`error`,e=>this.options?.onError?.(e)),this.player.on(`loaded`,e=>this.options?.onLoaded?.({id:e.id.toString()})),this.player.on(`play`,()=>this.options?.onPlay?.()),this.player.on(`pause`,()=>this.options?.onPause?.()),this.player.on(`ended`,()=>this.options?.onEnded?.()),this.player.on(`timeupdate`,e=>{this.options?.onTimeUpdate?.({duration:e.duration,percent:e.percent,seconds:e.seconds})})}async detach(){this.player.off(`error`),this.player.off(`loaded`),this.player.off(`play`),this.player.off(`pause`),this.player.off(`ended`),this.player.off(`timeupdate`)}async loadVideo(e){await this.player.loadVideo(e)}async play(){await this.player.play()}async pause(){await this.player.pause()}async setCurrentTime(e){await this.player.setCurrentTime(e)}async setVolume(e){await this.player.setVolume(e)}async setMuted(e){await this.player.setMuted(e)}async setPlaybackRate(e){await this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()}async getMuted(){return await this.player.getMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}},K=function(e){return e[e.UNSTARTED=-1]=`UNSTARTED`,e[e.ENDED=0]=`ENDED`,e[e.PLAYING=1]=`PLAYING`,e[e.PAUSED=2]=`PAUSED`,e[e.BUFFERING=3]=`BUFFERING`,e[e.CUED=5]=`CUED`,e}(K||{}),q=class extends c.r{previousTime;timeUpdateIntervalId;clearTimeUpdateInterval(){this.logger.log(c.a.Debug,`clearTimeUpdateInterval`,this.timeUpdateIntervalId),window.clearInterval(this.timeUpdateIntervalId),this.timeUpdateIntervalId=void 0}invokeTimeUpdate(e){let t=e.getCurrentTime();if(t===this.previousTime)return;let n=e.getDuration();this.options?.onTimeUpdate?.({duration:n,percent:t/n,seconds:t}),this.previousTime=t}setTimeUpdateInterval(){this.logger.log(c.a.Debug,`setTimeUpdateInterval`),this.clearTimeUpdateInterval(),this.timeUpdateIntervalId=window.setInterval(()=>this.invokeTimeUpdate(this.player),250),this.logger.log(c.a.Debug,`timeUpdateIntervalId`,this.timeUpdateIntervalId),this.invokeTimeUpdate(this.player)}attach(e){return new Promise((t,n)=>{this.player.addEventListener(`onReady`,async()=>{this.player.addEventListener(`onError`,e=>this.options?.onError?.(e.data)),this.player.addEventListener(`onStateChange`,t=>{switch(this.logger.log(c.a.Debug,`state changed: ${K[t.data]}`),t.data){case YT.PlayerState.CUED:this.options?.onLoaded?.({id:e});break;case YT.PlayerState.PLAYING:this.options?.onPlay?.(),this.setTimeUpdateInterval();break;case YT.PlayerState.PAUSED:this.options?.onPause?.(),this.clearTimeUpdateInterval();break;case YT.PlayerState.ENDED:this.options?.onEnded?.(),this.clearTimeUpdateInterval();break}}),await this.loadVideo(e),t()})})}async detach(){this.clearTimeUpdateInterval()}async loadVideo(e){this.previousTime=void 0,this.player.cueVideoById(e)}async play(){this.player.playVideo()}async pause(){this.player.pauseVideo()}async setCurrentTime(e){this.player.seekTo(e),this.invokeTimeUpdate(this.player)}async setVolume(e){this.player.setVolume(e*100)}async setMuted(e){e?this.player.mute():this.player.unMute()}async setPlaybackRate(e){this.player.setPlaybackRate(e)}async getDuration(){return this.player.getDuration()}async getCurrentTime(){return this.player.getCurrentTime()}async getVolume(){return this.player.getVolume()/100}async getMuted(){return this.player.isMuted()}async getPlaybackRate(){return this.player.getPlaybackRate()}};exports.AudioPlayerController=R,exports.DailymotionPlayerController=B,exports.LogLevel=c.a,exports.NiconicoPlayerController=H,exports.NostalgicDiva=F,exports.NostalgicDivaElement=I,exports.NostalgicDivaProvider=p,exports.PlayerContainer=c.t,exports.PlayerController=c.n,exports.PlayerControllerImpl=c.r,exports.SoundCloudPlayerController=U,exports.TwitchPlayerController=W,exports.VideoService=h,exports.VimeoPlayerController=G,exports.YouTubePlayerController=q,exports.defaultLogger=c.o,exports.defineNostalgicDiva=L,exports.findVideoService=j,exports.nullPlayerController=c.i,exports.players=M,exports.t=s,exports.useNostalgicDiva=m,exports.videoServices=A;
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|