@aigamo/nostalgic-diva 1.19.2 → 1.19.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.
Files changed (77) hide show
  1. package/dist/AudioPlayer-B3HUFxrt.cjs +2 -0
  2. package/dist/AudioPlayer-B3HUFxrt.cjs.map +1 -0
  3. package/dist/AudioPlayer-D3YsODf_.js +34 -0
  4. package/dist/AudioPlayer-D3YsODf_.js.map +1 -0
  5. package/dist/DailymotionPlayer-BbM7QPqY.js +64 -0
  6. package/dist/DailymotionPlayer-BbM7QPqY.js.map +1 -0
  7. package/dist/DailymotionPlayer-CUowHniC.cjs +2 -0
  8. package/dist/DailymotionPlayer-CUowHniC.cjs.map +1 -0
  9. package/dist/NiconicoPlayer-BQO6a8Vb.js +35 -0
  10. package/dist/NiconicoPlayer-BQO6a8Vb.js.map +1 -0
  11. package/dist/NiconicoPlayer-DpSXQj5m.cjs +2 -0
  12. package/dist/NiconicoPlayer-DpSXQj5m.cjs.map +1 -0
  13. package/dist/SoundCloudPlayer-B8jkHu8t.js +42 -0
  14. package/dist/SoundCloudPlayer-B8jkHu8t.js.map +1 -0
  15. package/dist/SoundCloudPlayer-BV22QlM7.cjs +2 -0
  16. package/dist/SoundCloudPlayer-BV22QlM7.cjs.map +1 -0
  17. package/dist/TwitchPlayer-C9mAN-zs.js +39 -0
  18. package/dist/TwitchPlayer-C9mAN-zs.js.map +1 -0
  19. package/dist/TwitchPlayer-CAtEBZ_D.cjs +2 -0
  20. package/dist/TwitchPlayer-CAtEBZ_D.cjs.map +1 -0
  21. package/dist/VimeoPlayer-BeD9InZ2.cjs +2 -0
  22. package/dist/VimeoPlayer-BeD9InZ2.cjs.map +1 -0
  23. package/dist/VimeoPlayer-Dj_TPJOD.js +42 -0
  24. package/dist/VimeoPlayer-Dj_TPJOD.js.map +1 -0
  25. package/dist/YouTubePlayer-DLqd36LF.cjs +2 -0
  26. package/dist/YouTubePlayer-DLqd36LF.cjs.map +1 -0
  27. package/dist/YouTubePlayer-DnM2aTnC.js +38 -0
  28. package/dist/YouTubePlayer-DnM2aTnC.js.map +1 -0
  29. package/dist/ensureScriptLoaded-Blm1fjMc.cjs +2 -0
  30. package/dist/ensureScriptLoaded-Blm1fjMc.cjs.map +1 -0
  31. package/dist/ensureScriptLoaded-Jw9e6HLc.js +24 -0
  32. package/dist/ensureScriptLoaded-Jw9e6HLc.js.map +1 -0
  33. package/dist/index-D5CazY1_.js +1848 -0
  34. package/dist/index-D5CazY1_.js.map +1 -0
  35. package/dist/index-DFsUhc9i.cjs +15 -0
  36. package/dist/index-DFsUhc9i.cjs.map +1 -0
  37. package/dist/index.cjs.js +2 -2
  38. package/dist/index.cjs.js.map +1 -1
  39. package/dist/index.es.js +25 -772
  40. package/dist/index.es.js.map +1 -1
  41. package/package.json +4 -4
  42. package/dist/AudioPlayer-CWI95ZSf.cjs +0 -2
  43. package/dist/AudioPlayer-CWI95ZSf.cjs.map +0 -1
  44. package/dist/AudioPlayer-Rgj403rr.js +0 -30
  45. package/dist/AudioPlayer-Rgj403rr.js.map +0 -1
  46. package/dist/DailymotionPlayer-CqYR3YjJ.cjs +0 -2
  47. package/dist/DailymotionPlayer-CqYR3YjJ.cjs.map +0 -1
  48. package/dist/DailymotionPlayer-DKnJvBrE.js +0 -60
  49. package/dist/DailymotionPlayer-DKnJvBrE.js.map +0 -1
  50. package/dist/NiconicoPlayer-BWepjJRp.js +0 -34
  51. package/dist/NiconicoPlayer-BWepjJRp.js.map +0 -1
  52. package/dist/NiconicoPlayer-DK-XPLSb.cjs +0 -2
  53. package/dist/NiconicoPlayer-DK-XPLSb.cjs.map +0 -1
  54. package/dist/PlayerContainer-CxyDj9x4.js +0 -690
  55. package/dist/PlayerContainer-CxyDj9x4.js.map +0 -1
  56. package/dist/PlayerContainer-LUwekvvj.cjs +0 -17
  57. package/dist/PlayerContainer-LUwekvvj.cjs.map +0 -1
  58. package/dist/SoundCloudPlayer-CIo1SPsW.js +0 -32
  59. package/dist/SoundCloudPlayer-CIo1SPsW.js.map +0 -1
  60. package/dist/SoundCloudPlayer-D1-SE7fO.cjs +0 -2
  61. package/dist/SoundCloudPlayer-D1-SE7fO.cjs.map +0 -1
  62. package/dist/TwitchPlayer-C-Zg7RPI.cjs +0 -2
  63. package/dist/TwitchPlayer-C-Zg7RPI.cjs.map +0 -1
  64. package/dist/TwitchPlayer-CipxSXDX.js +0 -33
  65. package/dist/TwitchPlayer-CipxSXDX.js.map +0 -1
  66. package/dist/VimeoPlayer-B2ew922s.cjs +0 -2
  67. package/dist/VimeoPlayer-B2ew922s.cjs.map +0 -1
  68. package/dist/VimeoPlayer-C-0MryDy.js +0 -32
  69. package/dist/VimeoPlayer-C-0MryDy.js.map +0 -1
  70. package/dist/YouTubePlayer-DXq_8Mrm.js +0 -35
  71. package/dist/YouTubePlayer-DXq_8Mrm.js.map +0 -1
  72. package/dist/YouTubePlayer-RHJqDD5s.cjs +0 -2
  73. package/dist/YouTubePlayer-RHJqDD5s.cjs.map +0 -1
  74. package/dist/ensureScriptLoaded-Bd04DRhn.js +0 -26
  75. package/dist/ensureScriptLoaded-Bd04DRhn.js.map +0 -1
  76. package/dist/ensureScriptLoaded-TVFV277C.cjs +0 -2
  77. package/dist/ensureScriptLoaded-TVFV277C.cjs.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DFsUhc9i.cjs"),t=require("react"),a=t.memo(({...o})=>{const{logger:l}=o;l.log(e.LogLevel.Debug,"AudioPlayer");const u=t.useCallback(r=>Promise.resolve(r),[]);return e.jsxRuntimeExports.jsx(e.PlayerContainer,{...o,loadScript:void 0,playerFactory:u,controllerFactory:e.AudioPlayerController,children:(r,i)=>e.jsxRuntimeExports.jsx("audio",{ref:r,src:i,style:{width:"100%",height:"100%"},preload:"auto",autoPlay:!0,controls:!0})})});exports.default=a;
