@aigamo/nostalgic-diva 1.14.0-rc.0 → 1.14.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 (49) hide show
  1. package/README.md +46 -2
  2. package/dist/{AudioPlayer-b9a8c640.js → AudioPlayer-1a8caac7.js} +3 -3
  3. package/dist/{AudioPlayer-b9a8c640.js.map → AudioPlayer-1a8caac7.js.map} +1 -1
  4. package/dist/{AudioPlayer-bdffca2e.cjs → AudioPlayer-6edeb287.cjs} +2 -2
  5. package/dist/{AudioPlayer-bdffca2e.cjs.map → AudioPlayer-6edeb287.cjs.map} +1 -1
  6. package/dist/{DailymotionPlayer-9911cf65.cjs → DailymotionPlayer-252803e0.cjs} +2 -2
  7. package/dist/{DailymotionPlayer-9911cf65.cjs.map → DailymotionPlayer-252803e0.cjs.map} +1 -1
  8. package/dist/{DailymotionPlayer-c382ebf7.js → DailymotionPlayer-6b3cc7ce.js} +4 -4
  9. package/dist/{DailymotionPlayer-c382ebf7.js.map → DailymotionPlayer-6b3cc7ce.js.map} +1 -1
  10. package/dist/{NiconicoPlayer-63f9f506.cjs → NiconicoPlayer-6d765b0c.cjs} +2 -2
  11. package/dist/{NiconicoPlayer-63f9f506.cjs.map → NiconicoPlayer-6d765b0c.cjs.map} +1 -1
  12. package/dist/{NiconicoPlayer-7e93d234.js → NiconicoPlayer-d834668f.js} +3 -3
  13. package/dist/{NiconicoPlayer-7e93d234.js.map → NiconicoPlayer-d834668f.js.map} +1 -1
  14. package/dist/{PlayerContainer-a9b598d9.cjs → PlayerContainer-01e0a6d8.cjs} +2 -2
  15. package/dist/{PlayerContainer-a9b598d9.cjs.map → PlayerContainer-01e0a6d8.cjs.map} +1 -1
  16. package/dist/{PlayerContainer-c7dcfed0.js → PlayerContainer-12c7a566.js} +2 -2
  17. package/dist/{PlayerContainer-c7dcfed0.js.map → PlayerContainer-12c7a566.js.map} +1 -1
  18. package/dist/{SoundCloudPlayer-2130270f.js → SoundCloudPlayer-11f15866.js} +4 -4
  19. package/dist/{SoundCloudPlayer-2130270f.js.map → SoundCloudPlayer-11f15866.js.map} +1 -1
  20. package/dist/{SoundCloudPlayer-ad5c689f.cjs → SoundCloudPlayer-3fe771ac.cjs} +2 -2
  21. package/dist/{SoundCloudPlayer-ad5c689f.cjs.map → SoundCloudPlayer-3fe771ac.cjs.map} +1 -1
  22. package/dist/{TwitchPlayer-9e3caa63.js → TwitchPlayer-191956ee.js} +4 -4
  23. package/dist/{TwitchPlayer-9e3caa63.js.map → TwitchPlayer-191956ee.js.map} +1 -1
  24. package/dist/{TwitchPlayer-9dae2e29.cjs → TwitchPlayer-b2941d58.cjs} +2 -2
  25. package/dist/{TwitchPlayer-9dae2e29.cjs.map → TwitchPlayer-b2941d58.cjs.map} +1 -1
  26. package/dist/{VimeoPlayer-ea56953d.cjs → VimeoPlayer-a9a3f2c8.cjs} +2 -2
  27. package/dist/{VimeoPlayer-ea56953d.cjs.map → VimeoPlayer-a9a3f2c8.cjs.map} +1 -1
  28. package/dist/{VimeoPlayer-9e565656.js → VimeoPlayer-f8182608.js} +4 -4
  29. package/dist/{VimeoPlayer-9e565656.js.map → VimeoPlayer-f8182608.js.map} +1 -1
  30. package/dist/{YouTubePlayer-f838286c.js → YouTubePlayer-6a5d2c5d.js} +4 -4
  31. package/dist/{YouTubePlayer-f838286c.js.map → YouTubePlayer-6a5d2c5d.js.map} +1 -1
  32. package/dist/{YouTubePlayer-d1f69454.cjs → YouTubePlayer-7d9d4215.cjs} +2 -2
  33. package/dist/{YouTubePlayer-d1f69454.cjs.map → YouTubePlayer-7d9d4215.cjs.map} +1 -1
  34. package/dist/components/defineNostalgicDiva.d.ts +24 -0
  35. package/dist/{ensureScriptLoaded-edd30857.cjs → ensureScriptLoaded-1f39c376.cjs} +2 -2
  36. package/dist/{ensureScriptLoaded-edd30857.cjs.map → ensureScriptLoaded-1f39c376.cjs.map} +1 -1
  37. package/dist/{ensureScriptLoaded-ddb8918f.js → ensureScriptLoaded-75980318.js} +2 -2
  38. package/dist/{ensureScriptLoaded-ddb8918f.js.map → ensureScriptLoaded-75980318.js.map} +1 -1
  39. package/dist/index-0ef85555.js +1132 -0
  40. package/dist/index-0ef85555.js.map +1 -0
  41. package/dist/index-fb8a7911.cjs +2 -0
  42. package/dist/index-fb8a7911.cjs.map +1 -0
  43. package/dist/index.cjs.js +1 -1
  44. package/dist/index.es.js +13 -12
  45. package/package.json +1 -1
  46. package/dist/index-1c32fd0f.cjs +0 -2
  47. package/dist/index-1c32fd0f.cjs.map +0 -1
  48. package/dist/index-4f99b291.js +0 -1123
  49. package/dist/index-4f99b291.js.map +0 -1
