@aigamo/nostalgic-diva 1.16.0-rc.2 → 1.16.0-rc.3
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-DYTgFDsb.js → AudioPlayer-DPiP_j1z.js} +3 -3
- package/dist/AudioPlayer-DPiP_j1z.js.map +1 -0
- package/dist/{AudioPlayer-1K9W0RJb.cjs → AudioPlayer-DaDlxXaP.cjs} +2 -2
- package/dist/AudioPlayer-DaDlxXaP.cjs.map +1 -0
- package/dist/{DailymotionPlayer-CHi90pep.js → DailymotionPlayer-BXC_M5Iu.js} +4 -4
- package/dist/DailymotionPlayer-BXC_M5Iu.js.map +1 -0
- package/dist/{DailymotionPlayer-DZ0YvhEC.cjs → DailymotionPlayer-WincrEXx.cjs} +2 -2
- package/dist/DailymotionPlayer-WincrEXx.cjs.map +1 -0
- package/dist/{NiconicoPlayer-Cet5yuM9.cjs → NiconicoPlayer-DQJX58Qg.cjs} +2 -2
- package/dist/NiconicoPlayer-DQJX58Qg.cjs.map +1 -0
- package/dist/{NiconicoPlayer-CAQQN_Ys.js → NiconicoPlayer-JHS5aQ0E.js} +3 -3
- package/dist/NiconicoPlayer-JHS5aQ0E.js.map +1 -0
- package/dist/{PlayerContainer-DpbwZ2CV.cjs → PlayerContainer-C2nRJ7V_.cjs} +2 -2
- package/dist/PlayerContainer-C2nRJ7V_.cjs.map +1 -0
- package/dist/{PlayerContainer-Da78F7M0.js → PlayerContainer-DxWOBf2x.js} +2 -2
- package/dist/PlayerContainer-DxWOBf2x.js.map +1 -0
- package/dist/{SoundCloudPlayer-COM7uCxE.cjs → SoundCloudPlayer-3Cyzk3uh.cjs} +2 -2
- package/dist/SoundCloudPlayer-3Cyzk3uh.cjs.map +1 -0
- package/dist/{SoundCloudPlayer-CDxa1Q_V.js → SoundCloudPlayer-ZkUD5X1L.js} +4 -4
- package/dist/SoundCloudPlayer-ZkUD5X1L.js.map +1 -0
- package/dist/{TwitchPlayer-G-2bnyQg.js → TwitchPlayer-B4_1-Evt.js} +4 -4
- package/dist/TwitchPlayer-B4_1-Evt.js.map +1 -0
- package/dist/{TwitchPlayer-BLwcNYI7.cjs → TwitchPlayer-Bfmg0eoY.cjs} +2 -2
- package/dist/TwitchPlayer-Bfmg0eoY.cjs.map +1 -0
- package/dist/{VimeoPlayer-EDnQb3iE.cjs → VimeoPlayer-BLqfbNQc.cjs} +2 -2
- package/dist/VimeoPlayer-BLqfbNQc.cjs.map +1 -0
- package/dist/{VimeoPlayer-C3YsFhMx.js → VimeoPlayer-C1PcMejA.js} +4 -4
- package/dist/VimeoPlayer-C1PcMejA.js.map +1 -0
- package/dist/{YouTubePlayer-BChwqwQX.js → YouTubePlayer-CaEPCRB3.js} +4 -4
- package/dist/YouTubePlayer-CaEPCRB3.js.map +1 -0
- package/dist/{YouTubePlayer-CPB3Qzvb.cjs → YouTubePlayer-Cf3w33PN.cjs} +2 -2
- package/dist/YouTubePlayer-Cf3w33PN.cjs.map +1 -0
- package/dist/{ensureScriptLoaded-Ci57s2DO.cjs → ensureScriptLoaded-DNKCqDit.cjs} +2 -2
- package/dist/ensureScriptLoaded-DNKCqDit.cjs.map +1 -0
- package/dist/{ensureScriptLoaded-BcG9pOxp.js → ensureScriptLoaded-DwRbyEJE.js} +2 -2
- package/dist/ensureScriptLoaded-DwRbyEJE.js.map +1 -0
- package/dist/{index-C4j8BPk4.js → index-Bj-AJUe2.js} +31 -31
- package/dist/index-Bj-AJUe2.js.map +1 -0
- package/dist/{index-DbrueNLc.cjs → index-_eCn8-fe.cjs} +2 -2
- package/dist/index-_eCn8-fe.cjs.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +1 -1
- package/package.json +4 -4
- package/dist/AudioPlayer-1K9W0RJb.cjs.map +0 -1
- package/dist/AudioPlayer-DYTgFDsb.js.map +0 -1
- package/dist/DailymotionPlayer-CHi90pep.js.map +0 -1
- package/dist/DailymotionPlayer-DZ0YvhEC.cjs.map +0 -1
- package/dist/NiconicoPlayer-CAQQN_Ys.js.map +0 -1
- package/dist/NiconicoPlayer-Cet5yuM9.cjs.map +0 -1
- package/dist/PlayerContainer-Da78F7M0.js.map +0 -1
- package/dist/PlayerContainer-DpbwZ2CV.cjs.map +0 -1
- package/dist/SoundCloudPlayer-CDxa1Q_V.js.map +0 -1
- package/dist/SoundCloudPlayer-COM7uCxE.cjs.map +0 -1
- package/dist/TwitchPlayer-BLwcNYI7.cjs.map +0 -1
- package/dist/TwitchPlayer-G-2bnyQg.js.map +0 -1
- package/dist/VimeoPlayer-C3YsFhMx.js.map +0 -1
- package/dist/VimeoPlayer-EDnQb3iE.cjs.map +0 -1
- package/dist/YouTubePlayer-BChwqwQX.js.map +0 -1
- package/dist/YouTubePlayer-CPB3Qzvb.cjs.map +0 -1
- package/dist/ensureScriptLoaded-BcG9pOxp.js.map +0 -1
- package/dist/ensureScriptLoaded-Ci57s2DO.cjs.map +0 -1
- package/dist/index-C4j8BPk4.js.map +0 -1
- package/dist/index-DbrueNLc.cjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as c } from "./PlayerContainer-
|
|
2
|
-
import { L as i, A as u } from "./index-
|
|
1
|
+
import { P as c } from "./PlayerContainer-DxWOBf2x.js";
|
|
2
|
+
import { L as i, A as u } from "./index-Bj-AJUe2.js";
|
|
3
3
|
import o, { memo as n, useCallback as s } from "react";
|
|
4
4
|
const P = n(({ ...r }) => {
|
|
5
5
|
const { logger: t } = r;
|
|
@@ -32,4 +32,4 @@ const P = n(({ ...r }) => {
|
|
|
32
32
|
export {
|
|
33
33
|
P as default
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=AudioPlayer-
|
|
35
|
+
//# sourceMappingURL=AudioPlayer-DPiP_j1z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioPlayer-DPiP_j1z.js","sources":["../src/components/AudioPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { AudioPlayerController } from '@/controllers/AudioPlayerController';\nimport { LogLevel } from '@/controllers/Logger';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst AudioPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'AudioPlayer');\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLAudioElement): Promise<HTMLAudioElement> => {\n\t\t\treturn Promise.resolve(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={undefined}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={AudioPlayerController}\n\t\t>\n\t\t\t{(elementRef, videoId): ReactElement => (\n\t\t\t\t<audio\n\t\t\t\t\tref={elementRef}\n\t\t\t\t\tsrc={videoId}\n\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\tpreload=\"auto\"\n\t\t\t\t\tautoPlay\n\t\t\t\t\tcontrols\n\t\t\t\t/>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default AudioPlayer;\n"],"names":["AudioPlayer","memo","props","logger","LogLevel","playerFactory","useCallback","element","React","PlayerContainer","AudioPlayerController","elementRef","videoId"],"mappings":";;;AAQA,MAAMA,IAAcC,EAAK,CAAC,EAAE,GAAGC,QAAuC;AACrE,QAAM,EAAE,QAAAC,MAAWD;AAEnB,EAAAC,EAAO,IAAIC,EAAS,OAAO,aAAa;AAExC,QAAMC,IAAgBC;AAAA,IACrB,CAACC,MACO,QAAQ,QAAQA,CAAO;AAAA,IAE/B,CAAA;AAAA,EAAC;AAGF,SACC,gBAAAC,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGP;AAAA,MACJ,YAAY;AAAA,MACZ,eAAAG;AAAA,MACA,mBAAmBK;AAAA,IAAA;AAAA,IAElB,CAACC,GAAYC,MACb,gBAAAJ,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,KAAKG;AAAA,QACL,KAAKC;AAAA,QACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,QAChC,SAAQ;AAAA,QACR,UAAQ;AAAA,QACR,UAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACT;AAIJ,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-
|
|
2
|
-
//# sourceMappingURL=AudioPlayer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-C2nRJ7V_.cjs"),o=require("./index-_eCn8-fe.cjs"),e=require("react"),c=e.memo(({...t})=>{const{logger:l}=t;l.log(o.LogLevel.Debug,"AudioPlayer");const a=e.useCallback(r=>Promise.resolve(r),[]);return e.createElement(u.PlayerContainer,{...t,loadScript:void 0,playerFactory:a,controllerFactory:o.AudioPlayerController},(r,n)=>e.createElement("audio",{ref:r,src:n,style:{width:"100%",height:"100%"},preload:"auto",autoPlay:!0,controls:!0}))});exports.default=c;
|
|
2
|
+
//# sourceMappingURL=AudioPlayer-DaDlxXaP.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioPlayer-DaDlxXaP.cjs","sources":["../src/components/AudioPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { AudioPlayerController } from '@/controllers/AudioPlayerController';\nimport { LogLevel } from '@/controllers/Logger';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst AudioPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'AudioPlayer');\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLAudioElement): Promise<HTMLAudioElement> => {\n\t\t\treturn Promise.resolve(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={undefined}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={AudioPlayerController}\n\t\t>\n\t\t\t{(elementRef, videoId): ReactElement => (\n\t\t\t\t<audio\n\t\t\t\t\tref={elementRef}\n\t\t\t\t\tsrc={videoId}\n\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\tpreload=\"auto\"\n\t\t\t\t\tautoPlay\n\t\t\t\t\tcontrols\n\t\t\t\t/>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default AudioPlayer;\n"],"names":["AudioPlayer","memo","props","logger","LogLevel","playerFactory","useCallback","element","React","PlayerContainer","AudioPlayerController","elementRef","videoId"],"mappings":"uLAQMA,EAAcC,EAAAA,KAAK,CAAC,CAAE,GAAGC,KAAuC,CACrE,KAAM,CAAE,OAAAC,GAAWD,EAEnBC,EAAO,IAAIC,WAAS,MAAO,aAAa,EAExC,MAAMC,EAAgBC,EAAAA,YACpBC,GACO,QAAQ,QAAQA,CAAO,EAE/B,CAAA,CAAC,EAGF,OACCC,EAAA,cAACC,EAAAA,gBAAA,CACC,GAAGP,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBK,EAAAA,qBAAA,EAElB,CAACC,EAAYC,IACbJ,EAAA,cAAC,QAAA,CACA,IAAKG,EACL,IAAKC,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,EAChC,QAAQ,OACR,SAAQ,GACR,SAAQ,EAAA,CAAA,CACT,CAIJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as m } from "./PlayerContainer-
|
|
2
|
-
import { L as y, D as s } from "./index-
|
|
3
|
-
import { e as g } from "./ensureScriptLoaded-
|
|
1
|
+
import { P as m } from "./PlayerContainer-DxWOBf2x.js";
|
|
2
|
+
import { L as y, D as s } from "./index-Bj-AJUe2.js";
|
|
3
|
+
import { e as g } from "./ensureScriptLoaded-DwRbyEJE.js";
|
|
4
4
|
import t, { memo as u, useCallback as l } from "react";
|
|
5
5
|
const v = u(
|
|
6
6
|
({ options: e, ...o }) => {
|
|
@@ -62,4 +62,4 @@ const v = u(
|
|
|
62
62
|
export {
|
|
63
63
|
v as default
|
|
64
64
|
};
|
|
65
|
-
//# sourceMappingURL=DailymotionPlayer-
|
|
65
|
+
//# sourceMappingURL=DailymotionPlayer-BXC_M5Iu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DailymotionPlayer-BXC_M5Iu.js","sources":["../src/components/DailymotionPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { DailymotionPlayerController } from '@/controllers/DailymotionPlayerController';\nimport { LogLevel } from '@/controllers/Logger';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst DailymotionPlayer = memo(\n\t({ options, ...props }: PlayerProps): ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'DailymotionPlayer');\n\n\t\tconst loadScript = useCallback(async () => {\n\t\t\tawait ensureScriptLoaded('https://api.dmcdn.net/all.js', logger);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = useCallback(\n\t\t\t(element: HTMLDivElement, videoId: string): Promise<DM.player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew DM.player(element, {\n\t\t\t\t\t\tvideo: videoId,\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\tapiready: (): void => {\n\t\t\t\t\t\t\t\toptions?.onLoaded?.({ id: videoId });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tseeked: (): void => {\n\t\t\t\t\t\t\t\toptions?.onTimeUpdate?.({\n\t\t\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t\t\t\tpercent: 0,\n\t\t\t\t\t\t\t\t\tseconds: 0,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvideo_end: (): void => {\n\t\t\t\t\t\t\t\toptions?.onEnded?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdurationchange: (): void => {},\n\t\t\t\t\t\t\tpause: (): void => {\n\t\t\t\t\t\t\t\toptions?.onPause?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tplaying: (): void => {\n\t\t\t\t\t\t\t\toptions?.onPlay?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twaiting: (): void => {},\n\t\t\t\t\t\t\terror: (error): void => {\n\t\t\t\t\t\t\t\toptions?.onError?.(error);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[options],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\toptions={options}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={DailymotionPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): ReactElement => (\n\t\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t\t<div ref={elementRef} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default DailymotionPlayer;\n"],"names":["DailymotionPlayer","memo","options","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","videoId","error","React","PlayerContainer","DailymotionPlayerController","elementRef"],"mappings":";;;;AASA,MAAMA,IAAoBC;AAAA,EACzB,CAAC,EAAE,SAAAC,GAAS,GAAGC,QAAuC;AACrD,UAAM,EAAE,QAAAC,MAAWD;AAEnB,IAAAC,EAAO,IAAIC,EAAS,OAAO,mBAAmB;AAE9C,UAAMC,IAAaC,EAAY,YAAY;AAC1C,YAAMC,EAAmB,gCAAgCJ,CAAM;AAAA,IAChE,GAAG,CAACA,CAAM,CAAC,GAELK,IAAgBF;AAAA,MACrB,CAACG,GAAyBC,MAClB,QAAQ;AAAA,QACd,IAAI,GAAG,OAAOD,GAAS;AAAA,UACtB,OAAOC;AAAA,UACP,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,QAAQ;AAAA,YACP,UAAU,MAAY;AACrB,cAAAT,GAAS,WAAW,EAAE,IAAIS,EAAA,CAAS;AAAA,YACpC;AAAA,YACA,QAAQ,MAAY;AACnB,cAAAT,GAAS,eAAe;AAAA,gBACvB,UAAU;AAAA,gBACV,SAAS;AAAA,gBACT,SAAS;AAAA,cAAA,CACT;AAAA,YACF;AAAA,YACA,WAAW,MAAY;AACtB,cAAAA,GAAS,UAAA;AAAA,YACV;AAAA,YACA,gBAAgB,MAAY;AAAA,YAAC;AAAA,YAC7B,OAAO,MAAY;AAClB,cAAAA,GAAS,UAAA;AAAA,YACV;AAAA,YACA,SAAS,MAAY;AACpB,cAAAA,GAAS,SAAA;AAAA,YACV;AAAA,YACA,SAAS,MAAY;AAAA,YAAC;AAAA,YACtB,OAAO,CAACU,MAAgB;AACvB,cAAAV,GAAS,UAAUU,CAAK;AAAA,YACzB;AAAA,UAAA;AAAA,QACD,CACA;AAAA,MAAA;AAAA,MAGH,CAACV,CAAO;AAAA,IAAA;AAGT,WACC,gBAAAW,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,GAAGX;AAAA,QACJ,SAAAD;AAAA,QACA,YAAAI;AAAA,QACA,eAAAG;AAAA,QACA,mBAAmBM;AAAA,MAAA;AAAA,MAElB,CAACC,MACD,gBAAAH,EAAA,cAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,SAAO,GAC3C,gBAAAA,EAAA,cAAC,OAAA,EAAI,KAAKG,GAAY,CACvB;AAAA,IAAA;AAAA,EAIJ;AACD;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-
|
|
2
|
-
//# sourceMappingURL=DailymotionPlayer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-C2nRJ7V_.cjs"),o=require("./index-_eCn8-fe.cjs"),y=require("./ensureScriptLoaded-DNKCqDit.cjs"),r=require("react"),s=r.memo(({options:e,...n})=>{const{logger:a}=n;a.log(o.LogLevel.Debug,"DailymotionPlayer");const i=r.useCallback(async()=>{await y.ensureScriptLoaded("https://api.dmcdn.net/all.js",a)},[a]),c=r.useCallback((t,l)=>Promise.resolve(new DM.player(t,{video:l,width:"100%",height:"100%",events:{apiready:()=>{e?.onLoaded?.({id:l})},seeked:()=>{e?.onTimeUpdate?.({duration:0,percent:0,seconds:0})},video_end:()=>{e?.onEnded?.()},durationchange:()=>{},pause:()=>{e?.onPause?.()},playing:()=>{e?.onPlay?.()},waiting:()=>{},error:d=>{e?.onError?.(d)}}})),[e]);return r.createElement(u.PlayerContainer,{...n,options:e,loadScript:i,playerFactory:c,controllerFactory:o.DailymotionPlayerController},t=>r.createElement("div",{style:{width:"100%",height:"100%"}},r.createElement("div",{ref:t})))});exports.default=s;
|
|
2
|
+
//# sourceMappingURL=DailymotionPlayer-WincrEXx.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DailymotionPlayer-WincrEXx.cjs","sources":["../src/components/DailymotionPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { DailymotionPlayerController } from '@/controllers/DailymotionPlayerController';\nimport { LogLevel } from '@/controllers/Logger';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst DailymotionPlayer = memo(\n\t({ options, ...props }: PlayerProps): ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'DailymotionPlayer');\n\n\t\tconst loadScript = useCallback(async () => {\n\t\t\tawait ensureScriptLoaded('https://api.dmcdn.net/all.js', logger);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = useCallback(\n\t\t\t(element: HTMLDivElement, videoId: string): Promise<DM.player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew DM.player(element, {\n\t\t\t\t\t\tvideo: videoId,\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\tapiready: (): void => {\n\t\t\t\t\t\t\t\toptions?.onLoaded?.({ id: videoId });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tseeked: (): void => {\n\t\t\t\t\t\t\t\toptions?.onTimeUpdate?.({\n\t\t\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t\t\t\tpercent: 0,\n\t\t\t\t\t\t\t\t\tseconds: 0,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvideo_end: (): void => {\n\t\t\t\t\t\t\t\toptions?.onEnded?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdurationchange: (): void => {},\n\t\t\t\t\t\t\tpause: (): void => {\n\t\t\t\t\t\t\t\toptions?.onPause?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tplaying: (): void => {\n\t\t\t\t\t\t\t\toptions?.onPlay?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twaiting: (): void => {},\n\t\t\t\t\t\t\terror: (error): void => {\n\t\t\t\t\t\t\t\toptions?.onError?.(error);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[options],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\toptions={options}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={DailymotionPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): ReactElement => (\n\t\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t\t<div ref={elementRef} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default DailymotionPlayer;\n"],"names":["DailymotionPlayer","memo","options","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","videoId","error","React","PlayerContainer","DailymotionPlayerController","elementRef"],"mappings":"sOASMA,EAAoBC,EAAAA,KACzB,CAAC,CAAE,QAAAC,EAAS,GAAGC,KAAuC,CACrD,KAAM,CAAE,OAAAC,GAAWD,EAEnBC,EAAO,IAAIC,WAAS,MAAO,mBAAmB,EAE9C,MAAMC,EAAaC,EAAAA,YAAY,SAAY,CAC1C,MAAMC,EAAAA,mBAAmB,+BAAgCJ,CAAM,CAChE,EAAG,CAACA,CAAM,CAAC,EAELK,EAAgBF,EAAAA,YACrB,CAACG,EAAyBC,IAClB,QAAQ,QACd,IAAI,GAAG,OAAOD,EAAS,CACtB,MAAOC,EACP,MAAO,OACP,OAAQ,OACR,OAAQ,CACP,SAAU,IAAY,CACrBT,GAAS,WAAW,CAAE,GAAIS,CAAA,CAAS,CACpC,EACA,OAAQ,IAAY,CACnBT,GAAS,eAAe,CACvB,SAAU,EACV,QAAS,EACT,QAAS,CAAA,CACT,CACF,EACA,UAAW,IAAY,CACtBA,GAAS,UAAA,CACV,EACA,eAAgB,IAAY,CAAC,EAC7B,MAAO,IAAY,CAClBA,GAAS,UAAA,CACV,EACA,QAAS,IAAY,CACpBA,GAAS,SAAA,CACV,EACA,QAAS,IAAY,CAAC,EACtB,MAAQU,GAAgB,CACvBV,GAAS,UAAUU,CAAK,CACzB,CAAA,CACD,CACA,CAAA,EAGH,CAACV,CAAO,CAAA,EAGT,OACCW,EAAA,cAACC,EAAAA,gBAAA,CACC,GAAGX,EACJ,QAAAD,EACA,WAAAI,EACA,cAAAG,EACA,kBAAmBM,EAAAA,2BAAA,EAEjBC,GACDH,EAAA,cAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,OAAO,EAC3CA,EAAA,cAAC,MAAA,CAAI,IAAKG,EAAY,CACvB,CAAA,CAIJ,CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./PlayerContainer-
|
|
2
|
-
//# sourceMappingURL=NiconicoPlayer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./PlayerContainer-C2nRJ7V_.cjs"),o=require("./index-_eCn8-fe.cjs"),e=require("react"),i=e.memo(({...t})=>{const{logger:l}=t;l.log(o.LogLevel.Debug,"NiconicoPlayer");const a=e.useCallback(r=>Promise.resolve(r),[]);return e.createElement(n.PlayerContainer,{...t,loadScript:void 0,playerFactory:a,controllerFactory:o.NiconicoPlayerController},(r,c)=>e.createElement("div",{style:{width:"100%",height:"100%"}},e.createElement("iframe",{ref:r,src:`https://embed.nicovideo.jp/watch/${c}?jsapi=1&playerId=1`,width:"100%",height:"100%",allowFullScreen:!0,style:{border:"none"},allow:"autoplay; fullscreen"})))});exports.default=i;
|
|
2
|
+
//# sourceMappingURL=NiconicoPlayer-DQJX58Qg.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NiconicoPlayer-DQJX58Qg.cjs","sources":["../src/components/NiconicoPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { NiconicoPlayerController } from '@/controllers/NiconicoPlayerController';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst NiconicoPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'NiconicoPlayer');\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLIFrameElement): Promise<HTMLIFrameElement> => {\n\t\t\treturn Promise.resolve(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={undefined}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={NiconicoPlayerController}\n\t\t>\n\t\t\t{(elementRef, videoId): ReactElement => (\n\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t{/* eslint-disable-next-line jsx-a11y/iframe-has-title */}\n\t\t\t\t\t<iframe\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tsrc={`https://embed.nicovideo.jp/watch/${videoId}?jsapi=1&playerId=1`}\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\tallowFullScreen\n\t\t\t\t\t\tstyle={{ border: 'none' }}\n\t\t\t\t\t\t// The player has to have the allow=\"autoplay\" attribute.\n\t\t\t\t\t\t// Otherwise it throws a NotAllowedError: \"play() failed because the user didn't interact with the document first\".\n\t\t\t\t\t\t// See also: https://github.com/vimeo/player.js/issues/389.\n\t\t\t\t\t\t// NOTE: An iframe element created by `PVPlayerNiconico.playerFactory.create` doesn't have the allow=\"autoplay\" attribute,\n\t\t\t\t\t\t// which causes the above issue when trying to autoplay a video.\n\t\t\t\t\t\tallow=\"autoplay; fullscreen\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default NiconicoPlayer;\n"],"names":["NiconicoPlayer","memo","props","logger","LogLevel","playerFactory","useCallback","element","React","PlayerContainer","NiconicoPlayerController","elementRef","videoId"],"mappings":"uLAQMA,EAAiBC,EAAAA,KAAK,CAAC,CAAE,GAAGC,KAAuC,CACxE,KAAM,CAAE,OAAAC,GAAWD,EAEnBC,EAAO,IAAIC,WAAS,MAAO,gBAAgB,EAE3C,MAAMC,EAAgBC,EAAAA,YACpBC,GACO,QAAQ,QAAQA,CAAO,EAE/B,CAAA,CAAC,EAGF,OACCC,EAAA,cAACC,EAAAA,gBAAA,CACC,GAAGP,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBK,EAAAA,wBAAA,EAElB,CAACC,EAAYC,IACbJ,EAAA,cAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,EAE3CA,EAAA,cAAC,SAAA,CACA,IAAKG,EACL,IAAK,oCAAoCC,CAAO,sBAChD,MAAM,OACN,OAAO,OACP,gBAAe,GACf,MAAO,CAAE,OAAQ,MAAA,EAMjB,MAAM,sBAAA,CAAA,CAER,CAAA,CAIJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as c } from "./PlayerContainer-
|
|
2
|
-
import { L as i, N as n } from "./index-
|
|
1
|
+
import { P as c } from "./PlayerContainer-DxWOBf2x.js";
|
|
2
|
+
import { L as i, N as n } from "./index-Bj-AJUe2.js";
|
|
3
3
|
import r, { memo as s, useCallback as m } from "react";
|
|
4
4
|
const u = s(({ ...o }) => {
|
|
5
5
|
const { logger: t } = o;
|
|
@@ -33,4 +33,4 @@ const u = s(({ ...o }) => {
|
|
|
33
33
|
export {
|
|
34
34
|
u as default
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=NiconicoPlayer-
|
|
36
|
+
//# sourceMappingURL=NiconicoPlayer-JHS5aQ0E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NiconicoPlayer-JHS5aQ0E.js","sources":["../src/components/NiconicoPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { NiconicoPlayerController } from '@/controllers/NiconicoPlayerController';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst NiconicoPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'NiconicoPlayer');\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLIFrameElement): Promise<HTMLIFrameElement> => {\n\t\t\treturn Promise.resolve(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={undefined}\n\t\t\tplayerFactory={playerFactory}\n\t\t\tcontrollerFactory={NiconicoPlayerController}\n\t\t>\n\t\t\t{(elementRef, videoId): ReactElement => (\n\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t{/* eslint-disable-next-line jsx-a11y/iframe-has-title */}\n\t\t\t\t\t<iframe\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tsrc={`https://embed.nicovideo.jp/watch/${videoId}?jsapi=1&playerId=1`}\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\tallowFullScreen\n\t\t\t\t\t\tstyle={{ border: 'none' }}\n\t\t\t\t\t\t// The player has to have the allow=\"autoplay\" attribute.\n\t\t\t\t\t\t// Otherwise it throws a NotAllowedError: \"play() failed because the user didn't interact with the document first\".\n\t\t\t\t\t\t// See also: https://github.com/vimeo/player.js/issues/389.\n\t\t\t\t\t\t// NOTE: An iframe element created by `PVPlayerNiconico.playerFactory.create` doesn't have the allow=\"autoplay\" attribute,\n\t\t\t\t\t\t// which causes the above issue when trying to autoplay a video.\n\t\t\t\t\t\tallow=\"autoplay; fullscreen\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</PlayerContainer>\n\t);\n});\n\nexport default NiconicoPlayer;\n"],"names":["NiconicoPlayer","memo","props","logger","LogLevel","playerFactory","useCallback","element","React","PlayerContainer","NiconicoPlayerController","elementRef","videoId"],"mappings":";;;AAQA,MAAMA,IAAiBC,EAAK,CAAC,EAAE,GAAGC,QAAuC;AACxE,QAAM,EAAE,QAAAC,MAAWD;AAEnB,EAAAC,EAAO,IAAIC,EAAS,OAAO,gBAAgB;AAE3C,QAAMC,IAAgBC;AAAA,IACrB,CAACC,MACO,QAAQ,QAAQA,CAAO;AAAA,IAE/B,CAAA;AAAA,EAAC;AAGF,SACC,gBAAAC,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGP;AAAA,MACJ,YAAY;AAAA,MACZ,eAAAG;AAAA,MACA,mBAAmBK;AAAA,IAAA;AAAA,IAElB,CAACC,GAAYC,MACb,gBAAAJ,EAAA,cAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA,EAAO,GAE3C,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,KAAKG;AAAA,QACL,KAAK,oCAAoCC,CAAO;AAAA,QAChD,OAAM;AAAA,QACN,QAAO;AAAA,QACP,iBAAe;AAAA,QACf,OAAO,EAAE,QAAQ,OAAA;AAAA,QAMjB,OAAM;AAAA,MAAA;AAAA,IAAA,CAER;AAAA,EAAA;AAIJ,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("react"),i=require("./index-
|
|
2
|
-
//# sourceMappingURL=PlayerContainer-
|
|
1
|
+
"use strict";const t=require("react"),i=require("./index-_eCn8-fe.cjs");function y(){const e=t.useRef(!0);return e.current?(e.current=!1,!0):e.current}const h=(e,r)=>e===r;function q(e,r=h){const n=t.useRef(),u=t.useRef(e);return!y()&&!r(u.current,e)&&(n.current=u.current,u.current=e),n.current}const F=({logger:e,type:r,loadScript:n,playerFactory:u,onControllerChange:f,videoId:c,options:R,controllerFactory:P,children:C})=>{e.log(i.LogLevel.Debug,"PlayerContainer");const l=t.useRef(c),v=t.useRef(void 0),[a,m]=t.useState(),[o,d]=t.useState(i.nullPlayerController);t.useEffect(()=>{f?.(o)},[o,f]),t.useEffect(()=>{(n?.()??Promise.resolve()).then(()=>u(v.current,l.current)).then(s=>m(s))},[n,u]),t.useEffect(()=>{if(a===void 0)return;const s=new i.PlayerController(e,r,a,R,P);return d(s),s.attach(l.current),()=>{d(i.nullPlayerController),s.detach()}},[e,r,n,a,R,P]);const E=q(c);return t.useEffect(()=>{E!==void 0&&o.loadVideo(c)},[E,c,o]),t.createElement(t.Fragment,null,C(v,l.current))};exports.PlayerContainer=F;
|
|
2
|
+
//# sourceMappingURL=PlayerContainer-C2nRJ7V_.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerContainer-C2nRJ7V_.cjs","sources":["../src/components/useFirstMountState.ts","../src/components/usePreviousDistinct.ts","../src/components/PlayerContainer.tsx"],"sourcesContent":["// https://github.com/streamich/react-use/blob/8ceb4c0f0c5625124f487b435a2fd0d3b3bc2a4f/src/useFirstMountState.ts\nimport { useRef } from 'react';\n\nexport function useFirstMountState(): boolean {\n\tconst isFirst = useRef(true);\n\n\tif (isFirst.current) {\n\t\tisFirst.current = false;\n\n\t\treturn true;\n\t}\n\n\treturn isFirst.current;\n}\n","// https://github.com/streamich/react-use/blob/8ceb4c0f0c5625124f487b435a2fd0d3b3bc2a4f/src/usePreviousDistinct.ts.\nimport { useFirstMountState } from '@/components/useFirstMountState';\nimport { useRef } from 'react';\n\nexport type Predicate<T> = (prev: T | undefined, next: T) => boolean;\n\nconst strictEquals = <T>(prev: T | undefined, next: T): boolean =>\n\tprev === next;\n\nexport default function usePreviousDistinct<T>(\n\tvalue: T,\n\tcompare: Predicate<T> = strictEquals,\n): T | undefined {\n\tconst prevRef = useRef<T>();\n\tconst curRef = useRef<T>(value);\n\tconst isFirstMount = useFirstMountState();\n\n\tif (!isFirstMount && !compare(curRef.current, value)) {\n\t\tprevRef.current = curRef.current;\n\t\tcurRef.current = value;\n\t}\n\n\treturn prevRef.current;\n}\n","import usePreviousDistinct from '@/components/usePreviousDistinct';\nimport { type ILogger, LogLevel } from '@/controllers/Logger';\nimport { nullPlayerController } from '@/controllers/NullPlayerController';\nimport {\n\ttype IPlayerController,\n\tPlayerController,\n\ttype PlayerOptions,\n\tPlayerType,\n} from '@/controllers/PlayerController';\nimport { PlayerControllerImpl } from '@/controllers/PlayerControllerImpl';\nimport React, {\n\ttype MutableRefObject,\n\ttype ReactElement,\n\ttype ReactNode,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\n\nexport interface PlayerProps {\n\tlogger: ILogger;\n\ttype: PlayerType;\n\tonControllerChange: ((value: IPlayerController) => void) | undefined;\n\tvideoId: string;\n\toptions: PlayerOptions | undefined;\n}\n\ninterface PlayerContainerProps<\n\tTElement extends HTMLElement,\n\tTPlayer extends object,\n\tTController extends PlayerControllerImpl<TPlayer>,\n> extends PlayerProps {\n\tloadScript: (() => Promise<void>) | undefined;\n\tplayerFactory: (element: TElement, videoId: string) => Promise<TPlayer>;\n\tcontrollerFactory: new (\n\t\tlogger: ILogger,\n\t\tplayer: TPlayer,\n\t\toptions: PlayerOptions | undefined,\n\t) => TController;\n\tchildren: (\n\t\telementRef: MutableRefObject<TElement>,\n\t\tvideoId: string,\n\t) => ReactNode;\n}\n\nexport const PlayerContainer = <\n\tTElement extends HTMLElement,\n\tTPlayer extends object,\n\tTController extends PlayerControllerImpl<TPlayer>,\n>({\n\tlogger,\n\ttype,\n\tloadScript,\n\tplayerFactory,\n\tonControllerChange,\n\tvideoId,\n\toptions,\n\tcontrollerFactory,\n\tchildren,\n}: PlayerContainerProps<TElement, TPlayer, TController>): ReactElement<\n\tPlayerContainerProps<TElement, TPlayer, TController>\n> => {\n\tlogger.log(LogLevel.Debug, 'PlayerContainer');\n\n\tconst videoIdRef = useRef(videoId);\n\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tconst elementRef = useRef<TElement>(undefined!);\n\n\tconst [player, setPlayer] = useState<TPlayer>();\n\n\tconst [controller, setController] =\n\t\tuseState<IPlayerController>(nullPlayerController);\n\tuseEffect(() => {\n\t\tonControllerChange?.(controller);\n\t}, [controller, onControllerChange]);\n\n\tuseEffect(() => {\n\t\tvoid (loadScript?.() ?? Promise.resolve())\n\t\t\t.then(() => playerFactory(elementRef.current, videoIdRef.current))\n\t\t\t.then((player) => setPlayer(player));\n\t}, [loadScript, playerFactory]);\n\n\t// Make sure that `options` do not change between re-rendering.\n\tuseEffect(() => {\n\t\tif (player === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst controller = new PlayerController(\n\t\t\tlogger,\n\t\t\ttype,\n\t\t\tplayer,\n\t\t\toptions,\n\t\t\tcontrollerFactory,\n\t\t);\n\n\t\tsetController(controller);\n\t\tvoid controller.attach(videoIdRef.current);\n\n\t\treturn (): void => {\n\t\t\tsetController(nullPlayerController);\n\t\t\tvoid controller.detach();\n\t\t};\n\t}, [logger, type, loadScript, player, options, controllerFactory]);\n\n\tconst previousVideoId = usePreviousDistinct(videoId);\n\tuseEffect(() => {\n\t\t// If `previousVideoId` is undefined, then it means that the video has already been loaded by either\n\t\t// 1. `<audio>`s `src` attribute (e.g. `AudioPlayer`),\n\t\t// 2. `<iframe>`'s `src` attribute (e.g. `NiconicoPlayer`, `SoundCloudPlayer` and `VimeoPlayer`), or\n\t\t// 3. the `attach` method of the player API (e.g. `YouTubePlayer`).\n\t\tif (previousVideoId === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tvoid controller.loadVideo(videoId);\n\t}, [previousVideoId, videoId, controller]);\n\n\t// Make sure that `videoId` does not change between re-rendering.\n\treturn <>{children(elementRef, videoIdRef.current)}</>;\n};\n"],"names":["useFirstMountState","isFirst","useRef","strictEquals","prev","next","usePreviousDistinct","value","compare","prevRef","curRef","PlayerContainer","logger","type","loadScript","playerFactory","onControllerChange","videoId","options","controllerFactory","children","LogLevel","videoIdRef","elementRef","player","setPlayer","useState","controller","setController","nullPlayerController","useEffect","PlayerController","previousVideoId","React"],"mappings":"wEAGO,SAASA,GAA8B,CAC7C,MAAMC,EAAUC,EAAAA,OAAO,EAAI,EAE3B,OAAID,EAAQ,SACXA,EAAQ,QAAU,GAEX,IAGDA,EAAQ,OAChB,CCPA,MAAME,EAAe,CAAIC,EAAqBC,IAC7CD,IAASC,EAEV,SAAwBC,EACvBC,EACAC,EAAwBL,EACR,CAChB,MAAMM,EAAUP,EAAAA,OAAA,EACVQ,EAASR,EAAAA,OAAUK,CAAK,EAG9B,MAAI,CAFiBP,EAAA,GAEA,CAACQ,EAAQE,EAAO,QAASH,CAAK,IAClDE,EAAQ,QAAUC,EAAO,QACzBA,EAAO,QAAUH,GAGXE,EAAQ,OAChB,CCsBO,MAAME,EAAkB,CAI7B,CACD,OAAAC,EACA,KAAAC,EACA,WAAAC,EACA,cAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,QAAAC,EACA,kBAAAC,EACA,SAAAC,CACD,IAEK,CACJR,EAAO,IAAIS,WAAS,MAAO,iBAAiB,EAE5C,MAAMC,EAAapB,EAAAA,OAAOe,CAAO,EAG3BM,EAAarB,EAAAA,OAAiB,MAAU,EAExC,CAACsB,EAAQC,CAAS,EAAIC,WAAA,EAEtB,CAACC,EAAYC,CAAa,EAC/BF,EAAAA,SAA4BG,EAAAA,oBAAoB,EACjDC,EAAAA,UAAU,IAAM,CACfd,IAAqBW,CAAU,CAChC,EAAG,CAACA,EAAYX,CAAkB,CAAC,EAEnCc,EAAAA,UAAU,IAAM,EACThB,OAAkB,QAAQ,WAC9B,KAAK,IAAMC,EAAcQ,EAAW,QAASD,EAAW,OAAO,CAAC,EAChE,KAAME,GAAWC,EAAUD,CAAM,CAAC,CACrC,EAAG,CAACV,EAAYC,CAAa,CAAC,EAG9Be,EAAAA,UAAU,IAAM,CACf,GAAIN,IAAW,OACd,OAGD,MAAMG,EAAa,IAAII,EAAAA,iBACtBnB,EACAC,EACAW,EACAN,EACAC,CAAA,EAGD,OAAAS,EAAcD,CAAU,EACnBA,EAAW,OAAOL,EAAW,OAAO,EAElC,IAAY,CAClBM,EAAcC,EAAAA,oBAAoB,EAC7BF,EAAW,OAAA,CACjB,CACD,EAAG,CAACf,EAAQC,EAAMC,EAAYU,EAAQN,EAASC,CAAiB,CAAC,EAEjE,MAAMa,EAAkB1B,EAAoBW,CAAO,EACnDa,OAAAA,EAAAA,UAAU,IAAM,CAKXE,IAAoB,QAInBL,EAAW,UAAUV,CAAO,CAClC,EAAG,CAACe,EAAiBf,EAASU,CAAU,CAAC,EAGlCM,EAAA,cAAAA,EAAA,SAAA,KAAGb,EAASG,EAAYD,EAAW,OAAO,CAAE,CACpD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import h, { useRef as u, useState as C, useEffect as i } from "react";
|
|
2
|
-
import { L as M, n as E, P as y } from "./index-
|
|
2
|
+
import { L as M, n as E, P as y } from "./index-Bj-AJUe2.js";
|
|
3
3
|
function D() {
|
|
4
4
|
const r = u(!0);
|
|
5
5
|
return r.current ? (r.current = !1, !0) : r.current;
|
|
@@ -48,4 +48,4 @@ const w = ({
|
|
|
48
48
|
export {
|
|
49
49
|
w as P
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=PlayerContainer-
|
|
51
|
+
//# sourceMappingURL=PlayerContainer-DxWOBf2x.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerContainer-DxWOBf2x.js","sources":["../src/components/useFirstMountState.ts","../src/components/usePreviousDistinct.ts","../src/components/PlayerContainer.tsx"],"sourcesContent":["// https://github.com/streamich/react-use/blob/8ceb4c0f0c5625124f487b435a2fd0d3b3bc2a4f/src/useFirstMountState.ts\nimport { useRef } from 'react';\n\nexport function useFirstMountState(): boolean {\n\tconst isFirst = useRef(true);\n\n\tif (isFirst.current) {\n\t\tisFirst.current = false;\n\n\t\treturn true;\n\t}\n\n\treturn isFirst.current;\n}\n","// https://github.com/streamich/react-use/blob/8ceb4c0f0c5625124f487b435a2fd0d3b3bc2a4f/src/usePreviousDistinct.ts.\nimport { useFirstMountState } from '@/components/useFirstMountState';\nimport { useRef } from 'react';\n\nexport type Predicate<T> = (prev: T | undefined, next: T) => boolean;\n\nconst strictEquals = <T>(prev: T | undefined, next: T): boolean =>\n\tprev === next;\n\nexport default function usePreviousDistinct<T>(\n\tvalue: T,\n\tcompare: Predicate<T> = strictEquals,\n): T | undefined {\n\tconst prevRef = useRef<T>();\n\tconst curRef = useRef<T>(value);\n\tconst isFirstMount = useFirstMountState();\n\n\tif (!isFirstMount && !compare(curRef.current, value)) {\n\t\tprevRef.current = curRef.current;\n\t\tcurRef.current = value;\n\t}\n\n\treturn prevRef.current;\n}\n","import usePreviousDistinct from '@/components/usePreviousDistinct';\nimport { type ILogger, LogLevel } from '@/controllers/Logger';\nimport { nullPlayerController } from '@/controllers/NullPlayerController';\nimport {\n\ttype IPlayerController,\n\tPlayerController,\n\ttype PlayerOptions,\n\tPlayerType,\n} from '@/controllers/PlayerController';\nimport { PlayerControllerImpl } from '@/controllers/PlayerControllerImpl';\nimport React, {\n\ttype MutableRefObject,\n\ttype ReactElement,\n\ttype ReactNode,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\n\nexport interface PlayerProps {\n\tlogger: ILogger;\n\ttype: PlayerType;\n\tonControllerChange: ((value: IPlayerController) => void) | undefined;\n\tvideoId: string;\n\toptions: PlayerOptions | undefined;\n}\n\ninterface PlayerContainerProps<\n\tTElement extends HTMLElement,\n\tTPlayer extends object,\n\tTController extends PlayerControllerImpl<TPlayer>,\n> extends PlayerProps {\n\tloadScript: (() => Promise<void>) | undefined;\n\tplayerFactory: (element: TElement, videoId: string) => Promise<TPlayer>;\n\tcontrollerFactory: new (\n\t\tlogger: ILogger,\n\t\tplayer: TPlayer,\n\t\toptions: PlayerOptions | undefined,\n\t) => TController;\n\tchildren: (\n\t\telementRef: MutableRefObject<TElement>,\n\t\tvideoId: string,\n\t) => ReactNode;\n}\n\nexport const PlayerContainer = <\n\tTElement extends HTMLElement,\n\tTPlayer extends object,\n\tTController extends PlayerControllerImpl<TPlayer>,\n>({\n\tlogger,\n\ttype,\n\tloadScript,\n\tplayerFactory,\n\tonControllerChange,\n\tvideoId,\n\toptions,\n\tcontrollerFactory,\n\tchildren,\n}: PlayerContainerProps<TElement, TPlayer, TController>): ReactElement<\n\tPlayerContainerProps<TElement, TPlayer, TController>\n> => {\n\tlogger.log(LogLevel.Debug, 'PlayerContainer');\n\n\tconst videoIdRef = useRef(videoId);\n\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tconst elementRef = useRef<TElement>(undefined!);\n\n\tconst [player, setPlayer] = useState<TPlayer>();\n\n\tconst [controller, setController] =\n\t\tuseState<IPlayerController>(nullPlayerController);\n\tuseEffect(() => {\n\t\tonControllerChange?.(controller);\n\t}, [controller, onControllerChange]);\n\n\tuseEffect(() => {\n\t\tvoid (loadScript?.() ?? Promise.resolve())\n\t\t\t.then(() => playerFactory(elementRef.current, videoIdRef.current))\n\t\t\t.then((player) => setPlayer(player));\n\t}, [loadScript, playerFactory]);\n\n\t// Make sure that `options` do not change between re-rendering.\n\tuseEffect(() => {\n\t\tif (player === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst controller = new PlayerController(\n\t\t\tlogger,\n\t\t\ttype,\n\t\t\tplayer,\n\t\t\toptions,\n\t\t\tcontrollerFactory,\n\t\t);\n\n\t\tsetController(controller);\n\t\tvoid controller.attach(videoIdRef.current);\n\n\t\treturn (): void => {\n\t\t\tsetController(nullPlayerController);\n\t\t\tvoid controller.detach();\n\t\t};\n\t}, [logger, type, loadScript, player, options, controllerFactory]);\n\n\tconst previousVideoId = usePreviousDistinct(videoId);\n\tuseEffect(() => {\n\t\t// If `previousVideoId` is undefined, then it means that the video has already been loaded by either\n\t\t// 1. `<audio>`s `src` attribute (e.g. `AudioPlayer`),\n\t\t// 2. `<iframe>`'s `src` attribute (e.g. `NiconicoPlayer`, `SoundCloudPlayer` and `VimeoPlayer`), or\n\t\t// 3. the `attach` method of the player API (e.g. `YouTubePlayer`).\n\t\tif (previousVideoId === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tvoid controller.loadVideo(videoId);\n\t}, [previousVideoId, videoId, controller]);\n\n\t// Make sure that `videoId` does not change between re-rendering.\n\treturn <>{children(elementRef, videoIdRef.current)}</>;\n};\n"],"names":["useFirstMountState","isFirst","useRef","strictEquals","prev","next","usePreviousDistinct","value","compare","prevRef","curRef","PlayerContainer","logger","type","loadScript","playerFactory","onControllerChange","videoId","options","controllerFactory","children","LogLevel","videoIdRef","elementRef","player","setPlayer","useState","controller","setController","nullPlayerController","useEffect","PlayerController","previousVideoId","React"],"mappings":";;AAGO,SAASA,IAA8B;AAC7C,QAAMC,IAAUC,EAAO,EAAI;AAE3B,SAAID,EAAQ,WACXA,EAAQ,UAAU,IAEX,MAGDA,EAAQ;AAChB;ACPA,MAAME,IAAe,CAAIC,GAAqBC,MAC7CD,MAASC;AAEV,SAAwBC,EACvBC,GACAC,IAAwBL,GACR;AAChB,QAAMM,IAAUP,EAAA,GACVQ,IAASR,EAAUK,CAAK;AAG9B,SAAI,CAFiBP,EAAA,KAEA,CAACQ,EAAQE,EAAO,SAASH,CAAK,MAClDE,EAAQ,UAAUC,EAAO,SACzBA,EAAO,UAAUH,IAGXE,EAAQ;AAChB;ACsBO,MAAME,IAAkB,CAI7B;AAAA,EACD,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AACD,MAEK;AACJ,EAAAR,EAAO,IAAIS,EAAS,OAAO,iBAAiB;AAE5C,QAAMC,IAAapB,EAAOe,CAAO,GAG3BM,IAAarB,EAAiB,MAAU,GAExC,CAACsB,GAAQC,CAAS,IAAIC,EAAA,GAEtB,CAACC,GAAYC,CAAa,IAC/BF,EAA4BG,CAAoB;AACjD,EAAAC,EAAU,MAAM;AACf,IAAAd,IAAqBW,CAAU;AAAA,EAChC,GAAG,CAACA,GAAYX,CAAkB,CAAC,GAEnCc,EAAU,MAAM;AACf,KAAMhB,SAAkB,QAAQ,WAC9B,KAAK,MAAMC,EAAcQ,EAAW,SAASD,EAAW,OAAO,CAAC,EAChE,KAAK,CAACE,MAAWC,EAAUD,CAAM,CAAC;AAAA,EACrC,GAAG,CAACV,GAAYC,CAAa,CAAC,GAG9Be,EAAU,MAAM;AACf,QAAIN,MAAW;AACd;AAGD,UAAMG,IAAa,IAAII;AAAA,MACtBnB;AAAA,MACAC;AAAA,MACAW;AAAA,MACAN;AAAA,MACAC;AAAA,IAAA;AAGD,WAAAS,EAAcD,CAAU,GACnBA,EAAW,OAAOL,EAAW,OAAO,GAElC,MAAY;AAClB,MAAAM,EAAcC,CAAoB,GAC7BF,EAAW,OAAA;AAAA,IACjB;AAAA,EACD,GAAG,CAACf,GAAQC,GAAMC,GAAYU,GAAQN,GAASC,CAAiB,CAAC;AAEjE,QAAMa,IAAkB1B,EAAoBW,CAAO;AACnD,SAAAa,EAAU,MAAM;AAKf,IAAIE,MAAoB,UAInBL,EAAW,UAAUV,CAAO;AAAA,EAClC,GAAG,CAACe,GAAiBf,GAASU,CAAU,CAAC,GAGlC,gBAAAM,EAAA,cAAAA,EAAA,UAAA,MAAGb,EAASG,GAAYD,EAAW,OAAO,CAAE;AACpD;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-
|
|
2
|
-
//# sourceMappingURL=SoundCloudPlayer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-C2nRJ7V_.cjs"),l=require("./index-_eCn8-fe.cjs"),s=require("./ensureScriptLoaded-DNKCqDit.cjs"),e=require("react"),d=e.memo(({...t})=>{const{logger:r}=t;r.log(l.LogLevel.Debug,"SoundCloudPlayer");const a=e.useCallback(async()=>{await s.ensureScriptLoaded("https://w.soundcloud.com/player/api.js",r)},[r]),n=e.useCallback(o=>Promise.resolve(SC.Widget(o)),[]);return e.createElement(u.PlayerContainer,{...t,loadScript:a,playerFactory:n,controllerFactory:l.SoundCloudPlayerController},(o,c)=>e.createElement("iframe",{ref:o,src:`https://w.soundcloud.com/player/?url=${c}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}}))});exports.default=d;
|
|
2
|
+
//# sourceMappingURL=SoundCloudPlayer-3Cyzk3uh.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SoundCloudPlayer-3Cyzk3uh.cjs","sources":["../src/components/SoundCloudPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { SoundCloudPlayerController } from '@/controllers/SoundCloudPlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst SoundCloudPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'SoundCloudPlayer');\n\n\tconst loadScript = useCallback(async () => {\n\t\tawait ensureScriptLoaded(\n\t\t\t'https://w.soundcloud.com/player/api.js',\n\t\t\tlogger,\n\t\t);\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLIFrameElement): Promise<SC.SoundCloudWidget> => {\n\t\t\treturn Promise.resolve(SC.Widget(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={SoundCloudPlayerController}\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://w.soundcloud.com/player/?url=${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 SoundCloudPlayer;\n"],"names":["SoundCloudPlayer","memo","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","React","PlayerContainer","SoundCloudPlayerController","elementRef","videoId"],"mappings":"sOASMA,EAAmBC,EAAAA,KAAK,CAAC,CAAE,GAAGC,KAAuC,CAC1E,KAAM,CAAE,OAAAC,GAAWD,EAEnBC,EAAO,IAAIC,WAAS,MAAO,kBAAkB,EAE7C,MAAMC,EAAaC,EAAAA,YAAY,SAAY,CAC1C,MAAMC,EAAAA,mBACL,yCACAJ,CAAA,CAEF,EAAG,CAACA,CAAM,CAAC,EAELK,EAAgBF,EAAAA,YACpBG,GACO,QAAQ,QAAQ,GAAG,OAAOA,CAAO,CAAC,EAE1C,CAAA,CAAC,EAGF,OACCC,EAAA,cAACC,EAAAA,gBAAA,CACC,GAAGT,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBI,EAAAA,0BAAA,EAElB,CAACC,EAAYC,IAEbJ,EAAA,cAAC,SAAA,CACA,IAAKG,EACL,IAAK,wCAAwCC,CAAO,GACpD,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAIJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as n } from "./PlayerContainer-
|
|
2
|
-
import { L as u, S as d } from "./index-
|
|
3
|
-
import { e as m } from "./ensureScriptLoaded-
|
|
1
|
+
import { P as n } from "./PlayerContainer-DxWOBf2x.js";
|
|
2
|
+
import { L as u, S as d } from "./index-Bj-AJUe2.js";
|
|
3
|
+
import { e as m } from "./ensureScriptLoaded-DwRbyEJE.js";
|
|
4
4
|
import t, { memo as i, useCallback as a } from "react";
|
|
5
5
|
const C = i(({ ...r }) => {
|
|
6
6
|
const { logger: e } = r;
|
|
@@ -40,4 +40,4 @@ const C = i(({ ...r }) => {
|
|
|
40
40
|
export {
|
|
41
41
|
C as default
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=SoundCloudPlayer-
|
|
43
|
+
//# sourceMappingURL=SoundCloudPlayer-ZkUD5X1L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SoundCloudPlayer-ZkUD5X1L.js","sources":["../src/components/SoundCloudPlayer.tsx"],"sourcesContent":["import {\n\tPlayerContainer,\n\ttype PlayerProps,\n} from '@/components/PlayerContainer';\nimport { LogLevel } from '@/controllers/Logger';\nimport { SoundCloudPlayerController } from '@/controllers/SoundCloudPlayerController';\nimport { ensureScriptLoaded } from '@/controllers/ensureScriptLoaded';\nimport React, { type ReactElement, memo, useCallback } from 'react';\n\nconst SoundCloudPlayer = memo(({ ...props }: PlayerProps): ReactElement => {\n\tconst { logger } = props;\n\n\tlogger.log(LogLevel.Debug, 'SoundCloudPlayer');\n\n\tconst loadScript = useCallback(async () => {\n\t\tawait ensureScriptLoaded(\n\t\t\t'https://w.soundcloud.com/player/api.js',\n\t\t\tlogger,\n\t\t);\n\t}, [logger]);\n\n\tconst playerFactory = useCallback(\n\t\t(element: HTMLIFrameElement): Promise<SC.SoundCloudWidget> => {\n\t\t\treturn Promise.resolve(SC.Widget(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={SoundCloudPlayerController}\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://w.soundcloud.com/player/?url=${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 SoundCloudPlayer;\n"],"names":["SoundCloudPlayer","memo","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","React","PlayerContainer","SoundCloudPlayerController","elementRef","videoId"],"mappings":";;;;AASA,MAAMA,IAAmBC,EAAK,CAAC,EAAE,GAAGC,QAAuC;AAC1E,QAAM,EAAE,QAAAC,MAAWD;AAEnB,EAAAC,EAAO,IAAIC,EAAS,OAAO,kBAAkB;AAE7C,QAAMC,IAAaC,EAAY,YAAY;AAC1C,UAAMC;AAAA,MACL;AAAA,MACAJ;AAAA,IAAA;AAAA,EAEF,GAAG,CAACA,CAAM,CAAC,GAELK,IAAgBF;AAAA,IACrB,CAACG,MACO,QAAQ,QAAQ,GAAG,OAAOA,CAAO,CAAC;AAAA,IAE1C,CAAA;AAAA,EAAC;AAGF,SACC,gBAAAC,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGT;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBI;AAAA,IAAA;AAAA,IAElB,CAACC,GAAYC;AAAA;AAAA,MAEb,gBAAAJ,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKG;AAAA,UACL,KAAK,wCAAwCC,CAAO;AAAA,UACpD,aAAa;AAAA,UACb,OAAM;AAAA,UACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,QAAO;AAAA,MAAA;AAAA;AAAA,EACxC;AAIJ,CAAC;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as s } from "./PlayerContainer-
|
|
2
|
-
import { L as n, T as m } from "./index-
|
|
3
|
-
import { e as h } from "./ensureScriptLoaded-
|
|
1
|
+
import { P as s } from "./PlayerContainer-DxWOBf2x.js";
|
|
2
|
+
import { L as n, T as m } from "./index-Bj-AJUe2.js";
|
|
3
|
+
import { e as h } from "./ensureScriptLoaded-DwRbyEJE.js";
|
|
4
4
|
import o, { memo as y, useCallback as a } from "react";
|
|
5
5
|
const P = y(({ ...r }) => {
|
|
6
6
|
const { logger: e } = r;
|
|
@@ -37,4 +37,4 @@ const P = y(({ ...r }) => {
|
|
|
37
37
|
export {
|
|
38
38
|
P as default
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=TwitchPlayer-
|
|
40
|
+
//# sourceMappingURL=TwitchPlayer-B4_1-Evt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TwitchPlayer-B4_1-Evt.js","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 React, { 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"],"names":["TwitchPlayer","memo","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","videoId","React","PlayerContainer","TwitchPlayerController","elementRef"],"mappings":";;;;AASA,MAAMA,IAAeC,EAAK,CAAC,EAAE,GAAGC,QAAuC;AACtE,QAAM,EAAE,QAAAC,MAAWD;AAEnB,EAAAC,EAAO,IAAIC,EAAS,OAAO,cAAc;AAEzC,QAAMC,IAAaC,EAAY,YAAY;AAC1C,UAAMC,EAAmB,uCAAuCJ,CAAM;AAAA,EACvE,GAAG,CAACA,CAAM,CAAC,GAELK,IAAgBF;AAAA,IACrB,OACCG,GACAC,MAEO,QAAQ;AAAA,MACd,IAAI,OAAO,OAAOD,GAAS;AAAA,QAC1B,OAAOC;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,MAAA,CACR;AAAA,IAAA;AAAA,IAGH,CAAA;AAAA,EAAC;AAGF,SACC,gBAAAC,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGV;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBK;AAAA,IAAA;AAAA,IAElB,CAACC,MACD,gBAAAH,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,KAAKG;AAAA,QACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,MAAO;AAAA,IAAA;AAAA,EACxC;AAIJ,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./PlayerContainer-
|
|
2
|
-
//# sourceMappingURL=TwitchPlayer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./PlayerContainer-C2nRJ7V_.cjs"),a=require("./index-_eCn8-fe.cjs"),s=require("./ensureScriptLoaded-DNKCqDit.cjs"),e=require("react"),d=e.memo(({...o})=>{const{logger:t}=o;t.log(a.LogLevel.Debug,"TwitchPlayer");const c=e.useCallback(async()=>{await s.ensureScriptLoaded("https://embed.twitch.tv/embed/v1.js",t)},[t]),l=e.useCallback(async(r,i)=>Promise.resolve(new Twitch.Player(r,{video:i,width:"100%",height:"100%"})),[]);return e.createElement(n.PlayerContainer,{...o,loadScript:c,playerFactory:l,controllerFactory:a.TwitchPlayerController},r=>e.createElement("div",{ref:r,style:{width:"100%",height:"100%"}}))});exports.default=d;
|
|
2
|
+
//# sourceMappingURL=TwitchPlayer-Bfmg0eoY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TwitchPlayer-Bfmg0eoY.cjs","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 React, { 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"],"names":["TwitchPlayer","memo","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","videoId","React","PlayerContainer","TwitchPlayerController","elementRef"],"mappings":"sOASMA,EAAeC,EAAAA,KAAK,CAAC,CAAE,GAAGC,KAAuC,CACtE,KAAM,CAAE,OAAAC,GAAWD,EAEnBC,EAAO,IAAIC,WAAS,MAAO,cAAc,EAEzC,MAAMC,EAAaC,EAAAA,YAAY,SAAY,CAC1C,MAAMC,EAAAA,mBAAmB,sCAAuCJ,CAAM,CACvE,EAAG,CAACA,CAAM,CAAC,EAELK,EAAgBF,EAAAA,YACrB,MACCG,EACAC,IAEO,QAAQ,QACd,IAAI,OAAO,OAAOD,EAAS,CAC1B,MAAOC,EACP,MAAO,OACP,OAAQ,MAAA,CACR,CAAA,EAGH,CAAA,CAAC,EAGF,OACCC,EAAA,cAACC,EAAAA,gBAAA,CACC,GAAGV,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBK,EAAAA,sBAAA,EAEjBC,GACDH,EAAA,cAAC,MAAA,CACA,IAAKG,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAIJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./PlayerContainer-
|
|
2
|
-
//# sourceMappingURL=VimeoPlayer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./PlayerContainer-C2nRJ7V_.cjs"),a=require("./index-_eCn8-fe.cjs"),s=require("./ensureScriptLoaded-DNKCqDit.cjs"),e=require("react"),y=e.memo(({...t})=>{const{logger:r}=t;r.log(a.LogLevel.Debug,"VimeoPlayer");const l=e.useCallback(async()=>{await s.ensureScriptLoaded("https://player.vimeo.com/api/player.js",r)},[r]),i=e.useCallback(o=>Promise.resolve(new Vimeo.Player(o)),[]);return e.createElement(n.PlayerContainer,{...t,loadScript:l,playerFactory:i,controllerFactory:a.VimeoPlayerController},(o,c)=>e.createElement("iframe",{ref:o,src:`https://player.vimeo.com/video/${c}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}}))});exports.default=y;
|
|
2
|
+
//# sourceMappingURL=VimeoPlayer-BLqfbNQc.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VimeoPlayer-BLqfbNQc.cjs","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 React, { 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"],"names":["VimeoPlayer","memo","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","React","PlayerContainer","VimeoPlayerController","elementRef","videoId"],"mappings":"sOASMA,EAAcC,EAAAA,KAAK,CAAC,CAAE,GAAGC,KAAuC,CACrE,KAAM,CAAE,OAAAC,GAAWD,EAEnBC,EAAO,IAAIC,WAAS,MAAO,aAAa,EAExC,MAAMC,EAAaC,EAAAA,YAAY,SAAY,CAC1C,MAAMC,EAAAA,mBACL,yCACAJ,CAAA,CAEF,EAAG,CAACA,CAAM,CAAC,EAELK,EAAgBF,EAAAA,YACpBG,GACO,QAAQ,QAAQ,IAAI,MAAM,OAAOA,CAAO,CAAC,EAEjD,CAAA,CAAC,EAGF,OACCC,EAAA,cAACC,EAAAA,gBAAA,CACC,GAAGT,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBI,EAAAA,qBAAA,EAElB,CAACC,EAAYC,IAEbJ,EAAA,cAAC,SAAA,CACA,IAAKG,EACL,IAAK,kCAAkCC,CAAO,GAC9C,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAIJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as s } from "./PlayerContainer-
|
|
2
|
-
import { L as c, V as n } from "./index-
|
|
3
|
-
import { e as y } from "./ensureScriptLoaded-
|
|
1
|
+
import { P as s } from "./PlayerContainer-DxWOBf2x.js";
|
|
2
|
+
import { L as c, V as n } from "./index-Bj-AJUe2.js";
|
|
3
|
+
import { e as y } from "./ensureScriptLoaded-DwRbyEJE.js";
|
|
4
4
|
import a, { memo as p, useCallback as t } from "react";
|
|
5
5
|
const g = p(({ ...o }) => {
|
|
6
6
|
const { logger: e } = o;
|
|
@@ -40,4 +40,4 @@ const g = p(({ ...o }) => {
|
|
|
40
40
|
export {
|
|
41
41
|
g as default
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=VimeoPlayer-
|
|
43
|
+
//# sourceMappingURL=VimeoPlayer-C1PcMejA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VimeoPlayer-C1PcMejA.js","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 React, { 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"],"names":["VimeoPlayer","memo","props","logger","LogLevel","loadScript","useCallback","ensureScriptLoaded","playerFactory","element","React","PlayerContainer","VimeoPlayerController","elementRef","videoId"],"mappings":";;;;AASA,MAAMA,IAAcC,EAAK,CAAC,EAAE,GAAGC,QAAuC;AACrE,QAAM,EAAE,QAAAC,MAAWD;AAEnB,EAAAC,EAAO,IAAIC,EAAS,OAAO,aAAa;AAExC,QAAMC,IAAaC,EAAY,YAAY;AAC1C,UAAMC;AAAA,MACL;AAAA,MACAJ;AAAA,IAAA;AAAA,EAEF,GAAG,CAACA,CAAM,CAAC,GAELK,IAAgBF;AAAA,IACrB,CAACG,MACO,QAAQ,QAAQ,IAAI,MAAM,OAAOA,CAAO,CAAC;AAAA,IAEjD,CAAA;AAAA,EAAC;AAGF,SACC,gBAAAC,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGT;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBI;AAAA,IAAA;AAAA,IAElB,CAACC,GAAYC;AAAA;AAAA,MAEb,gBAAAJ,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKG;AAAA,UACL,KAAK,kCAAkCC,CAAO;AAAA,UAC9C,aAAa;AAAA,UACb,OAAM;AAAA,UACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,QAAO;AAAA,MAAA;AAAA;AAAA,EACxC;AAIJ,CAAC;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as s } from "./PlayerContainer-
|
|
2
|
-
import { L as a, Y as u } from "./index-
|
|
3
|
-
import { e as c } from "./ensureScriptLoaded-
|
|
1
|
+
import { P as s } from "./PlayerContainer-DxWOBf2x.js";
|
|
2
|
+
import { L as a, Y as u } from "./index-Bj-AJUe2.js";
|
|
3
|
+
import { e as c } from "./ensureScriptLoaded-DwRbyEJE.js";
|
|
4
4
|
import r, { memo as m, useCallback as i } from "react";
|
|
5
5
|
const y = "https://www.youtube-nocookie.com", h = m(({ ...t }) => {
|
|
6
6
|
const { logger: o } = t;
|
|
@@ -36,4 +36,4 @@ const y = "https://www.youtube-nocookie.com", h = m(({ ...t }) => {
|
|
|
36
36
|
export {
|
|
37
37
|
h as default
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=YouTubePlayer-
|
|
39
|
+
//# sourceMappingURL=YouTubePlayer-CaEPCRB3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YouTubePlayer-CaEPCRB3.js","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 React, { 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"],"names":["origin","YouTubePlayer","memo","props","logger","LogLevel","loadScript","useCallback","resolve","reject","ensureScriptLoaded","playerFactory","element","React","PlayerContainer","YouTubePlayerController","elementRef"],"mappings":";;;;AASA,MAAMA,IAAS,oCAETC,IAAgBC,EAAK,CAAC,EAAE,GAAGC,QAAuC;AACvE,QAAM,EAAE,QAAAC,MAAWD;AAEnB,EAAAC,EAAO,IAAIC,EAAS,OAAO,eAAe;AAE1C,QAAMC,IAAaC,EAAY,MACvB,IAAI,QAAQ,OAAOC,GAASC,MAAW;AAM7C,IALc,MAAMC;AAAA,MACnB;AAAA,MACAN;AAAA,IAAA,IAKA,OAAO,0BAA0B,MAAY;AAC5C,MAAAA,EAAO,IAAIC,EAAS,OAAO,0BAA0B,GACrDG,EAAA;AAAA,IACD,IAEAA,EAAA;AAAA,EAEF,CAAC,GACC,CAACJ,CAAM,CAAC,GAELO,IAAgBJ;AAAA,IACrB,CAACK,MACO,QAAQ;AAAA,MACd,IAAI,GAAG,OAAOA,GAAS;AAAA,QACtB,MAAMZ;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MAAA,CACR;AAAA,IAAA;AAAA,IAGH,CAAA;AAAA,EAAC;AAGF,SACC,gBAAAa,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGX;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAK;AAAA,MACA,mBAAmBI;AAAA,IAAA;AAAA,IAElB,CAACC,MACD,gBAAAH,EAAA,cAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,SAAO,GAC3C,gBAAAA,EAAA,cAAC,OAAA,EAAI,KAAKG,GAAY,CACvB;AAAA,EAAA;AAIJ,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-
|
|
2
|
-
//# sourceMappingURL=YouTubePlayer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./PlayerContainer-C2nRJ7V_.cjs"),o=require("./index-_eCn8-fe.cjs"),l=require("./ensureScriptLoaded-DNKCqDit.cjs"),r=require("react"),c="https://www.youtube-nocookie.com",s=r.memo(({...a})=>{const{logger:t}=a;t.log(o.LogLevel.Debug,"YouTubePlayer");const n=r.useCallback(()=>new Promise(async(e,y)=>{await l.ensureScriptLoaded("https://www.youtube.com/iframe_api",t)?window.onYouTubeIframeAPIReady=()=>{t.log(o.LogLevel.Debug,"YouTube iframe API ready"),e()}:e()}),[t]),i=r.useCallback(e=>Promise.resolve(new YT.Player(e,{host:c,width:"100%",height:"100%"})),[]);return r.createElement(u.PlayerContainer,{...a,loadScript:n,playerFactory:i,controllerFactory:o.YouTubePlayerController},e=>r.createElement("div",{style:{width:"100%",height:"100%"}},r.createElement("div",{ref:e})))});exports.default=s;
|
|
2
|
+
//# sourceMappingURL=YouTubePlayer-Cf3w33PN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YouTubePlayer-Cf3w33PN.cjs","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 React, { 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"],"names":["origin","YouTubePlayer","memo","props","logger","LogLevel","loadScript","useCallback","resolve","reject","ensureScriptLoaded","playerFactory","element","React","PlayerContainer","YouTubePlayerController","elementRef"],"mappings":"sOASMA,EAAS,mCAETC,EAAgBC,EAAAA,KAAK,CAAC,CAAE,GAAGC,KAAuC,CACvE,KAAM,CAAE,OAAAC,GAAWD,EAEnBC,EAAO,IAAIC,WAAS,MAAO,eAAe,EAE1C,MAAMC,EAAaC,EAAAA,YAAY,IACvB,IAAI,QAAQ,MAAOC,EAASC,IAAW,CAC/B,MAAMC,EAAAA,mBACnB,qCACAN,CAAA,EAKA,OAAO,wBAA0B,IAAY,CAC5CA,EAAO,IAAIC,WAAS,MAAO,0BAA0B,EACrDG,EAAA,CACD,EAEAA,EAAA,CAEF,CAAC,EACC,CAACJ,CAAM,CAAC,EAELO,EAAgBJ,EAAAA,YACpBK,GACO,QAAQ,QACd,IAAI,GAAG,OAAOA,EAAS,CACtB,KAAMZ,EACN,MAAO,OACP,OAAQ,MAAA,CACR,CAAA,EAGH,CAAA,CAAC,EAGF,OACCa,EAAA,cAACC,EAAAA,gBAAA,CACC,GAAGX,EACJ,WAAAG,EACA,cAAAK,EACA,kBAAmBI,EAAAA,uBAAA,EAEjBC,GACDH,EAAA,cAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,OAAO,EAC3CA,EAAA,cAAC,MAAA,CAAI,IAAKG,EAAY,CACvB,CAAA,CAIJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const n=require("./index-
|
|
2
|
-
//# sourceMappingURL=ensureScriptLoaded-
|
|
1
|
+
"use strict";const n=require("./index-_eCn8-fe.cjs");function d(e){return new Promise((o,a)=>{const t=document.createElement("script");t.src=e,t.async=!0,t.onerror=a,t.onload=t.onreadystatechange=function(){const r=this.readyState;r&&r!=="loaded"&&r!=="complete"||(t.onload=t.onreadystatechange=null,o())},document.head.appendChild(t)})}const c=[];async function s(e,o){if(c.includes(e))return o.log(n.LogLevel.Debug,e,"script is already loaded"),!1;try{return o.log(n.LogLevel.Debug,e,"Loading script..."),await d(e),c.includes(e)?(o.log(n.LogLevel.Debug,e,"script is already loaded"),!1):(c.push(e),o.log(n.LogLevel.Debug,e,"script loaded"),!0)}catch(a){throw o.log(n.LogLevel.Error,e,"Failed to load script"),a}}exports.ensureScriptLoaded=s;
|
|
2
|
+
//# sourceMappingURL=ensureScriptLoaded-DNKCqDit.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureScriptLoaded-DNKCqDit.cjs","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"],"names":["getScript","url","resolve","reject","script","loadState","urls","ensureScriptLoaded","logger","LogLevel","error"],"mappings":"qDACO,SAASA,EAAUC,EAA4B,CACrD,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACvC,MAAMC,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,IAAMH,EACbG,EAAO,MAAQ,GAEfA,EAAO,QAAUD,EAEjBC,EAAO,OAASA,EAAO,mBAAqB,UAAkB,CAC7D,MAAMC,EAAY,KAAK,WAEnBA,GAAaA,IAAc,UAAYA,IAAc,aAGzDD,EAAO,OAASA,EAAO,mBAAqB,KAE5CF,EAAA,EACD,EAEA,SAAS,KAAK,YAAYE,CAAM,CACjC,CAAC,CACF,CCnBA,MAAME,EAAiB,CAAA,EAEvB,eAAsBC,EACrBN,EACAO,EACmB,CACnB,GAAIF,EAAK,SAASL,CAAG,EACpB,OAAAO,EAAO,IAAIC,EAAAA,SAAS,MAAOR,EAAK,0BAA0B,EACnD,GAGR,GAAI,CAKH,OAJAO,EAAO,IAAIC,EAAAA,SAAS,MAAOR,EAAK,mBAAmB,EAEnD,MAAMD,EAAUC,CAAG,EAEfK,EAAK,SAASL,CAAG,GACpBO,EAAO,IAAIC,EAAAA,SAAS,MAAOR,EAAK,0BAA0B,EACnD,KAEPK,EAAK,KAAKL,CAAG,EACbO,EAAO,IAAIC,EAAAA,SAAS,MAAOR,EAAK,eAAe,EACxC,GAET,OAASS,EAAO,CACf,MAAAF,EAAO,IAAIC,EAAAA,SAAS,MAAOR,EAAK,uBAAuB,EACjDS,CACP,CACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { L as o } from "./index-
|
|
1
|
+
import { L as o } from "./index-Bj-AJUe2.js";
|
|
2
2
|
function c(e) {
|
|
3
3
|
return new Promise((a, n) => {
|
|
4
4
|
const t = document.createElement("script");
|
|
@@ -21,4 +21,4 @@ async function i(e, a) {
|
|
|
21
21
|
export {
|
|
22
22
|
i as e
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=ensureScriptLoaded-
|
|
24
|
+
//# sourceMappingURL=ensureScriptLoaded-DwRbyEJE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureScriptLoaded-DwRbyEJE.js","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"],"names":["getScript","url","resolve","reject","script","loadState","urls","ensureScriptLoaded","logger","LogLevel","error"],"mappings":";AACO,SAASA,EAAUC,GAA4B;AACrD,SAAO,IAAI,QAAQ,CAACC,GAASC,MAAW;AACvC,UAAMC,IAAS,SAAS,cAAc,QAAQ;AAC9C,IAAAA,EAAO,MAAMH,GACbG,EAAO,QAAQ,IAEfA,EAAO,UAAUD,GAEjBC,EAAO,SAASA,EAAO,qBAAqB,WAAkB;AAC7D,YAAMC,IAAY,KAAK;AAEvB,MAAIA,KAAaA,MAAc,YAAYA,MAAc,eAGzDD,EAAO,SAASA,EAAO,qBAAqB,MAE5CF,EAAA;AAAA,IACD,GAEA,SAAS,KAAK,YAAYE,CAAM;AAAA,EACjC,CAAC;AACF;ACnBA,MAAME,IAAiB,CAAA;AAEvB,eAAsBC,EACrBN,GACAO,GACmB;AACnB,MAAIF,EAAK,SAASL,CAAG;AACpB,WAAAO,EAAO,IAAIC,EAAS,OAAOR,GAAK,0BAA0B,GACnD;AAGR,MAAI;AAKH,WAJAO,EAAO,IAAIC,EAAS,OAAOR,GAAK,mBAAmB,GAEnD,MAAMD,EAAUC,CAAG,GAEfK,EAAK,SAASL,CAAG,KACpBO,EAAO,IAAIC,EAAS,OAAOR,GAAK,0BAA0B,GACnD,OAEPK,EAAK,KAAKL,CAAG,GACbO,EAAO,IAAIC,EAAS,OAAOR,GAAK,eAAe,GACxC;AAAA,EAET,SAASS,GAAO;AACf,UAAAF,EAAO,IAAIC,EAAS,OAAOR,GAAK,uBAAuB,GACjDS;AAAA,EACP;AACD;"}
|
|
@@ -206,6 +206,14 @@ const A = new X(), U = O(
|
|
|
206
206
|
);
|
|
207
207
|
return /* @__PURE__ */ u.createElement(U.Provider, { value: L }, a);
|
|
208
208
|
}, Z = () => W(U);
|
|
209
|
+
class h {
|
|
210
|
+
constructor(e, t, s) {
|
|
211
|
+
this.logger = e, this.player = t, this.options = s, this.logger.log(r.Debug, "ctor");
|
|
212
|
+
}
|
|
213
|
+
supports(e) {
|
|
214
|
+
return this[e] !== void 0;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
209
217
|
var l = /* @__PURE__ */ ((a) => (a.Audio = "Audio", a.Dailymotion = "Dailymotion", a.Niconico = "Niconico", a.SoundCloud = "SoundCloud", a.Twitch = "Twitch", a.Vimeo = "Vimeo", a.YouTube = "YouTube", a))(l || {});
|
|
210
218
|
function me(a) {
|
|
211
219
|
return l[a] !== void 0;
|
|
@@ -346,13 +354,13 @@ class x {
|
|
|
346
354
|
return this.impl.supports(e);
|
|
347
355
|
}
|
|
348
356
|
}
|
|
349
|
-
class
|
|
357
|
+
class p {
|
|
350
358
|
constructor(e) {
|
|
351
359
|
this.type = e;
|
|
352
360
|
}
|
|
353
361
|
}
|
|
354
362
|
const q = /\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i, J = /\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i;
|
|
355
|
-
class Q extends
|
|
363
|
+
class Q extends p {
|
|
356
364
|
constructor() {
|
|
357
365
|
super(l.Audio);
|
|
358
366
|
}
|
|
@@ -364,7 +372,7 @@ class Q extends h {
|
|
|
364
372
|
}
|
|
365
373
|
}
|
|
366
374
|
const N = /^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?(?:[\w.#_-]+)?/;
|
|
367
|
-
class ee extends
|
|
375
|
+
class ee extends p {
|
|
368
376
|
constructor() {
|
|
369
377
|
super(l.Dailymotion);
|
|
370
378
|
}
|
|
@@ -376,7 +384,7 @@ class ee extends h {
|
|
|
376
384
|
}
|
|
377
385
|
}
|
|
378
386
|
const f = /(?:www\.|)?nicovideo\.jp\/watch\/(\w+)$/;
|
|
379
|
-
class te extends
|
|
387
|
+
class te extends p {
|
|
380
388
|
constructor() {
|
|
381
389
|
super(l.Niconico);
|
|
382
390
|
}
|
|
@@ -388,7 +396,7 @@ class te extends h {
|
|
|
388
396
|
}
|
|
389
397
|
}
|
|
390
398
|
const ae = /(?:soundcloud\.com|snd\.sc)\/[^.]+$/;
|
|
391
|
-
class re extends
|
|
399
|
+
class re extends p {
|
|
392
400
|
constructor() {
|
|
393
401
|
super(l.SoundCloud);
|
|
394
402
|
}
|
|
@@ -400,7 +408,7 @@ class re extends h {
|
|
|
400
408
|
}
|
|
401
409
|
}
|
|
402
410
|
const M = /(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/;
|
|
403
|
-
class se extends
|
|
411
|
+
class se extends p {
|
|
404
412
|
constructor() {
|
|
405
413
|
super(l.Twitch);
|
|
406
414
|
}
|
|
@@ -412,7 +420,7 @@ class se extends h {
|
|
|
412
420
|
}
|
|
413
421
|
}
|
|
414
422
|
const R = /vimeo\.com\/(\d+)$/;
|
|
415
|
-
class ie extends
|
|
423
|
+
class ie extends p {
|
|
416
424
|
constructor() {
|
|
417
425
|
super(l.Vimeo);
|
|
418
426
|
}
|
|
@@ -424,7 +432,7 @@ class ie extends h {
|
|
|
424
432
|
}
|
|
425
433
|
}
|
|
426
434
|
const I = /(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//;
|
|
427
|
-
class oe extends
|
|
435
|
+
class oe extends p {
|
|
428
436
|
constructor() {
|
|
429
437
|
super(l.YouTube);
|
|
430
438
|
}
|
|
@@ -448,13 +456,13 @@ function ce(a) {
|
|
|
448
456
|
return ne.find((e) => e.canPlay(a));
|
|
449
457
|
}
|
|
450
458
|
const le = {
|
|
451
|
-
Audio: d(() => import("./AudioPlayer-
|
|
452
|
-
Dailymotion: d(() => import("./DailymotionPlayer-
|
|
453
|
-
Niconico: d(() => import("./NiconicoPlayer-
|
|
454
|
-
SoundCloud: d(() => import("./SoundCloudPlayer-
|
|
455
|
-
Twitch: d(() => import("./TwitchPlayer-
|
|
456
|
-
Vimeo: d(() => import("./VimeoPlayer-
|
|
457
|
-
YouTube: d(() => import("./YouTubePlayer-
|
|
459
|
+
Audio: d(() => import("./AudioPlayer-DPiP_j1z.js")),
|
|
460
|
+
Dailymotion: d(() => import("./DailymotionPlayer-BXC_M5Iu.js")),
|
|
461
|
+
Niconico: d(() => import("./NiconicoPlayer-JHS5aQ0E.js")),
|
|
462
|
+
SoundCloud: d(() => import("./SoundCloudPlayer-ZkUD5X1L.js")),
|
|
463
|
+
Twitch: d(() => import("./TwitchPlayer-B4_1-Evt.js")),
|
|
464
|
+
Vimeo: d(() => import("./VimeoPlayer-C1PcMejA.js")),
|
|
465
|
+
YouTube: d(() => import("./YouTubePlayer-CaEPCRB3.js"))
|
|
458
466
|
};
|
|
459
467
|
function de(a) {
|
|
460
468
|
const e = ce(a);
|
|
@@ -597,15 +605,7 @@ class he extends HTMLElement {
|
|
|
597
605
|
function ge() {
|
|
598
606
|
customElements.define("nostalgic-diva", he);
|
|
599
607
|
}
|
|
600
|
-
class
|
|
601
|
-
constructor(e, t, s) {
|
|
602
|
-
this.logger = e, this.player = t, this.options = s, this.logger.log(r.Debug, "ctor");
|
|
603
|
-
}
|
|
604
|
-
supports(e) {
|
|
605
|
-
return this[e] !== void 0;
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
class ve extends p {
|
|
608
|
+
class ve extends h {
|
|
609
609
|
async attach() {
|
|
610
610
|
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 = () => {
|
|
611
611
|
this.options?.onTimeUpdate?.({
|
|
@@ -664,7 +664,7 @@ const S = [
|
|
|
664
664
|
"playing",
|
|
665
665
|
"error"
|
|
666
666
|
];
|
|
667
|
-
class be extends
|
|
667
|
+
class be extends h {
|
|
668
668
|
handlePlayerEvents = (e) => {
|
|
669
669
|
switch (e.type) {
|
|
670
670
|
case "apiready":
|
|
@@ -735,7 +735,7 @@ class be extends p {
|
|
|
735
735
|
getPlaybackRate = void 0;
|
|
736
736
|
}
|
|
737
737
|
var b = /* @__PURE__ */ ((a) => (a[a.Play = 2] = "Play", a[a.Pause = 3] = "Pause", a[a.End = 4] = "End", a))(b || {});
|
|
738
|
-
class w extends
|
|
738
|
+
class w extends h {
|
|
739
739
|
static origin = "https://embed.nicovideo.jp";
|
|
740
740
|
duration = 0;
|
|
741
741
|
currentTime = 0;
|
|
@@ -854,7 +854,7 @@ class w extends p {
|
|
|
854
854
|
}
|
|
855
855
|
getPlaybackRate = void 0;
|
|
856
856
|
}
|
|
857
|
-
class Y extends
|
|
857
|
+
class Y extends h {
|
|
858
858
|
getDurationCore() {
|
|
859
859
|
return new Promise((e, t) => {
|
|
860
860
|
this.player.getDuration(e);
|
|
@@ -938,7 +938,7 @@ class Y extends p {
|
|
|
938
938
|
getMuted = void 0;
|
|
939
939
|
getPlaybackRate = void 0;
|
|
940
940
|
}
|
|
941
|
-
class we extends
|
|
941
|
+
class we extends h {
|
|
942
942
|
handleReady = () => {
|
|
943
943
|
this.options?.onLoaded?.({ id: this.player.getVideo() });
|
|
944
944
|
};
|
|
@@ -996,7 +996,7 @@ class we extends p {
|
|
|
996
996
|
}
|
|
997
997
|
getPlaybackRate = void 0;
|
|
998
998
|
}
|
|
999
|
-
class Ee extends
|
|
999
|
+
class Ee extends h {
|
|
1000
1000
|
async attach() {
|
|
1001
1001
|
await this.player.ready(), this.player.on("error", (e) => this.options?.onError?.(e)), this.player.on(
|
|
1002
1002
|
"loaded",
|
|
@@ -1050,7 +1050,7 @@ class Ee extends p {
|
|
|
1050
1050
|
}
|
|
1051
1051
|
}
|
|
1052
1052
|
var _ = /* @__PURE__ */ ((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))(_ || {});
|
|
1053
|
-
class Ce extends
|
|
1053
|
+
class Ce extends h {
|
|
1054
1054
|
previousTime;
|
|
1055
1055
|
timeUpdateIntervalId;
|
|
1056
1056
|
clearTimeUpdateInterval() {
|
|
@@ -1171,4 +1171,4 @@ export {
|
|
|
1171
1171
|
Z as u,
|
|
1172
1172
|
me as v
|
|
1173
1173
|
};
|
|
1174
|
-
//# sourceMappingURL=index-
|
|
1174
|
+
//# sourceMappingURL=index-Bj-AJUe2.js.map
|