@aigamo/nostalgic-diva 1.16.0-rc.4 → 1.16.0

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 (63) hide show
  1. package/dist/AudioPlayer-BsJO-5AV.js +35 -0
  2. package/dist/{AudioPlayer-CoNV5yHv.js.map → AudioPlayer-BsJO-5AV.js.map} +1 -1
  3. package/dist/AudioPlayer-KIHrBoJR.cjs +2 -0
  4. package/dist/{AudioPlayer-CWPUV2Rx.cjs.map → AudioPlayer-KIHrBoJR.cjs.map} +1 -1
  5. package/dist/DailymotionPlayer-C7F4ER60.js +65 -0
  6. package/dist/{DailymotionPlayer-ko6l5X6I.js.map → DailymotionPlayer-C7F4ER60.js.map} +1 -1
  7. package/dist/DailymotionPlayer-PBh-Kzj2.cjs +2 -0
  8. package/dist/{DailymotionPlayer-C2O2wQp7.cjs.map → DailymotionPlayer-PBh-Kzj2.cjs.map} +1 -1
  9. package/dist/NiconicoPlayer-CEHZC_8N.js +36 -0
  10. package/dist/{NiconicoPlayer-CjqbkbwW.js.map → NiconicoPlayer-CEHZC_8N.js.map} +1 -1
  11. package/dist/NiconicoPlayer-Dockax8w.cjs +2 -0
  12. package/dist/{NiconicoPlayer-BWU9MtKf.cjs.map → NiconicoPlayer-Dockax8w.cjs.map} +1 -1
  13. package/dist/PlayerContainer-BF9RqgqR.cjs +2 -0
  14. package/dist/{PlayerContainer-DvHydAAk.cjs.map → PlayerContainer-BF9RqgqR.cjs.map} +1 -1
  15. package/dist/PlayerContainer-BI1B2p7x.js +51 -0
  16. package/dist/{PlayerContainer-DJFJctva.js.map → PlayerContainer-BI1B2p7x.js.map} +1 -1
  17. package/dist/SoundCloudPlayer-BPIk9LUl.js +43 -0
  18. package/dist/{SoundCloudPlayer-BS4DWt39.js.map → SoundCloudPlayer-BPIk9LUl.js.map} +1 -1
  19. package/dist/SoundCloudPlayer-DJg1JAFI.cjs +2 -0
  20. package/dist/{SoundCloudPlayer-Cf2-_hmc.cjs.map → SoundCloudPlayer-DJg1JAFI.cjs.map} +1 -1
  21. package/dist/TwitchPlayer-BhjVsgds.cjs +2 -0
  22. package/dist/{TwitchPlayer-DotNN47z.cjs.map → TwitchPlayer-BhjVsgds.cjs.map} +1 -1
  23. package/dist/TwitchPlayer-BkjAbt3l.js +40 -0
  24. package/dist/{TwitchPlayer-BLFdIoHT.js.map → TwitchPlayer-BkjAbt3l.js.map} +1 -1
  25. package/dist/VimeoPlayer-3A9HCbPd.js +43 -0
  26. package/dist/{VimeoPlayer-CiXS7ARe.js.map → VimeoPlayer-3A9HCbPd.js.map} +1 -1
  27. package/dist/VimeoPlayer-DEHX-IHa.cjs +2 -0
  28. package/dist/{VimeoPlayer-DM2khQzC.cjs.map → VimeoPlayer-DEHX-IHa.cjs.map} +1 -1
  29. package/dist/YouTubePlayer-67WWoqg8.js +39 -0
  30. package/dist/{YouTubePlayer-Dzpw7P3s.js.map → YouTubePlayer-67WWoqg8.js.map} +1 -1
  31. package/dist/YouTubePlayer-LBEGSbxo.cjs +2 -0
  32. package/dist/{YouTubePlayer-Dcfx1FHW.cjs.map → YouTubePlayer-LBEGSbxo.cjs.map} +1 -1
  33. package/dist/{ensureScriptLoaded-CvL_2LIb.js → ensureScriptLoaded-BV4MTdQp.js} +2 -2
  34. package/dist/{ensureScriptLoaded-CvL_2LIb.js.map → ensureScriptLoaded-BV4MTdQp.js.map} +1 -1
  35. package/dist/{ensureScriptLoaded-CPdXg-lu.cjs → ensureScriptLoaded-CF41NIep.cjs} +2 -2
  36. package/dist/{ensureScriptLoaded-CPdXg-lu.cjs.map → ensureScriptLoaded-CF41NIep.cjs.map} +1 -1
  37. package/dist/index-LL3eir_1.js +1784 -0
  38. package/dist/index-LL3eir_1.js.map +1 -0
  39. package/dist/index-oJ7ZMiim.cjs +15 -0
  40. package/dist/index-oJ7ZMiim.cjs.map +1 -0
  41. package/dist/index.cjs.js +1 -1
  42. package/dist/index.es.js +1 -1
  43. package/package.json +1 -1
  44. package/dist/AudioPlayer-CWPUV2Rx.cjs +0 -2
  45. package/dist/AudioPlayer-CoNV5yHv.js +0 -35
  46. package/dist/DailymotionPlayer-C2O2wQp7.cjs +0 -2
  47. package/dist/DailymotionPlayer-ko6l5X6I.js +0 -65
  48. package/dist/NiconicoPlayer-BWU9MtKf.cjs +0 -2
  49. package/dist/NiconicoPlayer-CjqbkbwW.js +0 -36
  50. package/dist/PlayerContainer-DJFJctva.js +0 -51
  51. package/dist/PlayerContainer-DvHydAAk.cjs +0 -2
  52. package/dist/SoundCloudPlayer-BS4DWt39.js +0 -43
  53. package/dist/SoundCloudPlayer-Cf2-_hmc.cjs +0 -2
  54. package/dist/TwitchPlayer-BLFdIoHT.js +0 -40
  55. package/dist/TwitchPlayer-DotNN47z.cjs +0 -2
  56. package/dist/VimeoPlayer-CiXS7ARe.js +0 -43
  57. package/dist/VimeoPlayer-DM2khQzC.cjs +0 -2
  58. package/dist/YouTubePlayer-Dcfx1FHW.cjs +0 -2
  59. package/dist/YouTubePlayer-Dzpw7P3s.js +0 -39
  60. package/dist/index-BKvZLqpD.js +0 -1173
  61. package/dist/index-BKvZLqpD.js.map +0 -1
  62. package/dist/index-DnO0-fGP.cjs +0 -2
  63. package/dist/index-DnO0-fGP.cjs.map +0 -1