package/README.md CHANGED
@@ -46,8 +46,7 @@ const options = React.useMemo(
46
46
  // - "SoundCloud"
47
47
  // - "Vimeo"
48
48
  // - "YouTube"
49
- type="Audio"
50
- videoId={videoId}
49
+ src="https://www.youtube.com/watch?v=bGdtvUQ9OAs"
51
50
  options={options}
52
51
  />
53
52
  ;
@@ -75,6 +74,49 @@ await diva.setMuted(false);
75
74
  await diva.setCurrentTime(seconds);
76
75
  ```
77
76
 
77
+ or by using a [Web Component](https://developer.mozilla.org/en-US/docs/Web/API/Web_Components)
78
+
79
+ ```ts
80
+ import { defineNostalgicDiva } from '@aigamo/nostalgic-diva';
81
+
82
+ defineNostalgicDiva();
83
+ ```
84
+
85
+ ```html
86
+ <nostalgic-diva
87
+ src="https://www.youtube.com/watch?v=bGdtvUQ9OAs"
88
+ id="nostalgic-diva"
89
+ />
90
+ ```
91
+
92
+ ```ts
93
+ import { NostalgicDivaElement } from '@aigamo/nostalgic-diva';
94
+
95
+ const diva = document.querySelector<NostalgicDivaElement>('#nostalgic-diva');
96
+
97
+ // Event listeners
98
+ diva.addEventListener('error', (e) => {});
99
+ diva.addEventListener('play', (e) => {});
100
+ diva.addEventListener('pause', (e) => {});
101
+ diva.addEventListener('ended', (e) => {});
102
+ diva.addEventListener('timeupdate', (e) => {});
103
+
104
+ // Play
105
+ await diva.play();
106
+
107
+ // Pause
108
+ await diva.pause();
109
+
110
+ // Mute
111
+ await diva.setMuted(true);
112
+
113
+ // Unmute
114
+ await diva.setMuted(false);
115
+
116
+ // Seek
117
+ await diva.setCurrentTime(seconds);
118
+ ```
119
+
78
120
  ## Imperative functions
79
121
 
80
122
  | Function | Description |
@@ -125,3 +167,5 @@ The `attach` function is called when switching from another player (Audio, Nicon
125
167
  - [Synchronizing with Effects](https://beta.reactjs.org/learn/synchronizing-with-effects#how-to-handle-the-effect-firing-twice-in-development)
126
168
  - [dailymotion/dailymotion-sdk-js: Dailymotion JavaScript client API](https://github.com/dailymotion/dailymotion-sdk-js)
127
169
  - [Video &amp; Clips | Twitch Developers](https://dev.twitch.tv/docs/embed/video-and-clips/)
170
+ - [bitovi/react-to-web-component: Convert react components to native Web Components. Works with Preact too!](https://github.com/bitovi/react-to-web-component)
171
+ - [Using custom elements - Web APIs | MDN](https://developer.mozilla.org/en-US/docs/Web/API/Web_Components/Using_custom_elements)
@@ -1,6 +1,6 @@
1
1
  import e from "react";
2
- import { L as i, A as c } from "./index-4f99b291.js";
3
- import { P as u } from "./PlayerContainer-c7dcfed0.js";
2
+ import { L as i, A as c } from "./index-0ef85555.js";
3
+ import { P as u } from "./PlayerContainer-12c7a566.js";
4
4
  import "react-dom";
5
5
  const y = e.memo(
6
6
  ({ ...o }) => {
@@ -35,4 +35,4 @@ const y = e.memo(
35
35
  export {
36
36
  y as default
37
37
  };
38
- //# sourceMappingURL=AudioPlayer-b9a8c640.js.map
38
+ //# sourceMappingURL=AudioPlayer-1a8caac7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioPlayer-b9a8c640.js","sources":["../src/components/AudioPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AudioPlayerController } from '../controllers/AudioPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst AudioPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'AudioPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLAudioElement): Promise<HTMLAudioElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={AudioPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<audio\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tsrc={videoId}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t\tpreload=\"auto\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default AudioPlayer;\n"],"names":["AudioPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","AudioPlayerController","elementRef","videoId"],"mappings":";;;;AAMA,MAAMA,IAAcC,EAAM;AAAA,EACzB,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,aAAa;AAExC,UAAMC,IAAgBJ,EAAM;AAAA,MAC3B,CAACK,MACO,QAAQ,QAAQA,CAAO;AAAA,MAE/B,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAL,EAAA;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,GAAGL;AAAA,QACJ,YAAY;AAAA,QACZ,eAAAG;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC,MACb,gBAAAT,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKQ;AAAA,UACL,KAAKC;AAAA,UACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,UACvC,SAAQ;AAAA,UACR,UAAQ;AAAA,UACR,UAAQ;AAAA,QAAA;AAAA,MACT;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"AudioPlayer-1a8caac7.js","sources":["../src/components/AudioPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AudioPlayerController } from '../controllers/AudioPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst AudioPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'AudioPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLAudioElement): Promise<HTMLAudioElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={AudioPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<audio\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tsrc={videoId}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t\tpreload=\"auto\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default AudioPlayer;\n"],"names":["AudioPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","AudioPlayerController","elementRef","videoId"],"mappings":";;;;AAMA,MAAMA,IAAcC,EAAM;AAAA,EACzB,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,aAAa;AAExC,UAAMC,IAAgBJ,EAAM;AAAA,MAC3B,CAACK,MACO,QAAQ,QAAQA,CAAO;AAAA,MAE/B,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAL,EAAA;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,GAAGL;AAAA,QACJ,YAAY;AAAA,QACZ,eAAAG;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC,MACb,gBAAAT,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKQ;AAAA,UACL,KAAKC;AAAA,UACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,UACvC,SAAQ;AAAA,UACR,UAAQ;AAAA,UACR,UAAQ;AAAA,QAAA;AAAA,MACT;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),o=require("./index-1c32fd0f.cjs"),u=require("./PlayerContainer-a9b598d9.cjs");require("react-dom");const i=e.memo(({...t})=>{const{logger:l}=t;l.log(o.LogLevel.Debug,"AudioPlayer");const a=e.useCallback(r=>Promise.resolve(r),[]);return e.createElement(u.PlayerContainer,{...t,loadScript:void 0,playerFactory:a,controllerFactory:o.AudioPlayerController},(r,n)=>e.createElement("audio",{ref:r,src:n,style:{width:"100%",height:"100%"},preload:"auto",autoPlay:!0,controls:!0}))});exports.default=i;
2
- //# sourceMappingURL=AudioPlayer-bdffca2e.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),o=require("./index-fb8a7911.cjs"),u=require("./PlayerContainer-01e0a6d8.cjs");require("react-dom");const i=e.memo(({...t})=>{const{logger:l}=t;l.log(o.LogLevel.Debug,"AudioPlayer");const a=e.useCallback(r=>Promise.resolve(r),[]);return e.createElement(u.PlayerContainer,{...t,loadScript:void 0,playerFactory:a,controllerFactory:o.AudioPlayerController},(r,n)=>e.createElement("audio",{ref:r,src:n,style:{width:"100%",height:"100%"},preload:"auto",autoPlay:!0,controls:!0}))});exports.default=i;
2
+ //# sourceMappingURL=AudioPlayer-6edeb287.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioPlayer-bdffca2e.cjs","sources":["../src/components/AudioPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AudioPlayerController } from '../controllers/AudioPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst AudioPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'AudioPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLAudioElement): Promise<HTMLAudioElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={AudioPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<audio\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tsrc={videoId}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t\tpreload=\"auto\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default AudioPlayer;\n"],"names":["AudioPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","AudioPlayerController","elementRef","videoId"],"mappings":"4MAMA,MAAMA,EAAcC,EAAM,KACzB,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,aAAa,EAExC,MAAMC,EAAgBJ,EAAM,YAC1BK,GACO,QAAQ,QAAQA,CAAO,EAE/B,CAAC,CAAA,EAID,OAAAL,EAAA,cAACM,EAAA,gBAAA,CACC,GAAGL,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBG,EAAA,qBAAA,EAElB,CAACC,EAAYC,IACbT,EAAA,cAAC,QAAA,CACA,IAAKQ,EACL,IAAKC,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,EACvC,QAAQ,OACR,SAAQ,GACR,SAAQ,EAAA,CACT,CAAA,CAIJ,CACD"}
1
+ {"version":3,"file":"AudioPlayer-6edeb287.cjs","sources":["../src/components/AudioPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AudioPlayerController } from '../controllers/AudioPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst AudioPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'AudioPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLAudioElement): Promise<HTMLAudioElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={AudioPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<audio\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tsrc={videoId}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t\tpreload=\"auto\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default AudioPlayer;\n"],"names":["AudioPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","AudioPlayerController","elementRef","videoId"],"mappings":"4MAMA,MAAMA,EAAcC,EAAM,KACzB,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,aAAa,EAExC,MAAMC,EAAgBJ,EAAM,YAC1BK,GACO,QAAQ,QAAQA,CAAO,EAE/B,CAAC,CAAA,EAID,OAAAL,EAAA,cAACM,EAAA,gBAAA,CACC,GAAGL,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBG,EAAA,qBAAA,EAElB,CAACC,EAAYC,IACbT,EAAA,cAAC,QAAA,CACA,IAAKQ,EACL,IAAKC,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,EACvC,QAAQ,OACR,SAAQ,GACR,SAAQ,EAAA,CACT,CAAA,CAIJ,CACD"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),g=require("./index-1c32fd0f.cjs"),h=require("./ensureScriptLoaded-edd30857.cjs"),v=require("./PlayerContainer-a9b598d9.cjs");require("react-dom");const b=a.memo(({options:e,...d})=>{const{logger:l}=d;l.log(g.LogLevel.Debug,"DailymotionPlayer");const m=a.useCallback(async()=>{await h.ensureScriptLoaded("https://api.dmcdn.net/all.js",l)},[l]),P=a.useCallback((c,u)=>Promise.resolve(new DM.player(c,{video:u,width:"100%",height:"100%",events:{apiready:()=>{var r;(r=e==null?void 0:e.onLoaded)==null||r.call(e,{id:u})},seeked:()=>{var r;(r=e==null?void 0:e.onTimeUpdate)==null||r.call(e,{duration:0,percent:0,seconds:0})},video_end:()=>{var r;(r=e==null?void 0:e.onEnded)==null||r.call(e)},durationchange:()=>{},pause:()=>{var r;(r=e==null?void 0:e.onPause)==null||r.call(e)},playing:()=>{var r;(r=e==null?void 0:e.onPlay)==null||r.call(e)},waiting:()=>{},error:r=>{var y;(y=e==null?void 0:e.onError)==null||y.call(e,r)}}})),[e]);return a.createElement(v.PlayerContainer,{...d,options:e,loadScript:m,playerFactory:P,controllerFactory:g.DailymotionPlayerController},c=>a.createElement("div",{style:{width:"100%",height:"100%"}},a.createElement("div",{ref:c})))});exports.default=b;
2
- //# sourceMappingURL=DailymotionPlayer-9911cf65.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),g=require("./index-fb8a7911.cjs"),h=require("./ensureScriptLoaded-1f39c376.cjs"),v=require("./PlayerContainer-01e0a6d8.cjs");require("react-dom");const b=a.memo(({options:e,...d})=>{const{logger:l}=d;l.log(g.LogLevel.Debug,"DailymotionPlayer");const m=a.useCallback(async()=>{await h.ensureScriptLoaded("https://api.dmcdn.net/all.js",l)},[l]),P=a.useCallback((c,u)=>Promise.resolve(new DM.player(c,{video:u,width:"100%",height:"100%",events:{apiready:()=>{var r;(r=e==null?void 0:e.onLoaded)==null||r.call(e,{id:u})},seeked:()=>{var r;(r=e==null?void 0:e.onTimeUpdate)==null||r.call(e,{duration:0,percent:0,seconds:0})},video_end:()=>{var r;(r=e==null?void 0:e.onEnded)==null||r.call(e)},durationchange:()=>{},pause:()=>{var r;(r=e==null?void 0:e.onPause)==null||r.call(e)},playing:()=>{var r;(r=e==null?void 0:e.onPlay)==null||r.call(e)},waiting:()=>{},error:r=>{var y;(y=e==null?void 0:e.onError)==null||y.call(e,r)}}})),[e]);return a.createElement(v.PlayerContainer,{...d,options:e,loadScript:m,playerFactory:P,controllerFactory:g.DailymotionPlayerController},c=>a.createElement("div",{style:{width:"100%",height:"100%"}},a.createElement("div",{ref:c})))});exports.default=b;
2
+ //# sourceMappingURL=DailymotionPlayer-252803e0.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DailymotionPlayer-9911cf65.cjs","sources":["../src/components/DailymotionPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DailymotionPlayerController } from '../controllers/DailymotionPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst DailymotionPlayer = React.memo(\n\t({ options, ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'DailymotionPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded('https://api.dmcdn.net/all.js', logger);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.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): React.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","React","options","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","_a","error","PlayerContainer","DailymotionPlayerController","elementRef"],"mappings":"2PAOA,MAAMA,EAAoBC,EAAM,KAC/B,CAAC,CAAE,QAAAC,EAAS,GAAGC,KAA6C,CACrD,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,mBAAmB,EAExC,MAAAC,EAAaL,EAAM,YAAY,SAAY,CAC1C,MAAAM,EAAA,mBAAmB,+BAAgCH,CAAM,CAAA,EAC7D,CAACA,CAAM,CAAC,EAELI,EAAgBP,EAAM,YAC3B,CAACQ,EAAyBC,IAClB,QAAQ,QACd,IAAI,GAAG,OAAOD,EAAS,CACtB,MAAOC,EACP,MAAO,OACP,OAAQ,OACR,OAAQ,CACP,SAAU,IAAY,QACrBC,EAAAT,GAAA,YAAAA,EAAS,WAAT,MAAAS,EAAA,KAAAT,EAAoB,CAAE,GAAIQ,CAAS,EACpC,EACA,OAAQ,IAAY,QACnBC,EAAAT,GAAA,YAAAA,EAAS,eAAT,MAAAS,EAAA,KAAAT,EAAwB,CACvB,SAAU,EACV,QAAS,EACT,QAAS,CAAA,EAEX,EACA,UAAW,IAAY,QACtBS,EAAAT,GAAA,YAAAA,EAAS,UAAT,MAAAS,EAAA,KAAAT,EACD,EACA,eAAgB,IAAY,CAAC,EAC7B,MAAO,IAAY,QAClBS,EAAAT,GAAA,YAAAA,EAAS,UAAT,MAAAS,EAAA,KAAAT,EACD,EACA,QAAS,IAAY,QACpBS,EAAAT,GAAA,YAAAA,EAAS,SAAT,MAAAS,EAAA,KAAAT,EACD,EACA,QAAS,IAAY,CAAC,EACtB,MAAQU,GAAgB,QACvBD,EAAAT,GAAA,YAAAA,EAAS,UAAT,MAAAS,EAAA,KAAAT,EAAmBU,EACpB,CACD,CAAA,CACA,CAAA,EAGH,CAACV,CAAO,CAAA,EAIR,OAAAD,EAAA,cAACY,EAAA,gBAAA,CACC,GAAGV,EACJ,QAAAD,EACA,WAAAI,EACA,cAAAE,EACA,kBAAmBM,EAAA,2BAAA,EAEjBC,GACAd,EAAA,cAAA,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,MACpC,CAAA,EAAAA,EAAA,cAAC,MAAI,CAAA,IAAKc,EAAY,CACvB,CAAA,CAIJ,CACD"}
1
+ {"version":3,"file":"DailymotionPlayer-252803e0.cjs","sources":["../src/components/DailymotionPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DailymotionPlayerController } from '../controllers/DailymotionPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst DailymotionPlayer = React.memo(\n\t({ options, ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'DailymotionPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded('https://api.dmcdn.net/all.js', logger);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.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): React.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","React","options","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","_a","error","PlayerContainer","DailymotionPlayerController","elementRef"],"mappings":"2PAOA,MAAMA,EAAoBC,EAAM,KAC/B,CAAC,CAAE,QAAAC,EAAS,GAAGC,KAA6C,CACrD,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,mBAAmB,EAExC,MAAAC,EAAaL,EAAM,YAAY,SAAY,CAC1C,MAAAM,EAAA,mBAAmB,+BAAgCH,CAAM,CAAA,EAC7D,CAACA,CAAM,CAAC,EAELI,EAAgBP,EAAM,YAC3B,CAACQ,EAAyBC,IAClB,QAAQ,QACd,IAAI,GAAG,OAAOD,EAAS,CACtB,MAAOC,EACP,MAAO,OACP,OAAQ,OACR,OAAQ,CACP,SAAU,IAAY,QACrBC,EAAAT,GAAA,YAAAA,EAAS,WAAT,MAAAS,EAAA,KAAAT,EAAoB,CAAE,GAAIQ,CAAS,EACpC,EACA,OAAQ,IAAY,QACnBC,EAAAT,GAAA,YAAAA,EAAS,eAAT,MAAAS,EAAA,KAAAT,EAAwB,CACvB,SAAU,EACV,QAAS,EACT,QAAS,CAAA,EAEX,EACA,UAAW,IAAY,QACtBS,EAAAT,GAAA,YAAAA,EAAS,UAAT,MAAAS,EAAA,KAAAT,EACD,EACA,eAAgB,IAAY,CAAC,EAC7B,MAAO,IAAY,QAClBS,EAAAT,GAAA,YAAAA,EAAS,UAAT,MAAAS,EAAA,KAAAT,EACD,EACA,QAAS,IAAY,QACpBS,EAAAT,GAAA,YAAAA,EAAS,SAAT,MAAAS,EAAA,KAAAT,EACD,EACA,QAAS,IAAY,CAAC,EACtB,MAAQU,GAAgB,QACvBD,EAAAT,GAAA,YAAAA,EAAS,UAAT,MAAAS,EAAA,KAAAT,EAAmBU,EACpB,CACD,CAAA,CACA,CAAA,EAGH,CAACV,CAAO,CAAA,EAIR,OAAAD,EAAA,cAACY,EAAA,gBAAA,CACC,GAAGV,EACJ,QAAAD,EACA,WAAAI,EACA,cAAAE,EACA,kBAAmBM,EAAA,2BAAA,EAEjBC,GACAd,EAAA,cAAA,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,MACpC,CAAA,EAAAA,EAAA,cAAC,MAAI,CAAA,IAAKc,EAAY,CACvB,CAAA,CAIJ,CACD"}
@@ -1,7 +1,7 @@
1
1
  import a from "react";
2
- import { L as h, D as P } from "./index-4f99b291.js";
3
- import { e as f } from "./ensureScriptLoaded-ddb8918f.js";
4
- import { P as v } from "./PlayerContainer-c7dcfed0.js";
2
+ import { L as h, D as P } from "./index-0ef85555.js";
3
+ import { e as f } from "./ensureScriptLoaded-75980318.js";
4
+ import { P as v } from "./PlayerContainer-12c7a566.js";
5
5
  import "react-dom";
6
6
  const b = a.memo(
7
7
  ({ options: e, ...c }) => {
@@ -69,4 +69,4 @@ const b = a.memo(
69
69
  export {
70
70
  b as default
71
71
  };
72
- //# sourceMappingURL=DailymotionPlayer-c382ebf7.js.map
72
+ //# sourceMappingURL=DailymotionPlayer-6b3cc7ce.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DailymotionPlayer-c382ebf7.js","sources":["../src/components/DailymotionPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DailymotionPlayerController } from '../controllers/DailymotionPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst DailymotionPlayer = React.memo(\n\t({ options, ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'DailymotionPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded('https://api.dmcdn.net/all.js', logger);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.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): React.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","React","options","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","_a","error","PlayerContainer","DailymotionPlayerController","elementRef"],"mappings":";;;;;AAOA,MAAMA,IAAoBC,EAAM;AAAA,EAC/B,CAAC,EAAE,SAAAC,GAAS,GAAGC,QAA6C;AACrD,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,mBAAmB;AAExC,UAAAC,IAAaL,EAAM,YAAY,YAAY;AAC1C,YAAAM,EAAmB,gCAAgCH,CAAM;AAAA,IAAA,GAC7D,CAACA,CAAM,CAAC,GAELI,IAAgBP,EAAM;AAAA,MAC3B,CAACQ,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,eAAAC,IAAAT,KAAA,gBAAAA,EAAS,aAAT,QAAAS,EAAA,KAAAT,GAAoB,EAAE,IAAIQ,EAAS;AAAA,YACpC;AAAA,YACA,QAAQ,MAAY;;AACnB,eAAAC,IAAAT,KAAA,gBAAAA,EAAS,iBAAT,QAAAS,EAAA,KAAAT,GAAwB;AAAA,gBACvB,UAAU;AAAA,gBACV,SAAS;AAAA,gBACT,SAAS;AAAA,cAAA;AAAA,YAEX;AAAA,YACA,WAAW,MAAY;;AACtB,eAAAS,IAAAT,KAAA,gBAAAA,EAAS,YAAT,QAAAS,EAAA,KAAAT;AAAA,YACD;AAAA,YACA,gBAAgB,MAAY;AAAA,YAAC;AAAA,YAC7B,OAAO,MAAY;;AAClB,eAAAS,IAAAT,KAAA,gBAAAA,EAAS,YAAT,QAAAS,EAAA,KAAAT;AAAA,YACD;AAAA,YACA,SAAS,MAAY;;AACpB,eAAAS,IAAAT,KAAA,gBAAAA,EAAS,WAAT,QAAAS,EAAA,KAAAT;AAAA,YACD;AAAA,YACA,SAAS,MAAY;AAAA,YAAC;AAAA,YACtB,OAAO,CAACU,MAAgB;;AACvB,eAAAD,IAAAT,KAAA,gBAAAA,EAAS,YAAT,QAAAS,EAAA,KAAAT,GAAmBU;AAAA,YACpB;AAAA,UACD;AAAA,QAAA,CACA;AAAA,MAAA;AAAA,MAGH,CAACV,CAAO;AAAA,IAAA;AAIR,WAAA,gBAAAD,EAAA;AAAA,MAACY;AAAA,MAAA;AAAA,QACC,GAAGV;AAAA,QACJ,SAAAD;AAAA,QACA,YAAAI;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBM;AAAA,MAAA;AAAA,MAElB,CAACC,MACA,gBAAAd,EAAA,cAAA,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OACpC,EAAA,GAAA,gBAAAA,EAAA,cAAC,OAAI,EAAA,KAAKc,GAAY,CACvB;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"DailymotionPlayer-6b3cc7ce.js","sources":["../src/components/DailymotionPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DailymotionPlayerController } from '../controllers/DailymotionPlayerController';\nimport { LogLevel } from '../controllers/Logger';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst DailymotionPlayer = React.memo(\n\t({ options, ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'DailymotionPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded('https://api.dmcdn.net/all.js', logger);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.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): React.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","React","options","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","_a","error","PlayerContainer","DailymotionPlayerController","elementRef"],"mappings":";;;;;AAOA,MAAMA,IAAoBC,EAAM;AAAA,EAC/B,CAAC,EAAE,SAAAC,GAAS,GAAGC,QAA6C;AACrD,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,mBAAmB;AAExC,UAAAC,IAAaL,EAAM,YAAY,YAAY;AAC1C,YAAAM,EAAmB,gCAAgCH,CAAM;AAAA,IAAA,GAC7D,CAACA,CAAM,CAAC,GAELI,IAAgBP,EAAM;AAAA,MAC3B,CAACQ,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,eAAAC,IAAAT,KAAA,gBAAAA,EAAS,aAAT,QAAAS,EAAA,KAAAT,GAAoB,EAAE,IAAIQ,EAAS;AAAA,YACpC;AAAA,YACA,QAAQ,MAAY;;AACnB,eAAAC,IAAAT,KAAA,gBAAAA,EAAS,iBAAT,QAAAS,EAAA,KAAAT,GAAwB;AAAA,gBACvB,UAAU;AAAA,gBACV,SAAS;AAAA,gBACT,SAAS;AAAA,cAAA;AAAA,YAEX;AAAA,YACA,WAAW,MAAY;;AACtB,eAAAS,IAAAT,KAAA,gBAAAA,EAAS,YAAT,QAAAS,EAAA,KAAAT;AAAA,YACD;AAAA,YACA,gBAAgB,MAAY;AAAA,YAAC;AAAA,YAC7B,OAAO,MAAY;;AAClB,eAAAS,IAAAT,KAAA,gBAAAA,EAAS,YAAT,QAAAS,EAAA,KAAAT;AAAA,YACD;AAAA,YACA,SAAS,MAAY;;AACpB,eAAAS,IAAAT,KAAA,gBAAAA,EAAS,WAAT,QAAAS,EAAA,KAAAT;AAAA,YACD;AAAA,YACA,SAAS,MAAY;AAAA,YAAC;AAAA,YACtB,OAAO,CAACU,MAAgB;;AACvB,eAAAD,IAAAT,KAAA,gBAAAA,EAAS,YAAT,QAAAS,EAAA,KAAAT,GAAmBU;AAAA,YACpB;AAAA,UACD;AAAA,QAAA,CACA;AAAA,MAAA;AAAA,MAGH,CAACV,CAAO;AAAA,IAAA;AAIR,WAAA,gBAAAD,EAAA;AAAA,MAACY;AAAA,MAAA;AAAA,QACC,GAAGV;AAAA,QACJ,SAAAD;AAAA,QACA,YAAAI;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBM;AAAA,MAAA;AAAA,MAElB,CAACC,MACA,gBAAAd,EAAA,cAAA,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OACpC,EAAA,GAAA,gBAAAA,EAAA,cAAC,OAAI,EAAA,KAAKc,GAAY,CACvB;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),o=require("./index-1c32fd0f.cjs"),i=require("./PlayerContainer-a9b598d9.cjs");require("react-dom");const n=e.memo(({...t})=>{const{logger:l}=t;l.log(o.LogLevel.Debug,"NiconicoPlayer");const a=e.useCallback(r=>Promise.resolve(r),[]);return e.createElement(i.PlayerContainer,{...t,loadScript:void 0,playerFactory:a,controllerFactory:o.NiconicoPlayerController},(r,c)=>e.createElement("div",{style:{width:"100%",height:"100%"}},e.createElement("iframe",{ref:r,src:`https://embed.nicovideo.jp/watch/${c}?jsapi=1&playerId=1`,width:"100%",height:"100%",allowFullScreen:!0,style:{border:"none"},allow:"autoplay; fullscreen"})))});exports.default=n;
2
- //# sourceMappingURL=NiconicoPlayer-63f9f506.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),o=require("./index-fb8a7911.cjs"),i=require("./PlayerContainer-01e0a6d8.cjs");require("react-dom");const n=e.memo(({...t})=>{const{logger:l}=t;l.log(o.LogLevel.Debug,"NiconicoPlayer");const a=e.useCallback(r=>Promise.resolve(r),[]);return e.createElement(i.PlayerContainer,{...t,loadScript:void 0,playerFactory:a,controllerFactory:o.NiconicoPlayerController},(r,c)=>e.createElement("div",{style:{width:"100%",height:"100%"}},e.createElement("iframe",{ref:r,src:`https://embed.nicovideo.jp/watch/${c}?jsapi=1&playerId=1`,width:"100%",height:"100%",allowFullScreen:!0,style:{border:"none"},allow:"autoplay; fullscreen"})))});exports.default=n;
2
+ //# sourceMappingURL=NiconicoPlayer-6d765b0c.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NiconicoPlayer-63f9f506.cjs","sources":["../src/components/NiconicoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { NiconicoPlayerController } from '../controllers/NiconicoPlayerController';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst NiconicoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'NiconicoPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<HTMLIFrameElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={NiconicoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t\t{/* eslint-disable-next-line jsx-a11y/iframe-has-title */}\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\t\tsrc={`https://embed.nicovideo.jp/watch/${videoId}?jsapi=1&playerId=1`}\n\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\tallowFullScreen\n\t\t\t\t\t\t\tstyle={{ border: 'none' }}\n\t\t\t\t\t\t\t// The player has to have the allow=\"autoplay\" attribute.\n\t\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\t// See also: https://github.com/vimeo/player.js/issues/389.\n\t\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\t// which causes the above issue when trying to autoplay a video.\n\t\t\t\t\t\t\tallow=\"autoplay; fullscreen\"\n\t\t\t\t\t\t/>\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 NiconicoPlayer;\n"],"names":["NiconicoPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","NiconicoPlayerController","elementRef","videoId"],"mappings":"4MAMA,MAAMA,EAAiBC,EAAM,KAC5B,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,gBAAgB,EAE3C,MAAMC,EAAgBJ,EAAM,YAC1BK,GACO,QAAQ,QAAQA,CAAO,EAE/B,CAAC,CAAA,EAID,OAAAL,EAAA,cAACM,EAAA,gBAAA,CACC,GAAGL,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBG,EAAA,wBAAA,EAElB,CAACC,EAAYC,IACZT,EAAA,cAAA,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAEpC,EAAAA,EAAA,cAAC,SAAA,CACA,IAAKQ,EACL,IAAK,oCAAoCC,CAAO,sBAChD,MAAM,OACN,OAAO,OACP,gBAAe,GACf,MAAO,CAAE,OAAQ,MAAO,EAMxB,MAAM,sBAAA,CAAA,CAER,CAAA,CAIJ,CACD"}
1
+ {"version":3,"file":"NiconicoPlayer-6d765b0c.cjs","sources":["../src/components/NiconicoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { NiconicoPlayerController } from '../controllers/NiconicoPlayerController';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst NiconicoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'NiconicoPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<HTMLIFrameElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={NiconicoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t\t{/* eslint-disable-next-line jsx-a11y/iframe-has-title */}\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\t\tsrc={`https://embed.nicovideo.jp/watch/${videoId}?jsapi=1&playerId=1`}\n\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\tallowFullScreen\n\t\t\t\t\t\t\tstyle={{ border: 'none' }}\n\t\t\t\t\t\t\t// The player has to have the allow=\"autoplay\" attribute.\n\t\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\t// See also: https://github.com/vimeo/player.js/issues/389.\n\t\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\t// which causes the above issue when trying to autoplay a video.\n\t\t\t\t\t\t\tallow=\"autoplay; fullscreen\"\n\t\t\t\t\t\t/>\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 NiconicoPlayer;\n"],"names":["NiconicoPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","NiconicoPlayerController","elementRef","videoId"],"mappings":"4MAMA,MAAMA,EAAiBC,EAAM,KAC5B,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,gBAAgB,EAE3C,MAAMC,EAAgBJ,EAAM,YAC1BK,GACO,QAAQ,QAAQA,CAAO,EAE/B,CAAC,CAAA,EAID,OAAAL,EAAA,cAACM,EAAA,gBAAA,CACC,GAAGL,EACJ,WAAY,OACZ,cAAAG,EACA,kBAAmBG,EAAA,wBAAA,EAElB,CAACC,EAAYC,IACZT,EAAA,cAAA,MAAA,CAAI,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAEpC,EAAAA,EAAA,cAAC,SAAA,CACA,IAAKQ,EACL,IAAK,oCAAoCC,CAAO,sBAChD,MAAM,OACN,OAAO,OACP,gBAAe,GACf,MAAO,CAAE,OAAQ,MAAO,EAMxB,MAAM,sBAAA,CAAA,CAER,CAAA,CAIJ,CACD"}
@@ -1,6 +1,6 @@
1
1
  import e from "react";
2
- import { L as c, N as i } from "./index-4f99b291.js";
3
- import { P as n } from "./PlayerContainer-c7dcfed0.js";
2
+ import { L as c, N as i } from "./index-0ef85555.js";
3
+ import { P as n } from "./PlayerContainer-12c7a566.js";
4
4
  import "react-dom";
5
5
  const p = e.memo(
6
6
  ({ ...o }) => {
@@ -36,4 +36,4 @@ const p = e.memo(
36
36
  export {
37
37
  p as default
38
38
  };
39
- //# sourceMappingURL=NiconicoPlayer-7e93d234.js.map
39
+ //# sourceMappingURL=NiconicoPlayer-d834668f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NiconicoPlayer-7e93d234.js","sources":["../src/components/NiconicoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { NiconicoPlayerController } from '../controllers/NiconicoPlayerController';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst NiconicoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'NiconicoPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<HTMLIFrameElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={NiconicoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t\t{/* eslint-disable-next-line jsx-a11y/iframe-has-title */}\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\t\tsrc={`https://embed.nicovideo.jp/watch/${videoId}?jsapi=1&playerId=1`}\n\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\tallowFullScreen\n\t\t\t\t\t\t\tstyle={{ border: 'none' }}\n\t\t\t\t\t\t\t// The player has to have the allow=\"autoplay\" attribute.\n\t\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\t// See also: https://github.com/vimeo/player.js/issues/389.\n\t\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\t// which causes the above issue when trying to autoplay a video.\n\t\t\t\t\t\t\tallow=\"autoplay; fullscreen\"\n\t\t\t\t\t\t/>\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 NiconicoPlayer;\n"],"names":["NiconicoPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","NiconicoPlayerController","elementRef","videoId"],"mappings":";;;;AAMA,MAAMA,IAAiBC,EAAM;AAAA,EAC5B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,gBAAgB;AAE3C,UAAMC,IAAgBJ,EAAM;AAAA,MAC3B,CAACK,MACO,QAAQ,QAAQA,CAAO;AAAA,MAE/B,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAL,EAAA;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,GAAGL;AAAA,QACJ,YAAY;AAAA,QACZ,eAAAG;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC,MACZ,gBAAAT,EAAA,cAAA,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA,EAEpC,GAAA,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKQ;AAAA,UACL,KAAK,oCAAoCC,CAAO;AAAA,UAChD,OAAM;AAAA,UACN,QAAO;AAAA,UACP,iBAAe;AAAA,UACf,OAAO,EAAE,QAAQ,OAAO;AAAA,UAMxB,OAAM;AAAA,QAAA;AAAA,MAAA,CAER;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"NiconicoPlayer-d834668f.js","sources":["../src/components/NiconicoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { NiconicoPlayerController } from '../controllers/NiconicoPlayerController';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst NiconicoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'NiconicoPlayer');\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<HTMLIFrameElement> => {\n\t\t\t\treturn Promise.resolve(element);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={undefined}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={NiconicoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\n\t\t\t\t\t<div style={{ width: '100%', height: '100%' }}>\n\t\t\t\t\t\t{/* eslint-disable-next-line jsx-a11y/iframe-has-title */}\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\t\tsrc={`https://embed.nicovideo.jp/watch/${videoId}?jsapi=1&playerId=1`}\n\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\tallowFullScreen\n\t\t\t\t\t\t\tstyle={{ border: 'none' }}\n\t\t\t\t\t\t\t// The player has to have the allow=\"autoplay\" attribute.\n\t\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\t// See also: https://github.com/vimeo/player.js/issues/389.\n\t\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\t// which causes the above issue when trying to autoplay a video.\n\t\t\t\t\t\t\tallow=\"autoplay; fullscreen\"\n\t\t\t\t\t\t/>\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 NiconicoPlayer;\n"],"names":["NiconicoPlayer","React","props","logger","LogLevel","playerFactory","element","PlayerContainer","NiconicoPlayerController","elementRef","videoId"],"mappings":";;;;AAMA,MAAMA,IAAiBC,EAAM;AAAA,EAC5B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,gBAAgB;AAE3C,UAAMC,IAAgBJ,EAAM;AAAA,MAC3B,CAACK,MACO,QAAQ,QAAQA,CAAO;AAAA,MAE/B,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAL,EAAA;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,GAAGL;AAAA,QACJ,YAAY;AAAA,QACZ,eAAAG;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC,MACZ,gBAAAT,EAAA,cAAA,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA,EAEpC,GAAA,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKQ;AAAA,UACL,KAAK,oCAAoCC,CAAO;AAAA,UAChD,OAAM;AAAA,UACN,QAAO;AAAA,UACP,iBAAe;AAAA,UACf,OAAO,EAAE,QAAQ,OAAO;AAAA,UAMxB,OAAM;AAAA,QAAA;AAAA,MAAA,CAER;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react"),q=require("./index-1c32fd0f.cjs");function M(){const e=t.useRef(!0);return e.current?(e.current=!1,!0):e.current}const D=(e,u)=>e===u;function L(e,u=D){const r=t.useRef(),s=t.useRef(e);return!M()&&!u(s.current,e)&&(r.current=s.current,s.current=e),r.current}const V=({logger:e,type:u,loadScript:r,playerFactory:s,onControllerChange:c,videoId:i,options:P,controllerFactory:a,children:y})=>{e.log(q.LogLevel.Debug,"PlayerContainer");const R=t.useRef(i),E=t.useRef(void 0),[o,F]=t.useState(),[n,v]=t.useState();t.useEffect(()=>{c==null||c(n)},[n,c]),t.useEffect(()=>{((r==null?void 0:r())??Promise.resolve()).then(()=>{s(E.current,R.current).then(f=>{F(f)})})},[r,s]),t.useEffect(()=>{if(o===void 0)return;const f=new q.PlayerController(e,u,o,P,a);return f.attach(R.current).then(()=>v(f)),()=>{f.detach().finally(()=>v(void 0))}},[e,u,r,o,P,a]);const m=L(i);return t.useEffect(()=>{m!==void 0&&(n==null||n.loadVideo(i))},[m,i,n]),t.createElement(t.Fragment,null,y(E,R.current))};exports.PlayerContainer=V;
2
- //# sourceMappingURL=PlayerContainer-a9b598d9.cjs.map
1
+ "use strict";const t=require("react"),q=require("./index-fb8a7911.cjs");function M(){const e=t.useRef(!0);return e.current?(e.current=!1,!0):e.current}const D=(e,u)=>e===u;function L(e,u=D){const r=t.useRef(),s=t.useRef(e);return!M()&&!u(s.current,e)&&(r.current=s.current,s.current=e),r.current}const V=({logger:e,type:u,loadScript:r,playerFactory:s,onControllerChange:c,videoId:i,options:P,controllerFactory:a,children:y})=>{e.log(q.LogLevel.Debug,"PlayerContainer");const R=t.useRef(i),E=t.useRef(void 0),[o,F]=t.useState(),[n,v]=t.useState();t.useEffect(()=>{c==null||c(n)},[n,c]),t.useEffect(()=>{((r==null?void 0:r())??Promise.resolve()).then(()=>{s(E.current,R.current).then(f=>{F(f)})})},[r,s]),t.useEffect(()=>{if(o===void 0)return;const f=new q.PlayerController(e,u,o,P,a);return f.attach(R.current).then(()=>v(f)),()=>{f.detach().finally(()=>v(void 0))}},[e,u,r,o,P,a]);const m=L(i);return t.useEffect(()=>{m!==void 0&&(n==null||n.loadVideo(i))},[m,i,n]),t.createElement(t.Fragment,null,y(E,R.current))};exports.PlayerContainer=V;
2
+ //# sourceMappingURL=PlayerContainer-01e0a6d8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerContainer-a9b598d9.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 { useRef } from 'react';\n\nimport { useFirstMountState } from './useFirstMountState';\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 React from 'react';\n\nimport { ILogger, LogLevel } from '../controllers/Logger';\nimport {\n\tIPlayerController,\n\tPlayerController,\n\tPlayerOptions,\n\tPlayerType,\n} from '../controllers/PlayerController';\nimport { PlayerControllerImpl } from '../controllers/PlayerControllerImpl';\nimport usePreviousDistinct from './usePreviousDistinct';\n\nexport interface PlayerProps {\n\tlogger: ILogger;\n\ttype: PlayerType;\n\tonControllerChange:\n\t\t| ((value: IPlayerController | undefined) => void)\n\t\t| 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: React.MutableRefObject<TElement>,\n\t\tvideoId: string,\n\t) => React.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>): React.ReactElement<\n\tPlayerContainerProps<TElement, TPlayer, TController>\n> => {\n\tlogger.log(LogLevel.Debug, 'PlayerContainer');\n\n\tconst videoIdRef = React.useRef(videoId);\n\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tconst elementRef = React.useRef<TElement>(undefined!);\n\n\tconst [player, setPlayer] = React.useState<TPlayer>();\n\n\tconst [controller, setController] = React.useState<IPlayerController>();\n\tReact.useEffect(() => {\n\t\tonControllerChange?.(controller);\n\t}, [controller, onControllerChange]);\n\n\tReact.useEffect(() => {\n\t\t(loadScript?.() ?? Promise.resolve()).then(() => {\n\t\t\tplayerFactory(elementRef.current, videoIdRef.current).then(\n\t\t\t\t(player) => {\n\t\t\t\t\tsetPlayer(player);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}, [loadScript, playerFactory]);\n\n\t// Make sure that `options` do not change between re-rendering.\n\tReact.useEffect(() => {\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\tcontroller\n\t\t\t.attach(videoIdRef.current)\n\t\t\t.then(() => setController(controller));\n\n\t\treturn (): void => {\n\t\t\tcontroller.detach().finally(() => setController(undefined));\n\t\t};\n\t}, [logger, type, loadScript, player, options, controllerFactory]);\n\n\tconst previousVideoId = usePreviousDistinct(videoId);\n\tReact.useEffect(() => {\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\tcontroller?.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","React","elementRef","player","setPlayer","controller","setController","PlayerController","previousVideoId"],"mappings":"wEAGO,SAASA,GAA8B,CACvC,MAAAC,EAAUC,SAAO,EAAI,EAE3B,OAAID,EAAQ,SACXA,EAAQ,QAAU,GAEX,IAGDA,EAAQ,OAChB,CCNA,MAAME,EAAe,CAAIC,EAAqBC,IAC7CD,IAASC,EAEc,SAAAC,EACvBC,EACAC,EAAwBL,EACR,CAChB,MAAMM,EAAUP,EAAAA,SACVQ,EAASR,SAAUK,CAAK,EAG9B,MAAI,CAFiBP,KAEA,CAACQ,EAAQE,EAAO,QAASH,CAAK,IAClDE,EAAQ,QAAUC,EAAO,QACzBA,EAAO,QAAUH,GAGXE,EAAQ,OAChB,CCgBO,MAAME,EAAkB,CAI7B,CACD,OAAAC,EACA,KAAAC,EACA,WAAAC,EACA,cAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,QAAAC,EACA,kBAAAC,EACA,SAAAC,CACD,IAEK,CACGR,EAAA,IAAIS,EAAAA,SAAS,MAAO,iBAAiB,EAEtC,MAAAC,EAAaC,EAAM,OAAON,CAAO,EAGjCO,EAAaD,EAAM,OAAiB,MAAU,EAE9C,CAACE,EAAQC,CAAS,EAAIH,EAAM,SAAkB,EAE9C,CAACI,EAAYC,CAAa,EAAIL,EAAM,SAA4B,EACtEA,EAAM,UAAU,IAAM,CACrBP,GAAA,MAAAA,EAAqBW,EAAU,EAC7B,CAACA,EAAYX,CAAkB,CAAC,EAEnCO,EAAM,UAAU,IAAM,GACpBT,GAAA,YAAAA,MAAkB,QAAQ,QAAQ,GAAG,KAAK,IAAM,CAChDC,EAAcS,EAAW,QAASF,EAAW,OAAO,EAAE,KACpDG,GAAW,CACXC,EAAUD,CAAM,CACjB,CAAA,CACD,CACA,CAAA,EACC,CAACX,EAAYC,CAAa,CAAC,EAG9BQ,EAAM,UAAU,IAAM,CACrB,GAAIE,IAAW,OACd,OAGD,MAAME,EAAa,IAAIE,EAAA,iBACtBjB,EACAC,EACAY,EACAP,EACAC,CAAA,EAGDQ,OAAAA,EACE,OAAOL,EAAW,OAAO,EACzB,KAAK,IAAMM,EAAcD,CAAU,CAAC,EAE/B,IAAY,CAClBA,EAAW,OAAO,EAAE,QAAQ,IAAMC,EAAc,MAAS,CAAC,CAAA,CAC3D,EACE,CAAChB,EAAQC,EAAMC,EAAYW,EAAQP,EAASC,CAAiB,CAAC,EAE3D,MAAAW,EAAkBxB,EAAoBW,CAAO,EACnD,OAAAM,EAAM,UAAU,IAAM,CAKjBO,IAAoB,SAIxBH,GAAA,MAAAA,EAAY,UAAUV,GACpB,EAAA,CAACa,EAAiBb,EAASU,CAAU,CAAC,EAG/BJ,EAAA,cAAAA,EAAA,SAAA,KAAAH,EAASI,EAAYF,EAAW,OAAO,CAAE,CACpD"}
1
+ {"version":3,"file":"PlayerContainer-01e0a6d8.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 { useRef } from 'react';\n\nimport { useFirstMountState } from './useFirstMountState';\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 React from 'react';\n\nimport { ILogger, LogLevel } from '../controllers/Logger';\nimport {\n\tIPlayerController,\n\tPlayerController,\n\tPlayerOptions,\n\tPlayerType,\n} from '../controllers/PlayerController';\nimport { PlayerControllerImpl } from '../controllers/PlayerControllerImpl';\nimport usePreviousDistinct from './usePreviousDistinct';\n\nexport interface PlayerProps {\n\tlogger: ILogger;\n\ttype: PlayerType;\n\tonControllerChange:\n\t\t| ((value: IPlayerController | undefined) => void)\n\t\t| 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: React.MutableRefObject<TElement>,\n\t\tvideoId: string,\n\t) => React.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>): React.ReactElement<\n\tPlayerContainerProps<TElement, TPlayer, TController>\n> => {\n\tlogger.log(LogLevel.Debug, 'PlayerContainer');\n\n\tconst videoIdRef = React.useRef(videoId);\n\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tconst elementRef = React.useRef<TElement>(undefined!);\n\n\tconst [player, setPlayer] = React.useState<TPlayer>();\n\n\tconst [controller, setController] = React.useState<IPlayerController>();\n\tReact.useEffect(() => {\n\t\tonControllerChange?.(controller);\n\t}, [controller, onControllerChange]);\n\n\tReact.useEffect(() => {\n\t\t(loadScript?.() ?? Promise.resolve()).then(() => {\n\t\t\tplayerFactory(elementRef.current, videoIdRef.current).then(\n\t\t\t\t(player) => {\n\t\t\t\t\tsetPlayer(player);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}, [loadScript, playerFactory]);\n\n\t// Make sure that `options` do not change between re-rendering.\n\tReact.useEffect(() => {\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\tcontroller\n\t\t\t.attach(videoIdRef.current)\n\t\t\t.then(() => setController(controller));\n\n\t\treturn (): void => {\n\t\t\tcontroller.detach().finally(() => setController(undefined));\n\t\t};\n\t}, [logger, type, loadScript, player, options, controllerFactory]);\n\n\tconst previousVideoId = usePreviousDistinct(videoId);\n\tReact.useEffect(() => {\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\tcontroller?.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","React","elementRef","player","setPlayer","controller","setController","PlayerController","previousVideoId"],"mappings":"wEAGO,SAASA,GAA8B,CACvC,MAAAC,EAAUC,SAAO,EAAI,EAE3B,OAAID,EAAQ,SACXA,EAAQ,QAAU,GAEX,IAGDA,EAAQ,OAChB,CCNA,MAAME,EAAe,CAAIC,EAAqBC,IAC7CD,IAASC,EAEc,SAAAC,EACvBC,EACAC,EAAwBL,EACR,CAChB,MAAMM,EAAUP,EAAAA,SACVQ,EAASR,SAAUK,CAAK,EAG9B,MAAI,CAFiBP,KAEA,CAACQ,EAAQE,EAAO,QAASH,CAAK,IAClDE,EAAQ,QAAUC,EAAO,QACzBA,EAAO,QAAUH,GAGXE,EAAQ,OAChB,CCgBO,MAAME,EAAkB,CAI7B,CACD,OAAAC,EACA,KAAAC,EACA,WAAAC,EACA,cAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,QAAAC,EACA,kBAAAC,EACA,SAAAC,CACD,IAEK,CACGR,EAAA,IAAIS,EAAAA,SAAS,MAAO,iBAAiB,EAEtC,MAAAC,EAAaC,EAAM,OAAON,CAAO,EAGjCO,EAAaD,EAAM,OAAiB,MAAU,EAE9C,CAACE,EAAQC,CAAS,EAAIH,EAAM,SAAkB,EAE9C,CAACI,EAAYC,CAAa,EAAIL,EAAM,SAA4B,EACtEA,EAAM,UAAU,IAAM,CACrBP,GAAA,MAAAA,EAAqBW,EAAU,EAC7B,CAACA,EAAYX,CAAkB,CAAC,EAEnCO,EAAM,UAAU,IAAM,GACpBT,GAAA,YAAAA,MAAkB,QAAQ,QAAQ,GAAG,KAAK,IAAM,CAChDC,EAAcS,EAAW,QAASF,EAAW,OAAO,EAAE,KACpDG,GAAW,CACXC,EAAUD,CAAM,CACjB,CAAA,CACD,CACA,CAAA,EACC,CAACX,EAAYC,CAAa,CAAC,EAG9BQ,EAAM,UAAU,IAAM,CACrB,GAAIE,IAAW,OACd,OAGD,MAAME,EAAa,IAAIE,EAAA,iBACtBjB,EACAC,EACAY,EACAP,EACAC,CAAA,EAGDQ,OAAAA,EACE,OAAOL,EAAW,OAAO,EACzB,KAAK,IAAMM,EAAcD,CAAU,CAAC,EAE/B,IAAY,CAClBA,EAAW,OAAO,EAAE,QAAQ,IAAMC,EAAc,MAAS,CAAC,CAAA,CAC3D,EACE,CAAChB,EAAQC,EAAMC,EAAYW,EAAQP,EAASC,CAAiB,CAAC,EAE3D,MAAAW,EAAkBxB,EAAoBW,CAAO,EACnD,OAAAM,EAAM,UAAU,IAAM,CAKjBO,IAAoB,SAIxBH,GAAA,MAAAA,EAAY,UAAUV,GACpB,EAAA,CAACa,EAAiBb,EAASU,CAAU,CAAC,EAG/BJ,EAAA,cAAAA,EAAA,SAAA,KAAAH,EAASI,EAAYF,EAAW,OAAO,CAAE,CACpD"}
@@ -1,5 +1,5 @@
1
1
  import t, { useRef as P } from "react";
2
- import { L as y, P as D } from "./index-4f99b291.js";
2
+ import { L as y, P as D } from "./index-0ef85555.js";
3
3
  function V() {
4
4
  const e = P(!0);
5
5
  return e.current ? (e.current = !1, !0) : e.current;
@@ -54,4 +54,4 @@ const h = ({
54
54
  export {
55
55
  h as P
56
56
  };
57
- //# sourceMappingURL=PlayerContainer-c7dcfed0.js.map
57
+ //# sourceMappingURL=PlayerContainer-12c7a566.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerContainer-c7dcfed0.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 { useRef } from 'react';\n\nimport { useFirstMountState } from './useFirstMountState';\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 React from 'react';\n\nimport { ILogger, LogLevel } from '../controllers/Logger';\nimport {\n\tIPlayerController,\n\tPlayerController,\n\tPlayerOptions,\n\tPlayerType,\n} from '../controllers/PlayerController';\nimport { PlayerControllerImpl } from '../controllers/PlayerControllerImpl';\nimport usePreviousDistinct from './usePreviousDistinct';\n\nexport interface PlayerProps {\n\tlogger: ILogger;\n\ttype: PlayerType;\n\tonControllerChange:\n\t\t| ((value: IPlayerController | undefined) => void)\n\t\t| 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: React.MutableRefObject<TElement>,\n\t\tvideoId: string,\n\t) => React.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>): React.ReactElement<\n\tPlayerContainerProps<TElement, TPlayer, TController>\n> => {\n\tlogger.log(LogLevel.Debug, 'PlayerContainer');\n\n\tconst videoIdRef = React.useRef(videoId);\n\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tconst elementRef = React.useRef<TElement>(undefined!);\n\n\tconst [player, setPlayer] = React.useState<TPlayer>();\n\n\tconst [controller, setController] = React.useState<IPlayerController>();\n\tReact.useEffect(() => {\n\t\tonControllerChange?.(controller);\n\t}, [controller, onControllerChange]);\n\n\tReact.useEffect(() => {\n\t\t(loadScript?.() ?? Promise.resolve()).then(() => {\n\t\t\tplayerFactory(elementRef.current, videoIdRef.current).then(\n\t\t\t\t(player) => {\n\t\t\t\t\tsetPlayer(player);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}, [loadScript, playerFactory]);\n\n\t// Make sure that `options` do not change between re-rendering.\n\tReact.useEffect(() => {\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\tcontroller\n\t\t\t.attach(videoIdRef.current)\n\t\t\t.then(() => setController(controller));\n\n\t\treturn (): void => {\n\t\t\tcontroller.detach().finally(() => setController(undefined));\n\t\t};\n\t}, [logger, type, loadScript, player, options, controllerFactory]);\n\n\tconst previousVideoId = usePreviousDistinct(videoId);\n\tReact.useEffect(() => {\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\tcontroller?.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","React","elementRef","player","setPlayer","controller","setController","PlayerController","previousVideoId"],"mappings":";;AAGO,SAASA,IAA8B;AACvC,QAAAC,IAAUC,EAAO,EAAI;AAE3B,SAAID,EAAQ,WACXA,EAAQ,UAAU,IAEX,MAGDA,EAAQ;AAChB;ACNA,MAAME,IAAe,CAAIC,GAAqBC,MAC7CD,MAASC;AAEc,SAAAC,EACvBC,GACAC,IAAwBL,GACR;AAChB,QAAMM,IAAUP,KACVQ,IAASR,EAAUK,CAAK;AAG9B,SAAI,CAFiBP,OAEA,CAACQ,EAAQE,EAAO,SAASH,CAAK,MAClDE,EAAQ,UAAUC,EAAO,SACzBA,EAAO,UAAUH,IAGXE,EAAQ;AAChB;ACgBO,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;AACG,EAAAR,EAAA,IAAIS,EAAS,OAAO,iBAAiB;AAEtC,QAAAC,IAAaC,EAAM,OAAON,CAAO,GAGjCO,IAAaD,EAAM,OAAiB,MAAU,GAE9C,CAACE,GAAQC,CAAS,IAAIH,EAAM,SAAkB,GAE9C,CAACI,GAAYC,CAAa,IAAIL,EAAM,SAA4B;AACtE,EAAAA,EAAM,UAAU,MAAM;AACrB,IAAAP,KAAA,QAAAA,EAAqBW;AAAA,EAAU,GAC7B,CAACA,GAAYX,CAAkB,CAAC,GAEnCO,EAAM,UAAU,MAAM;AACrB,MAACT,KAAA,gBAAAA,QAAkB,QAAQ,QAAQ,GAAG,KAAK,MAAM;AAChD,MAAAC,EAAcS,EAAW,SAASF,EAAW,OAAO,EAAE;AAAA,QACrD,CAACG,MAAW;AACX,UAAAC,EAAUD,CAAM;AAAA,QACjB;AAAA,MAAA;AAAA,IACD,CACA;AAAA,EAAA,GACC,CAACX,GAAYC,CAAa,CAAC,GAG9BQ,EAAM,UAAU,MAAM;AACrB,QAAIE,MAAW;AACd;AAGD,UAAME,IAAa,IAAIE;AAAA,MACtBjB;AAAA,MACAC;AAAA,MACAY;AAAA,MACAP;AAAA,MACAC;AAAA,IAAA;AAGDQ,WAAAA,EACE,OAAOL,EAAW,OAAO,EACzB,KAAK,MAAMM,EAAcD,CAAU,CAAC,GAE/B,MAAY;AAClBA,MAAAA,EAAW,OAAO,EAAE,QAAQ,MAAMC,EAAc,MAAS,CAAC;AAAA,IAAA;AAAA,EAC3D,GACE,CAAChB,GAAQC,GAAMC,GAAYW,GAAQP,GAASC,CAAiB,CAAC;AAE3D,QAAAW,IAAkBxB,EAAoBW,CAAO;AACnD,SAAAM,EAAM,UAAU,MAAM;AAKrB,IAAIO,MAAoB,WAIxBH,KAAA,QAAAA,EAAY,UAAUV;AAAA,EACpB,GAAA,CAACa,GAAiBb,GAASU,CAAU,CAAC,GAG/B,gBAAAJ,EAAA,cAAAA,EAAA,UAAA,MAAAH,EAASI,GAAYF,EAAW,OAAO,CAAE;AACpD;"}
1
+ {"version":3,"file":"PlayerContainer-12c7a566.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 { useRef } from 'react';\n\nimport { useFirstMountState } from './useFirstMountState';\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 React from 'react';\n\nimport { ILogger, LogLevel } from '../controllers/Logger';\nimport {\n\tIPlayerController,\n\tPlayerController,\n\tPlayerOptions,\n\tPlayerType,\n} from '../controllers/PlayerController';\nimport { PlayerControllerImpl } from '../controllers/PlayerControllerImpl';\nimport usePreviousDistinct from './usePreviousDistinct';\n\nexport interface PlayerProps {\n\tlogger: ILogger;\n\ttype: PlayerType;\n\tonControllerChange:\n\t\t| ((value: IPlayerController | undefined) => void)\n\t\t| 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: React.MutableRefObject<TElement>,\n\t\tvideoId: string,\n\t) => React.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>): React.ReactElement<\n\tPlayerContainerProps<TElement, TPlayer, TController>\n> => {\n\tlogger.log(LogLevel.Debug, 'PlayerContainer');\n\n\tconst videoIdRef = React.useRef(videoId);\n\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tconst elementRef = React.useRef<TElement>(undefined!);\n\n\tconst [player, setPlayer] = React.useState<TPlayer>();\n\n\tconst [controller, setController] = React.useState<IPlayerController>();\n\tReact.useEffect(() => {\n\t\tonControllerChange?.(controller);\n\t}, [controller, onControllerChange]);\n\n\tReact.useEffect(() => {\n\t\t(loadScript?.() ?? Promise.resolve()).then(() => {\n\t\t\tplayerFactory(elementRef.current, videoIdRef.current).then(\n\t\t\t\t(player) => {\n\t\t\t\t\tsetPlayer(player);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}, [loadScript, playerFactory]);\n\n\t// Make sure that `options` do not change between re-rendering.\n\tReact.useEffect(() => {\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\tcontroller\n\t\t\t.attach(videoIdRef.current)\n\t\t\t.then(() => setController(controller));\n\n\t\treturn (): void => {\n\t\t\tcontroller.detach().finally(() => setController(undefined));\n\t\t};\n\t}, [logger, type, loadScript, player, options, controllerFactory]);\n\n\tconst previousVideoId = usePreviousDistinct(videoId);\n\tReact.useEffect(() => {\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\tcontroller?.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","React","elementRef","player","setPlayer","controller","setController","PlayerController","previousVideoId"],"mappings":";;AAGO,SAASA,IAA8B;AACvC,QAAAC,IAAUC,EAAO,EAAI;AAE3B,SAAID,EAAQ,WACXA,EAAQ,UAAU,IAEX,MAGDA,EAAQ;AAChB;ACNA,MAAME,IAAe,CAAIC,GAAqBC,MAC7CD,MAASC;AAEc,SAAAC,EACvBC,GACAC,IAAwBL,GACR;AAChB,QAAMM,IAAUP,KACVQ,IAASR,EAAUK,CAAK;AAG9B,SAAI,CAFiBP,OAEA,CAACQ,EAAQE,EAAO,SAASH,CAAK,MAClDE,EAAQ,UAAUC,EAAO,SACzBA,EAAO,UAAUH,IAGXE,EAAQ;AAChB;ACgBO,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;AACG,EAAAR,EAAA,IAAIS,EAAS,OAAO,iBAAiB;AAEtC,QAAAC,IAAaC,EAAM,OAAON,CAAO,GAGjCO,IAAaD,EAAM,OAAiB,MAAU,GAE9C,CAACE,GAAQC,CAAS,IAAIH,EAAM,SAAkB,GAE9C,CAACI,GAAYC,CAAa,IAAIL,EAAM,SAA4B;AACtE,EAAAA,EAAM,UAAU,MAAM;AACrB,IAAAP,KAAA,QAAAA,EAAqBW;AAAA,EAAU,GAC7B,CAACA,GAAYX,CAAkB,CAAC,GAEnCO,EAAM,UAAU,MAAM;AACrB,MAACT,KAAA,gBAAAA,QAAkB,QAAQ,QAAQ,GAAG,KAAK,MAAM;AAChD,MAAAC,EAAcS,EAAW,SAASF,EAAW,OAAO,EAAE;AAAA,QACrD,CAACG,MAAW;AACX,UAAAC,EAAUD,CAAM;AAAA,QACjB;AAAA,MAAA;AAAA,IACD,CACA;AAAA,EAAA,GACC,CAACX,GAAYC,CAAa,CAAC,GAG9BQ,EAAM,UAAU,MAAM;AACrB,QAAIE,MAAW;AACd;AAGD,UAAME,IAAa,IAAIE;AAAA,MACtBjB;AAAA,MACAC;AAAA,MACAY;AAAA,MACAP;AAAA,MACAC;AAAA,IAAA;AAGDQ,WAAAA,EACE,OAAOL,EAAW,OAAO,EACzB,KAAK,MAAMM,EAAcD,CAAU,CAAC,GAE/B,MAAY;AAClBA,MAAAA,EAAW,OAAO,EAAE,QAAQ,MAAMC,EAAc,MAAS,CAAC;AAAA,IAAA;AAAA,EAC3D,GACE,CAAChB,GAAQC,GAAMC,GAAYW,GAAQP,GAASC,CAAiB,CAAC;AAE3D,QAAAW,IAAkBxB,EAAoBW,CAAO;AACnD,SAAAM,EAAM,UAAU,MAAM;AAKrB,IAAIO,MAAoB,WAIxBH,KAAA,QAAAA,EAAY,UAAUV;AAAA,EACpB,GAAA,CAACa,GAAiBb,GAASU,CAAU,CAAC,GAG/B,gBAAAJ,EAAA,cAAAA,EAAA,UAAA,MAAAH,EAASI,GAAYF,EAAW,OAAO,CAAE;AACpD;"}
@@ -1,7 +1,7 @@
1
1
  import e from "react";
2
- import { L as c, S as n } from "./index-4f99b291.js";
3
- import { e as u } from "./ensureScriptLoaded-ddb8918f.js";
4
- import { P as m } from "./PlayerContainer-c7dcfed0.js";
2
+ import { L as c, S as n } from "./index-0ef85555.js";
3
+ import { e as u } from "./ensureScriptLoaded-75980318.js";
4
+ import { P as m } from "./PlayerContainer-12c7a566.js";
5
5
  import "react-dom";
6
6
  const C = e.memo(
7
7
  ({ ...t }) => {
@@ -43,4 +43,4 @@ const C = e.memo(
43
43
  export {
44
44
  C as default
45
45
  };
46
- //# sourceMappingURL=SoundCloudPlayer-2130270f.js.map
46
+ //# sourceMappingURL=SoundCloudPlayer-11f15866.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SoundCloudPlayer-2130270f.js","sources":["../src/components/SoundCloudPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { SoundCloudPlayerController } from '../controllers/SoundCloudPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst SoundCloudPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'SoundCloudPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://w.soundcloud.com/player/api.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<SC.SoundCloudWidget> => {\n\t\t\t\treturn Promise.resolve(SC.Widget(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={SoundCloudPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://w.soundcloud.com/player/?url=${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default SoundCloudPlayer;\n"],"names":["SoundCloudPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","SoundCloudPlayerController","elementRef","videoId"],"mappings":";;;;;AAOA,MAAMA,IAAmBC,EAAM;AAAA,EAC9B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,kBAAkB;AAEvC,UAAAC,IAAaJ,EAAM,YAAY,YAAY;AAC1C,YAAAK;AAAA,QACL;AAAA,QACAH;AAAA,MAAA;AAAA,IACD,GACE,CAACA,CAAM,CAAC,GAELI,IAAgBN,EAAM;AAAA,MAC3B,CAACO,MACO,QAAQ,QAAQ,GAAG,OAAOA,CAAO,CAAC;AAAA,MAE1C,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAP,EAAA;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,GAAGP;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC;AAAA;AAAA,QAEb,gBAAAX,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAKU;AAAA,YACL,KAAK,wCAAwCC,CAAO;AAAA,YACpD,aAAa;AAAA,YACb,OAAM;AAAA,YACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,UAAA;AAAA,QACxC;AAAA;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"SoundCloudPlayer-11f15866.js","sources":["../src/components/SoundCloudPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { SoundCloudPlayerController } from '../controllers/SoundCloudPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst SoundCloudPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'SoundCloudPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://w.soundcloud.com/player/api.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<SC.SoundCloudWidget> => {\n\t\t\t\treturn Promise.resolve(SC.Widget(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={SoundCloudPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://w.soundcloud.com/player/?url=${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default SoundCloudPlayer;\n"],"names":["SoundCloudPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","SoundCloudPlayerController","elementRef","videoId"],"mappings":";;;;;AAOA,MAAMA,IAAmBC,EAAM;AAAA,EAC9B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,kBAAkB;AAEvC,UAAAC,IAAaJ,EAAM,YAAY,YAAY;AAC1C,YAAAK;AAAA,QACL;AAAA,QACAH;AAAA,MAAA;AAAA,IACD,GACE,CAACA,CAAM,CAAC,GAELI,IAAgBN,EAAM;AAAA,MAC3B,CAACO,MACO,QAAQ,QAAQ,GAAG,OAAOA,CAAO,CAAC;AAAA,MAE1C,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAP,EAAA;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,GAAGP;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC;AAAA;AAAA,QAEb,gBAAAX,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAKU;AAAA,YACL,KAAK,wCAAwCC,CAAO;AAAA,YACpD,aAAa;AAAA,YACb,OAAM;AAAA,YACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,UAAA;AAAA,QACxC;AAAA;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),l=require("./index-1c32fd0f.cjs"),c=require("./ensureScriptLoaded-edd30857.cjs"),s=require("./PlayerContainer-a9b598d9.cjs");require("react-dom");const d=e.memo(({...t})=>{const{logger:r}=t;r.log(l.LogLevel.Debug,"SoundCloudPlayer");const a=e.useCallback(async()=>{await c.ensureScriptLoaded("https://w.soundcloud.com/player/api.js",r)},[r]),n=e.useCallback(o=>Promise.resolve(SC.Widget(o)),[]);return e.createElement(s.PlayerContainer,{...t,loadScript:a,playerFactory:n,controllerFactory:l.SoundCloudPlayerController},(o,u)=>e.createElement("iframe",{ref:o,src:`https://w.soundcloud.com/player/?url=${u}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}}))});exports.default=d;
2
- //# sourceMappingURL=SoundCloudPlayer-ad5c689f.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),l=require("./index-fb8a7911.cjs"),c=require("./ensureScriptLoaded-1f39c376.cjs"),s=require("./PlayerContainer-01e0a6d8.cjs");require("react-dom");const d=e.memo(({...t})=>{const{logger:r}=t;r.log(l.LogLevel.Debug,"SoundCloudPlayer");const a=e.useCallback(async()=>{await c.ensureScriptLoaded("https://w.soundcloud.com/player/api.js",r)},[r]),n=e.useCallback(o=>Promise.resolve(SC.Widget(o)),[]);return e.createElement(s.PlayerContainer,{...t,loadScript:a,playerFactory:n,controllerFactory:l.SoundCloudPlayerController},(o,u)=>e.createElement("iframe",{ref:o,src:`https://w.soundcloud.com/player/?url=${u}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}}))});exports.default=d;
2
+ //# sourceMappingURL=SoundCloudPlayer-3fe771ac.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SoundCloudPlayer-ad5c689f.cjs","sources":["../src/components/SoundCloudPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { SoundCloudPlayerController } from '../controllers/SoundCloudPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst SoundCloudPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'SoundCloudPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://w.soundcloud.com/player/api.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<SC.SoundCloudWidget> => {\n\t\t\t\treturn Promise.resolve(SC.Widget(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={SoundCloudPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://w.soundcloud.com/player/?url=${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default SoundCloudPlayer;\n"],"names":["SoundCloudPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","SoundCloudPlayerController","elementRef","videoId"],"mappings":"2PAOA,MAAMA,EAAmBC,EAAM,KAC9B,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,kBAAkB,EAEvC,MAAAC,EAAaJ,EAAM,YAAY,SAAY,CAC1C,MAAAK,EAAA,mBACL,yCACAH,CAAA,CACD,EACE,CAACA,CAAM,CAAC,EAELI,EAAgBN,EAAM,YAC1BO,GACO,QAAQ,QAAQ,GAAG,OAAOA,CAAO,CAAC,EAE1C,CAAC,CAAA,EAID,OAAAP,EAAA,cAACQ,EAAA,gBAAA,CACC,GAAGP,EACJ,WAAAG,EACA,cAAAE,EACA,kBAAmBG,EAAA,0BAAA,EAElB,CAACC,EAAYC,IAEbX,EAAA,cAAC,SAAA,CACA,IAAKU,EACL,IAAK,wCAAwCC,CAAO,GACpD,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CAAA,CACxC,CAAA,CAIJ,CACD"}
1
+ {"version":3,"file":"SoundCloudPlayer-3fe771ac.cjs","sources":["../src/components/SoundCloudPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { SoundCloudPlayerController } from '../controllers/SoundCloudPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst SoundCloudPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'SoundCloudPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://w.soundcloud.com/player/api.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<SC.SoundCloudWidget> => {\n\t\t\t\treturn Promise.resolve(SC.Widget(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={SoundCloudPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://w.soundcloud.com/player/?url=${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default SoundCloudPlayer;\n"],"names":["SoundCloudPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","SoundCloudPlayerController","elementRef","videoId"],"mappings":"2PAOA,MAAMA,EAAmBC,EAAM,KAC9B,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,kBAAkB,EAEvC,MAAAC,EAAaJ,EAAM,YAAY,SAAY,CAC1C,MAAAK,EAAA,mBACL,yCACAH,CAAA,CACD,EACE,CAACA,CAAM,CAAC,EAELI,EAAgBN,EAAM,YAC1BO,GACO,QAAQ,QAAQ,GAAG,OAAOA,CAAO,CAAC,EAE1C,CAAC,CAAA,EAID,OAAAP,EAAA,cAACQ,EAAA,gBAAA,CACC,GAAGP,EACJ,WAAAG,EACA,cAAAE,EACA,kBAAmBG,EAAA,0BAAA,EAElB,CAACC,EAAYC,IAEbX,EAAA,cAAC,SAAA,CACA,IAAKU,EACL,IAAK,wCAAwCC,CAAO,GACpD,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CAAA,CACxC,CAAA,CAIJ,CACD"}
@@ -1,7 +1,7 @@
1
1
  import e from "react";
2
- import { L as i, T as s } from "./index-4f99b291.js";
3
- import { e as m } from "./ensureScriptLoaded-ddb8918f.js";
4
- import { P as n } from "./PlayerContainer-c7dcfed0.js";
2
+ import { L as i, T as s } from "./index-0ef85555.js";
3
+ import { e as m } from "./ensureScriptLoaded-75980318.js";
4
+ import { P as n } from "./PlayerContainer-12c7a566.js";
5
5
  import "react-dom";
6
6
  const g = e.memo(
7
7
  ({ ...o }) => {
@@ -43,4 +43,4 @@ const g = e.memo(
43
43
  export {
44
44
  g as default
45
45
  };
46
- //# sourceMappingURL=TwitchPlayer-9e3caa63.js.map
46
+ //# sourceMappingURL=TwitchPlayer-191956ee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TwitchPlayer-9e3caa63.js","sources":["../src/components/TwitchPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { TwitchPlayerController } from '../controllers/TwitchPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst TwitchPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'TwitchPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://embed.twitch.tv/embed/v1.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\tasync (\n\t\t\t\telement: HTMLDivElement,\n\t\t\t\tvideoId: string,\n\t\t\t): Promise<Twitch.Player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew Twitch.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}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={TwitchPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): React.ReactElement => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default TwitchPlayer;\n"],"names":["TwitchPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","PlayerContainer","TwitchPlayerController","elementRef"],"mappings":";;;;;AAOA,MAAMA,IAAeC,EAAM;AAAA,EAC1B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,cAAc;AAEnC,UAAAC,IAAaJ,EAAM,YAAY,YAAY;AAC1C,YAAAK;AAAA,QACL;AAAA,QACAH;AAAA,MAAA;AAAA,IACD,GACE,CAACA,CAAM,CAAC,GAELI,IAAgBN,EAAM;AAAA,MAC3B,OACCO,GACAC,MAEO,QAAQ;AAAA,QACd,IAAI,OAAO,OAAOD,GAAS;AAAA,UAC1B,OAAOC;AAAA,UACP,OAAO;AAAA,UACP,QAAQ;AAAA,QAAA,CACR;AAAA,MAAA;AAAA,MAGH,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAR,EAAA;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,GAAGR;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBI;AAAA,MAAA;AAAA,MAElB,CAACC,MACD,gBAAAX,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKW;AAAA,UACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,QAAA;AAAA,MACxC;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"TwitchPlayer-191956ee.js","sources":["../src/components/TwitchPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { TwitchPlayerController } from '../controllers/TwitchPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst TwitchPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'TwitchPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://embed.twitch.tv/embed/v1.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\tasync (\n\t\t\t\telement: HTMLDivElement,\n\t\t\t\tvideoId: string,\n\t\t\t): Promise<Twitch.Player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew Twitch.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}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={TwitchPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): React.ReactElement => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default TwitchPlayer;\n"],"names":["TwitchPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","PlayerContainer","TwitchPlayerController","elementRef"],"mappings":";;;;;AAOA,MAAMA,IAAeC,EAAM;AAAA,EAC1B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,cAAc;AAEnC,UAAAC,IAAaJ,EAAM,YAAY,YAAY;AAC1C,YAAAK;AAAA,QACL;AAAA,QACAH;AAAA,MAAA;AAAA,IACD,GACE,CAACA,CAAM,CAAC,GAELI,IAAgBN,EAAM;AAAA,MAC3B,OACCO,GACAC,MAEO,QAAQ;AAAA,QACd,IAAI,OAAO,OAAOD,GAAS;AAAA,UAC1B,OAAOC;AAAA,UACP,OAAO;AAAA,UACP,QAAQ;AAAA,QAAA,CACR;AAAA,MAAA;AAAA,MAGH,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAR,EAAA;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,GAAGR;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBI;AAAA,MAAA;AAAA,MAElB,CAACC,MACD,gBAAAX,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAKW;AAAA,UACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,QAAA;AAAA,MACxC;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),a=require("./index-1c32fd0f.cjs"),n=require("./ensureScriptLoaded-edd30857.cjs"),s=require("./PlayerContainer-a9b598d9.cjs");require("react-dom");const u=e.memo(({...o})=>{const{logger:t}=o;t.log(a.LogLevel.Debug,"TwitchPlayer");const c=e.useCallback(async()=>{await n.ensureScriptLoaded("https://embed.twitch.tv/embed/v1.js",t)},[t]),i=e.useCallback(async(r,l)=>Promise.resolve(new Twitch.Player(r,{video:l,width:"100%",height:"100%"})),[]);return e.createElement(s.PlayerContainer,{...o,loadScript:c,playerFactory:i,controllerFactory:a.TwitchPlayerController},r=>e.createElement("div",{ref:r,style:{width:"100%",height:"100%"}}))});exports.default=u;
2
- //# sourceMappingURL=TwitchPlayer-9dae2e29.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),a=require("./index-fb8a7911.cjs"),n=require("./ensureScriptLoaded-1f39c376.cjs"),s=require("./PlayerContainer-01e0a6d8.cjs");require("react-dom");const u=e.memo(({...o})=>{const{logger:t}=o;t.log(a.LogLevel.Debug,"TwitchPlayer");const c=e.useCallback(async()=>{await n.ensureScriptLoaded("https://embed.twitch.tv/embed/v1.js",t)},[t]),i=e.useCallback(async(r,l)=>Promise.resolve(new Twitch.Player(r,{video:l,width:"100%",height:"100%"})),[]);return e.createElement(s.PlayerContainer,{...o,loadScript:c,playerFactory:i,controllerFactory:a.TwitchPlayerController},r=>e.createElement("div",{ref:r,style:{width:"100%",height:"100%"}}))});exports.default=u;
2
+ //# sourceMappingURL=TwitchPlayer-b2941d58.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TwitchPlayer-9dae2e29.cjs","sources":["../src/components/TwitchPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { TwitchPlayerController } from '../controllers/TwitchPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst TwitchPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'TwitchPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://embed.twitch.tv/embed/v1.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\tasync (\n\t\t\t\telement: HTMLDivElement,\n\t\t\t\tvideoId: string,\n\t\t\t): Promise<Twitch.Player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew Twitch.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}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={TwitchPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): React.ReactElement => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default TwitchPlayer;\n"],"names":["TwitchPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","PlayerContainer","TwitchPlayerController","elementRef"],"mappings":"2PAOA,MAAMA,EAAeC,EAAM,KAC1B,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,cAAc,EAEnC,MAAAC,EAAaJ,EAAM,YAAY,SAAY,CAC1C,MAAAK,EAAA,mBACL,sCACAH,CAAA,CACD,EACE,CAACA,CAAM,CAAC,EAELI,EAAgBN,EAAM,YAC3B,MACCO,EACAC,IAEO,QAAQ,QACd,IAAI,OAAO,OAAOD,EAAS,CAC1B,MAAOC,EACP,MAAO,OACP,OAAQ,MAAA,CACR,CAAA,EAGH,CAAC,CAAA,EAID,OAAAR,EAAA,cAACS,EAAA,gBAAA,CACC,GAAGR,EACJ,WAAAG,EACA,cAAAE,EACA,kBAAmBI,EAAA,sBAAA,EAEjBC,GACDX,EAAA,cAAC,MAAA,CACA,IAAKW,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CAAA,CACxC,CAAA,CAIJ,CACD"}
1
+ {"version":3,"file":"TwitchPlayer-b2941d58.cjs","sources":["../src/components/TwitchPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { TwitchPlayerController } from '../controllers/TwitchPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst TwitchPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'TwitchPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://embed.twitch.tv/embed/v1.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\tasync (\n\t\t\t\telement: HTMLDivElement,\n\t\t\t\tvideoId: string,\n\t\t\t): Promise<Twitch.Player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew Twitch.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}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={TwitchPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): React.ReactElement => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={elementRef}\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default TwitchPlayer;\n"],"names":["TwitchPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","videoId","PlayerContainer","TwitchPlayerController","elementRef"],"mappings":"2PAOA,MAAMA,EAAeC,EAAM,KAC1B,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,cAAc,EAEnC,MAAAC,EAAaJ,EAAM,YAAY,SAAY,CAC1C,MAAAK,EAAA,mBACL,sCACAH,CAAA,CACD,EACE,CAACA,CAAM,CAAC,EAELI,EAAgBN,EAAM,YAC3B,MACCO,EACAC,IAEO,QAAQ,QACd,IAAI,OAAO,OAAOD,EAAS,CAC1B,MAAOC,EACP,MAAO,OACP,OAAQ,MAAA,CACR,CAAA,EAGH,CAAC,CAAA,EAID,OAAAR,EAAA,cAACS,EAAA,gBAAA,CACC,GAAGR,EACJ,WAAAG,EACA,cAAAE,EACA,kBAAmBI,EAAA,sBAAA,EAEjBC,GACDX,EAAA,cAAC,MAAA,CACA,IAAKW,EACL,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CAAA,CACxC,CAAA,CAIJ,CACD"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),a=require("./index-1c32fd0f.cjs"),n=require("./ensureScriptLoaded-edd30857.cjs"),s=require("./PlayerContainer-a9b598d9.cjs");require("react-dom");const u=e.memo(({...t})=>{const{logger:r}=t;r.log(a.LogLevel.Debug,"VimeoPlayer");const l=e.useCallback(async()=>{await n.ensureScriptLoaded("https://player.vimeo.com/api/player.js",r)},[r]),i=e.useCallback(o=>Promise.resolve(new Vimeo.Player(o)),[]);return e.createElement(s.PlayerContainer,{...t,loadScript:l,playerFactory:i,controllerFactory:a.VimeoPlayerController},(o,c)=>e.createElement("iframe",{ref:o,src:`https://player.vimeo.com/video/${c}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}}))});exports.default=u;
2
- //# sourceMappingURL=VimeoPlayer-ea56953d.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),a=require("./index-fb8a7911.cjs"),n=require("./ensureScriptLoaded-1f39c376.cjs"),s=require("./PlayerContainer-01e0a6d8.cjs");require("react-dom");const u=e.memo(({...t})=>{const{logger:r}=t;r.log(a.LogLevel.Debug,"VimeoPlayer");const l=e.useCallback(async()=>{await n.ensureScriptLoaded("https://player.vimeo.com/api/player.js",r)},[r]),i=e.useCallback(o=>Promise.resolve(new Vimeo.Player(o)),[]);return e.createElement(s.PlayerContainer,{...t,loadScript:l,playerFactory:i,controllerFactory:a.VimeoPlayerController},(o,c)=>e.createElement("iframe",{ref:o,src:`https://player.vimeo.com/video/${c}`,frameBorder:0,allow:"autoplay",style:{width:"100%",height:"100%"}}))});exports.default=u;
2
+ //# sourceMappingURL=VimeoPlayer-a9a3f2c8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VimeoPlayer-ea56953d.cjs","sources":["../src/components/VimeoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { VimeoPlayerController } from '../controllers/VimeoPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst VimeoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'VimeoPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://player.vimeo.com/api/player.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<Vimeo.Player> => {\n\t\t\t\treturn Promise.resolve(new Vimeo.Player(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={VimeoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://player.vimeo.com/video/${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default VimeoPlayer;\n"],"names":["VimeoPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","VimeoPlayerController","elementRef","videoId"],"mappings":"2PAOA,MAAMA,EAAcC,EAAM,KACzB,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,aAAa,EAElC,MAAAC,EAAaJ,EAAM,YAAY,SAAY,CAC1C,MAAAK,EAAA,mBACL,yCACAH,CAAA,CACD,EACE,CAACA,CAAM,CAAC,EAELI,EAAgBN,EAAM,YAC1BO,GACO,QAAQ,QAAQ,IAAI,MAAM,OAAOA,CAAO,CAAC,EAEjD,CAAC,CAAA,EAID,OAAAP,EAAA,cAACQ,EAAA,gBAAA,CACC,GAAGP,EACJ,WAAAG,EACA,cAAAE,EACA,kBAAmBG,EAAA,qBAAA,EAElB,CAACC,EAAYC,IAEbX,EAAA,cAAC,SAAA,CACA,IAAKU,EACL,IAAK,kCAAkCC,CAAO,GAC9C,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CAAA,CACxC,CAAA,CAIJ,CACD"}
1
+ {"version":3,"file":"VimeoPlayer-a9a3f2c8.cjs","sources":["../src/components/VimeoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { VimeoPlayerController } from '../controllers/VimeoPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst VimeoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'VimeoPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://player.vimeo.com/api/player.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<Vimeo.Player> => {\n\t\t\t\treturn Promise.resolve(new Vimeo.Player(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={VimeoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://player.vimeo.com/video/${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default VimeoPlayer;\n"],"names":["VimeoPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","VimeoPlayerController","elementRef","videoId"],"mappings":"2PAOA,MAAMA,EAAcC,EAAM,KACzB,CAAC,CAAE,GAAGC,KAA6C,CAC5C,KAAA,CAAE,OAAAC,CAAW,EAAAD,EAEZC,EAAA,IAAIC,EAAAA,SAAS,MAAO,aAAa,EAElC,MAAAC,EAAaJ,EAAM,YAAY,SAAY,CAC1C,MAAAK,EAAA,mBACL,yCACAH,CAAA,CACD,EACE,CAACA,CAAM,CAAC,EAELI,EAAgBN,EAAM,YAC1BO,GACO,QAAQ,QAAQ,IAAI,MAAM,OAAOA,CAAO,CAAC,EAEjD,CAAC,CAAA,EAID,OAAAP,EAAA,cAACQ,EAAA,gBAAA,CACC,GAAGP,EACJ,WAAAG,EACA,cAAAE,EACA,kBAAmBG,EAAA,qBAAA,EAElB,CAACC,EAAYC,IAEbX,EAAA,cAAC,SAAA,CACA,IAAKU,EACL,IAAK,kCAAkCC,CAAO,GAC9C,YAAa,EACb,MAAM,WACN,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CAAA,CACxC,CAAA,CAIJ,CACD"}
@@ -1,7 +1,7 @@
1
1
  import e from "react";
2
- import { L as i, V as s } from "./index-4f99b291.js";
3
- import { e as c } from "./ensureScriptLoaded-ddb8918f.js";
4
- import { P as n } from "./PlayerContainer-c7dcfed0.js";
2
+ import { L as i, V as s } from "./index-0ef85555.js";
3
+ import { e as c } from "./ensureScriptLoaded-75980318.js";
4
+ import { P as n } from "./PlayerContainer-12c7a566.js";
5
5
  import "react-dom";
6
6
  const P = e.memo(
7
7
  ({ ...a }) => {
@@ -43,4 +43,4 @@ const P = e.memo(
43
43
  export {
44
44
  P as default
45
45
  };
46
- //# sourceMappingURL=VimeoPlayer-9e565656.js.map
46
+ //# sourceMappingURL=VimeoPlayer-f8182608.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VimeoPlayer-9e565656.js","sources":["../src/components/VimeoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { VimeoPlayerController } from '../controllers/VimeoPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst VimeoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'VimeoPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://player.vimeo.com/api/player.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<Vimeo.Player> => {\n\t\t\t\treturn Promise.resolve(new Vimeo.Player(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={VimeoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://player.vimeo.com/video/${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default VimeoPlayer;\n"],"names":["VimeoPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","VimeoPlayerController","elementRef","videoId"],"mappings":";;;;;AAOA,MAAMA,IAAcC,EAAM;AAAA,EACzB,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,aAAa;AAElC,UAAAC,IAAaJ,EAAM,YAAY,YAAY;AAC1C,YAAAK;AAAA,QACL;AAAA,QACAH;AAAA,MAAA;AAAA,IACD,GACE,CAACA,CAAM,CAAC,GAELI,IAAgBN,EAAM;AAAA,MAC3B,CAACO,MACO,QAAQ,QAAQ,IAAI,MAAM,OAAOA,CAAO,CAAC;AAAA,MAEjD,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAP,EAAA;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,GAAGP;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC;AAAA;AAAA,QAEb,gBAAAX,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAKU;AAAA,YACL,KAAK,kCAAkCC,CAAO;AAAA,YAC9C,aAAa;AAAA,YACb,OAAM;AAAA,YACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,UAAA;AAAA,QACxC;AAAA;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"VimeoPlayer-f8182608.js","sources":["../src/components/VimeoPlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { VimeoPlayerController } from '../controllers/VimeoPlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst VimeoPlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'VimeoPlayer');\n\n\t\tconst loadScript = React.useCallback(async () => {\n\t\t\tawait ensureScriptLoaded(\n\t\t\t\t'https://player.vimeo.com/api/player.js',\n\t\t\t\tlogger,\n\t\t\t);\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLIFrameElement): Promise<Vimeo.Player> => {\n\t\t\t\treturn Promise.resolve(new Vimeo.Player(element));\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={VimeoPlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef, videoId): React.ReactElement => (\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://player.vimeo.com/video/${videoId}`}\n\t\t\t\t\t\tframeBorder={0}\n\t\t\t\t\t\tallow=\"autoplay\"\n\t\t\t\t\t\tstyle={{ width: '100%', height: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PlayerContainer>\n\t\t);\n\t},\n);\n\nexport default VimeoPlayer;\n"],"names":["VimeoPlayer","React","props","logger","LogLevel","loadScript","ensureScriptLoaded","playerFactory","element","PlayerContainer","VimeoPlayerController","elementRef","videoId"],"mappings":";;;;;AAOA,MAAMA,IAAcC,EAAM;AAAA,EACzB,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,aAAa;AAElC,UAAAC,IAAaJ,EAAM,YAAY,YAAY;AAC1C,YAAAK;AAAA,QACL;AAAA,QACAH;AAAA,MAAA;AAAA,IACD,GACE,CAACA,CAAM,CAAC,GAELI,IAAgBN,EAAM;AAAA,MAC3B,CAACO,MACO,QAAQ,QAAQ,IAAI,MAAM,OAAOA,CAAO,CAAC;AAAA,MAEjD,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAP,EAAA;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,GAAGP;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAE;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,GAAYC;AAAA;AAAA,QAEb,gBAAAX,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAKU;AAAA,YACL,KAAK,kCAAkCC,CAAO;AAAA,YAC9C,aAAa;AAAA,YACb,OAAM;AAAA,YACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,UAAA;AAAA,QACxC;AAAA;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -1,7 +1,7 @@
1
1
  import o from "react";
2
- import { L as a, Y as n } from "./index-4f99b291.js";
3
- import { e as s } from "./ensureScriptLoaded-ddb8918f.js";
4
- import { P as u } from "./PlayerContainer-c7dcfed0.js";
2
+ import { L as a, Y as n } from "./index-0ef85555.js";
3
+ import { e as s } from "./ensureScriptLoaded-75980318.js";
4
+ import { P as u } from "./PlayerContainer-12c7a566.js";
5
5
  import "react-dom";
6
6
  const c = "https://www.youtube-nocookie.com", p = o.memo(
7
7
  ({ ...t }) => {
@@ -39,4 +39,4 @@ const c = "https://www.youtube-nocookie.com", p = o.memo(
39
39
  export {
40
40
  p as default
41
41
  };
42
- //# sourceMappingURL=YouTubePlayer-f838286c.js.map
42
+ //# sourceMappingURL=YouTubePlayer-6a5d2c5d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"YouTubePlayer-f838286c.js","sources":["../src/components/YouTubePlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { YouTubePlayerController } from '../controllers/YouTubePlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst origin = 'https://www.youtube-nocookie.com';\n\nconst YouTubePlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'YouTubePlayer');\n\n\t\tconst loadScript = React.useCallback((): Promise<void> => {\n\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\tconst first = await ensureScriptLoaded(\n\t\t\t\t\t'https://www.youtube.com/iframe_api',\n\t\t\t\t\tlogger,\n\t\t\t\t);\n\n\t\t\t\tif (first) {\n\t\t\t\t\t// https://stackoverflow.com/a/18154942.\n\t\t\t\t\twindow.onYouTubeIframeAPIReady = (): void => {\n\t\t\t\t\t\tlogger.log(LogLevel.Debug, 'YouTube iframe API ready');\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t});\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLDivElement): Promise<YT.Player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew YT.Player(element, {\n\t\t\t\t\t\thost: origin,\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={YouTubePlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): React.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 YouTubePlayer;\n"],"names":["origin","YouTubePlayer","React","props","logger","LogLevel","loadScript","resolve","reject","ensureScriptLoaded","playerFactory","element","PlayerContainer","YouTubePlayerController","elementRef"],"mappings":";;;;;AAOA,MAAMA,IAAS,oCAETC,IAAgBC,EAAM;AAAA,EAC3B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,eAAe;AAEpC,UAAAC,IAAaJ,EAAM,YAAY,MAC7B,IAAI,QAAQ,OAAOK,GAASC,MAAW;AAM7C,MALc,MAAMC;AAAA,QACnB;AAAA,QACAL;AAAA,MAAA,IAKA,OAAO,0BAA0B,MAAY;AACrC,QAAAA,EAAA,IAAIC,EAAS,OAAO,0BAA0B,GAC7CE;MAAA,IAGDA;IACT,CACA,GACC,CAACH,CAAM,CAAC,GAELM,IAAgBR,EAAM;AAAA,MAC3B,CAACS,MACO,QAAQ;AAAA,QACd,IAAI,GAAG,OAAOA,GAAS;AAAA,UACtB,MAAMX;AAAA,UACN,OAAO;AAAA,UACP,QAAQ;AAAA,QAAA,CACR;AAAA,MAAA;AAAA,MAGH,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAE,EAAA;AAAA,MAACU;AAAA,MAAA;AAAA,QACC,GAAGT;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAI;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,MACA,gBAAAZ,EAAA,cAAA,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OACpC,EAAA,GAAA,gBAAAA,EAAA,cAAC,OAAI,EAAA,KAAKY,GAAY,CACvB;AAAA,IAAA;AAAA,EAIJ;AACD;"}
1
+ {"version":3,"file":"YouTubePlayer-6a5d2c5d.js","sources":["../src/components/YouTubePlayer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LogLevel } from '../controllers/Logger';\nimport { YouTubePlayerController } from '../controllers/YouTubePlayerController';\nimport { ensureScriptLoaded } from '../controllers/ensureScriptLoaded';\nimport { PlayerContainer, PlayerProps } from './PlayerContainer';\n\nconst origin = 'https://www.youtube-nocookie.com';\n\nconst YouTubePlayer = React.memo(\n\t({ ...props }: PlayerProps): React.ReactElement => {\n\t\tconst { logger } = props;\n\n\t\tlogger.log(LogLevel.Debug, 'YouTubePlayer');\n\n\t\tconst loadScript = React.useCallback((): Promise<void> => {\n\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\tconst first = await ensureScriptLoaded(\n\t\t\t\t\t'https://www.youtube.com/iframe_api',\n\t\t\t\t\tlogger,\n\t\t\t\t);\n\n\t\t\t\tif (first) {\n\t\t\t\t\t// https://stackoverflow.com/a/18154942.\n\t\t\t\t\twindow.onYouTubeIframeAPIReady = (): void => {\n\t\t\t\t\t\tlogger.log(LogLevel.Debug, 'YouTube iframe API ready');\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t});\n\t\t}, [logger]);\n\n\t\tconst playerFactory = React.useCallback(\n\t\t\t(element: HTMLDivElement): Promise<YT.Player> => {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tnew YT.Player(element, {\n\t\t\t\t\t\thost: origin,\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<PlayerContainer\n\t\t\t\t{...props}\n\t\t\t\tloadScript={loadScript}\n\t\t\t\tplayerFactory={playerFactory}\n\t\t\t\tcontrollerFactory={YouTubePlayerController}\n\t\t\t>\n\t\t\t\t{(elementRef): React.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 YouTubePlayer;\n"],"names":["origin","YouTubePlayer","React","props","logger","LogLevel","loadScript","resolve","reject","ensureScriptLoaded","playerFactory","element","PlayerContainer","YouTubePlayerController","elementRef"],"mappings":";;;;;AAOA,MAAMA,IAAS,oCAETC,IAAgBC,EAAM;AAAA,EAC3B,CAAC,EAAE,GAAGC,QAA6C;AAC5C,UAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,IAAAC,EAAA,IAAIC,EAAS,OAAO,eAAe;AAEpC,UAAAC,IAAaJ,EAAM,YAAY,MAC7B,IAAI,QAAQ,OAAOK,GAASC,MAAW;AAM7C,MALc,MAAMC;AAAA,QACnB;AAAA,QACAL;AAAA,MAAA,IAKA,OAAO,0BAA0B,MAAY;AACrC,QAAAA,EAAA,IAAIC,EAAS,OAAO,0BAA0B,GAC7CE;MAAA,IAGDA;IACT,CACA,GACC,CAACH,CAAM,CAAC,GAELM,IAAgBR,EAAM;AAAA,MAC3B,CAACS,MACO,QAAQ;AAAA,QACd,IAAI,GAAG,OAAOA,GAAS;AAAA,UACtB,MAAMX;AAAA,UACN,OAAO;AAAA,UACP,QAAQ;AAAA,QAAA,CACR;AAAA,MAAA;AAAA,MAGH,CAAC;AAAA,IAAA;AAID,WAAA,gBAAAE,EAAA;AAAA,MAACU;AAAA,MAAA;AAAA,QACC,GAAGT;AAAA,QACJ,YAAAG;AAAA,QACA,eAAAI;AAAA,QACA,mBAAmBG;AAAA,MAAA;AAAA,MAElB,CAACC,MACA,gBAAAZ,EAAA,cAAA,OAAA,EAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OACpC,EAAA,GAAA,gBAAAA,EAAA,cAAC,OAAI,EAAA,KAAKY,GAAY,CACvB;AAAA,IAAA;AAAA,EAIJ;AACD;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),o=require("./index-1c32fd0f.cjs"),u=require("./ensureScriptLoaded-edd30857.cjs"),l=require("./PlayerContainer-a9b598d9.cjs");require("react-dom");const c="https://www.youtube-nocookie.com",s=r.memo(({...a})=>{const{logger:t}=a;t.log(o.LogLevel.Debug,"YouTubePlayer");const n=r.useCallback(()=>new Promise(async(e,y)=>{await u.ensureScriptLoaded("https://www.youtube.com/iframe_api",t)?window.onYouTubeIframeAPIReady=()=>{t.log(o.LogLevel.Debug,"YouTube iframe API ready"),e()}:e()}),[t]),i=r.useCallback(e=>Promise.resolve(new YT.Player(e,{host:c,width:"100%",height:"100%"})),[]);return r.createElement(l.PlayerContainer,{...a,loadScript:n,playerFactory:i,controllerFactory:o.YouTubePlayerController},e=>r.createElement("div",{style:{width:"100%",height:"100%"}},r.createElement("div",{ref:e})))});exports.default=s;
2
- //# sourceMappingURL=YouTubePlayer-d1f69454.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),o=require("./index-fb8a7911.cjs"),u=require("./ensureScriptLoaded-1f39c376.cjs"),l=require("./PlayerContainer-01e0a6d8.cjs");require("react-dom");const c="https://www.youtube-nocookie.com",s=r.memo(({...a})=>{const{logger:t}=a;t.log(o.LogLevel.Debug,"YouTubePlayer");const n=r.useCallback(()=>new Promise(async(e,y)=>{await u.ensureScriptLoaded("https://www.youtube.com/iframe_api",t)?window.onYouTubeIframeAPIReady=()=>{t.log(o.LogLevel.Debug,"YouTube iframe API ready"),e()}:e()}),[t]),i=r.useCallback(e=>Promise.resolve(new YT.Player(e,{host:c,width:"100%",height:"100%"})),[]);return r.createElement(l.PlayerContainer,{...a,loadScript:n,playerFactory:i,controllerFactory:o.YouTubePlayerController},e=>r.createElement("div",{style:{width:"100%",height:"100%"}},r.createElement("div",{ref:e})))});exports.default=s;
2
+ //# sourceMappingURL=YouTubePlayer-7d9d4215.cjs.map