2
+ //# sourceMappingURL=AudioPlayer-B3HUFxrt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioPlayer-B3HUFxrt.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 { 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","jsx","PlayerContainer","AudioPlayerController","elementRef","videoId"],"mappings":"2IAQMA,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,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,GAAGP,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBK,EAAAA,sBAElB,SAAA,CAACC,EAAYC,IACbJ,EAAAA,kBAAAA,IAAC,QAAA,CACA,IAAKG,EACL,IAAKC,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,EAChC,QAAQ,OACR,SAAQ,GACR,SAAQ,EAAA,CAAA,CACT,CAAA,CAIJ,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { L as s, j as e, P as i, A as u } from "./index-D5CazY1_.js";
2
+ import { memo as n, useCallback as c } from "react";
3
+ const m = n(({ ...r }) => {
4
+ const { logger: t } = r;
5
+ t.log(s.Debug, "AudioPlayer");
6
+ const a = c(
7
+ (o) => Promise.resolve(o),
8
+ []
9
+ );
10
+ return /* @__PURE__ */ e.jsx(
11
+ i,
12
+ {
13
+ ...r,
14
+ loadScript: void 0,
15
+ playerFactory: a,
16
+ controllerFactory: u,
17
+ children: (o, l) => /* @__PURE__ */ e.jsx(
18
+ "audio",
19
+ {
20
+ ref: o,
21
+ src: l,
22
+ style: { width: "100%", height: "100%" },
23
+ preload: "auto",
24
+ autoPlay: !0,
25
+ controls: !0
26
+ }
27
+ )
28
+ }
29
+ );
30
+ });
31
+ export {
32
+ m as default
33
+ };
34
+ //# sourceMappingURL=AudioPlayer-D3YsODf_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioPlayer-D3YsODf_.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 { 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","jsx","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,SACCC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGP;AAAA,MACJ,YAAY;AAAA,MACZ,eAAAG;AAAA,MACA,mBAAmBK;AAAA,MAElB,UAAA,CAACC,GAAYC,MACbJ,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKG;AAAA,UACL,KAAKC;AAAA,UACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,UAChC,SAAQ;AAAA,UACR,UAAQ;AAAA,UACR,UAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IACT;AAAA,EAAA;AAIJ,CAAC;"}
@@ -0,0 +1,64 @@
1
+ import { L as c, j as o, P as y, D as m } from "./index-D5CazY1_.js";
2
+ import { e as u } from "./ensureScriptLoaded-Jw9e6HLc.js";
3
+ import { memo as g, useCallback as l } from "react";
4
+ const j = g(
5
+ ({ options: e, ...t }) => {
6
+ const { logger: r } = t;
7
+ r.log(c.Debug, "DailymotionPlayer");
8
+ const i = l(async () => {
9
+ await u("https://api.dmcdn.net/all.js", r);
10
+ }, [r]), d = l(
11
+ (a, n) => Promise.resolve(
12
+ new DM.player(a, {
13
+ video: n,
14
+ width: "100%",
15
+ height: "100%",
16
+ events: {
17
+ apiready: () => {
18
+ e?.onLoaded?.({ id: n });
19
+ },
20
+ seeked: () => {
21
+ e?.onTimeUpdate?.({
22
+ duration: 0,
23
+ percent: 0,
24
+ seconds: 0
25
+ });
26
+ },
27
+ video_end: () => {
28
+ e?.onEnded?.();
29
+ },
30
+ durationchange: () => {
31
+ },
32
+ pause: () => {
33
+ e?.onPause?.();
34
+ },
35
+ playing: () => {
36
+ e?.onPlay?.();
37
+ },
38
+ waiting: () => {
39
+ },
40
+ error: (s) => {
41
+ e?.onError?.(s);
42
+ }
43
+ }
44
+ })
45
+ ),
46
+ [e]
47
+ );
48
+ return /* @__PURE__ */ o.jsx(
49
+ y,
50
+ {
51
+ ...t,
52
+ options: e,
53
+ loadScript: i,
54
+ playerFactory: d,
55
+ controllerFactory: m,
56
+ children: (a) => /* @__PURE__ */ o.jsx("div", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ o.jsx("div", { ref: a }) })
57
+ }
58
+ );
59
+ }
60
+ );
61
+ export {
62
+ j as default
63
+ };
64
+ //# sourceMappingURL=DailymotionPlayer-BbM7QPqY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DailymotionPlayer-BbM7QPqY.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 { 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","jsx","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,WACCW,gBAAAA,EAAAA;AAAAA,MAACC;AAAA,MAAA;AAAA,QACC,GAAGX;AAAA,QACJ,SAAAD;AAAA,QACA,YAAAI;AAAA,QACA,eAAAG;AAAA,QACA,mBAAmBM;AAAA,QAElB,UAAA,CAACC,MACDH,gBAAAA,EAAAA,IAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,UACpC,UAAAA,gBAAAA,EAAAA,IAAC,OAAA,EAAI,KAAKG,GAAY,EAAA,CACvB;AAAA,MAAA;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-DFsUhc9i.cjs"),c=require("./ensureScriptLoaded-Blm1fjMc.cjs"),n=require("react"),u=n.memo(({options:e,...i})=>{const{logger:t}=i;t.log(r.LogLevel.Debug,"DailymotionPlayer");const l=n.useCallback(async()=>{await c.ensureScriptLoaded("https://api.dmcdn.net/all.js",t)},[t]),d=n.useCallback((a,o)=>Promise.resolve(new DM.player(a,{video:o,width:"100%",height:"100%",events:{apiready:()=>{e?.onLoaded?.({id:o})},seeked:()=>{e?.onTimeUpdate?.({duration:0,percent:0,seconds:0})},video_end:()=>{e?.onEnded?.()},durationchange:()=>{},pause:()=>{e?.onPause?.()},playing:()=>{e?.onPlay?.()},waiting:()=>{},error:s=>{e?.onError?.(s)}}})),[e]);return r.jsxRuntimeExports.jsx(r.PlayerContainer,{...i,options:e,loadScript:l,playerFactory:d,controllerFactory:r.DailymotionPlayerController,children:a=>r.jsxRuntimeExports.jsx("div",{style:{width:"100%",height:"100%"},children:r.jsxRuntimeExports.jsx("div",{ref:a})})})});exports.default=u;
2
+ //# sourceMappingURL=DailymotionPlayer-CUowHniC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DailymotionPlayer-CUowHniC.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 { 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","jsx","PlayerContainer","DailymotionPlayerController","elementRef"],"mappings":"0LASMA,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,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,GAAGX,EACJ,QAAAD,EACA,WAAAI,EACA,cAAAG,EACA,kBAAmBM,EAAAA,4BAElB,SAACC,GACDH,EAAAA,kBAAAA,IAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,QACpC,SAAAA,EAAAA,kBAAAA,IAAC,MAAA,CAAI,IAAKG,EAAY,CAAA,CACvB,CAAA,CAAA,CAIJ,CACD"}
@@ -0,0 +1,35 @@
1
+ import { L as i, j as o, P as c, N as s } from "./index-D5CazY1_.js";
2
+ import { memo as n, useCallback as d } from "react";
3
+ const m = n(({ ...r }) => {
4
+ const { logger: l } = r;
5
+ l.log(i.Debug, "NiconicoPlayer");
6
+ const t = d(
7
+ (e) => Promise.resolve(e),
8
+ []
9
+ );
10
+ return /* @__PURE__ */ o.jsx(
11
+ c,
12
+ {
13
+ ...r,
14
+ loadScript: void 0,
15
+ playerFactory: t,
16
+ controllerFactory: s,
17
+ children: (e, a) => /* @__PURE__ */ o.jsx("div", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ o.jsx(
18
+ "iframe",
19
+ {
20
+ ref: e,
21
+ src: `https://embed.nicovideo.jp/watch/${a}?jsapi=1&playerId=1`,
22
+ width: "100%",
23
+ height: "100%",
24
+ allowFullScreen: !0,
25
+ style: { border: "none" },
26
+ allow: "autoplay; fullscreen"
27
+ }
28
+ ) })
29
+ }
30
+ );
31
+ });
32
+ export {
33
+ m as default
34
+ };
35
+ //# sourceMappingURL=NiconicoPlayer-BQO6a8Vb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NiconicoPlayer-BQO6a8Vb.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 { 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","jsx","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,SACCC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGP;AAAA,MACJ,YAAY;AAAA,MACZ,eAAAG;AAAA,MACA,mBAAmBK;AAAA,MAElB,UAAA,CAACC,GAAYC,MACbJ,gBAAAA,EAAAA,IAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA,GAEpC,UAAAA,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKG;AAAA,UACL,KAAK,oCAAoCC,CAAO;AAAA,UAChD,OAAM;AAAA,UACN,QAAO;AAAA,UACP,iBAAe;AAAA,UACf,OAAO,EAAE,QAAQ,OAAA;AAAA,UAMjB,OAAM;AAAA,QAAA;AAAA,MAAA,EACP,CACD;AAAA,IAAA;AAAA,EAAA;AAIJ,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DFsUhc9i.cjs"),t=require("react"),c=t.memo(({...o})=>{const{logger:l}=o;l.log(e.LogLevel.Debug,"NiconicoPlayer");const i=t.useCallback(r=>Promise.resolve(r),[]);return e.jsxRuntimeExports.jsx(e.PlayerContainer,{...o,loadScript:void 0,playerFactory:i,controllerFactory:e.NiconicoPlayerController,children:(r,n)=>e.jsxRuntimeExports.jsx("div",{style:{width:"100%",height:"100%"},children:e.jsxRuntimeExports.jsx("iframe",{ref:r,src:`https://embed.nicovideo.jp/watch/${n}?jsapi=1&playerId=1`,width:"100%",height:"100%",allowFullScreen:!0,style:{border:"none"},allow:"autoplay; fullscreen"})})})});exports.default=c;
2
+ //# sourceMappingURL=NiconicoPlayer-DpSXQj5m.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NiconicoPlayer-DpSXQj5m.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 { 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","jsx","PlayerContainer","NiconicoPlayerController","elementRef","videoId"],"mappings":"2IAQMA,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,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,GAAGP,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBK,EAAAA,yBAElB,SAAA,CAACC,EAAYC,IACbJ,EAAAA,kBAAAA,IAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,EAEpC,SAAAA,EAAAA,kBAAAA,IAAC,SAAA,CACA,IAAKG,EACL,IAAK,oCAAoCC,CAAO,sBAChD,MAAM,OACN,OAAO,OACP,gBAAe,GACf,MAAO,CAAE,OAAQ,MAAA,EAMjB,MAAM,sBAAA,CAAA,CACP,CACD,CAAA,CAAA,CAIJ,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { L as u, j as a, P as d, S as c } from "./index-D5CazY1_.js";
2
+ import { e as i } from "./ensureScriptLoaded-Jw9e6HLc.js";
3
+ import { memo as m, useCallback as l } from "react";
4
+ const g = m(({ ...e }) => {
5
+ const { logger: o } = e;
6
+ o.log(u.Debug, "SoundCloudPlayer");
7
+ const t = l(async () => {
8
+ await i(
9
+ "https://w.soundcloud.com/player/api.js",
10
+ o
11
+ );
12
+ }, [o]), s = l(
13
+ (r) => Promise.resolve(SC.Widget(r)),
14
+ []
15
+ );
16
+ return /* @__PURE__ */ a.jsx(
17
+ d,
18
+ {
19
+ ...e,
20
+ loadScript: t,
21
+ playerFactory: s,
22
+ controllerFactory: c,
23
+ children: (r, n) => (
24
+ // eslint-disable-next-line jsx-a11y/iframe-has-title
25
+ /* @__PURE__ */ a.jsx(
26
+ "iframe",
27
+ {
28
+ ref: r,
29
+ src: `https://w.soundcloud.com/player/?url=${n}`,
30
+ frameBorder: 0,
31
+ allow: "autoplay",
32
+ style: { width: "100%", height: "100%" }
33
+ }
34
+ )
35
+ )
36
+ }
37
+ );
38
+ });
39
+ export {
40
+ g as default
41
+ };
42
+ //# sourceMappingURL=SoundCloudPlayer-B8jkHu8t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SoundCloudPlayer-B8jkHu8t.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 { 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","jsx","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,SACCC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGT;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBI;AAAA,MAElB,WAACC,GAAYC;AAAA;AAAA,QAEbJ,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAKG;AAAA,YACL,KAAK,wCAAwCC,CAAO;AAAA,YACpD,aAAa;AAAA,YACb,OAAM;AAAA,YACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,UAAO;AAAA,QAAA;AAAA;AAAA,IACxC;AAAA,EAAA;AAIJ,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DFsUhc9i.cjs"),n=require("./ensureScriptLoaded-Blm1fjMc.cjs"),t=require("react"),c=t.memo(({...l})=>{const{logger:r}=l;r.log(e.LogLevel.Debug,"SoundCloudPlayer");const a=t.useCallback(async()=>{await n.ensureScriptLoaded("https://w.soundcloud.com/player/api.js",r)},[r]),u=t.useCallback(o=>Promise.resolve(SC.Widget(o)),[]);return e.jsxRuntimeExports.jsx(e.PlayerContainer,{...l,loadScript:a,playerFactory:u,controllerFactory:e.SoundCloudPlayerController,children:(o,s)=>e.jsxRuntimeExports.jsx("iframe",{ref:o,src:`https://w.soundcloud.com/player/?url=${s}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}})})});exports.default=c;
2
+ //# sourceMappingURL=SoundCloudPlayer-BV22QlM7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SoundCloudPlayer-BV22QlM7.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 { 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","jsx","PlayerContainer","SoundCloudPlayerController","elementRef","videoId"],"mappings":"0LASMA,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,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,GAAGT,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBI,EAAAA,2BAElB,UAACC,EAAYC,IAEbJ,EAAAA,kBAAAA,IAAC,SAAA,CACA,IAAKG,EACL,IAAK,wCAAwCC,CAAO,GACpD,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAAA,CAIJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { L as c, j as o, P as n, T as h } from "./index-D5CazY1_.js";
2
+ import { e as m } from "./ensureScriptLoaded-Jw9e6HLc.js";
3
+ import { memo as d, useCallback as a } from "react";
4
+ const p = d(({ ...r }) => {
5
+ const { logger: e } = r;
6
+ e.log(c.Debug, "TwitchPlayer");
7
+ const s = a(async () => {
8
+ await m("https://embed.twitch.tv/embed/v1.js", e);
9
+ }, [e]), i = a(
10
+ async (t, l) => Promise.resolve(
11
+ new Twitch.Player(t, {
12
+ video: l,
13
+ width: "100%",
14
+ height: "100%"
15
+ })
16
+ ),
17
+ []
18
+ );
19
+ return /* @__PURE__ */ o.jsx(
20
+ n,
21
+ {
22
+ ...r,
23
+ loadScript: s,
24
+ playerFactory: i,
25
+ controllerFactory: h,
26
+ children: (t) => /* @__PURE__ */ o.jsx(
27
+ "div",
28
+ {
29
+ ref: t,
30
+ style: { width: "100%", height: "100%" }
31
+ }
32
+ )
33
+ }
34
+ );
35
+ });
36
+ export {
37
+ p as default
38
+ };
39
+ //# sourceMappingURL=TwitchPlayer-C9mAN-zs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwitchPlayer-C9mAN-zs.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 { 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","jsx","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,SACCC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGV;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBK;AAAA,MAElB,WAACC,MACDH,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKG;AAAA,UACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,QAAO;AAAA,MAAA;AAAA,IACxC;AAAA,EAAA;AAIJ,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DFsUhc9i.cjs"),n=require("./ensureScriptLoaded-Blm1fjMc.cjs"),o=require("react"),a=o.memo(({...i})=>{const{logger:t}=i;t.log(e.LogLevel.Debug,"TwitchPlayer");const c=o.useCallback(async()=>{await n.ensureScriptLoaded("https://embed.twitch.tv/embed/v1.js",t)},[t]),l=o.useCallback(async(r,s)=>Promise.resolve(new Twitch.Player(r,{video:s,width:"100%",height:"100%"})),[]);return e.jsxRuntimeExports.jsx(e.PlayerContainer,{...i,loadScript:c,playerFactory:l,controllerFactory:e.TwitchPlayerController,children:r=>e.jsxRuntimeExports.jsx("div",{ref:r,style:{width:"100%",height:"100%"}})})});exports.default=a;
2
+ //# sourceMappingURL=TwitchPlayer-CAtEBZ_D.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwitchPlayer-CAtEBZ_D.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 { 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","jsx","PlayerContainer","TwitchPlayerController","elementRef"],"mappings":"0LASMA,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,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,GAAGV,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBK,EAAAA,uBAElB,SAACC,GACDH,EAAAA,kBAAAA,IAAC,MAAA,CACA,IAAKG,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAAA,CAIJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DFsUhc9i.cjs"),n=require("./ensureScriptLoaded-Blm1fjMc.cjs"),t=require("react"),c=t.memo(({...a})=>{const{logger:r}=a;r.log(e.LogLevel.Debug,"VimeoPlayer");const l=t.useCallback(async()=>{await n.ensureScriptLoaded("https://player.vimeo.com/api/player.js",r)},[r]),i=t.useCallback(o=>Promise.resolve(new Vimeo.Player(o)),[]);return e.jsxRuntimeExports.jsx(e.PlayerContainer,{...a,loadScript:l,playerFactory:i,controllerFactory:e.VimeoPlayerController,children:(o,s)=>e.jsxRuntimeExports.jsx("iframe",{ref:o,src:`https://player.vimeo.com/video/${s}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}})})});exports.default=c;
2
+ //# sourceMappingURL=VimeoPlayer-BeD9InZ2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoPlayer-BeD9InZ2.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 { 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","jsx","PlayerContainer","VimeoPlayerController","elementRef","videoId"],"mappings":"0LASMA,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,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,GAAGT,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBI,EAAAA,sBAElB,UAACC,EAAYC,IAEbJ,EAAAA,kBAAAA,IAAC,SAAA,CACA,IAAKG,EACL,IAAK,kCAAkCC,CAAO,GAC9C,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAAA,CAIJ,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { L as m, j as a, P as c, V as n } from "./index-D5CazY1_.js";
2
+ import { e as y } from "./ensureScriptLoaded-Jw9e6HLc.js";
3
+ import { memo as p, useCallback as t } from "react";
4
+ const P = p(({ ...o }) => {
5
+ const { logger: e } = o;
6
+ e.log(m.Debug, "VimeoPlayer");
7
+ const l = t(async () => {
8
+ await y(
9
+ "https://player.vimeo.com/api/player.js",
10
+ e
11
+ );
12
+ }, [e]), s = t(
13
+ (r) => Promise.resolve(new Vimeo.Player(r)),
14
+ []
15
+ );
16
+ return /* @__PURE__ */ a.jsx(
17
+ c,
18
+ {
19
+ ...o,
20
+ loadScript: l,
21
+ playerFactory: s,
22
+ controllerFactory: n,
23
+ children: (r, i) => (
24
+ // eslint-disable-next-line jsx-a11y/iframe-has-title
25
+ /* @__PURE__ */ a.jsx(
26
+ "iframe",
27
+ {
28
+ ref: r,
29
+ src: `https://player.vimeo.com/video/${i}`,
30
+ frameBorder: 0,
31
+ allow: "autoplay",
32
+ style: { width: "100%", height: "100%" }
33
+ }
34
+ )
35
+ )
36
+ }
37
+ );
38
+ });
39
+ export {
40
+ P as default
41
+ };
42
+ //# sourceMappingURL=VimeoPlayer-Dj_TPJOD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoPlayer-Dj_TPJOD.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 { 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","jsx","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,SACCC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGT;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBI;AAAA,MAElB,WAACC,GAAYC;AAAA;AAAA,QAEbJ,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAKG;AAAA,YACL,KAAK,kCAAkCC,CAAO;AAAA,YAC9C,aAAa;AAAA,YACb,OAAM;AAAA,YACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,UAAO;AAAA,QAAA;AAAA;AAAA,IACxC;AAAA,EAAA;AAIJ,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DFsUhc9i.cjs"),s=require("./ensureScriptLoaded-Blm1fjMc.cjs"),t=require("react"),a="https://www.youtube-nocookie.com",l=t.memo(({...i})=>{const{logger:o}=i;o.log(e.LogLevel.Debug,"YouTubePlayer");const u=t.useCallback(()=>new Promise(async(r,c)=>{await s.ensureScriptLoaded("https://www.youtube.com/iframe_api",o)?window.onYouTubeIframeAPIReady=()=>{o.log(e.LogLevel.Debug,"YouTube iframe API ready"),r()}:r()}),[o]),n=t.useCallback(r=>Promise.resolve(new YT.Player(r,{host:a,width:"100%",height:"100%"})),[]);return e.jsxRuntimeExports.jsx(e.PlayerContainer,{...i,loadScript:u,playerFactory:n,controllerFactory:e.YouTubePlayerController,children:r=>e.jsxRuntimeExports.jsx("div",{style:{width:"100%",height:"100%"},children:e.jsxRuntimeExports.jsx("div",{ref:r})})})});exports.default=l;
2
+ //# sourceMappingURL=YouTubePlayer-DLqd36LF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YouTubePlayer-DLqd36LF.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 { 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","jsx","PlayerContainer","YouTubePlayerController","elementRef"],"mappings":"0LASMA,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,IAAY,CAChC,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,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,GAAGX,EACJ,WAAAG,EACA,cAAAK,EACA,kBAAmBI,EAAAA,wBAElB,SAACC,GACDH,EAAAA,kBAAAA,IAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,QACpC,SAAAA,EAAAA,kBAAAA,IAAC,MAAA,CAAI,IAAKG,EAAY,CAAA,CACvB,CAAA,CAAA,CAIJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { L as a, j as r, P as u, Y as l } from "./index-D5CazY1_.js";
2
+ import { e as c } from "./ensureScriptLoaded-Jw9e6HLc.js";
3
+ import { memo as m, useCallback as i } from "react";
4
+ const y = "https://www.youtube-nocookie.com", g = m(({ ...t }) => {
5
+ const { logger: o } = t;
6
+ o.log(a.Debug, "YouTubePlayer");
7
+ const s = i(() => new Promise(async (e, d) => {
8
+ await c(
9
+ "https://www.youtube.com/iframe_api",
10
+ o
11
+ ) ? window.onYouTubeIframeAPIReady = () => {
12
+ o.log(a.Debug, "YouTube iframe API ready"), e();
13
+ } : e();
14
+ }), [o]), n = i(
15
+ (e) => Promise.resolve(
16
+ new YT.Player(e, {
17
+ host: y,
18
+ width: "100%",
19
+ height: "100%"
20
+ })
21
+ ),
22
+ []
23
+ );
24
+ return /* @__PURE__ */ r.jsx(
25
+ u,
26
+ {
27
+ ...t,
28
+ loadScript: s,
29
+ playerFactory: n,
30
+ controllerFactory: l,
31
+ children: (e) => /* @__PURE__ */ r.jsx("div", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ r.jsx("div", { ref: e }) })
32
+ }
33
+ );
34
+ });
35
+ export {
36
+ g as default
37
+ };
38
+ //# sourceMappingURL=YouTubePlayer-DnM2aTnC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YouTubePlayer-DnM2aTnC.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 { 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","jsx","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,MAAY;AAM9C,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,SACCa,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGX;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAK;AAAA,MACA,mBAAmBI;AAAA,MAElB,UAAA,CAACC,MACDH,gBAAAA,EAAAA,IAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,UACpC,UAAAA,gBAAAA,EAAAA,IAAC,OAAA,EAAI,KAAKG,GAAY,EAAA,CACvB;AAAA,IAAA;AAAA,EAAA;AAIJ,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const n=require("./index-DFsUhc9i.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-Blm1fjMc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureScriptLoaded-Blm1fjMc.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"}
@@ -0,0 +1,24 @@
1
+ import { L as o } from "./index-D5CazY1_.js";
2
+ function c(e) {
3
+ return new Promise((a, n) => {
4
+ const t = document.createElement("script");
5
+ t.src = e, t.async = !0, t.onerror = n, t.onload = t.onreadystatechange = function() {
6
+ const r = this.readyState;
7
+ r && r !== "loaded" && r !== "complete" || (t.onload = t.onreadystatechange = null, a());
8
+ }, document.head.appendChild(t);
9
+ });
10
+ }
11
+ const s = [];
12
+ async function i(e, a) {
13
+ if (s.includes(e))
14
+ return a.log(o.Debug, e, "script is already loaded"), !1;
15
+ try {
16
+ return a.log(o.Debug, e, "Loading script..."), await c(e), s.includes(e) ? (a.log(o.Debug, e, "script is already loaded"), !1) : (s.push(e), a.log(o.Debug, e, "script loaded"), !0);
17
+ } catch (n) {
18
+ throw a.log(o.Error, e, "Failed to load script"), n;
19
+ }
20
+ }
21
+ export {
22
+ i as e
23
+ };
24
+ //# sourceMappingURL=ensureScriptLoaded-Jw9e6HLc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureScriptLoaded-Jw9e6HLc.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;"}