@@ -0,0 +1,35 @@
1
+ import { L as s, j as e, A as i } from "./index-LL3eir_1.js";
2
+ import { P as u } from "./PlayerContainer-BI1B2p7x.js";
3
+ import { memo as n, useCallback as c } from "react";
4
+ const P = n(({ ...r }) => {
5
+ const { logger: t } = r;
6
+ t.log(s.Debug, "AudioPlayer");
7
+ const a = c(
8
+ (o) => Promise.resolve(o),
9
+ []
10
+ );
11
+ return /* @__PURE__ */ e.jsx(
12
+ u,
13
+ {
14
+ ...r,
15
+ loadScript: void 0,
16
+ playerFactory: a,
17
+ controllerFactory: i,
18
+ children: (o, l) => /* @__PURE__ */ e.jsx(
19
+ "audio",
20
+ {
21
+ ref: o,
22
+ src: l,
23
+ style: { width: "100%", height: "100%" },
24
+ preload: "auto",
25
+ autoPlay: !0,
26
+ controls: !0
27
+ }
28
+ )
29
+ }
30
+ );
31
+ });
32
+ export {
33
+ P as default
34
+ };
35
+ //# sourceMappingURL=AudioPlayer-BsJO-5AV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioPlayer-CoNV5yHv.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","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,sBAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGN;AAAA,MACJ,YAAY;AAAA,MACZ,eAAAG;AAAA,MACA,mBAAmBI;AAAA,IAAA;AAAA,IAElB,CAACC,GAAYC,MACb,sBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,KAAKD;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
+ {"version":3,"file":"AudioPlayer-BsJO-5AV.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,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-oJ7ZMiim.cjs"),a=require("./PlayerContainer-BF9RqgqR.cjs"),t=require("react"),n=t.memo(({...o})=>{const{logger:l}=o;l.log(e.LogLevel.Debug,"AudioPlayer");const i=t.useCallback(r=>Promise.resolve(r),[]);return e.jsxRuntimeExports.jsx(a.PlayerContainer,{...o,loadScript:void 0,playerFactory:i,controllerFactory:e.AudioPlayerController,children:(r,u)=>e.jsxRuntimeExports.jsx("audio",{ref:r,src:u,style:{width:"100%",height:"100%"},preload:"auto",autoPlay:!0,controls:!0})})});exports.default=n;
2
+ //# sourceMappingURL=AudioPlayer-KIHrBoJR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioPlayer-CWPUV2Rx.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","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,OACC,MAAA,cAACC,EAAAA,gBAAA,CACC,GAAGN,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBI,EAAAA,qBAAA,EAElB,CAACC,EAAYC,IACb,MAAA,cAAC,QAAA,CACA,IAAKD,EACL,IAAKC,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,EAChC,QAAQ,OACR,SAAQ,GACR,SAAQ,EAAA,CAAA,CACT,CAIJ,CAAC"}
1
+ {"version":3,"file":"AudioPlayer-KIHrBoJR.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":"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,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,65 @@
1
+ import { L as c, j as o, D as m } from "./index-LL3eir_1.js";
2
+ import { P as y } from "./PlayerContainer-BI1B2p7x.js";
3
+ import { e as u } from "./ensureScriptLoaded-BV4MTdQp.js";
4
+ import { memo as g, useCallback as l } from "react";
5
+ const j = g(
6
+ ({ options: e, ...t }) => {
7
+ const { logger: r } = t;
8
+ r.log(c.Debug, "DailymotionPlayer");
9
+ const i = l(async () => {
10
+ await u("https://api.dmcdn.net/all.js", r);
11
+ }, [r]), d = l(
12
+ (a, n) => Promise.resolve(
13
+ new DM.player(a, {
14
+ video: n,
15
+ width: "100%",
16
+ height: "100%",
17
+ events: {
18
+ apiready: () => {
19
+ e?.onLoaded?.({ id: n });
20
+ },
21
+ seeked: () => {
22
+ e?.onTimeUpdate?.({
23
+ duration: 0,
24
+ percent: 0,
25
+ seconds: 0
26
+ });
27
+ },
28
+ video_end: () => {
29
+ e?.onEnded?.();
30
+ },
31
+ durationchange: () => {
32
+ },
33
+ pause: () => {
34
+ e?.onPause?.();
35
+ },
36
+ playing: () => {
37
+ e?.onPlay?.();
38
+ },
39
+ waiting: () => {
40
+ },
41
+ error: (s) => {
42
+ e?.onError?.(s);
43
+ }
44
+ }
45
+ })
46
+ ),
47
+ [e]
48
+ );
49
+ return /* @__PURE__ */ o.jsx(
50
+ y,
51
+ {
52
+ ...t,
53
+ options: e,
54
+ loadScript: i,
55
+ playerFactory: d,
56
+ controllerFactory: m,
57
+ children: (a) => /* @__PURE__ */ o.jsx("div", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ o.jsx("div", { ref: a }) })
58
+ }
59
+ );
60
+ }
61
+ );
62
+ export {
63
+ j as default
64
+ };
65
+ //# sourceMappingURL=DailymotionPlayer-C7F4ER60.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DailymotionPlayer-ko6l5X6I.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","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,sBAAA;AAAA,MAACW;AAAA,MAAA;AAAA,QACC,GAAGV;AAAA,QACJ,SAAAD;AAAA,QACA,YAAAI;AAAA,QACA,eAAAG;AAAA,QACA,mBAAmBK;AAAA,MAAA;AAAA,MAElB,CAACC,MACD,sBAAA,cAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,SAAO,GAC3C,sBAAA,cAAC,OAAA,EAAI,KAAKA,GAAY,CACvB;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"DailymotionPlayer-C7F4ER60.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-oJ7ZMiim.cjs"),c=require("./PlayerContainer-BF9RqgqR.cjs"),u=require("./ensureScriptLoaded-CF41NIep.cjs"),a=require("react"),y=a.memo(({options:e,...i})=>{const{logger:t}=i;t.log(r.LogLevel.Debug,"DailymotionPlayer");const l=a.useCallback(async()=>{await u.ensureScriptLoaded("https://api.dmcdn.net/all.js",t)},[t]),d=a.useCallback((n,o)=>Promise.resolve(new DM.player(n,{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(c.PlayerContainer,{...i,options:e,loadScript:l,playerFactory:d,controllerFactory:r.DailymotionPlayerController,children:n=>r.jsxRuntimeExports.jsx("div",{style:{width:"100%",height:"100%"},children:r.jsxRuntimeExports.jsx("div",{ref:n})})})});exports.default=y;
2
+ //# sourceMappingURL=DailymotionPlayer-PBh-Kzj2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DailymotionPlayer-C2O2wQp7.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","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,OACC,MAAA,cAACW,EAAAA,gBAAA,CACC,GAAGV,EACJ,QAAAD,EACA,WAAAI,EACA,cAAAG,EACA,kBAAmBK,EAAAA,2BAAA,EAEjBC,GACD,MAAA,cAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,OAAO,EAC3C,MAAA,cAAC,MAAA,CAAI,IAAKA,EAAY,CACvB,CAAA,CAIJ,CACD"}
1
+ {"version":3,"file":"DailymotionPlayer-PBh-Kzj2.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":"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,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,36 @@
1
+ import { L as i, j as o, N as c } from "./index-LL3eir_1.js";
2
+ import { P as s } from "./PlayerContainer-BI1B2p7x.js";
3
+ import { memo as n, useCallback as d } from "react";
4
+ const p = n(({ ...r }) => {
5
+ const { logger: l } = r;
6
+ l.log(i.Debug, "NiconicoPlayer");
7
+ const t = d(
8
+ (e) => Promise.resolve(e),
9
+ []
10
+ );
11
+ return /* @__PURE__ */ o.jsx(
12
+ s,
13
+ {
14
+ ...r,
15
+ loadScript: void 0,
16
+ playerFactory: t,
17
+ controllerFactory: c,
18
+ children: (e, a) => /* @__PURE__ */ o.jsx("div", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ o.jsx(
19
+ "iframe",
20
+ {
21
+ ref: e,
22
+ src: `https://embed.nicovideo.jp/watch/${a}?jsapi=1&playerId=1`,
23
+ width: "100%",
24
+ height: "100%",
25
+ allowFullScreen: !0,
26
+ style: { border: "none" },
27
+ allow: "autoplay; fullscreen"
28
+ }
29
+ ) })
30
+ }
31
+ );
32
+ });
33
+ export {
34
+ p as default
35
+ };
36
+ //# sourceMappingURL=NiconicoPlayer-CEHZC_8N.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NiconicoPlayer-CjqbkbwW.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","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,sBAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGN;AAAA,MACJ,YAAY;AAAA,MACZ,eAAAG;AAAA,MACA,mBAAmBI;AAAA,IAAA;AAAA,IAElB,CAACC,GAAYC,MACb,sBAAA,cAAC,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA,EAAO,GAE3C,sBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,KAAKD;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
+ {"version":3,"file":"NiconicoPlayer-CEHZC_8N.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-oJ7ZMiim.cjs"),c=require("./PlayerContainer-BF9RqgqR.cjs"),t=require("react"),s=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(c.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=s;
2
+ //# sourceMappingURL=NiconicoPlayer-Dockax8w.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NiconicoPlayer-BWU9MtKf.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","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,OACC,MAAA,cAACC,EAAAA,gBAAA,CACC,GAAGN,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBI,EAAAA,wBAAA,EAElB,CAACC,EAAYC,IACb,MAAA,cAAC,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,EAE3C,MAAA,cAAC,SAAA,CACA,IAAKD,EACL,IAAK,oCAAoCC,CAAO,sBAChD,MAAM,OACN,OAAO,OACP,gBAAe,GACf,MAAO,CAAE,OAAQ,MAAA,EAMjB,MAAM,sBAAA,CAAA,CAER,CAAA,CAIJ,CAAC"}
1
+ {"version":3,"file":"NiconicoPlayer-Dockax8w.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":"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,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,2 @@
1
+ "use strict";const u=require("./index-oJ7ZMiim.cjs"),r=require("react");function C(){const e=r.useRef(!0);return e.current?(e.current=!1,!0):e.current}const h=(e,t)=>e===t;function q(e,t=h){const n=r.useRef(),s=r.useRef(e);return!C()&&!t(s.current,e)&&(n.current=s.current,s.current=e),n.current}const y=({logger:e,type:t,loadScript:n,playerFactory:s,onControllerChange:f,videoId:c,options:R,controllerFactory:P,children:x})=>{e.log(u.LogLevel.Debug,"PlayerContainer");const l=r.useRef(c),d=r.useRef(void 0),[a,m]=r.useState(),[i,v]=r.useState(u.nullPlayerController);r.useEffect(()=>{f?.(i)},[i,f]),r.useEffect(()=>{(n?.()??Promise.resolve()).then(()=>s(d.current,l.current)).then(o=>m(o))},[n,s]),r.useEffect(()=>{if(a===void 0)return;const o=new u.PlayerController(e,t,a,R,P);return v(o),o.attach(l.current),()=>{v(u.nullPlayerController),o.detach()}},[e,t,n,a,R,P]);const E=q(c);return r.useEffect(()=>{E!==void 0&&i.loadVideo(c)},[E,c,i]),u.jsxRuntimeExports.jsx(u.jsxRuntimeExports.Fragment,{children:x(d,l.current)})};exports.PlayerContainer=y;
2
+ //# sourceMappingURL=PlayerContainer-BF9RqgqR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerContainer-DvHydAAk.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 {\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\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"],"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,EAE3BM,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,EAGlC,MAAA,cAAA,MAAA,SAAA,KAAGP,EAASG,EAAYD,EAAW,OAAO,CAAE,CACpD"}
1
+ {"version":3,"file":"PlayerContainer-BF9RqgqR.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 {\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\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","jsx","Fragment"],"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,EAE3BM,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,EAAAA,kBAAAA,IAAAC,EAAAA,kBAAAA,SAAA,CAAG,SAAAd,EAASG,EAAYD,EAAW,OAAO,EAAE,CACpD"}
@@ -0,0 +1,51 @@
1
+ import { L as F, n as h, P as L, j as x } from "./index-LL3eir_1.js";
2
+ import { useRef as o, useState as j, useEffect as i } from "react";
3
+ function M() {
4
+ const r = o(!0);
5
+ return r.current ? (r.current = !1, !0) : r.current;
6
+ }
7
+ const p = (r, t) => r === t;
8
+ function y(r, t = p) {
9
+ const e = o(), n = o(r);
10
+ return !M() && !t(n.current, r) && (e.current = n.current, n.current = r), e.current;
11
+ }
12
+ const b = ({
13
+ logger: r,
14
+ type: t,
15
+ loadScript: e,
16
+ playerFactory: n,
17
+ onControllerChange: f,
18
+ videoId: u,
19
+ options: P,
20
+ controllerFactory: m,
21
+ children: C
22
+ }) => {
23
+ r.log(F.Debug, "PlayerContainer");
24
+ const l = o(u), v = o(void 0), [a, E] = j(), [c, d] = j(h);
25
+ i(() => {
26
+ f?.(c);
27
+ }, [c, f]), i(() => {
28
+ (e?.() ?? Promise.resolve()).then(() => n(v.current, l.current)).then((s) => E(s));
29
+ }, [e, n]), i(() => {
30
+ if (a === void 0)
31
+ return;
32
+ const s = new L(
33
+ r,
34
+ t,
35
+ a,
36
+ P,
37
+ m
38
+ );
39
+ return d(s), s.attach(l.current), () => {
40
+ d(h), s.detach();
41
+ };
42
+ }, [r, t, e, a, P, m]);
43
+ const R = y(u);
44
+ return i(() => {
45
+ R !== void 0 && c.loadVideo(u);
46
+ }, [R, u, c]), /* @__PURE__ */ x.jsx(x.Fragment, { children: C(v, l.current) });
47
+ };
48
+ export {
49
+ b as P
50
+ };
51
+ //# sourceMappingURL=PlayerContainer-BI1B2p7x.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerContainer-DJFJctva.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 {\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\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"],"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,GAE3BM,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,sBAAA,cAAA,MAAA,UAAA,MAAGP,EAASG,GAAYD,EAAW,OAAO,CAAE;AACpD;"}
1
+ {"version":3,"file":"PlayerContainer-BI1B2p7x.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 {\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\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","jsx","Fragment"],"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,GAE3BM,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,GAGlCM,gBAAAA,EAAAA,IAAAC,EAAAA,UAAA,EAAG,UAAAd,EAASG,GAAYD,EAAW,OAAO,GAAE;AACpD;"}
@@ -0,0 +1,43 @@
1
+ import { L as u, j as t, S as d } from "./index-LL3eir_1.js";
2
+ import { P as c } from "./PlayerContainer-BI1B2p7x.js";
3
+ import { e as i } from "./ensureScriptLoaded-BV4MTdQp.js";
4
+ import { memo as m, useCallback as a } from "react";
5
+ const C = m(({ ...e }) => {
6
+ const { logger: o } = e;
7
+ o.log(u.Debug, "SoundCloudPlayer");
8
+ const l = a(async () => {
9
+ await i(
10
+ "https://w.soundcloud.com/player/api.js",
11
+ o
12
+ );
13
+ }, [o]), s = a(
14
+ (r) => Promise.resolve(SC.Widget(r)),
15
+ []
16
+ );
17
+ return /* @__PURE__ */ t.jsx(
18
+ c,
19
+ {
20
+ ...e,
21
+ loadScript: l,
22
+ playerFactory: s,
23
+ controllerFactory: d,
24
+ children: (r, n) => (
25
+ // eslint-disable-next-line jsx-a11y/iframe-has-title
26
+ /* @__PURE__ */ t.jsx(
27
+ "iframe",
28
+ {
29
+ ref: r,
30
+ src: `https://w.soundcloud.com/player/?url=${n}`,
31
+ frameBorder: 0,
32
+ allow: "autoplay",
33
+ style: { width: "100%", height: "100%" }
34
+ }
35
+ )
36
+ )
37
+ }
38
+ );
39
+ });
40
+ export {
41
+ C as default
42
+ };
43
+ //# sourceMappingURL=SoundCloudPlayer-BPIk9LUl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SoundCloudPlayer-BS4DWt39.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","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,sBAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGR;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBG;AAAA,IAAA;AAAA,IAElB,CAACC,GAAYC;AAAA;AAAA,MAEb,sBAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKD;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
+ {"version":3,"file":"SoundCloudPlayer-BPIk9LUl.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-oJ7ZMiim.cjs"),s=require("./PlayerContainer-BF9RqgqR.cjs"),c=require("./ensureScriptLoaded-CF41NIep.cjs"),t=require("react"),i=t.memo(({...l})=>{const{logger:r}=l;r.log(e.LogLevel.Debug,"SoundCloudPlayer");const a=t.useCallback(async()=>{await c.ensureScriptLoaded("https://w.soundcloud.com/player/api.js",r)},[r]),n=t.useCallback(o=>Promise.resolve(SC.Widget(o)),[]);return e.jsxRuntimeExports.jsx(s.PlayerContainer,{...l,loadScript:a,playerFactory:n,controllerFactory:e.SoundCloudPlayerController,children:(o,u)=>e.jsxRuntimeExports.jsx("iframe",{ref:o,src:`https://w.soundcloud.com/player/?url=${u}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}})})});exports.default=i;
2
+ //# sourceMappingURL=SoundCloudPlayer-DJg1JAFI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SoundCloudPlayer-Cf2-_hmc.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","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,OACC,MAAA,cAACC,EAAAA,gBAAA,CACC,GAAGR,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBG,EAAAA,0BAAA,EAElB,CAACC,EAAYC,IAEb,MAAA,cAAC,SAAA,CACA,IAAKD,EACL,IAAK,wCAAwCC,CAAO,GACpD,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAIJ,CAAC"}
1
+ {"version":3,"file":"SoundCloudPlayer-DJg1JAFI.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":"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,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,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-oJ7ZMiim.cjs"),s=require("./PlayerContainer-BF9RqgqR.cjs"),a=require("./ensureScriptLoaded-CF41NIep.cjs"),o=require("react"),u=o.memo(({...i})=>{const{logger:t}=i;t.log(e.LogLevel.Debug,"TwitchPlayer");const n=o.useCallback(async()=>{await a.ensureScriptLoaded("https://embed.twitch.tv/embed/v1.js",t)},[t]),c=o.useCallback(async(r,l)=>Promise.resolve(new Twitch.Player(r,{video:l,width:"100%",height:"100%"})),[]);return e.jsxRuntimeExports.jsx(s.PlayerContainer,{...i,loadScript:n,playerFactory:c,controllerFactory:e.TwitchPlayerController,children:r=>e.jsxRuntimeExports.jsx("div",{ref:r,style:{width:"100%",height:"100%"}})})});exports.default=u;
2
+ //# sourceMappingURL=TwitchPlayer-BhjVsgds.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TwitchPlayer-DotNN47z.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","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,OACC,MAAA,cAACC,EAAAA,gBAAA,CACC,GAAGT,EACJ,WAAAG,EACA,cAAAG,EACA,kBAAmBI,EAAAA,sBAAA,EAEjBC,GACD,MAAA,cAAC,MAAA,CACA,IAAKA,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,CACxC,CAIJ,CAAC"}
1
+ {"version":3,"file":"TwitchPlayer-BhjVsgds.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":"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,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,40 @@
1
+ import { L as c, j as o, T as n } from "./index-LL3eir_1.js";
2
+ import { P as m } from "./PlayerContainer-BI1B2p7x.js";
3
+ import { e as h } from "./ensureScriptLoaded-BV4MTdQp.js";
4
+ import { memo as d, useCallback as a } from "react";
5
+ const u = d(({ ...r }) => {
6
+ const { logger: e } = r;
7
+ e.log(c.Debug, "TwitchPlayer");
8
+ const i = a(async () => {
9
+ await h("https://embed.twitch.tv/embed/v1.js", e);
10
+ }, [e]), s = a(
11
+ async (t, l) => Promise.resolve(
12
+ new Twitch.Player(t, {
13
+ video: l,
14
+ width: "100%",
15
+ height: "100%"
16
+ })
17
+ ),
18
+ []
19
+ );
20
+ return /* @__PURE__ */ o.jsx(
21
+ m,
22
+ {
23
+ ...r,
24
+ loadScript: i,
25
+ playerFactory: s,
26
+ controllerFactory: n,
27
+ children: (t) => /* @__PURE__ */ o.jsx(
28
+ "div",
29
+ {
30
+ ref: t,
31
+ style: { width: "100%", height: "100%" }
32
+ }
33
+ )
34
+ }
35
+ );
36
+ });
37
+ export {
38
+ u as default
39
+ };
40
+ //# sourceMappingURL=TwitchPlayer-BkjAbt3l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TwitchPlayer-BLFdIoHT.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","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,sBAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,GAAGT;AAAA,MACJ,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,mBAAmBI;AAAA,IAAA;AAAA,IAElB,CAACC,MACD,sBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,KAAKA;AAAA,QACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,MAAO;AAAA,IAAA;AAAA,EACxC;AAIJ,CAAC;"}
1
+ {"version":3,"file":"TwitchPlayer-BkjAbt3l.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,43 @@
1
+ import { L as m, j as a, V as c } from "./index-LL3eir_1.js";
2
+ import { P as n } from "./PlayerContainer-BI1B2p7x.js";
3
+ import { e as p } from "./ensureScriptLoaded-BV4MTdQp.js";
4
+ import { memo as y, useCallback as t } from "react";
5
+ const g = y(({ ...o }) => {
6
+ const { logger: e } = o;
7
+ e.log(m.Debug, "VimeoPlayer");
8
+ const l = t(async () => {
9
+ await p(
10
+ "https://player.vimeo.com/api/player.js",
11
+ e
12
+ );
13
+ }, [e]), s = t(
14
+ (r) => Promise.resolve(new Vimeo.Player(r)),
15
+ []
16
+ );
17
+ return /* @__PURE__ */ a.jsx(
18
+ n,
19
+ {
20
+ ...o,
21
+ loadScript: l,
22
+ playerFactory: s,
23
+ controllerFactory: c,
24
+ children: (r, i) => (
25
+ // eslint-disable-next-line jsx-a11y/iframe-has-title
26
+ /* @__PURE__ */ a.jsx(
27
+ "iframe",
28
+ {
29
+ ref: r,
30
+ src: `https://player.vimeo.com/video/${i}`,
31
+ frameBorder: 0,
32
+ allow: "autoplay",
33
+ style: { width: "100%", height: "100%" }
34
+ }
35
+ )
36
+ )
37
+ }
38
+ );
39
+ });
40
+ export {
41
+ g as default
42
+ };
43
+ //# sourceMappingURL=VimeoPlayer-3A9HCbPd.js.map